Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:06
V tejto inštrukčnej súprave sa pozrieme na to, ako zostrojiť teplotnú sondu s podporou WiFi pomocou jednoduchého ESP8266 na zdvíhanie ťažkých bremien a snímača teploty/vlhkosti DHT11. Tiež budeme používať dosku s obvodmi, ktorú som vytvoril a ktorá je teraz v predaji v obchode Tindie kanála, ak by ste chceli kúpiť.
Začnime s kusovníkom, ktorý budete potrebovať:
WiFi modul ESP8266
amzn.to/2pkGPoa
Snímač DHT11
amzn.to/2phwfhO
Inteligentná zásuvka TP-Link
amzn.to/2GElQUz
Celý modul si môžete vyzdvihnúť aj v obchode s hračkami pre kanál:
www.tindie.com/products/misperry/wifi-enab…
Tiež si pozrite JLCPCB na výrobu PCB. Oni sú tí, ktorých som použil na výrobu DPS:
Doprava zdarma pri prvej objednávke a prototypovanie DPS 2 doláre na
Krok 1: Pridanie kódu do ESP8266
Teraz budeme musieť na ESP8266 flashovať nasledujúci kód. Tento kód nájdete v nasledujúcom úložisku github:
V nižšie uvedenom kóde budete musieť nastaviť iba niekoľko najdôležitejších sekcií definícií:
Server MQTT:
Užívateľ MQTT:
Heslo MQTT:
MQTT_sensor_topic:
-Wi -Fi
Povedané: uvedené o sieti Wi -Fi, ku ktorej sa pripájate
Heslo: heslo WiFi.
Akonáhle to vyplníte v nižšie uvedenom kóde, potom môžete skompilovať a skontrolovať chyby a ak 0 chýb, môžete to flashnúť na ESP8266.
/ * * Názov súboru: TempHumSensor.ino * * Aplikácia: Termostatický ohrievač priestoru HomeAssistant * * Popis: Tento kód je pre zariadenie kompatibilné s Arduino * kompatibilným s ESP8266 WiFi. Toto odošle informácie o teplote * zariadenia DHT11 do frontendu HASS na spracovanie. * * Autor: M. Sperry - https://www.youtube.com/misperry * Dátum: 03/ * Revízia: 1,0 * * */
#zahrnúť
#include #include #include #include #include
#define CON_TIME_OUT 20 // Časový limit bez pripojenia k wifi
#define MQTT_TIME_OUT 10 // Časový limit bez pripojenia k serveru MQTT
#define DHTPIN 0 // Kolík, ktorý je pripojený k senzoru DHT
#define DHTTYPE DHT11 // Typ snímača je DHT11, môžete ho zmeniť na DHT22 (AM2302), DHT21 (AM2301)
#define mqtt_server "" // Zadajte prídavky servera MQTT alebo IP. V tomto poli používam svoju doplnkovú adresu DuckDNS (yourname.duckdns.org)
#define mqtt_user "" // zadajte svoje užívateľské meno MQTT #define mqtt_password "" // // zadajte heslo #define MQTT_SENSOR_TOPIC "ha/bedroom_temp" // Zadajte tému pre svoj MQTT
// Wifi: SSID a heslo
const char* ssid = ""; const char* heslo = "";
// Nastavenie DHT
DHT_Unified dht (DHTPIN, DHTTYPE); uint32_t delayMS;
WiFiClient wifiClient;
Klient PubSubClient (wifiClient);
// funkcia volaná na publikovanie teploty a vlhkosti
void publishData (float p_temperature) {// vytvorenie objektu JSON // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // INFO: údaje je potrebné previesť na reťazec; problém nastáva pri použití plavákov … // previesť na stupne Fahrenheita p_temperature = (p_temperature * 1,8) + 32; // previesť na fahrenheit root ["teplota"] = (Reťazec) p_temperature; root.prettyPrintTo (sériové); Serial.println ("");
údaje o znakoch [200];
root.printTo (data, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, data, true); }
// funkcia volaná po doručení správy MQTT
void callback (char* p_topic, byte* p_payload, unsigned int p_length) {}
zrušiť opätovné pripojenie () {
// Slučka, kým sa znova nepripojíme, kým (! Client.connected ()) {Serial.print ("INFO: Pokus o pripojenie MQTT …"); // Pokus o pripojenie if (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: connected"); } else {Serial.print ("ERROR: failed, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: skúste to znova o 5 sekúnd"); // Pred oneskorením opakovania počkajte 5 sekúnd (5 000); }}}
void setup (void) {
Serial.begin (9600);
// Začneme pripojením k sieti WiFi
Serial.println (); Serial.println (); Serial.print („Pripojenie k“); Serial.println (ssid);
WiFi.begin (ssid, heslo);
while (WiFi.status ()! = WL_CONNECTED) {
oneskorenie (800); Serial.print ("."); }
Serial.println ("");
Serial.println ("WiFi pripojené"); Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ()); // inicializácia pripojenia MQTT client.setServer (mqtt_server, 1883); client.setCallback (spätné volanie);
// Inicializácia snímača DHT
dht.begin (); Serial.println („zjednotené údaje senzora DHT11“);
// Vytlačte detaily snímača teploty
senzor_t senzor; dht.temperature (). getSensor (& senzor); Serial.println ("------------------------------------"); Serial.println ("teplota"); Serial.print ("Senzor:"); Serial.println (meno.senzora); Serial.print ("Verzia ovládača:"); Serial.println (verzia senzora); Serial.print ("Jedinečné ID:"); Serial.println (sensor.sensor_id); Serial.print ("Maximálna hodnota:"); Serial.print (sensor.max_value); Serial.println (" *C"); Serial.print („Minimálna hodnota:“); Serial.print (sensor.min_value); Serial.println (" *C"); Serial.print ("Rozlíšenie:"); Serial.print (senzor.rozlíšenie); Serial.println (" *C"); Serial.println ("------------------------------------"); // Vytlačte podrobnosti o senzore vlhkosti. dht.humidity (). getSensor (& senzor); Serial.println ("------------------------------------"); Serial.println ("Vlhkosť"); Serial.print ("Senzor:"); Serial.println (meno.senzora); Serial.print ("Verzia ovládača:"); Serial.println (verzia senzora); Serial.print ("Jedinečné ID:"); Serial.println (sensor.sensor_id); Serial.print ("Maximálna hodnota:"); Serial.print (sensor.max_value); Serial.println ("%"); Serial.print („Minimálna hodnota:“); Serial.print (sensor.min_value); Serial.println ("%"); Serial.print ("Rozlíšenie:"); Serial.print (senzor.rozlíšenie); Serial.println ("%"); Serial.println ("------------------------------------");
// Nastavte oneskorenie medzi hodnotami senzora na základe podrobností senzora
delayMS = sensor.min_delay / 1000; }
prázdna slučka (prázdna) {
plávajúca teplota;
if (! client.connected ())
{reconnect (); }
oneskorenie (delayMS);
// Získajte teplotnú udalosť a vytlačte jej hodnotu.
sensor_event_t udalosť; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println ("Chyba pri čítaní teploty!"); teplota = 0,00; } else {teplota = udalost.teplota; Serial.print ("Teplota:"); Sériový tlač (teplota); Serial.println (" *C"); } // publikovať na MQTT publishData (teplota); }
Krok 2: Nastavenie inteligentnej zásuvky TP-LINK
Budete musieť nastaviť svoju inteligentnú zástrčku TP-LINK alebo akúkoľvek inteligentnú zástrčku pre príslušný materiál tak, ako to odporúča výrobca.
Nezabudnite si zapísať MAC adresu zariadenia. Ak je vaše zariadenie ako moje zariadenie TP-LINK, nemôžete zadať statickú adresu IP. Preto budete musieť nakonfigurovať smerovač na rezerváciu DHCP. Bude to trvať MAC adresa vášho zariadenia a keď toto zariadenie požiada o adresu, router mu vždy poskytne rovnakú adresu.
Tu je odkaz na to, ako to nastaviť pomocou Linksys
www.linksys.com/us/support-article?article…
Krok 3: Nastavenie domáceho asistenta
Teraz nastavte domáceho asistenta. Na to budete potrebovať pridať nasledujúce konfigurácie do súboru configuration.yaml, ktorý sa nachádza v štruktúre priečinkov /home/homeassistant/.homeassistant v zariadení, na ktoré ste ho nainštalovali.
Po dokončení pridávania tejto položky do konfigurácie vášho domáceho asistenta budete musieť reštartovať softvér domáceho asistenta, aby sa zmeny prejavili.
Tiež budem používať inteligentný konektor TP-LINK pre spínacie zariadenie a definícia je uvedená nižšie v konfiguračnom súbore. IP adresa, ktorá sa používa pre zariadenie, je tá, ktorú ste nastavili pre rezerváciu DHCP v predchádzajúcom kroku.
Túto konfiguráciu nájdete aj v nasledujúcom repo serveri github:
mqtt: prepínač: - platforma: názov tplink: Hostiteľ ohrievača spálne: 192.168.2.11
snímač 1:
platforma: mqtt state_topic: 'ha/bedroom_temp' názov: Teplota v spálni unit_of_measurement: '° F' value_template: '{{value_json.temperature}}'
automatizácia:
- alias: _Temp Spálňa Teplota Vysoká spúšť: - platforma: numeric_state entity_id: senzor. Bedroom_Temp vyššie: 73
akcia:
služba: homeassistant.turn_off entity_id: switch. Bedroom_Heater
- alias: _Temp Spálňa Teplota Nízka
spúšťač: - platforma: numeric_state entity_id: senzor. Ledroom_Temp nižšie: 73 akcia: služba: homeassistant.turn_on entity_id: switch. Bedroom_Heater
Krok 4: Posledné kroky
Teraz, keď máte konfiguráciu domáceho asistenta a nastavený kód Arduino, budete pripravení aktivovať celý systém. Zasuňte teda zástrčku ohrievača/ventilátora/chladiča do inteligentnej zástrčky a zapojte inteligentnú zástrčku. Akonáhle je pripravený, budete musieť zapojiť malú USB nabíjačku a potom teplotnú sondu s WiFi. Hneď ako bude všetko online, mali by ste sa pozrieť na palubnú dosku svojho domáceho asistenta a pozrieť sa na hlásenú novú teplotu.
Ďakujem veľmi pekne za všetku vašu pomoc a podporu. Nezabudnite zanechať lajk a navštívte kanál na adrese https://www.youbue.com/misperry a zistite, čo všetko pre vás máme. Nezabudnite sa prihlásiť na odber kanála a zdieľať ho so svojimi priateľmi.
Odporúča:
Wifi zásuvka: 4 kroky (s obrázkami)
Wifi zásuvka: Použitie ESP12E (programovanie v Arduino IDE) na ovládanie zásuvky ZAP/VYP 220 V prostredníctvom mobilného telefónu (v rovnakej domácej sieti Wi -Fi) Čo potrebujeme, je: 1. ESP12E https://amzn.to/2zoD8TU2. Napájací modul 220V až 6VDC https://amzn.to/2OalkEh3. Bežná zásuvka https:
Ako používať snímač teploty DHT11 s teplotou a vlhkosťou Arduino a teplotou tlače: 5 krokov
Ako používať teplotný snímač DHT11 s teplom a vlhkosťou Arduino a teplotou tlače: Senzor DHT11 sa používa na meranie teploty a vlhkosti. Sú to veľmi obľúbení nadšenci elektroniky. Senzor vlhkosti a teploty DHT11 uľahčuje pridávanie údajov o vlhkosti a teplote do vašich projektov elektroniky. Je to za
Inteligentná zásuvka IoT Arduino a Cayenne: 5 krokov (s obrázkami)
Inteligentná zásuvka IoT Arduino a Cayenne: Videl som čínsku zásuvku, ktorú môžete ovládať telefónom, ale ja som výrobca a chcem si jednu z nich vyrobiť sám! To je možné pomocou panela CAYENNE! Poznáte Cayenne? Pozrite sa na web Cayenne! Celková suma projektu je asi 60,00 dolárov. PLATTE
DIY WiFi inteligentná zásuvka: 7 krokov (s obrázkami)
DIY WiFi inteligentná zásuvka: Toto je inteligentný zásuvný bod so snímačom teploty a vlhkosti DHT 11 a núdzovým LED svetlom. Ako obvykle, túto zásuvku je možné zapnúť a vypnúť prostredníctvom WiFi akéhokoľvek smartfónu. Toto môže byť tiež pripojené k internetu a využívať funkciu ako Internet vecí
Stolný ventilátor s regulovanou rýchlosťou: 5 krokov
Stolný ventilátor s riadenou rýchlosťou: ako ovládať rýchlosť ventilátorov počítača a zmeniť ich na stolný ventilátor