Turinys:
- 1 veiksmas: pridėkite kodą prie ESP8266
- 2 veiksmas: „TP-LINK Smart Plug“nustatymas
- 3 veiksmas: nustatykite namų asistentą
- 4 žingsnis: paskutiniai žingsniai
Video: „WiFi“įgalintas išmanusis kištukas su temperatūros valdymu: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šiame instrukcijų rinkinyje apžvelgsime, kaip sukurti „WiFi“palaikantį temperatūros zondą naudojant paprastą ESP8266 sunkiam kėlimui ir DHT11 temperatūros/drėgmės jutiklį. Mes taip pat naudosime mano sukurtą plokštę, kuri dabar taip pat parduodama kanalo tindie parduotuvėje, jei norite įsigyti.
Pradėkime nuo medžiagų, kurių jums reikės:
ESP8266 „WiFi“modulis
amzn.to/2pkGPoa
DHT11 jutiklis
amzn.to/2phwfhO
„TP-Link“išmanusis kištukas
amzn.to/2GElQUz
Taip pat galite pasiimti visą kanalo „Tindie“parduotuvės modulį:
www.tindie.com/products/misperry/wifi-enab…
Taip pat patikrinkite JLCPCB, skirtą PCB gamybai. Jie yra tie, kuriuos naudojau PCB gamybai:
Nemokamas pristatymas pirmam užsakymui ir 2 USD PCB prototipų kūrimas
1 veiksmas: pridėkite kodą prie ESP8266
Dabar turėsime į ESP8266 įjungti šį kodą. Šį kodą galite rasti šioje „github“saugykloje:
Žemiau esančiame kode turėsite nustatyti tik keletą geriausių apibrėžimų sekcijų:
MQTT serveris:
MQTT vartotojas:
MQTT slaptažodis:
MQTT_sensor_topic:
-Bevielis internetas
Sakė: pasakyta apie „Wi -Fi“tinklą, prie kurio jungiatės
Slaptažodis: „WiFi“slaptažodis.
Užpildę šį kodą, galite sudaryti ir patikrinti, ar nėra klaidų, ir jei nėra klaidų, galite jį įvesti į ESP8266.
/ * * Failo pavadinimas: TempHumSensor.ino * * Programa: „HomeAssistant Space Heater Thermostat“* * Aprašymas: Šis kodas skirtas įrenginiui, palaikančiam „ESP8266 WiFi“, suderinamą su arduino *. Tai perduos DHT11 įrenginio temperatūros informaciją * į HASS priekinę dalį apdorojimui. * * Autorius: M. Sperry - https://www.youtube.com/misperry * Data: 03/ * Peržiūra: 1.0 * * */
#įtraukti
#įtraukimas #įtraukimas #įtraukimas #įtraukimas #įtraukimas
#define CON_TIME_OUT 20 // Baigėsi skirtasis laikas, kai nėra ryšio su „Wi -Fi“
#define MQTT_TIME_OUT 10 // Negaliu prisijungti prie MQTT serverio
#define DHTPIN 0 // Kaištis, prijungtas prie DHT jutiklio
#define DHTTYPE DHT11 // Jutiklio tipas yra DHT11, galite jį pakeisti į DHT22 (AM2302), DHT21 (AM2301)
#define mqtt_server "" // Įveskite savo MQTT serverio priedus arba IP. Šiame lauke naudoju savo „DuckDNS“adresą (jūsų vardas.duckdns.org)
#define mqtt_user "" // įveskite savo MQTT vartotojo vardą #define mqtt_password "" // įveskite slaptažodį #define MQTT_SENSOR_TOPIC "ha/bedroom_temp" // Įveskite savo MQTT temą
// „Wifi“: SSID ir slaptažodis
const char* ssid = ""; const char* slaptažodis = "";
// DHT SEtup
DHT_Unified dht (DHTPIN, DHTTYPE); uint32_t delayMS;
WiFiClient wifiClient;
„PubSubClient“klientas („wifiClient“);
// funkcija, skirta paskelbti temperatūrą ir drėgmę
void publisData (float p_temperature) {// sukurti JSON objektą // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // INFO: duomenys turi būti paversti eilute; problema kyla naudojant plūdes… // konvertuoti į farenheitą p_temperatūra = (p_temperatūra * 1.8) + 32; // konvertuoti į farenheito šaknį ["temperatūra"] = (Styga) p_temperatūra; root.prettyPrintTo (Serial); Serial.println ("");
char duomenys [200];
root.printTo (duomenys, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, duomenys, tiesa); }
// funkcija iškvietė, kai atvyko MQTT pranešimas
negaliojantis atgalinis skambutis (char* p_topic, byte* p_payload, unsigned int p_length) {}
void reconnect () {
// Ciklas, kol vėl prisijungsime, kol (! Client.connected ()) {Serial.print ("INFO: Bandomas MQTT ryšys …"); // Bandymas prisijungti, jei (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: connected"); } else {Serial.print ("KLAIDA: nepavyko, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: bandykite dar kartą po 5 sekundžių"); // Palaukite 5 sekundes prieš vėl bandydami uždelsti (5000); }}}
void setup (void) {
Serial.begin (9600);
// Pradedame prisijungdami prie „WiFi“tinklo
Serial.println (); Serial.println (); Serial.print („Prisijungimas prie“); Serial.println (ssid);
WiFi.begin (ssid, slaptažodis);
while (WiFi.status ()! = WL_CONNECTED) {
vėlavimas (800); Serijinis atspaudas ("."); }
Serial.println ("");
Serial.println („WiFi prijungtas“); Serial.println ("IP adresas:"); Serial.println (WiFi.localIP ()); // inicijuokite MQTT ryšio klientą.setServer (mqtt_server, 1883); client.setCallback (atšaukimas);
// Inicijuoti DHT jutiklį
dht.begin (); Serial.println („DHT11 vieningi jutiklių duomenys“);
// Išsami spausdinimo temperatūros jutiklio informacija
sensor_t jutiklis; dht.temperatūra (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("Temperatūra"); Serial.print („Jutiklis:“); Serial.println (jutiklio pavadinimas); Serial.print („Driver Ver:“); Serial.println (sensor.version); Serial.print („Unikalus ID:“); Serial.println (sensor.sensor_id); Serial.print („Maksimali vertė:“); Serial.print (sensor.max_value); Serial.println (" *C"); Serial.print („Min. Vertė:“); Serijinis atspaudas (sensor.min_value); Serial.println (" *C"); Serial.print („Rezoliucija:“); Serial.print (sensor.resolution); Serial.println (" *C"); Serial.println ("------------------------------------"); // Spausdinti drėgmės jutiklio informaciją. dht.humidity (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println („Drėgmė“); Serial.print („Jutiklis:“); Serial.println (jutiklio pavadinimas); Serial.print („Driver Ver:“); Serial.println (sensor.version); Serial.print („Unikalus ID:“); Serial.println (sensor.sensor_id); Serial.print („Maksimali vertė:“); Serial.print (sensor.max_value); Serial.println ("%"); Serial.print („Min. Vertė:“); Serijinis atspaudas (sensor.min_value); Serial.println ("%"); Serial.print ("Rezoliucija:"); Serial.print (sensor.resolution); Serial.println ("%"); Serial.println ("------------------------------------");
// Nustatykite delsą tarp jutiklių rodmenų, remiantis jutiklio informacija
delayMS = sensor.min_delay / 1000; }
void loop (void) {
plūdės temperatūra;
jei (! client.connected ())
{reconnect (); }
uždelsimas (delayMS);
// Gaukite temperatūros įvykį ir atspausdinkite jo vertę.
sensor_event_t įvykis; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println ("Klaida skaitant temperatūrą!"); temperatūra = 0,00; } else {temperatūra = įvykis.temperatūra; Serial.print ("Temperatūra:"); Serijinis atspaudas (temperatūra); Serial.println (" *C"); } // publikuoti MQTT skelbtiData (temperatūra); }
2 veiksmas: „TP-LINK Smart Plug“nustatymas
Turėsite nustatyti savo TP-LINK išmanųjį kištuką arba bet kurį išmanųjį kištuką, kaip rekomenduoja gamintojas.
Būtinai atkreipkite dėmesį į įrenginio MAC adresą. Jei jūsų įrenginys panašus į mano TP-LINK įrenginį, negalite įrašyti statinio IP adreso. Taigi turėsite sukonfigūruoti maršrutizatorių DHCP rezervavimui. Tai paims jūsų įrenginio MAC adresą ir kai tas įrenginys paprašys adreso, maršrutizatorius kiekvieną kartą suteiks jam tą patį adresą.
Čia yra nuoroda, kaip tai nustatyti naudojant „Linksys“
www.linksys.com/us/support-article?article…
3 veiksmas: nustatykite namų asistentą
Dabar nustatykite namų asistentą. Norėdami tai padaryti, prie konfigūracijos.yaml failo, esančio aparato /home/homeassistant/.homeassistant struktūroje įrenginyje, kuriame jį įdiegėte, turite pridėti šias konfigūracijas.
Baigę tai pridėti prie namų asistento konfigūracijos, turėsite iš naujo paleisti namų asistento programinę įrangą, kad pakeitimai įsigaliotų.
Taip pat perjungimo įrenginiui naudosiu išmanųjį kištuką TP-LINK, o apibrėžimas pateiktas žemiau esančiame konfigūracijos faile. Įrenginiui naudojamas IP adresas yra tas, kurį nustatėte DHCP rezervavimui atlikdami ankstesnį veiksmą.
Šią konfigūraciją taip pat galima rasti šioje „Github“repoje:
mqtt: jungiklis: - platforma: tplink pavadinimas: Miegamojo šildytuvo šeimininkas: 192.168.2.11
1 jutiklis:
platforma: mqtt state_topic: 'ha/bedroom_temp' pavadinimas: Miegamojo temperatūros matavimo vienetas: '° F' value_template: '{{value_json.temperature}}'
automatika:
- Pseudonimas: _ Temperatūros miegamojo temperatūra Didelis trigeris: - platforma: skaitinis_ būsenos subjekto_id: jutiklis. „Bedroom_Temp“aukščiau: 73
veiksmas:
service: homeassistant.turn_off entity_id: switch. Bedroom_Heater
- slapyvardis: _Temp miegamojo temperatūra žema
trigeris: - platforma: skaitinių būsenų objekto_id: jutiklis. „Bedroom_Temp“žemiau: 73 veiksmas: paslauga: „homeassistant.turn_on entity_id“: switch. Bedroom_Heater
4 žingsnis: paskutiniai žingsniai
Dabar, sukūrę namų asistento konfigūraciją ir nustatę „Arduino“kodą, būsite pasiruošę aktyvuoti visą sistemą. Taigi, įjunkite šildytuvo/ventiliatoriaus/aušintuvo kištuką į išmanųjį kištuką ir prijunkite išmanųjį kištuką. Kai jis bus paruoštas, turėsite prijungti nedidelį USB įkroviklį ir tada „WiFi“įgalintą temperatūros zondą. Kai viskas bus prijungta prie interneto, turėtumėte pažvelgti į namų asistento prietaisų skydelį ir pamatyti naują temperatūrą.
Labai ačiū už visą jūsų pagalbą ir paramą. būtinai palikite like ir ateikite apsilankyti kanale adresu https://www.youbue.com/misperry ir pažiūrėti, ką mes jums turime. Būtinai užsiprenumeruokite ir pasidalykite su draugais, kad padėtumėte kanalui.
Rekomenduojamas:
Daiktu internetu pagrįstas išmanusis sodininkystė ir išmanusis žemės ūkis naudojant ESP32: 7 žingsniai
Daiktu internetu pagrįstas išmanusis sodininkystė ir išmanusis žemės ūkis naudojant ESP32: pasaulis keičiasi kaip laikas ir žemės ūkis. Šiais laikais žmonės integruoja elektroniką visose srityse, o žemės ūkis nėra išimtis. Šis elektronikos sujungimas žemės ūkyje padeda ūkininkams ir žmonėms, kurie tvarko sodus. Tai
Ventiliatorius su temperatūros valdymu!: 4 žingsniai
Temperatūros valdomas ventiliatorius!: Gyvenant atogrąžų šalyje, tokioje kaip Singapūras, vargina prakaitavimas visą dieną, o tuo tarpu jums reikia sutelkti dėmesį į studijas ar darbą tokioje tvankioje aplinkoje. Kad oras tekėtų ir atvėstų, sugalvojau temperatūrą
Išmanusis kištukas ESP8266: 6 žingsniai
Išmanusis kištukas ESP8266: Bienvenue sur cet article qui a pour but de vous montrer un projet de domotique que j'ai réalisé. Ayant toujours adoré les choses automatiques et optimisées, j'ai décidé de créer moi-même mes prises connectées. „Celles-ci sont“komandos per „WiFi“. La
„Tempy“-miela šypsenėlė su temperatūros valdymu: 6 žingsniai
„Tempy“-miela šypsenėlė su temperatūros valdymu: ***************************************** ************************************************* ******************+Visų pirma, šią instrukciją parašė 17 metų vaikinas …… Ne anglų kalbos profesorius, todėl praneškite bet kokią gramatiką
Alexa Echo + ESP 8266 = Išmanusis maitinimo kištukas: 4 žingsniai (su paveikslėliais)
„Alexa Echo + ESP 8266“= išmanusis maitinimo kištukas: šis nurodymas gali būti naudojamas naudojant tiesioginį „ALEXA ECHO“valdymą ESP8266. Mano serveris tiesiog palaiko leidimą ESP8266 į „Amazon“serverį. Mano serveris nekopijuoja jūsų duomenų. Balsuokite už mane: D Ačiū