INHOUDSOPGAWE:
- Stap 1: Versamel die materiaal wat u benodig
- Stap 2: Stelselargitektuur
- Stap 3: Stel u ESP op
- Stap 4: Koppel u hardeware: sensor aan ESP
- Stap 5: Koppel ESP8266 met Adafruit IO: skep Adafruit IO -rekening
- Stap 6: Koppel ESP8266 met Adafruit IO: skep feeds
- Stap 7: Koppel ESP8266 met Adafruit IO: skep dashboard
- Stap 8: Koppel ESP8266 met Adafruit IO: skep kode vir ultrasoniese sensors
- Stap 9: IFTTT, koppel IFTTT aan Adafruit
- Stap 10: Skep applet in IFTTT
- Stap 11: Skep sneller vanaf Adafruit
- Stap 12: Skep aksie in Gmail, Google Kalender en kennisgewing aan IFTTT -app
- Stap 13: Toets
- Stap 14: Gebruik Zapier Service
- Stap 15: Die stelsel afskakel vanaf IFTTT -vlak
- Stap 16: Toekomstige omvang: Industrilisering van die produk
- Stap 17: Moontlike probleme wat u kan ondervind
- Stap 18: Teen die einde …
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hi
Hierdie instruksies gee stap vir stap 'n inleiding oor hoe u 'n IoT -gebaseerde wasgoedkennisgewingstelsel kan bou.
Die toestel is in u laaie en wassak vasgemaak. Ter wille van die demo hier, het ons twee laaie en een wasgoedtas geneem. Dit voel hoe leeg/vol die laaie/wasgoedtas is en laat die gebruiker weet dat wasgoed gedoen moet word. Dit gebruik 'n ultrasoniese sensor wat basies die leë ruimte in die asblikke meet. Die sensor is gekoppel aan 'n ESP wat weer aan 'n wolkdiens gekoppel is. Die wolkdiens is gekoppel aan IFTTT wat applets gebruik om kennisgewings aan die gebruiker te stuur via e -pos, sms, Google Kalender -gebeurtenis. Die wolk het 'n paneelbord waarop die status van al die asblikke gesien kan word. As die wolk sien dat u skoon klere opraak, beveel dit die applets om u daarvan in kennis te stel. Boonop beveel die applet die wolk om gereeld na die data te kyk. Dit kan een keer per dag of per uur wees, afhangende van hoe die gebruiker dit wil hê. Instruksies vir die bou van hierdie stelsel word hieronder beskryf.
Stap 1: Versamel die materiaal wat u benodig
jy gaan nodig hê:
1. 3 ultrasoniese sensors HC SR04 (5V)
2. 3 ESP8266 12 (5V)
3. 3 9V batterye
4. 3 5V potensiometers (om die ESP's en sensors aan te dryf)
5. 'n Klomp vroulike tot vroulike en manlike tot vroulike verbindings
6. Batterykas
U kan hierdie dinge maklik op Amazon koop. Die sensors en ESP's is baie goedkoop as u 'n pak koop, met 6 daarvan.
Stap 2: Stelselargitektuur
Die argitektuur van die stelsel kan uit die prentjie verstaan word. Die sensors is gekoppel aan ESP's. ESP stuur die data (die afstand) na Adafruit wat dan verwerk word om te sien hoe vol die houers is. Afhangende van die laai en hoe vol die wasgoedkas is, sal die gebruiker 'n kennisgewing ontvang en môre moet was. IFTTT word geaktiveer vanaf Adafruit en neem die aksie om 'n e -pos via Gmai te stuur, 'n gebeurtenis in die kalender te skep of 'n kennisgewing via die IFTTT -app te stuur. Hierdie toestel het 'n paneelbord wat in enige blaaier oopgemaak kan word. Die dashboard is gekoppel aan die hardeware met behulp van die Adafruit -omgewing, wat lesings van die sensors toon. Boonop is dit moontlik vanaf hierdie vlak om die ESP's aan en uit te skakel vanaf die paneelbord.
Stap 3: Stel u ESP op
U kan u ESP maklik bestuur deur dit aan te sluit op Arduino IDE. Al wat u nodig het, is om die biblioteke daarvoor af te laai en op te stel. U kan die onderstaande stappe volg:
1. Laai die nuutste weergawe van Arduino IDE af.
2. Maak u IDE oop, gaan na lêers <voorkeure en kopieer die onderstaande skakel in die Extra boards Manager en klik OK om die voorkeure -oortjie te sluit.
arduino.esp8266.com/stable/package_esp8266…
3. Gaan na Tools <Board Manager <en soek na ESP8266 en installeer weergawe 2.4.1. U kan ander weergawes installeer, afhangende van die volume van u IDE. Maar sy werk die beste.
Na dit alles, kies boord NodeMCU 1.0. Nou is u gereed om u ESP te gebruik, net soos 'n Arduino (of selfs beter).
4. As u klaar is met die koppeling en werk van u ESP met die skootrekenaar soos 'n Arduino, gaan u na die volgende vlak en maak u verbinding met u WiFi of u mobiele hotspot.
Stap 4: Koppel u hardeware: sensor aan ESP
Hier is hoe u u sensor moet koppel en dit kodeer sodat dit u die leë ruimte in die asblikke gee.
1. Die sensor Vcc is gekoppel aan die NodeMCU VUpin. As u dit aan 3,3V koppel, werk u sensor nie, aangesien die werkspanning 5V is.
2. Die sensor GND is gekoppel aan die NodeMCU GND.
3. Die sensor -snellerpen is gekoppel aan die NodeMCU Digital I/O D4.
4. Die sensor Echo Pin is gekoppel aan die NodeMCU Digital I/O D3.
Hierna kan u die onderstaande kode skryf om te sien of u ultraklank werk. Nadat u vasgestel het dat u sensors, kode en ESP's goed werk, kan u u ESP aan WiFi koppel en kyk of dit werk. Maar as u dit doen, sal die hardewareverbindings 'n bietjie verander soos hieronder uiteengesit. Maar voor dit, maak seker dat u u 9V -batterye aan POT'e koppel en dat dit aangepas is vir 5V -uitgangsspanning. U wil nie u ESP's verbrand nie (dit ruik sleg).
1. Die ESP Vin en sensor Vcc is gekoppel aan die positiewe van die battery.
2. Die ESP GND en sensor GND is gekoppel aan die negatief van die battery. Onthou om die grond gereeld te maak, anders gee u sensor ewekansige data.
3. Die sensor -snellerpen is gekoppel aan die NodeMCU Digital I/O D4.
4. Die sensor Echo Pin is gekoppel aan die NodeMCU Digital I/O D3.
Haar lees 'n bietjie oor hoe die ultrasoniese sensor werk en hoe dit gekodeer word.
Die sensor stuur basies 'n pols uit en keer dit totdat dit weerkaats en terugkom na die sensor. Op grond van die tyd en die spoed van klank, moet ons die afstand formuleer. Dit is in wese wat ons hier gedoen het. Die sensor self hou eenvoudig die "ECHO" -pen HIGH vir 'n tydsduur wat ooreenstem met die tyd wat dit geneem het om die weerkaatsing (eggo) te ontvang van 'n golf wat dit gestuur het. Die module stuur 'n sarsie klankgolwe uit, terwyl dit terselfdertyd spanning op die eggo -pen toepas. Die module ontvang die weerkaatsing terug van die klankgolwe en verwyder spanning van die eggo -pen. Op die basis van die afstand word 'n polsslag in die ultrasoniese sensor gegenereer om die data na die ESP te stuur. Die beginpuls is ongeveer 10us en die PWM-sein is 150 us-25us op die basis van die afstand. As daar geen hindernis is nie, word 'n 38 puls vir ESP gegenereer om te bevestig dat daar geen voorwerpe opgespoor word nie.
D = 1/2 × T × C; D is die afstand, T is die tyd tussen die emissie en ontvangs, en C is die soniese snelheid, die waarde word vermenigvuldig met 1/2 omdat T die tyd is vir terug-en-terug-afstand.
Verbind dit soos in die figuur hierbo en plaas dit aan die binnekant van u asblikke bo -op.
Stap 5: Koppel ESP8266 met Adafruit IO: skep Adafruit IO -rekening
Om 'n ultrasoniese sensor en ESP8266 aan die wolk te koppel, is gekies vir die Adafruit IO -diens (met behulp van MQTT -protokol).
MQTT is 'n eenvoudige en uiters ligte protokol wat toestelle toelaat om data te publiseer (van die toestel na die bediener) en in te teken op data (versamel data van die bediener). Hierdie oplossing word maklik verskaf deur die MQTT -makelaar, wat in hierdie geval Adafruit. IO is. Daardeur kan toestelle boodskappe stuur en ontvang.
Om te registreer, betree die webwerf: https://io.adafruit.com/ en klik op Gratis begin. Op die volgende webwerf moet die gebruiker persoonlike besonderhede plaas en klik op die knoppie Skep rekening. Na registrasie word die gebruiker na die tuisblad van 'n rekening geskuif. Vir 'n verdere skryf van 'n kode vir ultrasoniese sensors is dit belangrik om die AIO -sleutel (knoppie View AIO -sleutel) na te gaan vir beide: Gebruikersnaam en Aktiewe sleutel.
Nou is ons gereed om Feeds (wat sensordata -waardes bevat) en Dashboard te skep, waarop u 'n wasstelsel kan monitor.
Stap 6: Koppel ESP8266 met Adafruit IO: skep feeds
Vir hierdie projek is 6 verskillende feeds gebruik:
- AAN/UIT feeds- feeds wat ESP8266 aktiveer/deaktiveer om metings te kry. Bygevoeg as gevolg van energiebestuur. (Voer: laai-1-aan-uit, laai-2-aan-af, wasgoed-sak-aan-af).
- Leesvoere-voer wat stoordata van ultraklank-sensors kry (laai-1, laai-2, wasgoed-sak).
Skep 'n voer
- Voer Feeds -afdeling in
- Klik op Actions en skep 'n nuwe feed
- Vul: Naam van die voer (hier vir die eerste laai-laai-1, en kort beskrywing)
Skep op dieselfde manier nog vyf feeds. Onthou dat die name gebruik sal word vir verdere ontwikkeling van die kode van ESP8266.
Die fooie is gereed, maar daar is geen maklike manier om al die lesings op dieselfde tyd te probeer nie. Daarom is dashboards nodig.
Stap 7: Koppel ESP8266 met Adafruit IO: skep dashboard
Die skep van 'n paneelbord begin in die afdeling Dashboards. Klik op die knoppie Handelinge (net soos in die afdeling Feeds)-> Skep 'n nuwe dashboard-> vulnaam (in hierdie geval: Your_Laundry_System) en kort beskrywing-> Klik op Create-knoppie. Daarna kan u die dashboard betree.
Klik in die paneelbord Skep 'n nuwe blokknoppie. Vir hierdie toepassing benodig ons drie soorte blokke:
- 3x Wissel (vir aan- en afskakel)
- 3x meter (toon werklike vlak in 'n laai/wasgoed sak)
- 3x lyngrafiek (met historiese data)
Wissel
- Klik op die Wissel -ikoon.
- Kies die eerste AAN/UIT-voer, dit wil sê laai-1-aan-af.
- Voeg bloktitel by, d.w.s. Maak T-hemde skoon- Laai 1. Klik op Blok skep.
Plaas die skakelaar in die boonste hoek van die paneelbord. Koppel op dieselfde manier die res AAN/UIT -feeds met die Toogle.
Gauge
- Klik op die Gauge -ikoon.
- Kies die eerste versameling van data: laai-1.
- Vul gegewens dienooreenkomstig in: vir bloktitel: skoon T-hemde- laai 1, maksimum meterwaarde (afhangende van die diepte van die laai- in hierdie geval 10), lae/hoë waarskuwingswaarde (verandering van die kleur van die meter).
Plaas die meter op die paneelbord. Koppel op dieselfde manier die res van die stoor van data met die meter.
Lyngrafiek
- Klik op die lynkaart -ikoon.
- Kies data vir die versameling van voer: laai-1.
- Verander die veld Show Show in 24 uur, verander die maksimum en desimale plekke van die Y-as, afhangende van die diepte van die laai.
Plaas die lyngrafiek op die paneelbord. Koppel op dieselfde manier die res van die stoor van data met die lyngrafiek.
Die finale paneelbord is in die afbeeldingsafdeling ingesluit. Onthou dat die paneelborde wys hoeveel leë plek nog in die wasgoed sak/laaie is.
Stap 8: Koppel ESP8266 met Adafruit IO: skep kode vir ultrasoniese sensors
Eerstens is die Adafruit MQTT -biblioteek nodig. Met die doel om dit te installeer, open Arduino IDE-> Tools-> Bestuur biblioteke en tik op soek: Adafruit MQTT. Die biblioteek moet op u rekenaar geïnstalleer word.
Na die aflaai ingesluit 'n voorbeeld van die kode (hier 'n kode vir 'n ultrasoniese sensor wat in die wasgoed sak werk).
Om dit van toepassing te maak op u opset, moet u die volgende besonderhede verander:
- WLAN_SSID- die naam van u WiFi-netwerk.
- WLAN_PASS- wagwoord vir u WiFi-netwerk.
- AIO_USERNAME- naam van u gebruiker in Adafruit IO (vanaf stap 4).
- AIO_KEY- Adafruit IO-sleutel (vanaf stap 4).
- Adafruit_MQTT_Publiseer…. "/feeds/Laundry-bag"- hier moet u die naam van die voer waarop data gepubliseer word, plaas.
- Adafruit_MQTT_Subscribe "/feeds/Laundry-bag-On-off"-hier moet u die naam van die voer plaas, wat die sensor aktiveer.
Daarna moet die program in ESP8266 opgelaai word. Dit is nodig om feeds se name vir laai 1 en laai 2 te verander.
Belangrike kennisgewing: as gevolg van if (boodskap == "AAN"), sal die stelsel die afstand slegs een keer meet en as die knoppie AAN/UIT op die paneelbord aan is. Om weer te meet, moet 'n gebruiker afskakel en die sensor weer op die paneelbord draai.
Na die oplaai van die program na elke ESP8266 -dashboard, moet die lesing van elke sensor getoon word. Sensors kan vanaf die vlak van die paneelbord geaktiveer word. Dit is ook moontlik om die stelsel in te skakel vanaf die IFTTT -appletvlak (stap 13).
Stap 9: IFTTT, koppel IFTTT aan Adafruit
Waarskuwing: IFTTT is nie die betroubaarste verbinding wanneer u Google Kalender en e-pos aktiveer met behulp van drie sensors wat gekoppel is aan Adafruit IO nie. Gaan na stap 14 vir meer inligting oor Zapier
IFTTT is 'n webgebaseerde diens wat 'n eenvoudige voorwaarde "As dit dan dit" skep. Dit werk met ander webgebaseerde dienste soos Gmail, Facebook, Instagram, ens. Die eenvoudige toestand bestaan uit 'Dit' wat eintlik die sneller is en 'dit', wat die aksie is wat nodig is om uit te voer. Appels moet geskep word om hierdie eenvoudige toestand op die IFTTT -platform te laat werk. Hierdie projek gebruik Adafruit.io MQTT as 'n wolk om die hoeveelheid klere in die wasgoedtas te wys, en laaie, dan sal IFTTT die sneller van Adafruit.io ontvang om die herinnering aan die gebruiker te stuur via die Google -kalender of Gmail.
Skep eers 'n IFTTT -rekening op die IFTTT -webwerf. Meld aan by u rekening. IFTTT moet gekoppel wees aan die Adafruit -rekening waar die paneelbord geskep is. Gaan na die volgende skakel om aan te sluit by Adafruit
Klik vervolgens op Connect, u word na die Adafruit -webblad gestuur en klik op Authorize. Vir hierdie projek is IFTTT gekoppel aan die Adafruit -rekening, soos op die foto getoon. Nadat IFTTT aan die Adafruit -rekening gekoppel is, is Applets gereed om geskep te word.
Stap 10: Skep applet in IFTTT
Hierdie projek het probeer om aan te sluit by die Gmail-, Google Calender- en IFTTT -app. Die volgende is die stappe om Applet in die platform te skep en die sneller van Adafruit te skep.
1. Gaan na My applet https://ifttt.com/my_applets en klik op New Applet
2. U sal aangestuur word na as +dit dan dit en klik op +dit of klik op bou op die platform.
Stap 11: Skep sneller vanaf Adafruit
U kan nou u eie Applet begin opstel.
1. Soek eers Services, as dit aktiveer, Adafruit, en kies dan Monitor 'n voer op Adafruit IO
2. Stel ander parameters Voeretiketnaam, Voeretiketverhouding en Voeretiketwaarde in. Deur die gebruiker as aanpasbaar gestel om te vergemaklik as daar later veranderinge nodig is, hoef u dit nie via die platform te verander nie.
3. Vir hierdie projek is laai 1, laai 2 en wassak die voer wat u moet monitor. Vir laai 1 en laai 2 is die verhouding groter as 5, wat aandui dat die laai amper leeg is, terwyl die wassak die verhouding minder as 5 het, wat aandui dat dit amper vol is.
Stap 12: Skep aksie in Gmail, Google Kalender en kennisgewing aan IFTTT -app
Uiteindelik het die optrede vir IFTTT gekonfigureer, vir hierdie projek het ons Applet geskep wat e -pos na Gmail en 'n gebeurtenis na Google Kalender stuur wanneer die laai 1 of laai 2 leeg is of die wasgoedzak vol is. Die volgende is die stap vir die skep van die aksie:
1. Aksiesoektogdienste Gmail, Google Kalender en kennisgewing
2. Daarna kan u 'n e -pos of 'n vinnige byvoeging in die kieslys kies, of 'n kennisgewing stuur vanaf die IFTTT -app
3. Dan is Apllets gereed, kan enige bykomende teks bygevoeg word volgens u projek vir die e -pos, gebeurtenis of kennisgewing van IFTTT appl
Stap 13: Toets
Nou toets ons ons wasstelsel. Soos uiteengesit, sal e -pos of gebeurtenis in kalender sowel as kennisgewing deur die gebruiker ontvang word wanneer een van die laaie amper leeg is of die wasgoedzak amper vol is.
Ons vind egter die probleem met die vertraging in die ontvangs van e -pos of Google Kalender, en IFTTT stuur slegs een e -pos of alhoewel laai 1 en 2 sowel as 'n wassak veroorsaak word. Verder is daar geen beduidende vertraging in die IFTTT -app om die kennisgewing te gee nie. Soos in die prentjie getoon, het al drie kennisgewings ongeveer dieselfde tyd ontvang. Daarom beveel ons aan dat u die IFTTT -app gebruik vir hierdie soort stelsel om die vertraging te verminder.
Stap 14: Gebruik Zapier Service
Aangesien ons die probleem ondervind het in IFTTT, waar ons 'n aansienlike vertraging ondervind en slegs een kennisgewing ontvang (óf Gmail of Google -kalender), waar alle laaie en wasgoedtas eintlik geaktiveer word. Die probleem is by Adafruit geraadpleeg en hulle het voorgestel om Zapier te gebruik. Om Zapier te gebruik, moet u genooi word, aangesien verbinding met Adafruit IO nog in die toetsfase is (tans is daar minder as 10 aktiewe gebruikers). Deur die implementering kan ons beide e -pos en Google -kalender binne 5 minute ontvang (elke 5 minute kyk Zapier of 'n nuwe waarde in 'n gemonitorde feed verskyn, indien wel, die applet loop). Boonop is daar 'n taakgeskiedenis waar ons die sneller van Adafruit na Gmail en Google -kalender kan monitor.
Eintlik is dit dieselfde beginsel met IFTTT, waar u die sneller van Adafruit moet instel, en dan die voer vanaf u paneelbord in hierdie geval, hetsy laai1, laai2 of wasgoedtas. Die verhouding is ingestel in filteropstelling en toestand waarin ons groter as 6 vir laai en minder as 5 vir wasgoed terug stel. Stel uiteindelik die aksie in om 'n e -pos via Gmail te stuur of 'n gebeurtenis vinnig by te voeg.
Stap 15: Die stelsel afskakel vanaf IFTTT -vlak
Die stelsel kan ook veroorsaak word deur IFTTT, wat die gebruiker 'n mate van outomatisering bied. Om dit te kan doen, skep ons twee ekstra applets vir elke sensor- een wat die sensor aanskakel en die tweede een wat dit uitskakel.
Skakel applet aan
Sneller (as)
- Tik in die soekdiensvenster: Data en tyd.
- Kies opsie: Elke dag om.
- Stel die waarde vir die benodigde uur (in hierdie voorbeeld 21:00).
Aksie (dan)
- Tik in die venster Soekdienste Adafruit IO.
- Veldetiket- naam van die AAN/UIT-voer.
- Waarde: Aan
Vul Appletitel -veld met die naam van die applet en voeg 'n kort Applet -beskrywing by. Klik op Save en skakel die applet aan.
Skakel applet af
Kloon u op die applet en verander:
- Snellerafdeling: Tydwaarde na 15 minute later (dws 21:15).
- Aksie -afdeling: Waarde: UIT.
Klik op Stoor en skakel die applet aan.
Skep op dieselfde manier applets vir die res van die sensors. Onthou dat twee sensors nie gelyktydig geaktiveer moet word om kennisgewing van elke sensor te ontvang nie, nie net die dashboardlesing nie (wat beteken dat laai 1 geaktiveer word- 21: 00-21: 15, laai 2-9: 15-9: 30PM, Wasgoed tussen 09:30 en 21:45).
Stap 16: Toekomstige omvang: Industrilisering van die produk
Die IoT -toestel wat hier gebou is, kan maklik in grootmaat vervaardig word en verkoop word aan ondernemings wat slimhuise verkoop. Dit is 'n nuttige hulpmiddel vir mense met besige skedules of in groot huise met baie mense en kamers. In hierdie geval kan die paneelbord data bevat uit al die kamers van alle mense en sodoende hul lewens vergemaklik. Aangesien dit heeltemal draadloos is en dus maklik kan geskaal word na 'n aantal benodigde laaie.
Stap 17: Moontlike probleme wat u kan ondervind
1. u kan u ultraklank sien wat ewekansige waardes gee. Dit is omdat u krag moontlik nie 5V is nie. Die veiligste is om 9V -batterye te gebruik en potensiometers te gebruik.
2. Maak seker dat die grond dieselfde is vir sensor en ESP, anders werk u hele stelsel nie.
Stap 18: Teen die einde …
Hierdie wasstelsel is 'n nuwe idee. Daar is nog nie so 'n produk in die mark nie. As u dit dus in u huis wil hê, moet u dit self bou. Ons hoop dat u die instruksies verstaan. Dit was slegs 'n uiteensetting van IoT en elektronika.
Hierdie stelsel is regtig maklik om te gebruik. Dit bevat egter riglyne vir gebruik. Die klere in die asblikke moet gevou gehou word, anders voel die sensor net die verkeerde afstand. Dit is nie raadsaam om dit vir winterklere in klein laaie te gebruik nie, aangesien jakies groot is en die verwydering van een of twee baadjies kan beteken dat die laai leeg is. Wat dalk nie baie nuttig is nie.
Tydens ons werk het ons die volgende bronne gebruik, wat nuttig kan wees om die projek beter te verstaan:
learn.adafruit.com/mqtt-adafruit-io-and-yo…
www.instructables.com/id/Distance-Measurem…