INHOUDSOPGAWE:

IDC2018IOT Vullis Kan-aanlyn: 7 stappe
IDC2018IOT Vullis Kan-aanlyn: 7 stappe

Video: IDC2018IOT Vullis Kan-aanlyn: 7 stappe

Video: IDC2018IOT Vullis Kan-aanlyn: 7 stappe
Video: Nursing Student's Last Moments Recorded On Video - The Murder of Michelle Le | DEEP DIVE 2024, Desember
Anonim
Image
Image
Vereiste onderdele
Vereiste onderdele

Inleiding

Almal weet wat gebeur as ons die asblik te lank in die vullisdrom laat, sonder om dit te verwyder. Die duidelikste is dat daar geen ruimte is vir meer asblik nie, maar dit begin ook stink en dit word baie onaangenaam.

Met hierdie projek poog ons om u te help om u vullisblikke rondom die huis / werkruimte / ens te monitor, sodat u altyd kan weet wanneer dit vol is en onmiddellik kan optree deur die asblik uit te haal.

Die stelsel sal u per telefoon of in die paneelbord waarsku dat u die vullisblik moet leegmaak. Die stelsel neem die volheidsgraad van die vullisblik in ag, maar ook die temperatuur en humiditeit wat daarin gemeet word. Ons is almal bekend met die dringendheid om die vullisblikke leeg te maak in warm en vogtige dae …

Belangrikste kenmerke

  1. Moniteringspaneelbord:

    • Hoofafdeling:

      • Volheidsvlak van elke vullisblik.
      • Temperatuur en humiditeit van elke vullisblik.
    • Afdeling Statistiek:

      • Volste vullisblik.
      • Warmste vullisblik.
  2. Waarskuwings- en kennisgewingstelsel:

    • Die volgende geleenthede word ondersteun:

      • Vullisblik is vol.
      • 'N Sensorfout het voorgekom.
    • Volheidswaarskuwings neem die volheidsvlak van die vullisblik in ag, maar ook die temperatuur- en humiditeitsvlakke van die vullisblik.
    • Kennisgewings kan gestuur word via telefoonkennisgewings en paneelbordwaarskuwings.
    • Elke waarskuwingskanaal kan via die paneelbord aan en afgeskakel word.
  3. Skaalbaarheid:

    • Met behulp van die kalibrasie -knoppie is dit moontlik om die stelsel aan te pas by verskillende vullisblikke met verskillende kapasiteite.
    • Dit is moontlik om meer vullisblikke relatief maklik by te voeg. U kan dieselfde stelsel op 'n nuwe vullisblik monteer, die vullisblokkie -ID instel en dit kalibreer (druk op 'n knoppie). Om meer as 3 vullisblikke te hê, sal die paneelbord verleng (maklike taak om uit te voer).

Wie is ons?

Hierdie projek is (met liefde en toewyding!) Geskep deur Rom Cyncynatus en Daniel Alima - Studente van die IDC Herzliya as 'n finale projek vir ons IoT -kursus. Ons hoop dat u ons werk nuttig sal vind en dat u dit geniet!

Stap 1: Vereiste onderdele

Om die stelsel te bou, benodig u die volgende komponente en onderdele:

  1. Vullisblik (verkieslik met 'n deksel): dit sal gebruik word vir … wel.. jy weet wat ons met hierdie een gaan doen, nè?;)
  2. Broodbord: om al die verskillende komponente aan te sluit sonder om soldeer te gebruik.
  3. NodeMCU (ESP-8266): verantwoordelik vir die lees van die sensors en die stuur van die inligting na die wolk.
  4. Afstands IR -sensor - Skerp 0A41SK: Hierdie sensor meet die hoeveelheid vullis (volheidsvlak) in die blik.
  5. Temperatuur- en humiditeitsensor - DHT11: Hierdie sensor meet die temperatuur en humiditeit in die vullisblik.
  6. Tydelike skakelaar: sal gebruik word om die afstandsensor te kalibreer volgens die grootte van die vullisblik.
  7. Aluminiumfoelie: word gebruik om 'n detektor te vorm vir die dekselstatus - of dit oop of toe is.
  8. Springdrade: kry baie, en in verskillende lengtes en kleure. Sal alles saam verbind.
  9. Buisband: Ons sal dinge op hul plek moet heg.
  10. Mikro-USB-kabel: om die NodeMCU aan te sluit op u rekenaar vir programmering, en later vir 'n kragtoevoer.
  11. USB -kragtoevoer (slimfoonlaaier): verskaf krag aan die NodeMCU wanneer dit op die vullisdrom geïnstalleer word.

Stap 2: Bedrading en montering

Bedrading en montering
Bedrading en montering
Bedrading en montering
Bedrading en montering
Bedrading en montering
Bedrading en montering

Bedrading

Plaas die NodeMCU op die broodbord sodat dit gerieflik is om dit later aan u vullisblik te koppel en die USB -kabel daaraan te koppel. Raadpleeg dan die prentdiagram hierbo om die verskillende komponente aan die NodeMCU te koppel. Maak seker dat u lang drade vir die sensors en statusdrade gebruik, sodat dit gerieflik is om die stelsel te installeer en die vullisblik daarmee te gebruik.

  • Afstands IR -sensor - Skerp 0A41SK:

    • Vin (Rooi) Vin
    • GND (swart) GND
    • Vout (geel) A0
  • Temperatuur- en humiditeitsensor - DHT11:

    • Vin (rooi) 3V3
    • GND (swart) GND
    • DATA (geel) D4
  • Tydelike skakelaar:

    • Speld 1 D3
    • Pin2 GND
  • Dekselstatus (oop / toe) drade:

    • Draad 1 D2
    • Wire2 GND

Vergadering

Die installering van die stelsel op die vullisblik is redelik eenvoudig. Heg die broodbord aan die vullisblik, verkieslik naby die deksel. Gebruik band of kabelbinders om dit vas te maak. Dan:

  1. Plaas die IR -afstandsensor in die middel van die deksel (van binne af!). Maak seker dat u dit behoorlik beveilig, anders kom u vals voorlesings teë!
  2. Plaas die temperatuur- en humiditeitsensor iewers in die vullisblik. Bevestig met band.
  3. Bedek die kant van die deksel en die punt van die vullisblik met aluminiumfoelie. Maak seker dat daar goeie kontak is as die deksel toegemaak is. Dit sal die stelsel aandui dat die vullisblik oop of toe is. Steek dan elk van die dekselstatusdrade in een van die aluminiumfoelie en maak dit met band vas.

Stap 3: Stel MQTT, Node-RED en IFTTT op

Stel MQTT, Node-RED en IFTTT op
Stel MQTT, Node-RED en IFTTT op
Stel MQTT, Node-RED en IFTTT op
Stel MQTT, Node-RED en IFTTT op
Stel MQTT, Node-RED en IFTTT op
Stel MQTT, Node-RED en IFTTT op

Die meeste van die projeklogika word eintlik in die wolk geïmplementeer. Die NodeMCU stuur die data na die MQTT-bediener, en Node-RED verbruik dit en pas die logika daarvan toe (meer oor die argitektuur verder). Ten slotte, om stootkennisgewings (waarskuwings) na ons slimfoon te stuur, het ons IFTTT gebruik.

Ons sal die CloudMQTT- en FRED-wolkdienste onderskeidelik as ons MQTT- en Node-RED-bedieners gebruik, en ons sal IFTTT gebruik vir stootkennisgewings.

  1. Meld u aan by CloudMQTT met die gratis plan. Let op u geloofsbriewe op die MQTT -bediener (gebruikersnaam en wagwoord).
  2. Sluit aan by IFTTT. Skep 'n nuwe applet van "Webhooks IFTTT app -kennisgewing". Gebruik 'selfoonkennisgewing' as die naam van die WebHookds -gebeurtenis. Raadpleeg die prent hierbo vir die besonderhede. Let op u maker -API -sleutel.
  3. Laai die IFTTT -app op u telefoon af en meld aan met u geloofsbriewe. Hiermee kan u stootkennisgewings kry.
  4. Teken in by FRED met die gratis plan.
  5. Sodra u die FRED -instansie aan die gang het, voer die aangehegte strome daarin in (3 balkies knoppie Invoer vanaf knipbord). Plak net die inhoud van elke lêer (widgest.json, alerts.json, statistics.json) en voer dit in.
  6. Wysig een van die MQTT -nodusse (een is genoeg) om u CloudMQTT -geloofsbriewe op te dateer.
  7. Wysig die IFTTT -knoop om u IFTTT maker API -sleutel op te dateer.

Stap 4: Programmeer die kalibrasie van die NodeMCU en die vullisblik

Sodra ons alles opgemaak het, moet ons die NodeMCU met die toepaslike sagteware (skets) programmeer sodat dit eintlik al die goed wat daaraan gekoppel is, kan gebruik en met die internet kan kommunikeer.

  1. Laai die Arduino IDE hier af en installeer dit.
  2. Installeer en stel die tipe NodeMCU -bord in, soos verduidelik aan die begin van die volgende instruksies.
  3. Installeer die volgende biblioteke (Sketch Include Library Manage Libraries …):

    1. Adafruit MQTT -biblioteek (deur Adafruit)
    2. DHT -sensorbiblioteek (deur Adafruit)
    3. SharpIR (deur Giuseppe Masino)
    4. EEPROMAnything - verduideliking hier.
  4. Maak die GarbageCanOnline.ino -lêer oop en werk die volgende op:

    1. U WiFi -geloofsbriewe (WLAN_SSID, WLAN_PASS)
    2. U CloudMQTT -geloofsbriewe (MQTT_USERNAME, MQTT_PASSWORD)
    3. As dit 'n tweede vullisblik of meer is, verander die vullisblik -ID (GARBAGECAN_ID)
  5. Laai die opgedateerde skets op na u NodeMCU.
  6. Maak die seriële monitorvenster (Ctrl+M) oop en maak seker dat dit daarin slaag om die sensorsdata aan CloudMQTT te publiseer.
  7. As die deksel nou toegemaak is en die vullisblik leeg is, druk u lank op die kalibrasie-knoppie om die vullisopbrengs te kalibreer.
  8. Die vullisblik is gereed. U kan dit van u rekenaar ontkoppel en dit op die aangewese plek met die USB -kragtoevoer verbind.

Stap 5: Gebruik die stelsel

Die gebruik van die stelsel
Die gebruik van die stelsel
Die gebruik van die stelsel
Die gebruik van die stelsel
Die gebruik van die stelsel
Die gebruik van die stelsel

As u tot hier gekom het, moet alles aan die gang wees. Kom ons gee 'n vinnige oorsig van die verskillende gebruiksaspekte van die stelsel.

Ons neem aan dat u slegs 'n enkele vullisblik verbind het, maar dit is maklik om later meer by te voeg!

Let eers op die hoofpaneelbord. U moet op die tuisskerm wees en die vullisblik se volheid, temperatuur en humiditeitsvlakke sien. U kan telefoonkennisgewings en kontroleskermwaarskuwings beheer met die skakelaars aan die linkerkant.

As die hoeveelheid vullis in die vullisblik verander, sien u dat die meter dienooreenkomstig verander. Dit is ook die geval met die temperatuur- en humiditeitsgrafieke.

As die volheidsvlak 85% -90% bereik (die presiese drempel hang af van die temperatuur en humiditeit), of as daar 'n sensorfout opgetree het, kry u 'n kennisgewing via die metode wat u verkies. U word een keer per uur per vullisblik in kennis gestel.

In die statistiek -aansig kan u die mees volledige vullisblik en die warmste een sien. Onvleiende titel, as ons mag sê …

Stap 6: Begrip van die vloei

Verstaan die vloei
Verstaan die vloei
Verstaan die vloei
Verstaan die vloei
Verstaan die vloei
Verstaan die vloei
Verstaan die vloei
Verstaan die vloei

Soos u waarskynlik al opgemerk het, bevat die stelsel baie "bewegende dele". Ons sal probeer verduidelik hoe dinge met mekaar verbind is.

Eerstens het ons ons vullisblik met die NodeMCU en sy sensors. Ons kan baie hiervan hê - net 'afskrifte' van mekaar.

Die NodeMCU meet die verskillende sensors wat in die vullisblik geplaas is, en publiseer die data aan die MQTT -bediener (MQTT -protokol). U kan aan die MQTT -bediener dink as 'n groot uitruil van inligting, waarmee baie vullisblikke hul inligting kan rapporteer.

Nog 'n entiteit wat met die MQTT-bediener verbind is, is Node-RED. Node-RED luister na die verskillende boodskappe wat uit die vullisblikke (s) kom wat die sensoriese data dra, en pas die logika daarop toe. Dit werk deur gebruik te maak van "vloei" van inligting. Elke keer as 'n boodskap ontvang word, gebaseer op die tipe (MQTT -onderwerp), word dit in spesifieke operasionele kettings aangegaan wat uiteindelik die verskillende funksies van die stelsel aktiveer (die opdatering van die paneelbord, die stuur van waarskuwings, ens.) Dit sal baie korrek wees om te sê dat Node-RED die 'brein' van die stelsel is. Dit is bewus van alles wat oral gebeur en kan dienooreenkomstig optree.

Binne Node-RED het ons drie hoof informasie vloei saamgestel:

  1. Widgets - Sensoriese inligting wat in Node -RED ingevoer word, word dan op die dashboard vertoon via meters en grafieke.
  2. Waarskuwings - Sensoriese inligting word verwerk om te bepaal of 'n waarskuwing geaktiveer moet word (op die dashboard of na die slimfoonprogram). Die volheidsvlak, met die temperatuur en humiditeit word in ag geneem om te besluit om die gebruiker in kennis te stel dat die vullisblik vol is. Sensoriese foute word ook deur dieselfde vloei gerapporteer.
  3. Statistiek - Sensoriese inligting word saamgevoeg om die volste en warmste vullisblikke te vertoon.

Om Node-RED stootkennisgewing te stuur, maak dit verbinding met 'n diens genaamd IFTTT (via HTTP-protokol). Dit aktiveer 'n sekere IFTTT -gebeurtenis met die relevante kennisgewingteks, en IFTTT stuur die kennisgewing na ons slimfoon (HTTP- en XMPP -protokolle).

Raadpleeg die prente hierbo om beter te verstaan (a) die algemene struktuur van die stelsel, en (b) die 3 verskillende inligtingstrome binne Node-RED

Stap 7: Uitdagings, beperkings en planne vir die toekoms …

Uitdagings

Die belangrikste uitdagings in hierdie projek was meestal die hantering van die MQTT- en Node-RED-dienste. Ons het eers AdafruitIO gebruik, maar die pasgemaakte MQTT -implementering daarvan was nie heeltemal goed vir ons nie. Dit was nie gerieflik om met sy 'feeds' in Node-RED te werk nie. Daarom het ons uiteindelik gekies vir CloudMQTT, wat gebaseer is op die Mosquitto MQTT -bediener, en baie meer standaard is. Toe gaan ons verder om Node-RED te hanteer, wat nogal uitdagend was, meestal omdat Node-RED 'n dier is. Dit is byvoorbeeld in ons oogpunt baie meer omvattend en professioneel as IFTTT. Ons moes aanpas en leer hoe ons die vloei-gebaseerde ontwerpbenadering gebruik om ons vereiste funksies van die stelsel te bou. Boonop is die ondersteuning van javascript -kode een van die grootste voordele, maar dit het 'n rukkie geneem om daaraan gewoond te raak, aangesien ons nie javascript -programmeerders is nie. Ondanks dit alles, het ons dit baie geniet om met hierdie spesifieke instrument te werk, en ons het dit baie interessant en nuttig gevind.

Beperkings

Wat beperkings betref, is die eerste feit dat ons slegs gratis dienste gebruik het, en dit sal nie toelaat dat dit op volle skaal is nie. CloudMQTT gratis plan laat nie meer as 5 parallelle verbindings toe nie, wat beteken dat ons slegs 4 vullisblikke en die Node-RED kan hê. FRED Node-RED gratis plan laat slegs 24 uur reguit gebruik toe, waarna u met die hand moet aanmeld en die timer moet herstel. Hierdie probleme is egter maklik oplosbaar deur óf hierdie dienste plaaslik te bedryf, óf 'n bietjie ekstra te betaal om die beperkings op te hef. Die tweede beperking is die feit dat wanneer 'n mens die vierde vullisblik byvoeg en verder, hy die widgets-vloei in Node-RED handmatig moet wysig om die toepaslike widgets by te voeg.

Planne vir die toekoms

Ons het 'n paar idees gehad om ons stelsel verder te verbeter en uit te brei:

  1. Gaan na nie-gratis wolkdienste. (enkele werkdag).
  2. As u 'n vulliskompressor by die vullishouer voeg, word die frekwensie van leegmaak verminder. (4 maande werk)
  3. Werk saam met stedelike en industriële asblikke om die doeltreffendheid van die stadsvragmotors wat die asblik in die stad hanteer, te verbeter. Dit sou beteken dat die paneelbord en kennisgewingstelsel aansienlik verbeter moet word, sodat vragmotorbestuurders hul roete baie beter kan beplan wanneer hulle die asblik hanteer. (6 maande werk).
  4. Om herwinningsvermoëns by die vullisblik te voeg, soos die moontlikheid om spesiale biologiese oplossings in die vullis te gooi en dit te help herwin terwyl dit nog in die vullisblik is. Dit kan binnelands gebruik word, byvoorbeeld om kompos vir tuine te produseer, maar kan ook duidelik op industriële blikkies gebruik word. (6 maande werk).

Aanbeveel: