Përmbajtje:
- Furnizimet
- Hapi 1: Ndërtimi i pajisjes
- Hapi 2: Lidhjet DOL Starter
- Hapi 3: Krijoni një llogari me Adafruit IO (io.adafruit.com)
- Hapi 4: Ndërtoni dhe instaloni Softuerin
- Hapi 5: Instaloni dhe Konfiguroni MQTT Dash APP në celularin tuaj
- Hapi 6: Hapi i fundit:-) Testimi dhe Përfundimi
Video: Kontrollues DOL Starter i bazuar në IOT për pompën e ujitjes: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
Përshëndetje miq
Ky udhëzues ka të bëjë me mënyrën se si të monitoroni dhe kontrolloni nga distanca një pompë ujitje të vendosur në internet.
Historia: Në fermën time marr furnizim me energji nga rrjeti lokal vetëm për rreth 6 orë në ditë. Oraret nuk janë të rregullta, disponueshmëria e energjisë mund të jetë herët në mëngjes ose vonë në mbrëmje apo edhe në mesnatë. Sa herë që shkoni në vendburimin e pusit për të kontrolluar disponueshmërinë e energjisë, fillimi ose ndalimi i motorit ishte një proces shumë i dhimbshëm. Gjithashtu më është dashur të siguroj që motori të funksionojë të paktën 2-3 orë çdo ditë për të furnizuar ujin e duhur për sistemin e pikimit. Shumë kohë unë po eksploroja opsionet për të zgjidhur këtë problem duke operuar nga distanca motorin dhe gjithashtu të njihja statusin. Ekzistojnë pajisje të disponueshme në treg të cilat do të fillojnë motorin sapo të ketë një furnizim me energji elektrike, por ato nuk kanë funksionin për të ndaluar motorin kur të duam. Dhe gjithashtu nuk ka asnjë mënyrë për të ditur statusin e motorit ON/OFF në çdo moment të kohës. Kjo zakonisht çon në ujitje të tepërt, duke çuar në humbjen e pjellorisë së tokës dhe gjithashtu humbjen e energjisë elektrike. Së fundi, unë vetë krijova një zgjidhje ku mund të filloja dhe ndaloja motorin nga distanca nga celulari/tableti/kompjuteri në çdo kohë kudo… !!. Gjithashtu mund të monitoroj disponueshmërinë e furnizimit me energji nga brezi, si dhe statusin e motorit (ON/OFF) gjatë gjithë kohës. Shpresoj se do të ndihmojë pronarët e fermave në anën e vendit që të menaxhojnë sistemet e tyre të ujitjes pa pasur nevojë të shkojnë në vendin fillestar gjatë gjithë kohës.
Furnizimet
Parakushtet:
Vendndodhja ku dëshironi të instaloni këtë pajisje duhet të ketë disponueshmëri në internet (brez i gjerë me wifi/internet celular)
Gjërat që ju nevojiten:
- NodeMCU /ESP12
- Stafetë me dy kanale
- WCS1700 - Sensori aktual
- Moduli i karikimit të baterisë TP4056
- LD313, Kondensatori - Regjistri 1000uF - Dy regjistra prej 5k ohm
- Çdo smartphone (i vjetër) me pikë të nxehtë /internet.
Si punon:
Ashtë një zgjidhje e thjeshtë IOT e bazuar në cloud duke përdorur NodeMCU/ESP12 dhe ndërmjetësin e largët MQTT. NodeMCU punon si një portë IOT, gjithashtu kontrollon starterin DOL. Lidhet me ndërmjetësin e largët MQTT përmes internetit. Një aplikacion që funksionon në një celular Android lidhet me ndërmjetësin përmes të cilit ne mund të monitorojmë dhe kontrollojmë pompën tonë të ujitjes të vendosur gjatë gjithë kohës. Kam përdorur ndërmjetësin MQTT falas në dispozicion nga Adafruit IO. Ka shumë ndërmjetës falas në dispozicion si mushkonja, cloudmqtt etj. Ju mund të zgjidhni çdo ndërmjetës me kusht që të ndryshoni serverin dhe numrin e portit në kod. NodeMCU lidhet me internetin duke përdorur WiFi nga pika e nxehtë e lëvizshme. Yon mund të përdorë çdo celular të vjetër ose me kosto të ulët për të siguruar qasje wifi përmes hotspot ose ndonjë mjeti tjetër për të siguruar internet përmes wifi. Celulari duhet të lidhet me karikuesin ashtu siç duhet të jetë në 24X7.
NodeMCU është i ndërlidhur me dy stafetë për të kontrolluar fillimin dhe ndalimin e funksionimit të motorit. Për të ndjerë rrymën në motor kam përdorur sensorin aktual WCS1700. Dalja analoge nga sensori përdoret për të ditur që motori është ON ose OFF. Ai gjithashtu ndjen disponueshmërinë e energjisë nga rrjeti dhe e publikon atë tek ndërmjetësi në mënyrë që të mund të dimë statusin e rrjetit në çdo kohë. Pajisja pajtohet për dy burime për të marrë kërkesën për motorin ON dhe motorin OFF. Duke dërguar vlera specifike në këto burime, ne mund të kontrollojmë motorin për të filluar ose STOP.
Së fundmi instalova aplikacionin MQTT Dash në telefonin tim android dhe e konfigurova që të lidhej me ndërmjetësin MQTT dhe të përdorte burimet në pultin/gui -n e tij. Aplikacioni ka ikona shumë të mira me butona, matës, ndërprerës etj për të krijuar pult tërheqës. Sidoqoftë, mund të përdorni çdo aplikacion celular të automatizimit të shtëpisë IOT që mbështet protokollin mqtt.
Si funksionon WCS1700:
WCS1700 është në thelb një sensor efekti Hall i cili do të prodhojë tension dalës proporcional me fushën magnetike të krijuar ndërsa rryma rrjedh nëpër spirale. Spiralja këtu është një linjë furnizimi me energji që do të lidhet me motorin. Mund të masë rrymën AC deri në 70 Amper. Tensioni i funksionimit është nga 3.3 në 12 V. Referojuni fletës së tij të të dhënave për më shumë detaje. Ndërsa jam duke përdorur ESP12 kam përdorur të njëjtën furnizim me energji 3.3V si tensioni i funksionimit për WCS1700. Siç specifikohet në fletën e të dhënave në 3.3 V pajisja duhet të prodhojë një tension diferencial prej rreth 32 deri në 38 mV për amp rrymë përmes spirales. Por mund të ndryshojë në bazë të madhësisë së spirales / hendekut të ajrit dhe ndryshimeve në pajisje. Prandaj më është dashur ta kalibroj duke e testuar me Amper Metër. Nuk jam i kënaqur me saktësinë e pajisjes, por është mjaft i mirë për të vendosur mbi statusin e motorit si ON/OFF. Pina e daljes e WCS1700 lidhet me A0 të ESP12. Kur nuk ka rrymë, ESP12 duhet të lexojë vlerën rreth 556. Ndërsa rritja aktuale e spirales tensioni mund të jetë në të dyja anët bazuar në mënyrën se si kalon kablloja përmes sensorit. Në kodin mora diferencën e vlerave si vlerë absolute e (x - 556). Duke e ndarë rezultatin me 15 kam marrë rrymë të përafërt që rrjedh përmes sensorit. Ju do të duhet të eksperimentoni këtë për të marrë numrin e duhur për ju. Çdo matje aktuale nga pajisja mbi 5 Amper e konsideroj si motor ON dhe nën 5 Amp pasi motori është në OFF. Mund të përdorni numrin e duhur për pajisjen tuaj duke eksperimentuar. Ju duhet të ndryshoni WCS1700_CONST dhe MIN_CURRENT në kod në përputhje me rrethanat.
Hapi 1: Ndërtimi i pajisjes
Diagrami i mësipërm jep një detaj të plotë se si të lidhni të gjithë përbërësit.
Furnizimi me energji elektrike: Kam përdorur TP4056 për të ngarkuar bateritë dhe LM313 për të rregulluar daljen e baterisë 3.7V - 4.2V në 3.3 V për të fuqizuar NodeMCU. Përdoret kondensator 1000mF midis Vin dhe tokës së LM313 për të marrë furnizim të qëndrueshëm prej 3.3V. Mund të përdorni ngarkuesin USB të rregullt celular për të fuqizuar TP4056. Ka qark mbrojtës të baterisë për të mbrojtur baterinë nga ngarkimi i tepërt.
Rrjeti Ndjenja e furnizimit me energji elektrike: Ndarësi i tensionit 5k ohm do të zvogëlojë 5 V në 2.5 V. Pin D5 i NodeMCU do të ndiejë tensionin.
Pina dalëse e WCS1700 është e lidhur me A0 për të lexuar tensionin analog nga sensori. Linja e Rrjetit të Energjisë duhet të kalojë nëpër vrimë për të matur rrymën. Kam përdorur kondensator 0.01 uF për të marrë formën e qëndrueshme të leximit WCS1700.
D1 dhe D2 të NodeMCU të lidhen me IN0 dhe IN1 të kunjave të hyrjes së stafetës.
Hapi 2: Lidhjet DOL Starter
Unë ndryshova qarkun e kontrollit të motorit DOL për të prezantuar një grup tjetër të çelësit START dhe STOP. Ky ndryshim nuk do të ndikojë në funksionimin manual/ndalimin manual dhe ata vazhdojnë të punojnë ashtu siç janë.
Kujdes !!!! Meqenëse startuesi DOL është një pajisje e Tensionit të Lartë sigurohuni që çelësi kryesor të jetë i fikur para se të hapni kutinë. Kontakti i drejtpërdrejtë me tela të drejtpërdrejtë mund të jetë i rrezikshëm. Nëse nuk jeni të sigurt, merrni ndihmën e elektricistit për të bërë lidhjet
Kam përdorur modulin e stafetës me 2 kanale 5 V si çelës START dhe STOP. Këto stafetë do të kontrollohen nga ESP12.
Stafeta - 0 do të punojë si çelës START - i lidhur me JO (Normalisht i Hapur).
Rele -1 do të funksionojë si çelës STOP - i lidhur me kabllo NC (Normalisht i Mbyllur). Fillestari tashmë do të ketë një tel që lidhet nga kontaktori i lartë me NVC. Ju do të duhet ta hiqni atë dhe të zëvendësoni me tela -1 stafetë siç tregohet.
Sigurohuni që lidhjet midis starterit dhe moduleve Relay të jenë plotësisht të izoluara për siguri. Kam programuar ESP që të mbajë të dy stafetat për 2 sekonda për të imituar shtypjen e butonit START/STOP.
Hapi 3: Krijoni një llogari me Adafruit IO (io.adafruit.com)
Kam përdorur ndërmjetësin Adafruit io mqtt i cili është falas për t'u përdorur me disa kufizime, por është në rregull për përdorimin tonë. Unë e preferoj këtë sepse e kam përdorur edhe në projekte të tjera dhe kam gjetur mjaft të besueshme dhe gjithashtu ka shumë veçori të tjera si Paneli me GUI të bukur dhe madje ne mund të përdorim shkaktarë. Për të përdorur Adafruit io duhet të krijoni një llogari dhe të shënoni Emrin e përdoruesit dhe Çelësin aktiv.
Hapi 4: Ndërtoni dhe instaloni Softuerin
Kodi i plotë është i disponueshëm në skicë. Duhet ta hapni këtë në Arduino IDE dhe të bëni pak ndryshime para se të përpiloni dhe ngarkoni firmuerin. Zgjidhni llojin e bordit si NodeMCU 1.0. Instalimi i IDE dhe bibliotekave përkatëse nuk janë në fushën e këtij dokumentacioni.
Ndryshoni rreshtat e mëposhtëm në kod si shokë.
#përcaktoni WLAN_SSID "xxx" // SSID -i juaj i Hotspot -it celular
#përcakto WLAN_PASS "……" //
/************************ Adafruit.io Setup ******************* *************/
#përcakto AIO_SERVER "io.adafruit.com"
#përcaktoni AIO_SERVERPORT 1883 // përdorni 8883 për SSL
#define AIO_USERNAME "xyz" // Emri i përdoruesit të llogarisë suaj adafruit
#përcakto AIO_KEY "abcd ……" // çelësi juaj aktiv …
Rreth burimeve MQTT: Pajisja dhe klienti (aplikacioni celular) shkëmbejnë informacion përmes burimeve të mesazheve duke përdorur nën -modelin e pub -it përmes ndërmjetësit MQTT. Çdo klient ose pajisje për të marrë një mesazh, duhet të abonohet për një burim të paracaktuar dhe duhet të përdorë metodën e publikimit për të dërguar një mesazh në një burim. Për projektin tonë ne kërkojmë rreth 5 burime. Më poshtë është shpjegimi për secilën prej burimeve siç shihni në kod dhe si funksionojnë.
Statusi i Rrjetit: Disponueshmëria e furnizimit me energji nga rrjeti publikohet në burimin/feed/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/grid");
0 tregon se furnizimi me energji nuk është i disponueshëm dhe 1 për furnizimin me energji është i disponueshëm.
Gjendja e motorit: Pajisja do të publikojë statusin e motorit në burimin…/burimet/rrjeti.
Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/motor")
Vlera 0 për OFF dhe 1 për ON
Butoni ON ON i motorit: Ky burim përdoret për të marrë kërkesën për fillimin e motorit. Pajisja do të abonohet që burimi të marrë kërkesën për fillimin e motorit me vlerë = 1 dhe të përdorë të njëjtën burim për të publikuar mesazhin e konfirmimit si 0. Në këtë mënyrë ne mund të konfirmojmë që mesazhi i kërkesës për fillimin është marrë në të vërtetë nga pajisja.
Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_on");
Butoni i fikur i motorit:
Ngjashëm me kërkesën Start, kjo burim përdoret për të marrë kërkesën për ndalimin e motorit. Pajisja do të abonohet që burimi të marrë kërkesën e ndalimit me vlerë = 1 dhe të përdorë të njëjtën burim për të publikuar mesazhin e konfirmimit si 0.
Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_off");
Lidhje:
Ky është një burim special me opsionin "vullneti i fundit" i aktivizuar. Kur pajisja punon mirë në çdo interval fiks, ajo do të publikojë lidhjen = 1 për t'i treguar përdoruesit se gjithçka është në rregull. Në rast se sistemi prishet ose lidhja humbet atëherë pajisja nuk do të jetë në gjendje të komunikojë me ndërmjetësin. Në raste të tilla, ndërmjetësi MQTT do të publikojë në burim si lidhje = 0 për t'i bërë të ditur përdoruesit se diçka nuk shkoi dhe pajisja nuk është e arritshme përmes internetit. Ne duhet të shkojmë fizikisht dhe të kontrollojmë pajisjen. Kodi është shumë i thjeshtë. Referojuni dokumentacionit MQTT për më shumë detaje se si funksionon "Vullneti i Fundit".
nëse (itr <= 0)
{
mqtt.publish (AIO_USERNAME "/feeds/connection", "1", 1);
itr = CON_LIVE_ITR;
}
Pjesa tjetër e kodit është vetë -shpjeguese dhe nuk kërkohet modifikim. Mos ngurroni të komentoni në rast se keni nevojë për më shumë informacion.
Hapi 5: Instaloni dhe Konfiguroni MQTT Dash APP në celularin tuaj
- Instaloni MQTT Dash në telefonin tuaj android dhe hapni aplikacionin
- Klikoni në ikonën + në këndin e sipërm të djathtë për të shtuar një pajisje.
- Siç tregohet në imazhin e parë më sipër, jepni një emër pajisjes tuaj, thoni "MyFarm-IPSet". Fusha e adresës si io.adafruit.com dhe porti si 1883, emri i përdoruesit duhet të jetë emri i përdoruesit dhe fjalëkalimi juaj i adafruit duhet të jetë çelësi juaj aktiv nga adafruit. Lëreni pjesën tjetër të fushave ashtu siç është. Së fundi, klikoni në ruani.
- Ju keni krijuar pajisjen tuaj. Tani klikoni mbi të për të shtuar pultin në të.
- Klikoni në + dhe zgjidhni llojin si çelës/buton. Siç tregohet më lart, futni sys në fushën e emrit. dhe futni emrin e burimit në fushën e temës. çdo burim duhet të fillojë me emrin e përdoruesit/burimet/. për këtë ne /ushqejmë /lidhim. Sigurohuni që Enable Publish është i çaktivizuar. Duke klikuar mbi ikonën që shfaqet mund të zgjidhni llojin e ikonës që dëshironi të duket në pult. Për vlerën 1 zgjidhni një nga ngjyrat (thoni jeshile) dhe për vlerën 0 zgjidhni ngjyrën gri ose të kuqe. Më në fund klikoni në ruaj në këndin e sipërm të djathtë. Në mënyrë të ngjashme krijoni dy ikona të tjera një për Grid me emrin e përdoruesit/burimet/rrjetin si temë dhe Motor me emrin e përdoruesit/burimet/motorin. Sigurohuni që Enable Publish është i çaktivizuar.
- Së fundmi krijoni butonin Motor ON. Againshtë përsëri e njëjtë me llojin si switch/button. Tema duhet të jetë /feeds /motor_on dhe të sigurojë që Enable Publish është aktivizuar këtë herë dhe QOS = 1. Në mënyrë të ngjashme krijoni një buton tjetër për Motor OFF. Tema duhet të jetë /feeeds /motor_off.
Hapi 6: Hapi i fundit:-) Testimi dhe Përfundimi
- Për të qenë të sigurt, duhet së pari të testoni pajisjen për operacionet e saj START dhe STOP para se të lidhni stafetat me startuesin DOL. Aktivizo Hotspot në celular me internet të aktivizuar. Lidhni laptopin që ka mjedisin e zhvillimit direkt me portën USB NodeMCU me një ngarkues tjetër të lidhur me TP4056 në të njëjtën kohë. Nëse pajisja është e lidhur me sukses në internet, duhet të shihni 1 pajisje të lidhur me pikën e nxehtë në smartphone.
- Në smartphone tjetër ku keni instaluar MQTT Dash hapni pultin e aplikacionit. Duhet të shihni që ikona NET në të gjelbër dhe ikona Grid gjithashtu në të gjelbër me vlerat e tyre si 1. Ikona e motorit duhet të shfaqet si motor i fikur me vlerë sa 0.
- Ndërsa klikoni në butonin Motor ON, stafeta e fillimit duhet të bëjë dy tinguj klikimi në një interval prej dy sekondash. Në mënyrë të ngjashme, butoni Motor OFF gjithashtu.
- Për siguri tani fikni furnizimin kryesor me startuesin DOL dhe lidhni stafetat me starterin DOL siç tregohet më sipër hap-2. Sigurohuni që motori është i fikur. Shtypni butonin e rivendosjes në NodeMCU. Nga dalja serike e monitorit, mund të shihni deklarata të korrigjimit që printojnë vlera nga sensori WC1700, delta dhe rryma e llogaritur në spirale. Me motorin në gjendje të fikur dhe "#cakto WCS1700_CONST 15" maxCur duhet të jetë më pak se 2 në mënyrë të vazhdueshme. Nëse shfaqet më shumë se 2, atëherë provoni me vlera më të larta të WCS1700_CONST. Sa herë që do të duhet të rikompiloni kodin dhe të ngarkoni firmware -in.
- Tani ndizni motorin dhe kërkoni përsëri leximet aktuale. Lëreni motorin të ndezur për rreth 10 -15 minuta dhe shënoni leximin e qëndrueshëm aktual. Rryma mund të ndryshojë midis 10 dhe 20 Amps përafërsisht dhe nuk duhet të jetë e saktë.
- Kthehuni te kodi dhe vendosni "#përcakto MIN_CURRENT X. Ku X është 40 përqind e rrymës maksimale të përafruar me vlerën numerike. Në rastin tim vendosa MIN_CURRENT në 5. Përpiloni dhe ringarkoni firmuerin përsëri në NodeMCU.
- Hiqeni kabllon USB nga NodeMCU. Fikni OFF dhe Swtich ON pajisjen me karikues USB të lidhur me TP4056. Klikimi në butonin Motor ON në aplikacionin celular duhet të fillojë motorin. Pasi motori është në gjendjen e motorit duhet të reflektojë në pultin e aplikacionit si ON. Klikimi në butonin e ndalimit duhet të ndalojë motorin.
Shijojeni !!!!
Recommended:
[Mouse i veshshëm] Kontrollues i Wearable Mouse i bazuar në Bluetooth për Windows 10 dhe Linux: 5 hapa
[Mishi i veshshëm] Kontrolluesi i Wearable Mouse i bazuar në Bluetooth për Windows 10 dhe Linux: Kam bërë një kontrollues miu të bazuar në Bluetooth që mund të përdoret për të kontrolluar treguesin e miut dhe për të kryer operacione të lidhura me miun PC në fluturim, pa prekur asnjë sipërfaqe. Qarqet elektronike, të ngulitura në një dorezë, mund të përdoren për të gjurmuar
Kohëmatësi i bazuar në Arduino për pompën Aquaponics: 4 hapa
Kohëmatësi i bazuar në Arduino për Pompën Aquaponics: Ky është një udhëzues i vogël i udhëzueshëm në Kohëmatësin e bazuar në Arduino për Pompën Aquaponics. Unë kam një sistem të vogël të akuaponikës të vendosur në ambiente të mbyllura me rrjedhje të vazhdueshme. Pompa po funksionon vazhdimisht dhe unë doja të bëja një kohëmatës i cili do ta bënte pompën të funksionojë për një kohë të caktuar
Shndërrimi nga një kontrollues i motorit në një kontrollues motorësh RoboClaw: 3 hapa
Shndërrimi nga një Sabertooth në një RoboClaw Motor Controller: Linja Inxhinierike e Dimensionit të kontrolluesve të motorëve Sabertooth dhe linja BasicMicro e kontrolluesve RoboClaw janë zgjedhje të njohura për projektet robotike të nivelit fillestar. Sidoqoftë, ata përdorin dy sisteme shumë të ndryshme për konfigurimin e kontrolluesit. E shtunë
Kontrollues i nivelit të ujit të bazuar në IOT duke përdorur NodeMCU ESP8266: 6 hapa
Kontrollues i nivelit të ujit të bazuar në IOT duke përdorur NodeMCU ESP8266: Kjo është e udhëzueshme se si të krijoni një kontrollues të nivelit të ujit të bazuar në IOT. Veçoritë e këtij projekti janë:- Përditësimet e nivelit të ujit në kohë reale në aplikacionin Android. Ndizni automatikisht pompën e ujit kur uji arrin nën një nivel minimal. Au
YABC - Edhe një kontrollues tjetër Blynk - Kontrollues i temperaturës dhe lagështisë në re IoT, ESP8266: 4 hapa
YABC - Edhe një kontrollues tjetër i Blynk - Kontrollues i temperaturës dhe lagështisë në re IoT, ESP8266: Përshëndetje krijues, kohët e fundit fillova të rritja kërpudha në shtëpi, kërpudha gocash deti, por unë tashmë kam 3x nga këto kontrollues në shtëpi për kontrollin e temperaturës së Fermenterit për prodhuesin e shtëpisë sime, gruaja po bën gjithashtu këtë gjë Kombucha tani, dhe si një Termostat për Nxehtësinë