Orodha ya maudhui:

Kiwango cha umeme kinachodhibitiwa cha Joto la WiFi: Hatua 4
Kiwango cha umeme kinachodhibitiwa cha Joto la WiFi: Hatua 4

Video: Kiwango cha umeme kinachodhibitiwa cha Joto la WiFi: Hatua 4

Video: Kiwango cha umeme kinachodhibitiwa cha Joto la WiFi: Hatua 4
Video: Kutumia tochi ya simu kama cinema 📽️ ( projector ) isikuumize kichwa 2024, Novemba
Anonim
Wizi iliyodhibitiwa ya Joto la Kudhibiti Joto la WiFi
Wizi iliyodhibitiwa ya Joto la Kudhibiti Joto la WiFi

Katika seti hii ya maagizo tutaangalia jinsi ya kujenga uchunguzi wa joto unaowezeshwa na WiFi kwa kutumia ESP8266 rahisi kwa kuinua nzito na sensorer ya joto / unyevu wa DHT11. Tutatumia pia bodi ya mzunguko ambayo nimeunda na pia inauzwa sasa katika duka la duka la kituo ikiwa ungependa kununua.

Wacha tuanze na muswada wa vifaa utakavyokuwa needin:

Moduli ya WiFi ya ESP8266

amzn.to/2pkGPoa

Sensorer ya DHT11

amzn.to/2phwfhO

TP-Kiungo Smart kuziba

amzn.to/2GElQUz

Unaweza pia kuchukua moduli nzima kwenye duka la tindie kwa kituo:

www.tindie.com/products/misperry/wifi-enab…

Pia angalia JLCPCB kwa Uzuiaji wa PCB. Ndio ambao nilikuwa nikifanya PCB:

Usafirishaji wa Bure kwa Agizo la Kwanza & $ 2 PCB Prototyping kwenye

Hatua ya 1: Kuongeza Nambari kwa ESP8266

Sasa tutahitaji kuwasha nambari ifuatayo kwenye ESP8266. Nambari hii inaweza kupatikana katika hazina ifuatayo ya github:

Katika nambari iliyo hapo chini italazimika tu kusanidi sehemu za juu za ufafanuzi:

Seva ya MQTT:

Mtumiaji wa MQTT:

Nenosiri la MQTT:

MQTT_sensor_mada:

-WiFi

Alisema: alisema mtandao wa wifi unaounganisha

Nenosiri: nywila ya WiFi.

Mara tu ukishajaza hii katika nambari iliyo hapa chini unaweza kukusanya na kuangalia makosa na ikiwa makosa 0 unaweza kuiwasha kwenye ESP8266.

/ * * Jina la Faili: TempHumSensor.ino * * Maombi: Thermostat ya Heater HomeAssistant Space * * Maelezo: Nambari hii ni ya kifaa kinachoweza kutumika cha ESP8266 WiFi. Hii itapeleka habari ya joto * ya kifaa cha DHT11 mbele ya HASS kwa usindikaji. * * Mwandishi: M. Sperry - https://www.youtube.com/misperry * Tarehe: 03 / * Marekebisho: 1.0 * * * /

# pamoja

#jumlisha #jumuisha #jumuisha #jumlisha # pamoja

#fafanua CON_TIME_OUT 20 // Muda wa kukosa muunganisho na wifi

#fafanua MQTT_TIME_OUT 10 // Muda wa kukosa muunganisho kwa seva ya MQTT

#fafanua DHTPIN 0 // Pin ambayo imeunganishwa na sensor ya DHT

#fafanua DHTTYPE DHT11 // Aina ya sensa ni DHT11, unaweza kuibadilisha kuwa DHT22 (AM2302), DHT21 (AM2301)

#fafanua mqtt_server "" // Ingiza viboreshaji vya seva yako ya MQTT au IP. Ninatumia nyongeza yangu ya DuckDNS (yourname.duckdns.org) katika uwanja huu

// Wifi: SSID na nywila

const char * ssid = ""; const char * nywila = "";

// Uwekaji wa DHT

DHT_Umoja wa dht (DHTPIN, DHTTYPE); uint32_kucheleweshaMS;

WifiMteja wa WiFiMteja;

Mteja wa PubSubMteja (wifiClient);

