Tartalomjegyzék:
- Kellékek
- 1. lépés: Eszközépítés
- 2. lépés: DOL indítócsatlakozások
- 3. lépés: Fiók létrehozása az Adafruit IO -val (io.adafruit.com)
- 4. lépés: Készítse el és telepítse a szoftvert
- 5. lépés: Telepítse és konfigurálja az MQTT Dash APP alkalmazást a mobilján
- 6. lépés: Utolsó lépés:-) Tesztelés és finomhangolás
Videó: IOT alapú DOL indítóvezérlő öntözőszivattyúhoz: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Hello barátok
Ez az útmutató arról szól, hogyan lehet az interneten keresztül távolról felügyelni és irányítani egy öntözőszivattyú -készletet.
Történet: A gazdaságomban csak napi 6 órára kapok áramot a helyi hálózatról. Az időzítések nem rendszeresek, az áram rendelkezésre állása kora reggel, késő este vagy akár éjfélkor lehet. Minden alkalommal, amikor a fúrólyuk helyére ment, hogy ellenőrizze az áramellátást, indítsa el vagy állítsa le a motort, nagyon fájdalmas folyamat volt. Emellett gondoskodnom kellett arról, hogy a motor minden nap legalább 2-3 órát járjon, hogy elegendő vizet biztosítson a csepegtető rendszerhez. Elég sokáig kerestem a lehetőségeket a probléma megoldására a motor távoli működtetésével, és ismerem az állapotát is. Vannak olyan eszközök a piacon, amelyek beindítják a motort, amint áramellátás van, de nem rendelkeznek azzal a funkcióval, hogy leállítsák a motort, amikor csak akarjuk. És azt sem lehet tudni, hogy a motor BE/KI helyzete bármikor. Ez általában túlzott öntözéshez vezet, ami a talaj termékenységének csökkenéséhez és az áram pazarlásához vezet. Végül magam is elkészítettem egy megoldást, ahol bármikor, bárhol és bármikor elindíthatom és leállíthatom a motort mobilról/táblagépről/PC -ről … !!. Emellett folyamatosan figyelemmel kísérhetem az öv tápellátását, valamint a motor állapotát (BE/KI). Remélhetőleg segíteni fog a vidéki gazdaságok tulajdonosainak abban, hogy az öntözőrendszereiket kezeljék anélkül, hogy állandóan a kiindulási helyre kellene menniük.
Kellékek
Feltételek:
Az eszköz telepítési helyének rendelkeznie kell internet -hozzáféréssel (szélessávú wifi/mobilinternet)
Amire szüksége van:
- NodeMCU /ESP12
- Kétcsatornás relé
- WCS1700 - Áramérzékelő
- TP4056 akkumulátor töltő modul
- LD313, kondenzátor - 1000uF regiszter - Két 5 k ohmos regiszter
- Bármilyen (régi) okostelefon hotspot /internettel.
Hogyan működik:
Egyszerű felhőalapú IOT megoldás NodeMCU/ESP12 és távoli MQTT bróker segítségével. A NodeMCU IOT átjáróként működik, vezérli a DOL indítót is. Interneten keresztül csatlakozik a távoli MQTT brókerhez. Az Android mobilon futó alkalmazás csatlakozik a brókerhez, amelyen keresztül folyamatosan figyelhetjük és irányíthatjuk öntözőszivattyúinkat. Az Adafruit IO ingyenes MQTT brókerét használtam. Sok ingyenes bróker áll rendelkezésre, mint például a szúnyog, a cloudmqtt stb. Bármelyik közvetítőt választhatja, feltéve, hogy megváltoztatja a szervert és a port számát a kódban. A NodeMCU a mobil hotspot WiFi segítségével csatlakozik az internethez. A Yon bármely régi vagy olcsó mobiltelefonnal Wi -Fi -hozzáférést biztosíthat a hotspoton keresztül, vagy bármely más módon, amely wifi -n keresztül biztosítja az internetet. A mobilt úgy kell csatlakoztatni a töltőhöz, ahogy a 24X7 -en kell.
A NodeMCU két relével van összekötve a motor indításának és leállításának vezérléséhez. A motor áramának érzékeléséhez WCS1700 áramérzékelőt használtam. Az érzékelő analóg kimenete arra szolgál, hogy megtudja a motor be- vagy kikapcsolt állapotát. Ezenkívül érzékeli a hálózat rendelkezésre álló áramellátását, és közzéteszi azt a brókernek, hogy bármikor megismerhessük a hálózat állapotát. A készülék két hírcsatornára előfizet, hogy megkapja a motor BE- és KIKAPCSOLÁSA kérést. Ha specifikus értékeket küldünk ezekre a betáplálásokra, akkor a motort START vagy STOP állásba tudjuk irányítani.
Végül telepítettem az MQTT Dash alkalmazást az androidos telefonomra, és úgy konfiguráltam, hogy csatlakozzon az MQTT brókerhez, és használja a műszerfal/gui feedjeit. Az alkalmazás nagyon jó ikonokkal rendelkezik gombokkal, mérővel, kapcsolóval stb., Hogy vonzó műszerfalat hozzon létre. Bármely IOT otthoni automatizálási mobilalkalmazást használhat, amely támogatja az mqtt protokollt.
A WCS1700 működése:
A WCS1700 alapvetően Hall -effektus -érzékelő, amely a tekercsen átáramló árammal arányos kimeneti feszültséget produkál. A tekercs itt egy tápvezeték, amelyet a motorhoz csatlakoztatnak. Akár 70 amper váltakozó áramot is képes mérni. Az üzemi feszültség 3,3 és 12 V között van. További részleteket az adatlapján talál. Az ESP12 használata során ugyanazt a 3,3 V -os tápegységet használtam, mint a WCS1700 üzemi feszültségét. Az adatlap 3,3 V -os adatai szerint a készüléknek körülbelül 32-38 mV differenciális feszültséget kell keltenie a tekercsen keresztül áramerősségre vetítve. De ez változhat a tekercs méretétől / légréstől és a készülék eltéréseitől függően. Ezért kalibrálnom kellett ampermérővel. Nem vagyok elégedett a készülék pontosságával, de elég jó ahhoz, hogy eldöntse a motor ON/OFF állapotát. A WCS1700 kimeneti csapja az ESP12 A0 -jához csatlakozik. Ha nincs áram, akkor az ESP12 -nek 556 körüli értéket kell olvasnia. Mivel a tekercs áramnövekedése a feszültséget mindkét oldalon attól függ, hogy a kábel hogyan halad át az érzékelőn. A kódban az értékek különbségét (x - 556) abszolút értéknek vettem. Az eredményt elosztva 15 -el, hozzávetőleges áramot kaptam az érzékelőn. Ezt ki kell kísérleteznie, hogy megkapja a megfelelő számot. Bármilyen árammérést a készülék 5 amper felett, úgy vélem, hogy a motor be van kapcsolva, és 5 amper alatt, mivel a motor kikapcsolt állapotban van. Kísérletezéssel használhatja az eszközéhez megfelelő számot. Ennek megfelelően módosítania kell a WCS1700_CONST és MIN_CURRENT kódokat.
1. lépés: Eszközépítés
A fenti ábra részletesen bemutatja az összes alkatrész bekötését.
Tápellátás: Az TP4056 -ot használtam az akkumulátorok töltésére, az LM313 -at pedig a 3,7 V -4,2 V -os akkumulátor kimenet szabályozására 3,3 V -ra a NodeMCU tápellátására. 1000 mF kondenzátort használt a Vin és az LM313 földje között, hogy stabil 3,3 V -os tápellátást kapjon. A TP4056 tápellátásához hagyományos USB mobil töltőt használhat. Akkumulátorvédő áramkörrel rendelkezik, amely megvédi az akkumulátort a túlzott töltéstől.
Rács Tápegység érzékelés: Az 5 k ohmos feszültségosztó 5 V -ról 2,5 V -ra csökkenti. A NodeMCU D5 csapja érzékeli a feszültséget.
A WCS1700 kimeneti csapja A0 -hoz van csatlakoztatva, hogy leolvashassa az érzékelő analóg feszültségét. A Grid Power vezetéknek át kell mennie a lyukon az áram méréséhez. 0,01 uF kondenzátort használtam, hogy megkapjam a WCS1700 stabil olvasási formáját.
A NodeMCU D1 és D2 csatlakozóját a relé bemeneti érintkezőinek IN0 és IN1 csatlakozójához kell csatlakoztatni.
2. lépés: DOL indítócsatlakozások
A DOL indító vezérlő áramkörét módosítottam, hogy bemutassak egy másik START és STOP kapcsolót. Ez a módosítás nem érinti a kézi indítás/leállítás műveletet, és továbbra is működnek.
Vigyázat !!!! Mivel a DOL -indító nagyfeszültségű eszköz, győződjön meg arról, hogy a főkapcsoló ki van kapcsolva, mielőtt kinyitja a dobozt. A feszültség alatt álló vezetékkel való közvetlen érintkezés veszélyes lehet. Ha nem biztos benne, vegye igénybe a villanyszerelő segítségét a csatlakoztatáshoz
2 csatornás 5 V relé modult használtam START és STOP kapcsolónak. Ezeket a reléket az ESP12 vezérli.
A 0 relé START kapcsolóként fog működni - NO (normál nyitva).
Az 1. relé STOP kapcsolóként fog működni - vezetékes NC (normál zárt). Az önindítónak már van vezetéke, amely a felső kontaktorról az NVC -hez csatlakozik. El kell távolítania, és a relé -1 vezetékére kell cserélnie, az ábrán látható módon.
A biztonság érdekében győződjön meg arról, hogy az indító és a relé modulok közötti csatlakozások teljesen szigeteltek. Beprogramoztam az ESP -t, hogy tartsa mindkét relét 2 másodpercig, hogy emulálja a START/STOP gombot.
3. lépés: Fiók létrehozása az Adafruit IO -val (io.adafruit.com)
Az Adafruit io mqtt brókert használtam, amely korlátozás nélkül ingyenesen használható, de a mi használatra alkalmas. Én ezt preferálom, mert más projektekben is használtam, és meglehetősen megbízhatónak találtam, és sok más funkcióval is rendelkezik, mint például az irányítópult, szép grafikus felülettel, és még mi is használhatunk triggereket. Az Adafruit io használatához létre kell hoznia egy fiókot, és fel kell jegyeznie a felhasználónevet és az aktív kulcsot.
4. lépés: Készítse el és telepítse a szoftvert
A teljes kód megtalálható a vázlatban. Ezt meg kell nyitnia az Arduino IDE -ben, és néhány változtatást kell végrehajtania a firmware fordítása és feltöltése előtt. Válassza ki a kártya típusát NodeMCU 1.0 -ként. Az IDE és a kapcsolódó könyvtárak telepítése nem tartozik a jelen dokumentáció hatálya alá.
Módosítsa a kód következő sorait alárendeltként.
#define WLAN_SSID "xxx" // Mobil hotspot WiFi SSID
#define WLAN_PASS "……." //
/************************* Adafruit.io Setup ******************** *************/
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883 // SSL használatához használja a 8883 -at
#define AIO_USERNAME "xyz" // Az Ön adafruit -fiókjának felhasználói neve
#define AIO_KEY "abcd ……" // az aktív kulcs…
Az MQTT hírcsatornákról: Az eszköz és az ügyfél (mobilalkalmazás) üzenetcsatornákon keresztül cserélnek információkat az pub -almodell használatával az MQTT broker segítségével. Bármely kliensnek vagy eszköznek üzenet fogadásához elő kell fizetnie egy előre meghatározott hírcsatornára, és közzétételi módszert kell használnia az üzenetek hírcsatornába küldéséhez. A projekthez körülbelül 5 hírcsatornára van szükségünk. Az alábbiakban ismertetjük a táblázatban szereplő táblázatokat és azok működését.
Rács állapota: Az áramellátás elérhetősége a hálózatról a feedben /feeds/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/grid");
A 0 azt jelzi, hogy a tápegység nem elérhető, az 1 pedig a tápegységet.
Motor állapota: A készülék közzéteszi a motor állapotát a feeden…/feeds/grid.
Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/motor")
0 érték KI és 1 BE értéknél
Motor BE gomb: Ez az előtolás a motor indítási kérésének fogadására szolgál. A készülék feliratkozik a hírcsatornára, hogy megkapja a motor indítási kérelmét = 1 értékkel, és ugyanazt a hírcsatornát használja a nyugtázó üzenet közzétételéhez 0 -ként. Így meg tudjuk erősíteni, hogy az indítási kérés üzenetet valóban megkapta az eszköz.
Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_on");
Motor OFF gomb:
A Start kéréshez hasonlóan ez a hírcsatorna a motor leállítási kérésének fogadására szolgál. A készülék feliratkozik a hírcsatornára, hogy megkapja a leállítási kérelmet = 1 értékkel, és ugyanazt a hírcsatornát használja a nyugtázó üzenet 0 -nak való közzétételéhez.
Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_off");
Kapcsolat:
Ez egy speciális hírcsatorna az „utolsó akarat” opcióval. Ha az eszköz minden meghatározott időközönként jól működik, közzéteszi a kapcsolatot = 1, hogy közölje a felhasználóval, hogy minden rendben van. Abban az esetben, ha a rendszer leállt, vagy a kapcsolat megszakadt, akkor az eszköz nem tud kommunikálni a közvetítővel. Ilyen esetekben az MQTT bróker maga teszi közzé a hírcsatornában a kapcsolatot = 0, hogy tájékoztassa a felhasználót, hogy valami hiba történt, és az eszköz nem érhető el az interneten keresztül. Fizikailag el kell mennünk, és ellenőrizni kell a készüléket. A kód nagyon egyszerű. Tekintse meg az MQTT dokumentációját az „utolsó akarat” működéséről.
ha (itr <= 0)
{
mqtt.publish (AIO_USERNAME "/feeds/connection", "1", 1);
itr = CON_LIVE_ITR;
}
A kód többi része magától értetődő, és nincs szükség módosításokra. Ha további információra van szüksége, nyugodtan írjon megjegyzést.
5. lépés: Telepítse és konfigurálja az MQTT Dash APP alkalmazást a mobilján
- Telepítse az MQTT Dash alkalmazást androidos telefonjára, és nyissa meg az alkalmazást
- Eszköz hozzáadásához kattintson a jobb felső sarokban található + ikonra.
- Amint az a fenti első képen látható, adjon nevet az eszköznek, és mondja ki: "MyFarm-IPSet". A cím mező az io.adafruit.com és a port 1883, a felhasználónév legyen az adafruit felhasználóneve és jelszava az adafruit aktív kulcsa. Hagyja a többi mezőt úgy, ahogy van. Végül kattintson a Mentés gombra.
- Létrehozta az eszközét. Most kattintson rá a műszerfal hozzáadásához.
- Kattintson a + gombra, és válassza ki a típust kapcsolóként/gombként. A fent látható módon írja be a sys parancsot a név mezőbe. és írja be a hírcsatorna nevét a téma mezőbe. minden feednek felhasználónévvel/feeds/-vel kell kezdődnie. ehhez mi /feedek /kapcsolat. Győződjön meg arról, hogy a közzététel engedélyezése le van tiltva. A megjelenítendő ikonra kattintva kiválaszthatja az irányítópulton megjelenő ikon típusát. Az 1. értékhez válasszon egyet a színek közül (mondjuk a zöldet), a 0 értékhez pedig válassza a színt szürke vagy piros színnel. Végül kattintson a Mentés gombra a jobb felső sarokban. Hasonlóképpen hozzon létre még két ikont: egyet a Rács számára, amelynek témája a felhasználónév/hírcsatornák/rács, és a Motor a felhasználónév/hírcsatornák/motorral. Győződjön meg arról, hogy a közzététel engedélyezése le van tiltva.
- Végül hozza létre a Motor BE gombot. Ez ismét ugyanaz, mint a kapcsoló/gomb típusa. A téma a /feeds /motor_on legyen, és győződjön meg arról, hogy a Közzététel engedélyezése ezúttal engedélyezve van, és a QOS = 1. Hasonlóképpen hozzon létre egy másik gombot a Motor kikapcsolásához. A téma a /feeeds /motor_off legyen.
6. lépés: Utolsó lépés:-) Tesztelés és finomhangolás
- A biztonság érdekében először ellenőrizni kell a készülék START és STOP működését, mielőtt a reléket a DOL indítóhoz csatlakoztatja. Engedélyezze a Hotspotot a mobilon, ha az internet engedélyezve van. Csatlakoztassa a fejlesztői környezetet hordozó laptopot közvetlenül a NodeMCU USB portjához egy másik, a TP4056 -hoz csatlakoztatott töltővel. Ha az eszköz sikeresen csatlakozik az internethez, akkor 1 eszközt kell látnia az okostelefon hotspotjához csatlakoztatva.
- A másik okostelefonon, amelyre telepítette az MQTT Dash alkalmazást, nyissa meg az alkalmazás irányítópultját. Látnia kell, hogy a NET ikon zölden és a Rács ikon szintén zöld színű, értékeik pedig 1 -esek.
- Amint rákattint a Motor BE gombra, az indítórelének két kattanó hangot kell adnia két másodperces időközönként. Hasonlóképpen a Motor OFF gomb is.
- A biztonság érdekében most kapcsolja ki a DOL-indító fő tápellátását, és csatlakoztassa a reléket a DOL-indítóhoz, a fenti 2. lépés szerint. Győződjön meg arról, hogy a motor ki van kapcsolva. Nyomja meg a NodeMCU reset gombját. A soros monitor kimenetéről olyan hibakeresési utasításokat láthat, amelyek a WC1700 érzékelőből, delta értékből és a tekercsben számított áramból nyomtatnak értékeket. Ha a motor kikapcsolt állapotban van és "#define WCS1700_CONST 15", a maxCur -nak következetesen 2 -nél kisebbnek kell lennie. Ha 2 -nél nagyobbat mutat, próbálja meg a WCS1700_CONST magasabb értékeivel. Minden alkalommal újra kell fordítania a kódot, és be kell töltenie a firmware -t.
- Most kapcsolja be a motort, és keresse meg újra az aktuális értékeket. Hagyja bekapcsolva a motort körülbelül 10-15 percig, és jegyezze fel a stabil áramértéket. Az áram nagyjából 10 és 20 amper között változhat, és nem kell pontosnak lennie.
- Menjen vissza a kódhoz, és állítsa be a "#define MIN_CURRENT X. Ahol X a maximális áram 40 százaléka a numerikus értékhez közelített. Esetemben a MIN_CURRENT értékét 5 -re állítottam. Fordítsa le és töltse be újra a firmware -t a NodeMCU -ba.
- Húzza ki az USB -kábelt a NodeMCU -ból. Kapcsolja ki és kapcsolja be a készüléket a TP4056 -hoz csatlakoztatott USB -töltővel. Ha rákattint a Motor ON gombra a mobilalkalmazásban, elindul a motor. Miután a motor bekapcsolt állapotban van, a motor állapotának tükröznie kell az alkalmazás irányítópultját. A leállítás gombra kattintva le kell állítania a motort.
Élvezd !!!!
Ajánlott:
LoRa-alapú vizuális mezőgazdasági monitoring rendszer Iot - Előlapi alkalmazás tervezése Firebase és Angular használatával: 10 lépés
LoRa-alapú vizuális mezőgazdasági monitoring rendszer Iot | Előlapi alkalmazás tervezése a Firebase & Angular használatával: Az előző fejezetben arról beszéltünk, hogy az érzékelők hogyan működnek a loRa modullal a firebase Realtime adatbázis feltöltéséhez, és láttuk a nagyon magas szintű diagramot, hogyan működik az egész projektünk. Ebben a fejezetben arról fogunk beszélni, hogyan lehet
IoT -alapú intelligens parkolási rendszer a NodeMCU ESP8266 használatával: 5 lépés
IoT -alapú intelligens parkolási rendszer a NodeMCU ESP8266 használatával: Manapság nagyon nehéz megtalálni a parkolást a forgalmas területeken, és nincs olyan rendszer, amely a parkolási lehetőségek online elérhetőségét lekérné. Képzelje el, ha megkapja a parkolóhely elérhetőségét a telefonján, és nincs barangolása, hogy ellenőrizze a
Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott): 11 lépés
Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott): Ez a projekt leírja, hogyan lehet Arduino alapú, hangvezérelt, IOT relés kapcsolót készíteni. Ez egy relé, amelyet távolról be- és kikapcsolhat egy iOS -re és Androidra telepített alkalmazás segítségével, valamint csatlakoztathatja az IFTTT -hez, és hangjával vezérelheti a Goog segítségével
Arduino alapú érintésmentes infravörös hőmérő - IR alapú hőmérő Arduino használatával: 4 lépés
Arduino alapú érintésmentes infravörös hőmérő | IR alapú hőmérő Arduino használatával: Sziasztok, ebben az útmutatóban, érintésmentes hőmérőt készítünk arduino segítségével. Mivel néha a folyadék/szilárd anyag hőmérséklete túl magas vagy alacsony, majd nehéz kapcsolatba lépni vele és elolvasni ilyenkor a hőmérséklet
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): 4 lépés (képekkel)
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): Szia, ma elmagyarázom, hogyan készíts saját kis időjárás alapú zenegenerátort. Ez egy ESP8266 -on alapul, ami olyan, mint egy Arduino, és reagál a hőmérsékletre, az esőre és fényintenzitás. Ne várd el, hogy teljes dalokat vagy akkordprogramokat készítsen