Orodha ya maudhui:

MQTT / Mafuriko ya Nyumbani ya Google / Sensor ya WIFI ya Maji na ESP-01: Hatua 7
MQTT / Mafuriko ya Nyumbani ya Google / Sensor ya WIFI ya Maji na ESP-01: Hatua 7

Video: MQTT / Mafuriko ya Nyumbani ya Google / Sensor ya WIFI ya Maji na ESP-01: Hatua 7

Video: MQTT / Mafuriko ya Nyumbani ya Google / Sensor ya WIFI ya Maji na ESP-01: Hatua 7
Video: lightning Flash Flood Warning upland ca 2024, Julai
Anonim
MQTT / Mafuriko ya Nyumbani ya Google / Sura ya WIFI ya Maji na ESP-01
MQTT / Mafuriko ya Nyumbani ya Google / Sura ya WIFI ya Maji na ESP-01

Katika hii inayoweza kufundishwa, nitakuonyesha jinsi ya kujenga wifi sensor / sensor ya maji kwa gharama ndogo. Mradi mzima unanigharimu chini ya $ 8 kwa sehemu ambazo ninapata kutoka kwa ebay na sehemu zangu zilizopo za vipuri.

Katika mradi huu, tutatumia ESP-01 kutoa Wifi na mteja wa MQTT kugundua uwepo wa maji, na kwa hiari tumia spika / buzzer iliyounganishwa moja kwa moja kutoa kengele iliyowekwa ndani.

Maombi yangu maalum ya mradi ni kugundua mafuriko / maji ndani ya pampu yangu ya kusukuma vizuri, katika kesi ya kutofaulu kwa pampu ya sump. Maji yanapogunduliwa na waya 2 wazi, ingetuma ujumbe kwa wakala wa MQTT. Dalali wa MQTT basi angepeleka ujumbe kwa NodeRED. Baada ya kupokea ujumbe wa MQTT, NodeRED itatuma tangazo kwa vifaa vingi vya nyumbani vya google na pia kwa hiari itume ujumbe kwa simu ya rununu / kivinjari kupitia pushbullet

Sasa kwa kweli mradi huu ungefanya kazi tu ikiwa umeme wa nyumbani UMEWASHWA. Katika mafunzo yanayofuata nitaunganisha mzunguko wa chelezo cha betri. Lakini ukifanya usambazaji wa umeme kwa njia ile ile niliyofanya, unaweza kuziba benki ya umeme ya USB kwa chelezo ya betri. Ikiwa una benki ya nguvu inayokuruhusu kuchaji na kusambaza umeme kwa wakati mmoja, basi mko tayari.

Ninatumia RaspberryPi ZeroW kuwa mwenyeji wa seva ya Mosquitto MQTT na NodeRED. Imekuwa ikikimbia kwa zaidi ya mwaka bila suala lolote.

Marejeleo: Risiberi Pi:

Hatua ya 1: Sehemu Ambazo Utahitaji

Sehemu Ambazo Utahitaji
Sehemu Ambazo Utahitaji
Sehemu Ambazo Utahitaji
Sehemu Ambazo Utahitaji
Sehemu Ambazo Utahitaji
Sehemu Ambazo Utahitaji

Orodha ya Sehemu:

(1) ESP-01

(2) 10K ohm Mpingaji

(1) ishara ndogo ya transistor ya kawaida ya NPN (nilitumia 2N3904)

(2) waya mrefu

(1) 5V umeme wa kawaida (mzunguko huu unahitaji chini ya 300mA sasa)

(1) Moduli ya mdhibiti wa 3.3V AMS1117

(1) Micro-USB Kwa DIP Adapter Kiunganishi cha Kike PCB Converter DIY Kit

(1) USB-A kwa kebo ya MicroUSB.

(1) 8-pin IC tundu - inaweza kuachwa ikiwa unataka kutengeneza ESP-01 moja kwa moja kwa bodi ya mzunguko. Kata madaraja ya plastiki ambayo hutengeneza pengo kati ya safu, na kisha gundi safu 2 pamoja, angalia picha.

(1) Sehemu ndogo ya mradi

Chini ni sehemu za hiari ikiwa unahitaji kengele ya ujanibishaji kutumia spika / buzzer