// kazi inayoitwa kuchapisha hali ya joto na unyevu

void publishData (kuelea p_temperature) {// unda kitu cha JSON // hati: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & mzizi = jsonBuffer.createObject (); // INFO: data lazima ibadilishwe kuwa kamba; shida hufanyika wakati wa kutumia kuelea… // badilisha kuwa mzizi wa fahrenheit ["joto"] = (Kamba) p_joto; mzizi.prettyPrintTo (Serial); Serial.println ("");

data ya char [200];

root.printTo (data, root.measureLength () + 1); mteja.chapisha (MQTT_SENSOR_TOPIC, data, ni kweli); }

// kazi inayoitwa wakati ujumbe wa MQTT ulifika

kupigiwa simu batili (char * p_topic, byte * p_payload, unsigned int p_length) {}

unganisha tena () {

// Kitanzi mpaka tuunganishwe tena wakati (! Mteja.meunganishwa ()) {Serial.print ("INFO: Kujaribu unganisho la MQTT…"); // Jaribio la kuunganisha ikiwa (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: imeunganishwa"); } mwingine {Serial.print ("ERROR: failed, rc ="); Serial.print (mteja.state ()); Serial.println ("DEBUG: jaribu tena kwa sekunde 5"); // Subiri sekunde 5 kabla ya kujaribu kuchelewesha tena (5000); }}}

usanidi batili (utupu) {

Serial. Kuanza (9600);

// Tunaanza kwa kuungana na mtandao wa WiFi

Serial.println (); Serial.println (); Serial.print ("Kuunganisha kwa"); Serial.println (ssid);

WiFi.anza (ssid, nywila);

wakati (WiFi.status ()! = WL_CONNECTED) {

kuchelewesha (800); Printa ya serial ("."); }

Serial.println ("");

Serial.println ("WiFi imeunganishwa"); Serial.println ("Anwani ya IP:"); Serial.println (WiFi.localIP ()); // init mteja wa unganisho la MQTT.setServer (mqtt_server, 1883); mteja.setCallback (kupiga simu tena);

// Anzisha sensorer ya DHT

kuanza (); Serial.println ("data ya sensorer iliyounganishwa ya DHT11");

// Maelezo ya sensa ya muda mfupi

sensor_t sensor; joto la dht. (GetSensor (& sensor); Serial.println ("----------------------------------------"); Serial.println ("Joto"); Serial.print ("Sensor:"); Serial.println (sensor.name); Serial.print ("Dereva Ver:"); Serial.println (sensor.version); Serial.print ("Kitambulisho cha kipekee:"); Serial.println (sensor.sensor_id); Serial.print ("Thamani ya Max:"); Printa ya serial (sensor.max_value); Serial.println ("* C"); Serial.print ("Thamani ndogo:"); Printa ya serial (sensor.min_value); Serial.println ("* C"); Serial.print ("Azimio:"); Printa ya serial (utatuzi wa suluhisho); Serial.println ("* C"); Serial.println ("----------------------------------------"); // Maelezo ya sensa ya unyevu. unyevu wa dht. Serial.println ("----------------------------------------"); Serial.println ("Unyevu"); Serial.print ("Sensor:"); Serial.println (sensor.name); Serial.print ("Dereva Ver:"); Serial.println (sensor.version); Serial.print ("Kitambulisho cha kipekee:"); Serial.println (sensor.sensor_id); Serial.print ("Thamani ya Max:"); Printa ya serial (sensor.max_value); Serial.println ("%"); Serial.print ("Thamani ndogo:"); Printa ya serial (sensor.min_value); Serial.println ("%"); Serial.print ("Azimio:"); Printa ya serial (utatuzi wa suluhisho); Serial.println ("%"); Serial.println ("----------------------------------------");

// Weka ucheleweshaji kati ya usomaji wa sensa kulingana na maelezo ya sensorer

kucheleweshaMS = sensa.min_chelewesha / 1000; }

kitanzi batili (batili) {

joto la kuelea;

ikiwa (! mteja. imeunganishwa ())

{unganisha tena) }

kuchelewesha (kucheleweshaMS);

// Pata tukio la joto na uchapishe thamani yake.

sensorer_tukio_tukio; joto la dht (). getEvent (& tukio); ikiwa (isnan (event.temperature)) {Serial.println ("Kosa la kusoma joto!"); joto = 0.00; } mwingine {joto = tukio. joto; Serial.print ("Joto:"); Printa ya serial (joto); Serial.println ("* C"); } // // kuchapisha kwa MQTT publishData (joto); }

Hatua ya 2: Kuanzisha TP-LINK yako Smart Plug

Kuanzisha TP-LINK yako Smart Plug
Kuanzisha TP-LINK yako Smart Plug

Utahitaji kuweka programu-jalizi yako ya TP-LINK, au kuziba yoyote mahiri kwa hiyo mater, njia ambayo mtengenezaji anapendekeza.

Hakikisha kuzingatia anwani ya MAC kwenye kifaa. Ikiwa kifaa chako ni kama kifaa changu cha TP-LINK huwezi kuweka anwani ya IP tuli. Kwa hivyo, utahitaji kusanidi router yako kwa Uhifadhi wa DHCP. Hii itachukua anwani ya MAC ya kifaa chako na wakati kifaa hicho kitaomba anwani router itampa anwani hiyo hiyo kila wakati.

Hapa kuna kiunga cha jinsi ya kuweka hii na Linksys

www.linksys.com/us/support-article?article…

Hatua ya 3: Kuweka Msaidizi wa Nyumbani

Sasa weka Mratibu wa Nyumba. Kwa hili utahitaji kuongeza usanidi ufuatao kwenye faili ya usanidi.yaml ambayo iko kwenye muundo wa folda ya /home/homeassistant/.homeassistant kwenye kifaa ulichosakinisha.

Mara tu ukimaliza kuongeza hii kwenye usanidi wa msaidizi wako wa nyumbani utahitaji kuanzisha tena programu yako ya msaidizi wa nyumbani kwa mabadiliko yatakayoathiri.

Pia nitatumia kifaa cha kubadili kifaa cha TP-LINK na ufafanuzi uko chini kwenye faili ya usanidi. Anwani ya IP ambayo hutumiwa kwa kifaa hicho ndio uliyoweka kwa uhifadhi wa DHCP katika hatua ya awali.

Usanidi huu unaweza pia kupatikana kwenye repo inayofuata ya github: https://github.com/misperry/SpaceHeater_Thermosta …….

mqtt: kubadili: - jukwaa: jina la tplink: mwenyeji wa hita ya chumba cha kulala: 192.168.2.11

sensa 1:

jukwaa: mqtt state_topic: 'ha / chumba cha kulala_temp' jina: Chumba cha kulala Kitengo_cha_pimo: '° F' thamani_template: '{{value_json.temperature}}'

mitambo:

- alias: _Temp Bedroom Temp High trigger: - jukwaa: numeric_state entity_id: sensor. Bedroom_Temp hapo juu: 73

hatua:

huduma: homeassistant.turn_off entity_id: switch. Bedroom_Heater

- alias: _Temp Chumba cha kulala cha chini

kichocheo: - jukwaa: nambari_ya_jimbo_id: sensa. Bedroom_Temp chini: hatua 73: huduma: homeassistant.turn_on entity_id: switch. Bedroom_Heater

Hatua ya 4: Hatua za Mwisho

Image
Image
Hatua za Mwisho
Hatua za Mwisho
Hatua za Mwisho
Hatua za Mwisho

Sasa na usanidi wako wa msaidizi wa nyumbani na nambari yako ya Arduino iliyowekwa utakuwa tayari kuamsha mfumo wote. Kwa hivyo, weka hita yako / shabiki / kuziba baridi ndani ya kuziba smart na kuziba Katika kuziba smart. Mara tu iko tayari utahitaji kuingiza chaja ndogo ya USB na kisha uchunguzi wa Joto la Wifi. Mara zote zikiwa mkondoni unapaswa kuangalia kwenye dashibodi yako ya msaidizi wa nyumbani na uone hali mpya ya joto ikiripotiwa.

Asante sana kwa msaada wako wote na msaada. hakikisha ukiacha kupenda na uje kutembelea kituo kwenye https://www.youbue.com/misperry na uone kile tunacho kwa ajili yako. Hakikisha umejiandikisha na kushiriki na marafiki wako kusaidia kituo hicho.

Ilipendekeza: