Përmbajtje:
- Hapi 1: Shtimi i Kodit në ESP8266
- Hapi 2: Konfigurimi i prizës suaj të zgjuar TP-LINK
- Hapi 3: Vendosja e Asistentit në Shtëpi
- Hapi 4: Hapat e fundit
Video: Prizë e zgjuar e kontrolluar nga temperatura me WiFi: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Në këtë grup udhëzimesh ne do të shikojmë se si të ndërtojmë një sondë të temperaturës të aktivizuar me WiFi duke përdorur një ESP8266 të thjeshtë për ngritjen e peshave të rënda dhe një sensor të temperaturës/lagështisë DHT11. Ne gjithashtu do të përdorim tabelën e qarkut që kam krijuar dhe është gjithashtu në shitje tani në dyqanin e tindie të kanalit nëse dëshironi të blini.
Le të fillojmë me faturën e materialeve që do t'ju nevojiten:
ESP8266 Moduli WiFi
amzn.to/2pkGPoa
Sensori DHT11
amzn.to/2phwfhO
Priza e zgjuar TP-Link
amzn.to/2GElQUz
Ju gjithashtu mund të merrni të gjithë modulin në dyqanin tindie për kanalin:
www.tindie.com/products/misperry/wifi-enab…
Gjithashtu shikoni JLCPCB për PCB Fabriction. Ata janë ata që kam përdorur për të bërë PCB:
Transporti Falas në Porosinë e Parë & Prototipimin e PCB $ 2 në
Hapi 1: Shtimi i Kodit në ESP8266
Tani do të na duhet të ndezim kodin e mëposhtëm në ESP8266. Ky kod mund të gjendet në depon e mëposhtme të github:
Në kodin më poshtë do t'ju duhet të vendosni vetëm disa seksionet kryesore të përcaktimit:
Serveri MQTT:
Përdoruesi MQTT:
Fjalëkalimi MQTT:
MQTT_sensor_topic:
-WiFi
Tha: e thënë për rrjetin wifi me të cilin po lidheni
Fjalëkalimi: fjalëkalimi WiFi.
Pasi ta keni plotësuar këtë në kodin e mëposhtëm, atëherë mund të përpiloni dhe kontrolloni për gabime dhe nëse 0 gabime mund ta ndezni atë në ESP8266.
/ * * Emri i skedarit: TempHumSensor.ino * * Aplikimi: Termostati i Ngrohësit të Hapësirës Home * * Përshkrimi: Ky kod është për pajisjen e pajtueshme arduino * të aktivizuar me WiFi ESP8266. Kjo do të transmetojë informacionin e temperaturës * të pajisjes DHT11 në frontin HASS për përpunim. * * Autori: M. Sperry - https://www.youtube.com/misperry * Data: 03/ * Rishikimi: 1.0 * * */
#përfshi
#përfshi #përfshi #përfshi #përfshi #përfshi
#përcakto CON_TIME_OUT 20 // Afati i kalimit të lidhjes me wifi
#përcakto MQTT_TIME_OUT 10 // Afati i kalimit të mungesës së lidhjes me serverin MQTT
#define DHTPIN 0 // Pin i cili është i lidhur me sensorin DHT
#define DHTTYPE DHT11 // Lloji i sensorit është DHT11, mund ta ndryshoni në DHT22 (AM2302), DHT21 (AM2301)
#define mqtt_server "" // Futni shtesat ose IP -në e serverit tuaj MQTT. Unë përdor adresën time DuckDNS (yourname.duckdns.org) në këtë fushë
#define mqtt_user "" // shkruani emrin tuaj të përdoruesit MQTT #define mqtt_password "" // shkruani fjalëkalimin tuaj #përcaktoni MQTT_SENSOR_TOPIC "ha/bedroom_temp" // Futni temën për MQTT tuaj
// Wifi: SSID dhe fjalëkalim
const char* ssid = ""; const char* fjalëkalim = "";
// DHT SEtup
DHT_Uht i unifikuar (DHTPIN, DHTTYPE); uint32_t vonesëMS;
WiFiClient wifiClient;
Klienti PubSubClient (wifiClient);
// funksioni i thirrur për të publikuar temperaturën dhe lagështinë
publiko të dhëna të pavlefshme (notoni p_temperature) {// krijoni një objekt JSON // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // INFO: të dhënat duhet të konvertohen në një varg; një problem shfaqet kur përdorni noton … // konvertohet në fahrenheit p_temperature = (p_temperatura * 1.8) + 32; // konvertohet në rrënjë fahrenheit ["temperatura"] = (Vargu) p_temperatura; root.prettyPrintTo (Serial); Serial.println ("");
të dhëna char [200];
root.printTo (të dhënat, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, të dhëna, të vërteta); }
// funksioni i thirrur kur mbërriti një mesazh MQTT
thirrje e pavlefshme (char* p_topic, byte* p_payload, int unsigned p_length) {}
rilidhje e pavlefshme () {
// Lakoni derisa të rilidhemi ndërsa (! Client.connected ()) {Serial.print ("INFO: Përpjekja për lidhje MQTT …"); // Përpjekja për t'u lidhur nëse (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: lidhur"); } else {Serial.print ("GABIM: dështoi, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: provo përsëri në 5 sekonda"); // Prisni 5 sekonda para se të provoni vonesën (5000); }}}
konfigurimi i pavlefshëm (i pavlefshëm) {
Serial.filloj (9600);
// Fillojmë duke u lidhur me një rrjet WiFi
Serial.println (); Serial.println (); Serial.print ("Lidhu me"); Serial.println (ssid);
WiFi.filloni (ssid, fjalëkalim);
ndërsa (WiFi.status ()! = WL_CONNECTED) {
vonesa (800); Serial.print ("."); }
Serial.println ("");
Serial.println ("WiFi i lidhur"); Serial.println ("Adresa IP:"); Serial.println (WiFi.localIP ()); // nis klientin e lidhjes MQTT.setServer (mqtt_server, 1883); client.setCallback (kthim në telefon);
// Filloni sensorin DHT
dht.filloj (); Serial.println ("Të dhënat e sensorit të unifikuar të DHT11");
// Shtypni detajet e sensorit të temperaturës
sensor_t sensor; dht.temperatura (). getSensor (& sensor); Serial.println ("----------------------------------------"); Serial.println ("Temperatura"); Serial.print ("Sensori:"); Serial.println (emri i sensorit); Serial.print ("Shoferi Ver:"); Serial.println (sensor.versioni); Serial.print ("ID Unike:"); Serial.println (sensor.sensor_id); Serial.print ("Vlera maksimale:"); Serial.print (sensor.max_value); Serial.println (" *C"); Serial.print ("Vlera Min:"); Serial.print (sensor.min_value); Serial.println (" *C"); Serial.print ("Rezoluta:"); Serial.print (sensor.rezoluta); Serial.println (" *C"); Serial.println ("----------------------------------------"); // Shtypni detajet e sensorit të lagështisë. dht. lagështia (). getSensor (& sensor); Serial.println ("----------------------------------------"); Serial.println ("Lagështia"); Serial.print ("Sensori:"); Serial.println (emri i sensorit); Serial.print ("Shoferi Ver:"); Serial.println (sensor.versioni); Serial.print ("ID Unike:"); Serial.println (sensor.sensor_id); Serial.print ("Vlera maksimale:"); Serial.print (sensor.max_value); Serial.println ("%"); Serial.print ("Vlera Min:"); Serial.print (sensor.min_value); Serial.println ("%"); Serial.print ("Rezoluta:"); Serial.print (sensor.rezoluta); Serial.println ("%"); Serial.println ("----------------------------------------");
// Vendosni vonesën midis leximeve të sensorit bazuar në detajet e sensorit
vonesaMS = sensor.min_delay / 1000; }
lak void (i pavlefshëm) {
temperatura e notimit;
nëse (! klienti.lidhur ())
{rilidheni (); }
vonesa (vonesaMSMS);
// Merrni ngjarjen e temperaturës dhe printoni vlerën e saj.
sensor_event_t event; dht.temperatura (). getEvent (& ngjarje); if (isnan (ngjarja.temperatura)) {Serial.println ("Gabim në leximin e temperaturës!"); temperatura = 0.00; } else {temperatura = ngjarja.temperatura; Serial.print ("Temperatura:"); Serial.print (temperatura); Serial.println (" *C"); } // publikoni në MQTT publishedData (temperatura); }
Hapi 2: Konfigurimi i prizës suaj të zgjuar TP-LINK
Ju do të keni nevojë të vendosni prizën tuaj të mençur TP-LINK, ose ndonjë prizë të zgjuar për atë materie, ashtu siç rekomandon prodhuesi.
Sigurohuni që të mbani shënim adresën MAC në pajisje. Nëse pajisja juaj është si pajisja ime TP-LINK, nuk mund të vendosni një adresë IP statike. Kështu, do t'ju duhet të konfiguroni ruterin tuaj për Rezervimin DHCP. Kjo do të marrë adresën MAC të pajisjes tuaj dhe kur ajo pajisje kërkon një adresë, ruteri do t'i japë asaj të njëjtën adresë çdo herë.
Këtu keni një lidhje se si ta vendosni këtë me Linksys
www.linksys.com/us/support-article?article…
Hapi 3: Vendosja e Asistentit në Shtëpi
Tani për të konfiguruar "Asistentin në shtëpi". Për këtë do t'ju duhet të shtoni konfigurimet e mëposhtme në skedarin configuration.yaml që ndodhet në strukturën e dosjes /home/homeassistant/.homeassistant në pajisjen në të cilën e keni instaluar.
Pasi të keni përfunduar duke shtuar këtë në konfigurimin e asistentit tuaj në shtëpi, do t'ju duhet të rindizni programin tuaj të ndihmësit në shtëpi që ndryshimet të kenë ndikim.
Gjithashtu unë do të përdor prizën inteligjente TP-LINK për pajisjen ndërruese dhe përkufizimi është më poshtë në skedarin e konfigurimit. Adresa IP që përdoret për pajisjen është ajo që keni vendosur për rezervimin DHCP në hapin e mëparshëm.
Ky konfigurim mund të gjendet gjithashtu në repon e mëposhtme të github:
mqtt: switch: - platforma: emri tplink: Ngrohës i dhomës së gjumit host: 192.168.2.11
sensor 1:
platforma: mqtt state_topic: 'ha/bedroom_temp' emri: Njësia e temperaturës së dhomës së gjumit_ e_masës: '° F' template_ value: '{{value_json.temperature}}'
automatizimi:
- alias: _Temp Temperatura e dhomës së gjumit Shkas i lartë: - platforma: numerike_shteti_id_id: sensor. Dhoma_Tako më sipër: 73
veprimi:
shërbimi: homeassistant.turn_off unit_id: switch. Bedroom_Heater
- alias: _Temp Dhoma Gjumi Temp e Ulet
shkas: - platforma: numerike_shteti_iditeti_id: sensor. Bedroom_Temp poshtë: 73 veprim: shërbim: homeassistant.turn_on unit_id: switch. Bedroom_Heater
Hapi 4: Hapat e fundit
Tani me konfigurimin e ndihmësit tuaj në shtëpi dhe kodin tuaj Arduino të vendosur, do të jeni gati për të aktivizuar të gjithë sistemin. Kështu, vendoseni spinën tuaj të ngrohësit/ventilatorit/ftohësit në prizën inteligjente dhe futeni në prizën e zgjuar. Pasi të jetë gati, do t'ju duhet të lidhni një karikues të vogël USB dhe pastaj sondën e Temperaturës të aktivizuar me WiFi. Pasi të jetë gjithçka online, duhet të jeni në gjendje të shikoni në pultin e ndihmësit të shtëpisë tuaj dhe të shihni temperaturën e re që po raportohet.
Faleminderit shumë për të gjithë ndihmën dhe mbështetjen tuaj. sigurohuni që të lini një pëlqim dhe të vini të vizitoni kanalin në https://www.youbue.com/misperry dhe të shihni se çfarë kemi atje për ju. Sigurohuni që të regjistroheni dhe të ndani me miqtë tuaj për të ndihmuar kanalin.
Recommended:
Prizë e zgjuar: 6 hapa
Smart Outlet: Disclaimer: Ky projekt ka për qëllim të tregojë se si mund të prototiponi me një printer PCB SV2. Nuk është një produkt që duhet ta përdorni si artikull të përditshëm. Ai nuk ishte as i projektuar dhe as i testuar për të qenë në përputhje me standardet e duhura të sigurisë. Ju jeni përgjegjës
Si të bëni një tenxhere të zgjuar me NodeMCU të kontrolluar nga aplikacioni: 8 hapa
Si të bëni një tenxhere të zgjuar me NodeMCU të kontrolluar nga aplikacioni: Në këtë udhëzues ne do të ndërtojmë një tenxhere inteligjente të kontrolluar nga një ESP32 dhe një aplikacion për smartphone (iOS dhe Android). Ne do të përdorim NodeMCU (ESP32) për lidhjen dhe Bibliotekën Blynk për cloud IoT dhe Aplikacionin në smartphone. Së fundi ne
Bëni dhe fluturoni aeroplan të lirë të kontrolluar nga telefoni i zgjuar: 8 hapa
Bëni dhe fluturoni me aeroplan të lirë të kontrolluar nga telefoni inteligjent: A keni ëndërruar ndonjëherë të ndërtoni një avion fluturues të parkut me telekomandë me 15 dollarë që kontrollon me telefonin tuaj celular (Aplikacioni Android mbi WiFi) dhe ju jep dozë ditore të nxitimit të adrenalinës prej 15 minutash (fluturim koha rreth 15 minuta)? se ky udhëzim
Prizë e zgjuar ESP8266: 6 hapa
Smart Plug ESP8266: Të dhënat për të ardhurat mund të gjenden në një por me një montrer të menjëhershëm në shtëpinë tuaj në të vërtetë. Ayant toujours adoré les choses automatiques et optimisées, j'ai décidé de créer moi-même mes prises connectées. Komandat e Celles-ci sont përmes WiFi. La
Një shirit prizë i kontrolluar nga fuqia USB. Me izolim .: 4 hapa (me fotografi)
Një shirit prizë i kontrolluar nga fuqia USB. Me Izolim .: E gjithë qëllimi i këtij Instructable ishte të më lejonte të ndizja të gjitha aksesorët për kompjuterin tim pa menduar për të. Dhe pastaj mos fuqizoni të gjitha lythat e vogla të murit vampir kur nuk jam duke përdorur kompjuterin. Ideja është e thjeshtë, ju mundeni