(1) Generic PNP Transistor, chagua kulingana na mahitaji ya spika / buzzer ya sasa / ya maji. Kwa upande wangu ninatumia 2N2907 kwani spika yangu ni 0.3W tu (8 ohm), ingeweza kutoa nguvu ya kutosha kuendesha spika. Unaweza kuchagua transistor kubwa na spika ikiwa unataka sauti zaidi.

(1) Spika, angalia maelezo juu ya Transistor ya PNP hapo juu

(1) 100-110 ohm Mpingaji

Hatua ya 2: Mchoro wa Mzunguko

Mchoro wa Mzunguko
Mchoro wa Mzunguko

Hatua ya kwanza itakuwa kuunda mzunguko ulioonyeshwa kwenye mchoro.

Niliunda usambazaji wa umeme wa 3.3VDC kwa kutumia sinia ya zamani ya rununu ya 5V pamoja na mdhibiti wa AMS1117 3.3VDC. Kwa tundu la ESP-01, ninatumia tundu la IC lenye pini 8, na kukata madaraja ya plastiki ambayo hutengeneza pengo kati ya safu, na kisha gundi safu 2 pamoja.

Mzunguko ambao nimetengeneza ni kuhisi uwepo wa maji kati ya waya mbili. Maji yanapofikia ncha ya waya zote mbili, ingeunda upinzani wa takriban 10K hadi 20K ohm. Halafu kwa safu na 10K ohm R1, hutoa mkondo mdogo kwa msingi wa Q1 inayosababisha Q1 kujazana, ikibana GPIO-2 chini. R1 ni muhimu kutoa ulinzi kwa Q1 ikiwa kuna kifupi cha bahati mbaya kwenye waya za kuhisi.

R2 ni kontena la kuvuta ili kuruhusu ESP-01 kuanza kutoka kwa flash.

Sasa kwa spika / buzzer ya hiari, ikiwa unahitaji tu ESP-01 kuongea MQTT na hawataki kutekeleza hii ya kutisha ya ndani, unaweza kuondoa R2, Q2, Spika, na uweke kipinga-10K cha kuvuta kati ya GPIO-0 na VCC.

Ikiwa haujisikii hitaji la kutumia adapta ya kike ya USB-DIP, unaweza kusambaza waya kati ya 5V PS hadi moduli ya mdhibiti wa 3.3V. Ninapendelea kutumia adapta ya kike ya MicroUSB ili niweze kutumia sinia yoyote ya rununu ya rununu na kebo ya MicroUSB.

Hatua ya 3: Kuunda Mzunguko

Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko

Weka vifaa vyote na sehemu kwenye PCB kulingana na mchoro wa mzunguko kwenye ukurasa uliopita, na ukate PCB kwa saizi.

Weka PCB ndani ya boma ambayo itafaa PCB na spika cha hiari. Kwa upande wangu, sehemu zote zingetoshea ndani ya sanduku dogo la kuuza simu, ingawa lazima nipake moto kifuniko kidogo ili kuunda sehemu kubwa ili moduli ya ESP-01 itoshe.

Hatua ya 4: Kuangaza ESP-01

Katika hatua hii, tutaangazia ESP-01 na mchoro wa arduino. Ikiwa haujawahi kuangaza moduli ya ESP-01, unaweza kufuata maelekezo yangu kukuanza:

Unaweza kupata mchoro wangu kwenye ukurasa wangu wa github:

Katika mchoro, kwa kiwango cha chini unahitaji kubadilisha habari zifuatazo zinazohusu mtandao wako wa nyumbani / usanidi:

#fafanua MQTT_SERVER "10.0.0.30" const char * ssid1 = "SSID"; const char * password1 = "MYSSIDpassword";

Katika mtandao wangu wa nyumbani, nina sehemu mbili za ufikiaji ambazo zinatangaza SSID 2 tofauti, na mchoro huu utaruhusu upungufu wa kazi kwa kuunganisha kwa SSID inayofuata ikiwa mawasiliano ya AP ya sasa imepotea. Ikiwa una SSID moja tu, jaza ssid1 na ssid2 na thamani sawa.

Mara tu unapofanya marekebisho, pakia mchoro kwenye ESP-01, na unganisha ESP-01 kwenye bodi ya kiolesura.

Hatua ya 5: Jaribu Kukimbia

Ili kujaribu ikiwa mradi wetu unafanya kazi, rahisi zaidi itakuwa kufuatilia ujumbe wa MQTT kwenye mtandao. Ili kufanya hivyo, unahitaji kufungua kikao cha SSH kwa broker wa mbu na utoe amri ifuatayo:

mbu_sub -v -t '#'

Amri iliyo hapo juu itaturuhusu kuona ujumbe wote wa MQTT ukija kwa broker.

Sasa weka nguvu mzunguko wetu, na ikiwa kila kitu kinafanya kazi, katika sekunde chache unapaswa angalau kuona ujumbe ufuatao wa MQTT:

stat / SumpWaterSensor / LWT mkondoni

Sasa jaribu sensa ya maji kwa kuzamisha waya 2 za kuhisi ndani ya kikombe cha maji, na unapaswa kuona ujumbe huu:

tele / SumpWaterSensor WET

Na ukitoa waya nje ya maji, unapaswa kuona ujumbe huu:

tele / SumpWaterSensor DRY

Ukiona ujumbe huo, mradi wako umefanikiwa.

Nilijumuisha pia mada kadhaa muhimu za MQTT kwenye mchoro ambao unaweza kutumia:

"stat / SumpWaterSensorInfo": ujumbe huu hutumwa kila dakika ili kutoa muda wa ziada na maelezo mengine.

"cmnd / SumpWaterSensorInfo": ESP-01 itatuma habari ikiwa inapokea mada hii na thamani ya '1' (ascii = 49)

"cmnd / SumpWaterSensorCPUrestart": ESP-01 itaanza upya ikiwa itapokea mada hii na thamani ya '1' (ascii = 49)

"cmnd / SumpWaterSensorBeep": ESP-01 itasikika spika ikiwa inapokea mada hii na thamani ya '1' (ascii = 49)

"cmnd / SumpWaterSensorBeepFreq": Inaweka masafa ya kengele ya spika, default = 900 (Hz)

"cmnd / SumpWaterSensorDebug": Wezesha na uweke kiwango cha utatuzi wa serial (chaguo-msingi ni 0 - hakuna utatuzi)

Hatua ya 6: Panda Sensor

Panda Sensor
Panda Sensor
Panda Sensor
Panda Sensor

Katika maombi yangu, ninataka kufuatilia kiwango cha maji ndani ya pampu yangu, na kuniarifu ikiwa maji yatafika juu ya swichi ya pampu ya sump, ambayo inamaanisha kuwa pampu yangu haifanyi kazi. Nilikimbia waya na kutumia vifungo vya waya kuilinda kando ya bomba la kukimbia.

Hatua ya 7: Kugusa Mwisho

Kugusa Mwisho
Kugusa Mwisho

Sasa kwa kuwa tuna mradi unaofanya kazi na kuweza kuchapisha ujumbe wa MQTT kwa broker, hatua inayofuata ni kufikiria wazo la kufanya na hiyo.

Katika mradi wangu, ninatumia Node-RED kusikiliza / kujiandikisha kwa mada ya "tele / SumpWaterSensor" MQTT na kutangaza kwa wasemaji kadhaa wa nyumbani wa google ikiwa maji hugunduliwa. Kwa kuongezea hayo, niliunganisha pia mtiririko huo na nodi ya pushbullet ili kutuma arifa kwa simu yangu ya android.

Niliunda pia mbele ya wavuti kuona hali ya kihisi (on / offline, uptime, nk). Wakati mwingine niliona kuwa huenda nje ya mkondo mara chache katika kipindi cha wiki 1, kutoka kwa takwimu, mara nyingi ni kwa sababu ya ESP-01 kukatwa kutoka kwa wifi au MQTT. Lakini sio wasiwasi sana, mchoro wangu umejumuisha utaratibu wa kuanzisha tena ESP-01 ikiwa itaendelea kushindwa kujaribu kuungana na WIFI na / au broker wa MQTT.

Picha kwenye hatua hii, inaonyesha mtiririko wa Node-RED kutimiza hii. Unaweza pia kubandika mtiririko kutoka kwa ukurasa wangu wa github kwenye Node-RED yako:

Tangazo la nyumba ya Google ni mfano mmoja tu wa mradi huu, lakini nadhani ni muhimu zaidi na ya vitendo. Unaweza kusanikisha kila wakati kwa msikilizaji mwingine wa MQTT, au hata kutumia IFTTT kuendesha vifaa vingine juu ya maji kugunduliwa.

Furahiya…

Ilipendekeza: