Sisukord:
- Samm: koodi lisamine ESP8266 -le
- Samm: seadistage oma TP-LINK Smart Plug
- 3. samm: koduabilise seadistamine
- 4. samm: viimased sammud
Video: WiFi lubatud temperatuuriga juhitav nutikas pistik: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Selles juhendis uurime, kuidas ehitada WiFi -toega temperatuuriandur, kasutades rasketõstmiseks lihtsat ESP8266 ja DHT11 temperatuuri/niiskuse andurit. Kui soovite osta, kasutame ka minu loodud trükkplaati, mis on nüüd ka kanali tindie poes müügil.
Alustame vajalike materjalide nimekirjaga:
ESP8266 WiFi moodul
amzn.to/2pkGPoa
DHT11 andur
amzn.to/2phwfhO
TP-Link nutikas pistik
amzn.to/2GElQUz
Samuti saate kogu mooduli kätte saada kanali tindie poest:
www.tindie.com/products/misperry/wifi-enab…
Vaadake ka PCB valmistamise JLCPCB -d. Need on need, keda ma PCB valmistamiseks kasutasin:
Tasuta kohaletoimetamine esimese tellimuse korral ja 2 -dollarine PCB prototüüpimine saidil
Samm: koodi lisamine ESP8266 -le
Nüüd peame ESP8266 -le välgutama järgmise koodi. Selle koodi leiate järgmisest githubi hoidlast:
Allolevas koodis peate seadistama vaid mõned peamised määratlusjaotised:
MQTT server:
MQTT kasutaja:
MQTT parool:
MQTT_anduri_teema:
-WiFi
Ütles: seda wifi -võrku, millega te ühendate
Parool: WiFi parool.
Kui olete selle allolevas koodis täitnud, saate kompileerida ja kontrollida vigu ning 0 vea korral võite selle ESP8266 -le välgutada.
/ * * Faili nimi: TempHumSensor.ino * * Rakendus: HomeAssistant Space Heater Thermostat * * Kirjeldus: See kood on mõeldud ESP8266 WiFi toega arduino * ühilduvale seadmele. See edastab DHT11 seadme temperatuuriteabe * töötlemiseks HASSi esipaneelile. * * Autor: M. Sperry - https://www.youtube.com/misperry * Kuupäev: 03/ * Läbivaatamine: 1.0 * * */
#kaasake
#kaasamine #kaasamine #kaasamine #kaasamine #kaasamine
#define CON_TIME_OUT 20 // wifi -ga ühenduse puudumine
#define MQTT_TIME_OUT 10 // MQTT -serveriga ühenduse puudumise ajalõpp
#define DHTPIN 0 // DHT -anduriga ühendatud tihvt
#define DHTTYPE DHT11 // Anduri tüüp on DHT11, saate selle muuta DHT22 (AM2302), DHT21 (AM2301)
#define mqtt_server "" // Sisestage oma MQTT serveri lisajad või IP. Ma kasutan sellel väljal oma DuckDNS -i aadressi (teie nimi.duckdns.org)
#define mqtt_user "" // sisesta oma MQTT kasutajanimi #define mqtt_password "" // sisesta oma parool #define MQTT_SENSOR_TOPIC "ha/bedroom_temp" // Sisesta oma MQTT teema
// Wifi: SSID ja parool
const char* ssid = ""; const char* parool = "";
// DHT SEtup
DHT_Ühendatud dht (DHTPIN, DHTTYPE); uint32_t delayMS;
WiFiClient wifiClient;
PubSubClient klient (wifiClient);
// funktsiooni kutsutakse temperatuuri ja niiskuse avaldamiseks
void publisData (float p_temperature) {// looge JSON -objekt // dokument: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // INFO: andmed tuleb teisendada stringiks; ujukite kasutamisel tekib probleem… // teisendada fahrenheitiks p_temperatuur = (p_temperatuur * 1,8) + 32; // teisendada fahrenheiti juureks ["temperatuur"] = (String) p_temperatuur; root.prettyPrintTo (jada); Serial.println ("");
char andmed [200];
root.printTo (andmed, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, andmed, tõene); }
// funktsioon kutsuti, kui saabus MQTT -teade
tühine tagasihelistamine (char* p_topic, byte* p_payload, unsigned int p_length) {}
void reconnect () {
// Loop, kuni oleme uuesti ühendatud, kui (! Client.connected ()) {Serial.print ("INFO: MQTT -ühenduse proovimine…"); // Katse ühendada, kui (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: connected"); } else {Serial.print ("VIGA: ebaõnnestus, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: proovige uuesti 5 sekundi pärast"); // Oodake 5 sekundit enne viivituse uuesti proovimist (5000); }}}
tühine seadistus (tühine) {
Seriaalne algus (9600);
// Alustame WiFi -võrguga ühenduse loomisest
Serial.println (); Serial.println (); Serial.print ("Ühendamine"); Serial.println (ssid);
WiFi.begin (ssid, parool);
samas (WiFi.status ()! = WL_CONNECTED) {
viivitus (800); Seeria.print ("."); }
Serial.println ("");
Serial.println ("WiFi ühendatud"); Serial.println ("IP -aadress:"); Serial.println (WiFi.localIP ()); // algata MQTT -ühenduse klient.setServer (mqtt_server, 1883); client.setCallback (tagasihelistamine);
// DHT -anduri lähtestamine
dht.begin (); Serial.println ("DHT11 ühendatud andurite andmed");
// Prindi temperatuurianduri üksikasjad
sensor_t sensor; dht.temperature (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("Temperatuur"); Serial.print ("Andur:"); Serial.println (sensor.name); Serial.print ("Driver Ver:"); Serial.println (sensor.version); Serial.print ("Unikaalne ID:"); Serial.println (sensor.sensor_id); Serial.print ("Max Value:"); Serial.print (sensor.max_value); Serial.println (" *C"); Serial.print ("Min Value:"); Serial.print (sensor.min_value); Serial.println (" *C"); Serial.print ("Resolutsioon:"); Serial.print (sensor.resolution); Serial.println (" *C"); Serial.println ("------------------------------------"); // Prindi niiskuseanduri üksikasjad. dht.humidity (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("Niiskus"); Serial.print ("Andur:"); Serial.println (sensor.name); Serial.print ("Driver Ver:"); Serial.println (sensor.version); Serial.print ("Unikaalne ID:"); Serial.println (sensor.sensor_id); Serial.print ("Max Value:"); Serial.print (sensor.max_value); Serial.println ("%"); Serial.print ("Min Value:"); Serial.print (sensor.min_value); Serial.println ("%"); Serial.print ("Resolutsioon:"); Serial.print (sensor.resolution); Serial.println ("%"); Serial.println ("------------------------------------");
// Anduri näitude vahel viivituse määramine, lähtudes anduri üksikasjadest
delayMS = sensor.min_delay / 1000; }
void loop (void) {
ujuki temperatuur;
kui (! klient.ühendatud ())
{ühenda uuesti (); }
viivitus (delayMS);
// Hankige temperatuuri sündmus ja printige selle väärtus.
sensor_event_t sündmus; dht.temperature (). getEvent (& sündmus); if (isnan (event.temperature)) {Serial.println ("Viga temperatuuri lugemisel!"); temperatuur = 0,00; } else {temperatuur = sündmus.temperatuur; Serial.print ("Temperatuur:"); Serial.print (temperatuur); Serial.println (" *C"); } // avaldada MQTT -le publisData (temperatuur); }
Samm: seadistage oma TP-LINK Smart Plug
Peate seadistama oma TP-LINK nutipistiku või selle seadme nutika pistiku tootja soovitatud viisil.
Võtke kindlasti teadmiseks seadme MAC -aadress. Kui teie seade on nagu minu TP-LINK-seade, ei saa te staatilist IP-aadressi määrata. Seega peate konfigureerima oma ruuteri DHCP reserveerimiseks. See võtab teie seadme MAC -aadressi ja kui seade küsib aadressi, annab ruuter sellele iga kord sama aadressi.
Siin on link, kuidas seda Linksysiga seadistada
www.linksys.com/us/support-article?article…
3. samm: koduabilise seadistamine
Nüüd koduabilise seadistamiseks. Selleks peate faili Configuration.yaml lisama järgmised konfiguratsioonid, mis asuvad selle seadme kausta /home/homeassistant/.homeassistant, kuhu installisite selle.
Kui olete selle koduabilise konfiguratsioonile lisanud, peate muudatuste jõustumiseks taaskäivitama oma koduabilise tarkvara.
Samuti kasutan lülitusseadme jaoks TP-LINK nutikat pistikut ja määratlus on allpool konfiguratsioonifailis. Seadme jaoks kasutatav IP -aadress on see, mille määrasite eelmises etapis DHCP -reserveeringu jaoks.
Selle konfiguratsiooni leiate ka järgmisest githubi repost:
mqtt: lüliti: - platvorm: tplinki nimi: Magamistoa kütteseade: 192.168.2.11
andur 1:
platvorm: mqtt state_topic: 'ha/bedroom_temp' nimi: Magamistoa temp. mõõtühik: '° F' value_template: '{{value_json.temperature}}'
automatiseerimine:
- varjunimi: _Temp magamistoa temperatuur Kõrge käivitaja: - platvorm: numbriline_üksuse olem_id: andur. Magamistuba_temperatuur ülal: 73
tegevus:
teenus: homeassistant.turn_off entity_id: switch. Bedroom_Heater
- varjunimi: _Temp magamistoa temperatuur madal
päästik: - platvorm: numbrilise_riigi olemi_id: sensor. Bedroom_Temp all: 73 toiming: teenus: homeassistant.turn_on entity_id: switch. Bedroom_Heater
4. samm: viimased sammud
Nüüd, kui olete oma koduabilise konfiguratsiooni ja Arduino koodi seadistanud, olete valmis kogu süsteemi aktiveerima. Seega asetage küttekeha/ventilaatori/jahuti pistik nutipistikusse ja ühendage nutikas pistik. Kui see on valmis, peate ühendama väikese USB -laadija ja seejärel WiFi -toega temperatuurianduri. Kui kõik on võrgus, peaksite saama vaadata oma koduabilise armatuurlauale ja näha uut temperatuuri.
Tänan teid väga abi ja toetuse eest. jätke kindlasti like ja tulge külastage kanalit aadressil https://www.youbue.com/misperry ja vaadake, mis meil siin on. Kanali abistamiseks tellige kindlasti ja jagage seda oma sõpradega.
Soovitan:
Riist- ja tarkvara häkkivad nutiseadmeid, Tuya ja Broadlink LEDbulb, Sonoff, BSD33 nutikas pistik: 7 sammu
Riistvara ja tarkvara häkkivad nutiseadmeid, Tuya ja Broadlink LEDbulb, Sonoff, BSD33 nutikas pistik: selles juhendis näitan teile, kuidas ma oma nutitelefoni abil oma nutitelefoni välgutasin, nii et saan neid OpenQabi seadistuse kaudu MQTT abil juhtida. uued seadmed, kui ma neid häkkisin. Loomulikult on kohandatud f välgutamiseks ka muid tarkvarapõhiseid meetodeid
Päikeseenergial töötav "nutikas" WiFi -juhitav niisutussüsteem: 6 sammu (piltidega)
Päikeseenergial töötav "nutikas" WiFi -juhitav niisutussüsteem: see projekt kasutab ebay standardseid DIY päikese- ja 12 -voldiseid osi koos Shelly IoT -seadmetega ja mõningaid põhiprogramme OpenHAB -is, et luua omatehtud, täielikult päikeseenergial töötav arukas aiavõrk ja niisutus setup.System Highlights: Fu
Muumia lamp - WiFi juhitav nutikas lamp: 5 sammu (piltidega)
Muumivalgusti - WiFi abil juhitav nutikas lamp: umbes 230 tuhat aastat tagasi õppis inimene tulekahju ohjama, see toob kaasa olulise muutuse tema elustiilis, kuna ta hakkas öösel töötama, kasutades ka tulest tulevalgust. Võime öelda, et see on sisevalgustuse algus. Nüüd ma
Nutikas pistik ESP8266: 6 sammu
Smart Plug 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 käsib WiFi kaudu. La
Tempy -armas temperatuuriga juhitav emotikon: 6 sammu
Tempy -armas temperatuuri kontrollitud emotikon: ***************************************** ************************************************* ******************+Esiteks, selle juhendi oli kirjutanud 17 -aastane kutt …… Ei ole inglise keele professor, seega palun teavitage grammatikast