Innholdsfortegnelse:

IoT -basert klesvaskvarslingssystem: 18 trinn
IoT -basert klesvaskvarslingssystem: 18 trinn

Video: IoT -basert klesvaskvarslingssystem: 18 trinn

Video: IoT -basert klesvaskvarslingssystem: 18 trinn
Video: Экскурсия на суперяхте CDM 102 'DARWIN Steel Explorer "ATLAS" стоимостью 11 750 000 долларов США, 2024, November
Anonim
IoT -basert klesvaskvarslingssystem
IoT -basert klesvaskvarslingssystem

Hei

Denne instruksjonen gir trinn for trinn introduksjon om hvordan du bygger et IoT -basert klesvaskvarslingssystem.

Enheten er festet i skuffene og vaskeposen. For demoens skyld her har vi tatt to skuffer og en vaskepose. Den registrerer hvor tomme/fulle skuffene/vaskeriposen er og varsler brukeren om at tøyet må gjøres. Den bruker en ultralydsensor som i utgangspunktet måler det tomme rommet i søppelkassene. Sensoren er koblet til en ESP som igjen er koblet til en skytjeneste. Skytjenesten er koblet til IFTTT som bruker appleter til å sende varsler til brukeren via e -post, sms, google kalenderhendelse. Skyen kommer med et dahboard hvor du kan se statusen til alle søppelbøttene. Når skyen ser at du går tom for rene klær, instruerer den appletene om å varsle deg. I tillegg til dette instruerer appleten skyen til å sjekke dataene regelmessig hver dag. Det kan være én gang hver dag eller hver time, avhengig av hvordan brukeren vil at det skal være. Detaljerte instruksjoner for å bygge dette systemet er beskrevet nedenfor.

Trinn 1: Samle materialet du trenger

Samle materialet du trenger
Samle materialet du trenger

du kommer til å trenge:

1. 3 ultralydsensorer HC SR04 (5V)

2. 3 ESP8266 12 (5V)

3. 3 9V batterier

4. 3 5V potensiometre (for å drive ESP og sensorer)

5. En haug med kvinnelige til kvinnelige og mannlige til kvinnelige kontakter

6. Batteri etui

Du kan enkelt kjøpe disse tingene på Amazon. Sensorene og ESP -er er veldig billige hvis du kjøper pakke med 6 av dem i.

Trinn 2: Systemarkitektur

system arkitektur
system arkitektur

Systemets arkitektur kan forstås ut fra bildet. Sensorene er koblet til ESP -er. ESP sender dataene (avstanden) til Adafruit som deretter behandles for å se hvor fulle beholderne er. Avhengig av hvilken skuff som er hvor tom og hvor full tøyvasken er, får brukeren beskjed om at tøyet må vaskes i morgen. IFTTT utløses fra Adafruit og gjør tiltak om du vil sende en e -post via Gmai, opprette en hendelse i kalender eller sende varsel via IFTTT -appen. Denne enheten har et dashbord som kan åpnes i hvilken som helst nettleser. Dashbordet er koblet til maskinvaren ved hjelp av Adafruit -miljø som viser avlesninger fra sensorene. Videre er det mulig, fra dette nivået, å slå ESP -ene av og på fra dashbordet.

Trinn 3: Konfigurering av ESP

Konfigurering av ESP
Konfigurering av ESP
Konfigurering av ESP
Konfigurering av ESP
Konfigurering av ESP
Konfigurering av ESP

Du kan enkelt betjene ESP ved å koble den til Arduino IDE. Alt du trenger er å laste ned og konfigurere bibliotekene for det. Du kan følge trinnene nedenfor:

1. Last ned den siste versjonen av Arduino IDE.

2. Åpne IDE -en, gå til filer <preferanser, og kopier lenken nedenfor i tilleggsstyringsbehandleren og klikk OK for å lukke kategorien Innstillinger.

arduino.esp8266.com/stable/package_esp8266…

3. Gå til Tools <Board Manager <og søk etter ESP8266 og installer versjon 2.4.1. Du kan installere andre versjoner avhengig av volumet på IDE -en din. Men han fungerer best.

Etter alt dette, valgte du styret NodeMCU 1.0. Nå er du klar til å bruke ESP akkurat som en Arduino (eller enda bedre).

4. Når du er ferdig med å koble til og arbeide ESP -en din med den bærbare datamaskinen som en Arduino, går du til neste nivå og kobler til enten din WiFi eller din mobile hotspot.

Trinn 4: Koble maskinvaren: Sensor til ESP

Koble maskinvaren din: Sensor til ESP
Koble maskinvaren din: Sensor til ESP
Koble maskinvaren din: Sensor til ESP
Koble maskinvaren din: Sensor til ESP

Slik trenger du å koble sensoren din og kode den slik at den gir deg den tomme plassen i søppelbøttene.

1. Sensoren Vcc er koblet til NodeMCU VUpin. Hvis du kobler den til 3,3V, fungerer ikke sensoren din, siden driftsspenningen er 5V.

2. Sensoren GND er koblet til NodeMCU GND.

3. Sensorens utløserpinne er koblet til NodeMCU Digital I/O D4.

4. Sensor Echo Pin er koblet til NodeMCU Digital I/O D3.

Etter dette kan du skrive koden nedenfor for å se om ultralydet ditt fungerer. Etter at du har funnet ut at sensorene, koden og ESP -ene fungerer bra, kan du koble ESP -en til WiFi og sjekke om den fungerer. Men ved å gjøre dette, vil maskinvareforbindelsene endre seg litt som beskrevet nedenfor. Men før det må du sørge for å koble 9V -batteriene til POTS, og de er justert for 5V utgangsspenning. Du vil ikke brenne ESP -er (de lukter dårlig).

1. ESP Vin og sensoren Vcc er koblet til batteriets positive.

2. ESP GND og sensor GND er koblet til batteriets minus. Husk å gjøre bakken felles, ellers vil sensoren gi tilfeldige data.

3. Sensorens utløserpinne er koblet til NodeMCU Digital I/O D4.

4. Sensor Echo Pin er koblet til NodeMCU Digital I/O D3.

Hennes er litt om hvordan ultralydsensoren fungerer og hvordan den er kodet.

Sensoren sender i utgangspunktet en puls og ganger den til den reflekterer og når tilbake til sensoren. Basert på tid og lydens hastighet, må vi formulere avstanden. Dette er egentlig det vi har gjort her. Selve sensoren holder ganske enkelt "ECHO" -pinnen HIGH i en tid som tilsvarer tiden det tok å motta refleksjonen (ekko) fra en bølge den sendte. Modulen sender ut et utbrudd av lydbølger, samtidig som den påfører spenning til ekkopinnen. Modulen mottar refleksjonen tilbake fra lydbølgene og fjerner spenning fra ekkopinnen. På basis av avstanden genereres en puls i ultralydssensoren for å sende dataene til ESP. Startpulsen er omtrent 10us og PWM-signalet vil være 150 us-25us på basis av avstanden. Hvis det ikke er noen hindring, genereres en 38us puls for ESP for å bekrefte at det ikke er gjenstander oppdaget.

D = 1/2 × T × C; D er avstanden, T er tiden mellom utslipp og mottak, og C er sonisk hastighet, verdien multipliseres med 1/2 fordi T er tiden for gå-og-retur-avstand.

Koble disse sammen som i figuren ovenfor, og legg det på innsiden av søppelkassene på toppen.

Trinn 5: Koble ESP8266 til Adafruit IO: Opprette Adafruit IO -konto

Koble ESP8266 til Adafruit IO: Opprette Adafruit IO -konto
Koble ESP8266 til Adafruit IO: Opprette Adafruit IO -konto
Koble ESP8266 til Adafruit IO: Opprette Adafruit IO -konto
Koble ESP8266 til Adafruit IO: Opprette Adafruit IO -konto

For å koble ultralydssensor og ESP8266 til skyen ble Adafruit IO -tjenesten (ved bruk av MQTT -protokollen) valgt.

MQTT er en enkel og ekstremt lettvektig protokoll, som lar enheter publisere data (fra enheten til serveren) og abonnere på data (samle data fra serveren). Enkelhet av denne løsningen leveres av MQTT -megler, som i dette tilfellet er Adafruit. IO. Gjennom det kan enheter sende og motta meldinger.

For å registrere deg, gå inn på nettstedet: https://io.adafruit.com/ og klikk på Kom i gang gratis. På neste nettsted bør brukeren sette personlige detaljer og klikke på knappen Opprett konto. Etter registrering flyttes brukeren til Hjem -delen av en konto. For ytterligere skriving av en kode for ultralydsensorer er det viktig å sjekke AIO -tasten (knapp Vis AIO -nøkkel) for både: Brukernavn og Aktiv nøkkel.

Nå er vi klare til å lage Feeds (som inneholder sensordataverdier) og dashbord, som det er mulig å overvåke et vaskerisystem på.

Trinn 6: Koble til ESP8266 med Adafruit IO: Opprette feeder

Koble ESP8266 til Adafruit IO: Opprette feeder
Koble ESP8266 til Adafruit IO: Opprette feeder
Koble ESP8266 til Adafruit IO: Opprette feeder
Koble ESP8266 til Adafruit IO: Opprette feeder

For dette prosjektet ble det brukt 6 forskjellige feeder:

  • PÅ/AV-feeder- strømmer som aktiverer/deaktiverer ESP8266 for å få målinger. Lagt til på grunn av energiledelse. (Feed: Skuff-1-På-Av, Skuff-2-På-Av, Klesvask-Pose-Av).
  • Lese feeder-feeder som får lagrede data fra ultralydsensorer (skuff-1, skuff-2, vaskeri-pose).

Opprette en feed

  1. Gå inn i Feeder -delen
  2. Klikk på Handlinger og opprett en ny feed
  3. Fyll: Fôrets navn (her for den første skuff-skuff-1 og kort beskrivelse)

På samme måte kan du lage ytterligere fem feeds. Husk at navnene vil bli brukt til videre utvikling av kode ESP8266.

Gebyrene er klare, men det er ingen enkel måte å prøve alle avlesningene samtidig. Det er derfor Dashboards er nødvendig.

Trinn 7: Koble til ESP8266 med Adafruit IO: Opprette dashbord

Koble til ESP8266 med Adafruit IO: Oppretter dashbord
Koble til ESP8266 med Adafruit IO: Oppretter dashbord
Koble til ESP8266 med Adafruit IO: Oppretter dashbord
Koble til ESP8266 med Adafruit IO: Oppretter dashbord
Koble til ESP8266 med Adafruit IO: Oppretter dashbord
Koble til ESP8266 med Adafruit IO: Oppretter dashbord

Oppretting av dashbord starter i Dashboards -delen. Klikk på Handlinger-knappen (på samme måte som i Feeder-delen)-> Opprett et nytt dashbord-> fyll navn (i dette tilfellet: Your_Laundry_System) og kort beskrivelse-> Klikk på Create-knappen. Etter det kan du gå inn på oversikten.

Klikk på Opprett en ny blokk i dashbordet. For denne applikasjonen trenger vi tre typer blokker:

  • 3x veksle (for å slå sensoren av og på)
  • 3x måler (viser det faktiske nivået i en skuff/vaskepose)
  • 3x linjediagram (viser historiske data)

Veksle

  1. Klikk på Toggle -ikonet.
  2. Velg første PÅ/AV-feed, dvs. skuff-1-på-av.
  3. Legg til blokktittel, dvs. Rengjør T-skjorter- Skuff 1. Klikk på Opprett blokk.

Plasser vippebryteren i øvre hjørne av dashbordet. På samme måte kobler du resten av PÅ/AV -feedene til Toogle.

Måler

  1. Klikk på Gauge -ikonet.
  2. Velg den første datainnsamlingsstrømmen: Skuff-1.
  3. Fyll data deretter: for Blokkertittel: Ren T-skjorter- Skuff 1, Måler maksimal verdi (avhengig av dybden på skuffen- det i dette tilfellet 10), Lav/høy advarselsverdi (endring av målerens farge).

Plasser måleren på dashbordet. På samme måte kobler du resten av datalagringsstrømmer til Gauge.

Linjediagram

  1. Klikk på linjediagramikonet.
  2. Velg fistdata som samler inn feed: skuff-1.
  3. Endre feltet Vis historikk til 24 timer, endre maksimal- og desimalplassering for Y-aksen, avhengig av dybden på skuffen.

Plasser linjediagrammet på dashbordet. På samme måte kobler du resten av datalagringsfeeder til linjediagrammet.

Det siste dashbordet er vedlagt i bildedelen. Husk at dashbordene viser hvor mye tomt plass som fremdeles er i vaskeposen/skuffene.

Trinn 8: Koble til ESP8266 med Adafruit IO: Opprette kode for ultralydsensorer

Koble til ESP8266 med Adafruit IO: Opprette kode for ultralydsensorer
Koble til ESP8266 med Adafruit IO: Opprette kode for ultralydsensorer
Koble til ESP8266 med Adafruit IO: Opprette kode for ultralydsensorer
Koble til ESP8266 med Adafruit IO: Opprette kode for ultralydsensorer

For det første er Adafruit MQTT -bibliotek nødvendig. For å installere den, åpne Arduino IDE-> Verktøy-> Administrer biblioteker og skriv inn søk: Adafruit MQTT. Biblioteket bør installeres på datamaskinen.

Etter det nedlastede vedlagte eksemplet på koden (her vedlagt en kode for ultralydssensor som arbeider i vaskeposen).

For å gjøre den gjeldende for konfigurasjonen din må du endre følgende detaljer:

  • WLAN_SSID- navnet på ditt WiFi-nettverk.
  • WLAN_PASS- passord til ditt WiFi-nettverk.
  • AIO_USERNAME- navnet på brukeren din i Adafruit IO (fra trinn 4).
  • AIO_KEY- Adafruit IO-nøkkel (fra trinn 4).
  • Adafruit_MQTT_Publiser…. "/feeds/Laundry-bag"- her må du sette navnet på feedet som data skal publiseres til.
  • Adafruit_MQTT_Subscribe "/feeds/Laundry-bag-On-off"-her må du sette navnet på feedet, som utløser sensor.

Etter det må programmet lastes opp til ESP8266. Det er nødvendig å endre feeds navn for skuff 1 og skuff 2.

Viktig merknad: på grunn av if (melding == "PÅ") vil systemet kun måle avstanden én gang og når dashbordknappen PÅ/AV er på PÅ. For å måle igjen må en bruker slå av og slå sensoren på dashbordet igjen.

Etter at programmet er lastet opp til hvert ESP8266 -instrumentbord, skal det vises lesing fra hver sensor. Sensorer kan utløses fra nivået på dashbordet. Det er også mulig å tigre systemet fra IFTTT -appletnivå (trinn 13).

Trinn 9: IFTTT, Koble IFTTT til Adafruit

IFTTT, Koble IFTTT til Adafruit
IFTTT, Koble IFTTT til Adafruit
IFTTT, Koble IFTTT til Adafruit
IFTTT, Koble IFTTT til Adafruit
IFTTT, Koble IFTTT til Adafruit
IFTTT, Koble IFTTT til Adafruit

Advarsel: IFTTT er ikke den mest pålitelige tilkoblingen når du utløser Google Kalender og e-post ved hjelp av tre sensorer koblet til Adafruit IO. Gå til trinn 14 for å lære mer om Zapier

IFTTT er nettbaserte tjenester som skaper en enkel betingelse "If This Then That". Det fungerer med andre nettbaserte tjenester som Gmail, Facebook, Instagram, etc. Den enkle betingelsen består av "Dette" som faktisk er utløseren og "Det" som er handlingen som kreves for å utføre. Applets må opprettes for at denne enkle tilstanden skal fungere i IFTTT -plattformen. Dette prosjektet bruker Adafruit.io MQTT som en sky for å vise nivået på klærne i vaskevesken, og skuffer vil deretter IFTTT motta utløseren fra Adafruit.io for å sende påminnelsen til brukeren via Google -kalender eller Gmail.

Opprett først IFTTT -konto på IFTTT -nettstedet. Logg deg på kontoen din. IFTTT krever å være koblet til Adafruit -kontoen der oversikten ble opprettet. Gå til følgende lenke for å koble til Adafruit

Neste Klikk på Koble til, du blir ledet til Adafruit -nettsiden, og klikk på Autoriser. For dette prosjektet har IFTTT blitt koblet til Adafruit -kontoen som vist på bildet. Etter at IFTTT er koblet til Adafruit -kontoen, er Applets klare til å bli opprettet.

Trinn 10: Lag applet i IFTTT

Lag Applet i IFTTT
Lag Applet i IFTTT
Lag Applet i IFTTT
Lag Applet i IFTTT

Dette prosjektet har prøvd å koble til Gmail, Google Calender og IFTTT -appen. Det følgende er trinnene for å lage Applet i plattformen og lage utløseren fra Adafruit.

1. Gå til Min applet https://ifttt.com/my_applets og klikk New Applet

2. Du vil bli ledet til hvis +dette så det og klikk +dette eller klikk bygge på plattformen.

Trinn 11: Lag utløser fra Adafruit

Lag utløser fra Adafruit
Lag utløser fra Adafruit
Lag utløser fra Adafruit
Lag utløser fra Adafruit
Lag utløser fra Adafruit
Lag utløser fra Adafruit

Nå kan du begynne å konfigurere din egen Applet.

1. Først Hvis Trigger, søk etter Tjenester, skriv Adafruit, og velg deretter Overvåk en feed på Adafruit IO

2. Angi andre parametere Feed Label Name, Feed Label Relation og Feed Label Value. Angi som tilpassbar av brukeren for å lette hvis det er endringer som kreves senere, du trenger ikke å endre det gjennom plattformen.

3. For dette prosjektet er fôr som må overvåkes, skuff 1, skuff 2 og vaskeripose. For skuff 1 og skuff 2 har forholdet større enn 5, noe som indikerer at skuffen er nesten tom mens vaskevesken har forholdet mindre enn 5 som indikerer at den er nesten full.

Trinn 12: Lag handling til Gmail, Google Kalender og varsel til IFTTT -appen

Lag handling til Gmail, Google Kalender og Varsling til IFTTT -appen
Lag handling til Gmail, Google Kalender og Varsling til IFTTT -appen
Lag handling til Gmail, Google Kalender og Varsling til IFTTT -appen
Lag handling til Gmail, Google Kalender og Varsling til IFTTT -appen
Lag handling til Gmail, Google Kalender og Varsling til IFTTT -appen
Lag handling til Gmail, Google Kalender og Varsling til IFTTT -appen

Til slutt ble handlingene for IFTTT konfigurert, for dette prosjektet har vi opprettet Applet som sender e -post til Gmail og en hendelse til Google Kalender når skuff 1 eller skuff 2 er tomme eller vaskeriposen er full. Følgende er trinnet for å opprette handlingen:

1. Action Search -tjenester Gmail, Google Calender og Notification

2. Etter det kan du velge fra pull -menyen, enten en e -post eller en rask tilleggshendelse eller sende varsel fra IFTTT -appen

3. Da er Apllets klare, eventuell tilleggstekst kan legges til i henhold til prosjektet for e -posten, hendelse eller varsel fra IFTTT appl

Trinn 13: Testing

Testing
Testing
Testing
Testing
Testing
Testing

Nå tester vi vårt vaskerisystem. Som forklart vil e -post eller hendelse i kalender, så vel som varsel mottas av brukeren når en av skuffene er nesten tomme eller Klesvaskposen er nesten full.

Vi finner imidlertid problemet med forsinkelse i mottak av e -post eller Google Kalender, og IFTTT sender bare én e -post eller selv om både skuff 1 og 2 samt vaskeripose utløses. Videre er det ingen vesentlig forsinkelse i IFTTT -appen med å gi varselet. Som vist på bildet mottok alle tre varslene omtrent samtidig. Derfor anbefaler vi å bruke IFTTT -appen som skal brukes til denne typen systemer for å redusere forsinkelsen.

Trinn 14: Bruke Zapier Service

Bruker Zapier Service
Bruker Zapier Service
Bruker Zapier Service
Bruker Zapier Service
Bruker Zapier Service
Bruker Zapier Service

Siden vi møtte problemet i IFTTT der vi har betydelig forsinkelse og bare mottar ett varsel (enten Gmail eller Google -kalender) der alle skuffer og vaskeripose faktisk utløses. Problemet ble konsultert til Adafruit, og de foreslo å bruke Zapier. For å bruke Zapier må du bli invitert siden forbindelsen til Adafruit IO fortsatt er i testfase (akkurat nå er det færre enn 10 aktive brukere). Ved å distribuere kan vi motta både e -post og Google -kalender innen 5 minutter (hvert 5. minutt sjekker Zapier om en ny verdi i en overvåket feed dukket opp, hvis ja, appleten kjører). I tillegg er det oppgavehistorikk der vi kan overvåke utløseren fra Adafruit til Gmail og Google -kalender.

I utgangspunktet er det det samme prinsippet med IFTTT, der du må stille utløseren fra Adafruit, og deretter stille inn feedet fra dashbordet ditt i dette tilfellet, enten skuff1, skuff2 eller vaskepose. Forholdet er satt i filteroppsett og tilstand der vi angir som større enn 6 for skuff og mindre enn 5 for vask av tøy. Endelig angi handlingen om du vil sende en e -post via Gmail eller hurtig legge til hendelse.

Trinn 15: Koble systemet fra IFTTT -nivå

Slå systemet fra IFTTT -nivå
Slå systemet fra IFTTT -nivå

Systemet kan også utløses fra IFTTT, det som gir brukeren et automatiseringsnivå. For å gjøre det oppretter vi ytterligere to appleter for hver sensor- en som slår på sensoren og den andre som slår den av.

Slår på applet

Utløser (hvis)

  1. I vinduet Søketjeneste skriver du: Data og tid.
  2. Velg alternativ: Hver dag kl.
  3. Angi verdien for timen du trenger (i dette eksempelet 21:00).

Handling (deretter)

  1. Skriv inn Adafruit IO i vinduet Søketjenester.
  2. Feltetikett- navnet på PÅ/AV-feedet.
  3. Verdi: På

Fyll applettittelfeltet med navnet på appleten, og legg til en kort appletbeskrivelse. Klikk Lagre og slå på appleten.

Slår av appleten

Klon din på applet og endre:

  1. Utløserseksjon: Tidsverdi til 15 minutter senere (dvs. 21:15).
  2. Handlingsdel: Verdi: AV.

Klikk på Lagre og slå på appleten.

På samme måte kan du lage appletter for resten av sensorene. Husk- for å få varsel fra hver sensor, ikke bare dashbordavlesningen, to sensorer bør ikke utløses samtidig (som betyr Skuff 1 utløst- 21.00 til 21.15, Skuff 2-9: 15-9: 30PM, Klesvask kl. 9: 30-9: 45).

Trinn 16: Fremtidens omfang: Industriellisering av produktet

IoT -enheten som er bygget her, kan enkelt produseres i bulk og selges til selskaper som selger smarthus. Det er et nyttig verktøy for folk med travle timeplaner eller i store hjem med mange mennesker og rom. I dette tilfellet kan dashbordet inkludere data fra alle rommene til alle menneskene og dermed gjøre livet lettere. Siden dette er helt trådløst og dermed lett kan skaleres til et hvilket som helst antall skuffer som trengs.

Trinn 17: Mulige problemer du kan møte

1. du kan se ultralydet ditt gi tilfeldige verdier. Det er fordi strømmen din kanskje ikke er 5V. Det sikreste er å bruke 9V batterier og bruke potensiometre.

2. Kontroller at bakken er den samme for sensor og ESP, ellers fungerer ikke hele systemet.

Trinn 18: Mot slutten …

Dette vaskerisystemet er en ny idé. Det er ikke noe slikt produkt som dette på markedet ennå. Så hvis du vil ha den hjemme, må du bygge den selv. Vi håper du forstår instruksjonene. Det var bare en kjerne av IoT og elektronikk.

Dette systemet er veldig enkelt å bruke. Den har imidlertid retningslinjer for bruk. Klærne i søppelkassene bør holdes brettet, ellers føler sensoren bare feil avstand. Det er ikke tilrådelig å bruke dette til vinterklær i små skuffer, siden jakker er klumpete og fjerning av en eller to jakker vil bety at skuffen er tom. Noe som kanskje ikke er særlig nyttig.

Under arbeidet vårt brukte vi følgende kilder, som kan være nyttige for dypere forståelse av prosjektet:

learn.adafruit.com/mqtt-adafruit-io-and-yo…

www.instructables.com/id/Distance-Measurem…

Anbefalt: