INHOUDSOPGAWE:
- Voorrade
- Stap 1: Toestelkonstruksie
- Stap 2: DOL -aansluitverbindings
- Stap 3: Skep 'n rekening met Adafruit IO (io.adafruit.com)
- Stap 4: Bou en installeer die sagteware
- Stap 5: Installeer en konfigureer MQTT Dash APP op u selfoon
- Stap 6: Laaste stap:-) Toets en afstel
Video: IOT -gebaseerde DOL -aanvangsbeheerder vir besproeiingspompset: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hallo vriende
Hierdie instruksie handel oor hoe om 'n besproeiingspomp wat oor die internet ingestel is, op afstand te beheer en te beheer.
Storie: Op my plaas kry ek net ongeveer 6 uur per dag krag van die plaaslike netwerk. Tydsberekeninge is nie gereeld nie; beskikbaarheid van krag kan vroegoggend of laat in die aand of selfs middernag wees. Elke keer as u na die boorput gegaan het om die beskikbaarheid van krag te kontroleer, was die motor baie pynlik. Ek moes ook verseker dat die motor minstens 2-3 uur per dag loop om voldoende water vir die drupstelsel te voorsien. Ek het 'n geruime tyd opsies ondersoek om hierdie probleem op te los deur die motor op afstand te bestuur en ook die status te ken. Daar is toestelle in die mark wat die motor kan aanskakel sodra daar 'n kragtoevoer is, maar hulle het nie die funksie om die motor te stop wanneer ons wil nie. En daar is ook geen manier om die status van die motor AAN/UIT op enige tydstip te ken nie. Dit lei gewoonlik tot oorbesproeiing, wat lei tot verlies aan vrugbaarheid en ook vermorsing van elektrisiteit. Uiteindelik het ek self 'n oplossing gebou waar ek die motor op enige tyd en oral op afstand van die selfoon/tablet/rekenaar kan begin en stop … !!. Ek kan ook die beskikbaarheid van kragtoevoer van die band sowel as die motorstatus (AAN/UIT) heeltyd monitor. Hoop dit sal plaaseienaars aan die platteland help om hul besproeiingstelsels te bestuur sonder om altyd na die voorgereg te gaan.
Voorrade
Voorvereistes:
Die plek waar u hierdie toestel wil installeer, moet internet beskikbaar wees (breëband met wifi/mobiele internet)
Dinge wat jy nodig het:
- NodeMCU /ESP12
- Twee kanaal aflos
- WCS1700 - Stroomsensor
- TP4056 battery laai module
- LD313, kondensator - 1000uF Register - Twee registers van 5k ohm
- Enige (ou) slimfoon met 'n hotspot /internet.
Hoe dit werk:
Dit is 'n eenvoudige wolk -gebaseerde IOT -oplossing met behulp van NodeMCU/ESP12 en 'n afgeleë MQTT -makelaar. NodeMCU werk as 'n IOT -poort, beheer ook die DOL -aansitter. Dit maak via die internet verbinding met 'n afgeleë MQTT -makelaar. 'N App wat op 'n Android -selfoon loop, maak verbinding met die makelaar waardeur ons ons besproeiingspompstel altyd kan monitor en beheer. Ek het gratis beskikbare MQTT -makelaar van Adafruit IO gebruik. Daar is baie gratis makelaars beskikbaar, soos muskiet, cloudmqtt, ens. U kan enige makelaar kies, mits u die bediener en die poortnommer in die kode verander. NodeMCU maak verbinding met internet via WiFi vanaf die mobiele hotspot. Yon kan enige ou of goedkoop selfoon gebruik om wifi -toegang via hotspot of enige ander manier om internet via wifi te bied, te bied. Mobiel moet aan die laaier gekoppel word, soos op 24X7.
NodeMCU is gekoppel aan twee relais om die begin en stop van die motor te beheer. Om die stroom in die motor te bepaal, het ek 'n WCS1700 -sensorsensor gebruik. Die analoog uitset van die sensor word gebruik om te weet dat die motor AAN of UIT is. Dit bespeur ook die beskikbaarheid van krag vanaf die netwerk en publiseer dit aan die makelaar, sodat ons altyd die netwerkstatus kan ken. Die toestel teken in op twee feeds om die versoek vir motor AAN en motor UIT te ontvang. Deur spesifieke waardes na hierdie voedings te stuur, kan ons die motor na START of STOP beheer.
Laastens het ek die MQTT Dash -app op my Android -telefoon geïnstalleer en dit gekonfigureer om aan te sluit by die MQTT -makelaar en die feeds op sy dashboard/gui te gebruik. Die app het baie goeie ikone met knoppies, meter, skakelaar ens om 'n aantreklike paneelbord te skep. U kan egter enige mobiele IOT -app vir tuis -outomatisering gebruik wat mqtt -protokol ondersteun.
Hoe WCS1700 werk:
WCS1700 is basies 'n Hall -effek sensor wat 'n uitsetspanning sal produseer wat in verhouding staan tot die magnetiese veld wat ontstaan as die stroom deur die spoel vloei. Die spoel hier is 'n kragtoevoerlyn wat aan die motor gekoppel sal word. Dit kan wisselstroom tot 70 ampère meet. Bedryfspanning is tussen 3,3 en 12 V. Raadpleeg die datablad vir meer besonderhede. Terwyl ek ESP12 gebruik, het ek dieselfde kragtoevoer van 3.3V gebruik as die werkspanning vir WCS1700. Soos gespesifiseer in die gegewensblad van 3.3 V, moet die toestel 'n differensiële spanning van ongeveer 32 tot 38 mV per amp stroom deur die spoel lewer. Maar dit kan wissel, afhangende van die grootte van die spoel / luggaping en die variasies in die toestel. Daarom moes ek dit kalibreer deur dit met Ampere Meter te toets. Ek is nie gelukkig oor die akkuraatheid van die toestel nie, maar dit is goed genoeg om te besluit oor die status van Motor as AAN/UIT. Die uitsetpen van WCS1700 word gekoppel aan A0 van ESP12. As daar geen stroom is nie, moet die ESP12 die waarde van ongeveer 556 aflees. Aangesien die stroom in die spoel toeneem, kan die spanning weerskante wees, gebaseer op hoe die kabel deur die sensor gaan. In die kode het ek die verskil van die waardes as absolute waarde van (x - 556) geneem. Deur die resultaat met 15 te deel, het ek 'n geskatte stroom deur die sensor gekry. U sal dit moet eksperimenteer om die regte nommer vir u te kry. Enige stroommeting deur die toestel bo 5 ampère beskou ek as motor AAN en onder 5 Amp as motor in OFF is. U kan die regte nommer vir u toestel gebruik deur te eksperimenteer. U moet dienooreenkomstig WCS1700_CONST en MIN_CURRENT in die kode verander.
Stap 1: Toestelkonstruksie
Die diagram hierbo gee 'n volledige besonderhede oor hoe om al die komponente te bedraad.
Kragtoevoer: Ek het TP4056 gebruik om die batterye te laai en LM313 om die 3,7V - 4,2V van die batterylewe na 3,3V te reguleer om NodeMCU van krag te voorsien. Gebruik 'n 1000mF -kondensator tussen Vin en die grond van LM313 om 'n stabiele toevoer van 3.3V te kry. U kan 'n gewone USB -laaier gebruik om TP4056 aan te dryf. Dit het 'n batterybeskermingskring om die battery te beskerm teen oorlaai.
Rooster Kragtoevoer: die 5k ohm spanningsverdeler verminder 5 V tot 2,5 V. Speld D5 van NodeMCU voel die spanning.
Uitgangspen van WCS1700 is gekoppel aan A0 om die analoog spanning van die sensor af te lees. Die Grid Power -lyn moet deur die gat gaan om die stroom te meet. Ek het 'n 0.01 uF -kondensator gebruik om die stabiele leesvorm WCS1700 te kry.
D1 en D2 van NodeMCU moet gekoppel word aan IN0 en IN1 van die relais -invoerpenne.
Stap 2: DOL -aansluitverbindings
Ek het die beheerkring van die DOL -aansitter aangepas om 'n ander stel START- en STOP -skakelaar bekend te stel. Hierdie verandering beïnvloed nie die handmatige begin/stop -werking nie, en hulle werk steeds soos dit is.
Versigtig !!!! Aangesien DOL -aansitter 'n hoogspanningstoestel is, moet u die hoofskakelaar afskakel voordat die boks oopgemaak word. Direkte kontak met lewendige draad kan gevaarlik wees. As u nie seker is nie, raadpleeg 'n elektrisiën om die verbindings te maak
Ek het 'n 2 -kanaals 5 V -relaismodule gebruik as die START- en STOP -skakelaar. Hierdie aflosse sal deur ESP12 beheer word.
Relais - 0 werk as START -skakelaar - bedraad as NEE (normaalweg oop).
Relay -1 sal werk as STOP -skakelaar - bedraad as NC (normaal gesluit). Die aansitter sal reeds 'n draad hê wat van die topkontaktor na die NVC aansluit. U sal dit moet verwyder en vervang met relais -1 drade soos aangedui.
Maak seker dat die verbindings tussen die aansitter en die aflosmodules heeltemal geïsoleer is vir veiligheid. Ek het ESP geprogrammeer om albei relais vir 2 sekondes te hou om die druk op die START/STOP -knoppie na te boots.
Stap 3: Skep 'n rekening met Adafruit IO (io.adafruit.com)
Ek het die Adafruit io mqtt -makelaar gebruik, wat met 'n paar beperkings gratis is, maar dit is goed vir ons gebruik. Ek verkies dit omdat ek dit ook in ander projekte gebruik het, maar ek was baie betroubaar en het ook baie ander funksies, soos dashboard met 'n goeie GUI, en selfs ons kan snellers gebruik. Om Adafruit io te gebruik, moet u 'n rekening skep en die gebruikersnaam en die aktiewe sleutel noteer.
Stap 4: Bou en installeer die sagteware
Volledige kode is beskikbaar in die skets. U moet dit in Arduino IDE oopmaak en 'n paar veranderinge aanbring voordat u die firmware opstel en oplaai. Kies die bordtipe as NodeMCU 1.0. Die installering van IDE en verwante biblioteke val nie onder hierdie dokumentasie nie.
Verander die volgende reëls in die kode as briewe.
#define WLAN_SSID "xxx" // Jou mobiele hotspot WiFi SSID
#definieer WLAN_PASS "……" //
/************************ Adafruit.io Setup ********************* **************/
#definieer AIO_SERVER "io.adafruit.com"
#definieer AIO_SERVERPORT 1883 // gebruik 8883 vir SSL
#defineer AIO_USERNAME "xyz" // Die gebruikersnaam van u adafruit -rekening
#definieer AIO_KEY "abcd ……" // u aktiewe sleutel …
Oor MQTT -feeds: Die toestel en kliënt (mobiele app) ruil inligting uit deur middel van boodskapfeeds met behulp van die pub -submodel deur die MQTT -makelaar. Elke kliënt of toestel om 'n boodskap te ontvang, moet inskryf vir 'n vooraf gedefinieerde voer en moet die publiseringsmetode gebruik om 'n boodskap na 'n feed te stuur. Vir ons projek benodig ons ongeveer 5 feeds. Hieronder is die verduideliking van elk van die voer, soos u in die kode sien, en hoe dit werk.
Roosterstatus: beskikbaarheid van kragtoevoer vanaf die netwerk word gepubliseer op die feed /feeds/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/grid");
0 dui aan dat kragtoevoer nie beskikbaar is nie en 1 vir kragtoevoer is beskikbaar.
Motorstatus: die toestel publiseer die status van die motor op die voer …/feeds/grid.
Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/motor")
Waarde van 0 vir UIT en 1 vir AAN
Motor AAN -knoppie: hierdie voer word gebruik om die motorstartversoek te ontvang. Die toestel teken in op die voer om 'n motoraanvraag met waarde = 1 te ontvang en gebruik dieselfde voer om 'n erkenningsboodskap as 0. te publiseer. Op hierdie manier kan ons bevestig dat die beginversoekboodskap werklik deur die toestel ontvang is.
Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_on");
Motor AF -knoppie:
Soortgelyk aan die Start -versoek, word hierdie voer gebruik om die motorstopversoek te ontvang. Die toestel teken in op die voer om die stopversoek met waarde = 1 te ontvang en gebruik dieselfde voer om 'n erkenningsboodskap as 0 te publiseer.
Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_off");
Verbinding:
Dit is 'n spesiale voer met die opsie "laaste wil" geaktiveer. As die toestel met elke vaste interval goed werk, publiseer dit verbinding = 1 om die gebruiker te vertel dat alles in orde is. As die stelsel onderbreek of die verbinding verbreek, kan die toestel nie met die makelaar kommunikeer nie. In sulke gevalle sal die MQTT -makelaar self die verbinding publiseer as verbinding = 0 om die gebruiker te laat weet dat iets verkeerd gegaan het en die toestel nie via die internet bereikbaar is nie. Ons moet die toestel fisies ondersoek. Die kode is baie eenvoudig. Raadpleeg die MQTT -dokumentasie vir meer inligting oor hoe 'Last Will' werk.
as (itr <= 0)
{
mqtt.publish (AIO_USERNAME "/feeds/connection", "1", 1);
itr = CON_LIVE_ITR;
}
Die res van die kode is vanselfsprekend en hoef nie verander te word nie. Lewer gerus kommentaar as u meer inligting benodig.
Stap 5: Installeer en konfigureer MQTT Dash APP op u selfoon
- Installeer MQTT Dash op u Android -selfoon en maak die app oop
- Klik op die + -ikoon in die regter boonste hoek om 'n toestel by te voeg.
- Soos aangedui in die eerste prent hierbo, gee 'n naam aan u toestel, sê 'MyFarm-IPSet'. Adresveld as io.adafruit.com en poort as 1883, die gebruikersnaam moet u adafruit -gebruikersnaam wees en die wagwoord moet u aktiewe sleutel van adafruit wees. Laat die res van die velde soos dit is. Klik laastens op Save.
- U het u toestel geskep. Klik nou daarop om die paneelbord daarby te voeg.
- Klik op + en kies tipe as skakelaar/knoppie. Soos hierbo getoon, voer sys in die naamveld in. en voer die voedingsnaam in die onderwerpveld in. elke voer moet begin met gebruikersnaam/feeds/. hiervoor het ons /feeds /verbinding. Maak seker Aktiveer publiseer is gedeaktiveer. Deur op die ikoon te klik om te vertoon, kan u die tipe ikoon kies waarop u op die paneelbord wil lyk. Kies vir waarde 1 een van die kleure (sê groen) en vir waarde 0, kies kleur as grys of rooi. Klik laastens op Save in die regter boonste hoek. Net so, skep nog twee ikone een vir Grid met gebruikersnaam/feeds/grid as onderwerp en Motor met gebruikersnaam/feeds/motor. Maak seker dat Aktiveer publiseer gedeaktiveer is.
- Skep laastens Motor ON -knoppie. Dit is weer dieselfde as die tipe as skakelaar/knoppie. Die onderwerp moet /feeds /motor_on wees en maak seker dat Aktiveer publiseer hierdie keer aangeskakel is en QOS = 1. Skep ook 'n ander knoppie vir Motor OFF. Die onderwerp moet wees /feeeds /motor_off.
Stap 6: Laaste stap:-) Toets en afstel
- Om veilig te wees, moet u die toestel eers toets vir die START- en STOP -werking, voordat u die relais aan die DOL -aansluiting koppel. Aktiveer Hotspot op die selfoon met internet aangeskakel. Koppel die skootrekenaar met die ontwikkelingsomgewing direk aan die NodeMCU USB -poort met 'n ander laaier wat terselfdertyd op TP4056 gekoppel is. As die toestel suksesvol aan die internet gekoppel is, moet u 1 toestel op die slimfoon op 'n hotspot sien.
- Op die ander slimfoon waar u MQTT Dash geïnstalleer het, maak die app -dashboard oop. U moet sien dat die NET -ikoon in groen en die rooster -ikoon ook in groen is met hul waardes as 1. Die motorikoon moet as motor af wees met die waarde 0.
- As u op die motor -aan -knoppie klik, moet die begin -aflos twee klikgeluide maak met 'n interval van twee sekondes. Net so ook die motor OFF -knoppie.
- Vir veiligheid, skakel nou die hooftoevoer na die DOL-aansitter uit en koppel die relais aan die DOL-aansitter soos hierbo getoon. Stap 2. Maak seker dat die motor af is. Druk die reset -knoppie op NodeMCU. Uit die seriële monitoruitset kan u ontfoutingsstate sien wat waardes van WC1700 -sensor, delta en die berekende stroom in die spoel druk. As die motor uit is en "#define WCS1700_CONST 15", moet die maxCur konsekwent minder as 2 wees. As dit groter as 2 is, probeer dan met 'n hoër waarde van WCS1700_CONST. Elke keer moet u die kode weer saamstel en die firmware laai.
- Skakel nou die motor AAN en kyk weer na die huidige metings. Laat die motor ongeveer 10 -15 minute aan en let op die stabiele stroomlesing. Die stroom kan ongeveer tussen 10 en 20 ampère wissel en hoef nie akkuraat te wees nie.
- Gaan terug na die kode en stel "#define MIN_CURRENT X. Waar X 40 persent van die maksimum stroom is, benader die numeriese waarde. In my geval stel ek MIN_CURRENT op 5. Stel die firmware op en herlaai dit weer na NodeMCU.
- Verwyder die USB -kabel van NodeMCU. Skakel die toestel af en skakel dit aan met 'n USB -laaier wat aan TP4056 gekoppel is. As u op die motor -aan -knoppie op die mobiele app klik, moet die motor begin. Sodra die motor aangeskakel is, moet die motor se status as AAN op die dashboard van die app reflekteer. Deur op die stopknoppie te klik, moet die motor stop.
Geniet !!!!
Aanbeveel:
Arduino motorwaarskuwingstelsel vir omgekeerde parkering - Stap vir stap: 4 stappe
Arduino -waarskuwingstelsel vir omgekeerde parkeerterrein | Stap vir stap: In hierdie projek ontwerp ek 'n eenvoudige Arduino Car Reverse Parking Sensor Circuit met behulp van Arduino UNO en HC-SR04 Ultrasonic Sensor. Hierdie Arduino -gebaseerde motor -omkeerwaarskuwingstelsel kan gebruik word vir 'n outonome navigasie, robotafstand en ander reeks
Opstelling vir eksterne Bluetooth GPS -verskaffer vir Android -toestelle: 8 stappe
Opstelling vir eksterne Bluetooth GPS-verskaffer vir Android-toestelle: hierdie instruksies sal verduidelik hoe u u eie eksterne Bluetooth-gps vir u telefoon kan aanbring, maar dit kan slegs teen ongeveer $ 10 aanbring.Materiaal: NEO 6M U-blox GPSHC-05 bluetooth-moduleKennis van koppelvlak Blutooth lae energie modules Ardui
Maklike skyfomslag vir 'n skootrekenaar vir 'n skootrekenaar: 6 stappe
Maklike skootbedekking vir 'n skootrekenaar vir 'n skootrekenaar: MATERIAAL: Dik materiaal, byvoorbeeld sintetiese leer, isolasieband, 'n deksel van 'n boks koekies of sjokolade.GEREEDSKAPPE
Handleiding vir PCB vir lugversorger met sy werk en herstel: 6 stappe
Handleiding vir PCB vir lugversorger met sy werk en herstel: Hey, wat gaan aan, ouens! Akarsh hier van CETech. Het u al ooit gewonder wat aan die binnekant van u lugversorgers aangaan? As Ja, dan moet u hierdie artikel deurgaan, aangesien ek vandag 'n insig sal gee in die verband en die samestelling
Maklike IOT - App -beheerde RF -sensorhub vir IOT -toestelle vir medium bereik: 4 stappe
Maklike IOT - App -beheerde RF -sensorhub vir IOT -toestelle vir mediumafstand: In hierdie reeks tutoriale bou ons 'n netwerk van toestelle wat beheer kan word via 'n radioskakel vanaf 'n sentrale hub -toestel. Die voordeel van die gebruik van 'n 433MHz seriële radioverbinding in plaas van WIFI of Bluetooth is die veel groter omvang (met goeie