Sisukord:

IDC2018IOT GarbageCan-Online: 7 sammu
IDC2018IOT GarbageCan-Online: 7 sammu

Video: IDC2018IOT GarbageCan-Online: 7 sammu

Video: IDC2018IOT GarbageCan-Online: 7 sammu
Video: Он продал квартиру, чтобы снимать кино | Бездомный с киноаппаратом 2024, November
Anonim
Image
Image
Nõutavad osad
Nõutavad osad

Sissejuhatus

Kõik teavad, mis juhtub, kui jätame prügikasti liiga kauaks prügikasti ilma seda eemaldamata. Noh, kõige ilmsem on see, et rohkem prügi pole ruumi, kuid see hakkab ka haisema ja see muutub väga ebameeldivaks.

Selle projektiga püüame aidata teil jälgida oma prügikaste maja ümbruses / tööruum / jne, nii et saate alati teada, millal need on täis, ja saate kohe prügi välja viies tegutseda.

Süsteem hoiatab teid telefoni või armatuurlaua hoiatusega, et peate prügikasti tühjendama. Süsteem võtab arvesse prügikasti täituvust, aga ka selle sees mõõdetud temperatuuri ja niiskust. Me kõik teame prügikastide tühjendamise kiiret vajadust kuumadel ja niisketel päevadel …

Põhijooned

  1. Seire armatuurlaud:

    • Peamine sektsioon:

      • Iga prügikasti täituvuse tase.
      • Iga prügikasti temperatuur ja niiskus.
    • Statistika jaotis:

      • Täielikum prügikast.
      • Kuumim prügikast.
  2. Hoiatuste ja märguannete süsteem:

    • Toetatakse järgmisi sündmusi:

      • Prügikast on täis.
      • Ilmnes anduri viga.
    • Täisväärtusmärguanded võtavad arvesse prügikasti täituvust, aga ka prügikasti temperatuuri ja niiskust.
    • Hoiatusi saab saata telefoni märguannete ja armatuurlaua hoiatuste kaudu.
    • Iga hoiatuskanalit saab armatuurlaua kaudu sisse ja välja lülitada.
  3. Mastaapsus:

    • Kalibreerimisnupu abil on võimalik seadistada süsteem erineva mahutavusega erinevatele prügikastidele.
    • Suhteliselt lihtsalt on võimalik lisada rohkem prügikaste. Sama süsteemi saab kokku panna uude prügikasti, määrata prügikasti ID ja kalibreerida (nupuvajutusega). Rohkem kui kolme prügikasti olemasolu eeldab armatuurlaua laiendamist (lihtne ülesanne).

Kes me oleme?

Selle projekti lõid (armastuse ja pühendumusega!) Rom Cyncynatus ja Daniel Alima - IDC Herzliya õpilased meie IoT kursuse lõppprojektina. Loodame, et leiate meie tööst kasu ja naudite selle kasutamist!

Samm: nõutavad osad

Süsteemi ehitamiseks peate ostma järgmised komponendid ja osad:

  1. Prügikast (eelistatavalt kaanega): seda kasutatakse… noh … teate, mida me selle kottidega peale hakkame, eks?;)
  2. Leivaplaat: kõigi erinevate komponentide ühendamiseks ilma jootmiseta.
  3. NodeMCU (ESP-8266): vastutab andurite lugemise ja teabe pilve saatmise eest.
  4. Kaugus -IR -andur - Sharp 0A41SK: see andur mõõdab prügi kogust (täisväärtus) purgi sees.
  5. Temperatuuri ja niiskuse andur - DHT11: see andur mõõdab temperatuuri ja niiskust prügikasti sees.
  6. Hetkelüliti: kasutatakse kaugusanduri kalibreerimiseks vastavalt prügikasti suurusele.
  7. Alumiiniumfoolium: kasutatakse kaane oleku tuvastamiseks - olenemata sellest, kas see on avatud või suletud.
  8. Jumper juhtmed: Hankige palju ja erineva pikkuse ja värviga. Ühendab kõik kokku.
  9. Kanalilint: peame asjad paika kinnitama.
  10. Mikro-USB-kaabel: NodeMCU ühendamiseks arvutiga programmeerimiseks ja hiljem toiteallikaks.
  11. USB -toiteallikas (nutitelefoni laadija): annab NodeMCU -le toite, kui see on prügikasti paigaldatud.

Samm: juhtmestik ja kokkupanek

Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek

Juhtmestik

Asetage NodeMCU leivaplaadile nii, et seda oleks hiljem mugav prügikasti külge kinnitada, ja ühendage sellega USB -kaabel. Seejärel vaadake ülaltoodud ühendusskeemi pilti erinevate komponentide ühendamiseks NodeMCU -ga. Kasutage andurite ja olekutraatide jaoks kindlasti pikki juhtmeid, nii et süsteemi oleks mugav paigaldada ja sellega prügikasti kasutada.

  • Kaugus IR -andur - Sharp 0A41SK:

    • Vin (punane) Vin
    • GND (must) GND
    • Vout (kollane) A0
  • Temperatuuri ja niiskuse andur - DHT11:

    • Vin (punane) 3V3
    • GND (must) GND
    • ANDMED (kollane) D4
  • Hetkelüliti:

    • Pin1 D3
    • Pin2 GND
  • Kaane oleku (avatud / suletud) juhtmed:

    • Traat 1 D2
    • Traat2 GND

Kokkupanek

Süsteemi kokkupanek prügikasti on üsna lihtne. Kinnitage leivaplaat prügikasti külge, eelistatavalt kaane lähedale. Selle kinnitamiseks kasutage linti või kaablisidet. Siis:

  1. Asetage infrapuna kaugusandur kaane keskele (siseküljelt!). Veenduge, et see oleks korralikult kinnitatud, vastasel juhul ilmnevad valed näidud!
  2. Asetage temperatuuri- ja niiskusandur kuskile prügikasti. Kinnitage teibiga.
  3. Katke kaane külg ja prügikasti ots alumiiniumfooliumiga. Veenduge, et kaane sulgemisel oleks hea kontakt. See annab süsteemile märku prügikasti avamisest või sulgemisest. Seejärel kleepige kõik kaane olekutraadid ühte alumiiniumfooliumist ja kinnitage teibiga.

3. samm: seadistage MQTT, Node-RED ja IFTTT

Seadistage MQTT, Node-RED ja IFTTT
Seadistage MQTT, Node-RED ja IFTTT
Seadistage MQTT, Node-RED ja IFTTT
Seadistage MQTT, Node-RED ja IFTTT
Seadistage MQTT, Node-RED ja IFTTT
Seadistage MQTT, Node-RED ja IFTTT

Enamik projekti loogikast on tegelikult rakendatud pilves. NodeMCU saadab andmed MQTT-serverisse ning Node-RED tarbib need ja rakendab sellele oma loogikat (lähemalt eespool oleva arhitektuuri kohta). Lõpuks kasutasime tõukemärguannete (hoiatuste) edastamiseks oma nutitelefoni IFTTT -d.

Kasutame CloudMQTT ja FRED pilveteenuseid oma MQTT- ja Node-RED-serveritena ning IFTTT-d tõukemärguannete jaoks.

  1. Registreeruge tasuta paketiga CloudMQTT -i. Pange tähele oma mandaati MQTT serverisse (kasutajanimi ja parool).
  2. Registreeruge IFTTT -sse. Looge uus aplett "Webhooks IFTTT rakenduse märguanne". Kasutage WebHookdsi sündmuse nimeks „Mobiiltelefoni märguanne”. Täpsete üksikasjade saamiseks vaadake ülaltoodud pilti. Pange tähele oma tegija API -võtit.
  3. Laadige IFTTT rakendus oma telefoni alla ja logige sisse oma mandaadiga. See võimaldab teil saada tõukemärguandeid.
  4. Registreeruge tasuta paketiga FRED -i.
  5. Kui olete FRED eksemplari käivitanud, importige sinna lisatud voogud (nupp 3 riba Import lõikepuhvrist). Lihtsalt kleepige iga faili sisu (widgest.json, alerts.json, statistics.json) ja importige see.
  6. Muutke ühte MQTT sõlme (ühest piisab), et värskendada oma CloudMQTT mandaati.
  7. Muutke IFTTT sõlme, et värskendada oma IFTTT tegija API võtit.

Samm: programmeerige NodeMCU ja prügikasti mahutavuse kalibreerimine

Kui oleme kõik juhtmega ühendanud, peame programmeerima NodeMCU sobiva tarkvaraga (visandiga) nii, et see kasutaks tegelikult kogu sellega ühendatud asja ja kasutaks Interneti -ühendust.

  1. Laadige alla ja installige Arduino IDE siit.
  2. Paigaldage ja seadistage NodeMCU tahvli tüüp, nagu on kirjeldatud järgmise juhendi alguses.
  3. Installige järgmised teegid (Sketch Include Library Manage Libraries …):

    1. Adafruit MQTT raamatukogu (autor Adafruit)
    2. DHT -andurite kogu (Adafruit)
    3. SharpIR (Giuseppe Masino)
    4. EEPROMAnything - selgitus siin.
  4. Avage fail GarbageCanOnline.ino ja värskendage järgmist:

    1. Teie WiFi volikirjad (WLAN_SSID, WLAN_PASS)
    2. Teie CloudMQTT mandaadid (MQTT_USERNAME, MQTT_PASSWORD)
    3. Kui see on teine või rohkem prügikasti, muutke prügikasti ID (GARBAGECAN_ID)
  5. Laadige värskendatud visand üles oma NodeMCU -sse.
  6. Avage jadamonitori aken (Ctrl+M) ja veenduge, et see suudab andurite andmed CloudMQTT -s avaldada.
  7. Nüüd, kui kaas on suletud ja prügikast on tühi, vajutage prügikasti mahutavuse kalibreerimiseks pikalt kalibreerimisnuppu.
  8. Prügikast on kõik valmis. Võite selle arvutist lahti ühendada ja ühendada USB -toiteallikaga selleks ettenähtud kohas.

Samm: süsteemi kasutamine

Süsteemi kasutamine
Süsteemi kasutamine
Süsteemi kasutamine
Süsteemi kasutamine
Süsteemi kasutamine
Süsteemi kasutamine

Kui olete nii kaugele jõudnud, peaks kõik olema korras. Teeme kiire ülevaate süsteemi erinevatest kasutusaspektidest.

Eeldame, et teil on ühendatud ainult üks prügikast, kuid seda on hiljem lihtne lisada!

Kõigepealt pange tähele peamist armatuurlauda. Peaksite olema avaekraanil ja nägema prügikasti täituvust, temperatuuri ja niiskust. Telefoni märguandeid ja armatuurlaua märguandeid saate juhtida vasakul asuvate lülitite abil.

Kui prügikogus prügikasti sees muutub, näete mõõdikut vastavalt. See kehtib ka temperatuuri ja niiskuse graafikute kohta.

Kui täisväärtus jõuab 85% -90% -ni (täpne lävi sõltub temperatuurist ja niiskusest) või ilmnes anduri tõrge, saate teate eelistatud meetodi (te) kaudu. Iga prügikasti kohta saate teate üks kord tunnis.

Vaates Statistika näete praegust ja kõige kuumemat prügikasti. Ebamugav pealkiri, kui võib öelda …

6. samm: voo mõistmine

Voolu mõistmine
Voolu mõistmine
Voolu mõistmine
Voolu mõistmine
Voolu mõistmine
Voolu mõistmine
Voolu mõistmine
Voolu mõistmine

Nagu te ilmselt juba märkasite, on süsteemil palju "liikuvaid osi". Püüame selgitada, kuidas asjad on omavahel seotud.

Esiteks on meil prügikast koos NodeMCU ja selle anduritega. Neid võib meil palju olla - lihtsalt üksteise "koopiad".

NodeMCU mõõdab erinevaid prügikasti paigutatud andureid ja avaldab andmed MQTT -serverisse (MQTT -protokoll). Võite MQTT -serverist mõelda kui suurest teabevahetusest, millele paljud prügikastid saavad oma teabe edastada.

Teine üksus, mis ühendub MQTT serveriga, on Node-RED. Sõlm-RED kuulab erinevaid teateid, mis tulevad sensoorseid andmeid kandvast prügikastist ja rakendavad sellele oma loogikat. See töötab infovooge kasutades. Iga kord, kui sõnum vastu võetakse, lähtub see selle tüübist (MQTT teema) konkreetsetest toiminguahelatest, mis lõpuks aktiveerivad süsteemi erinevad funktsioonid (armatuurlaua värskendamine, hoiatuste saatmine jne) Oleks väga õige öelda et Node-RED on süsteemi "aju". Ta on teadlik kõigest, mis igal pool toimub, ja saab vastavalt tegutseda.

Node-RED sisemusse oleme loonud kolm peamist infovoogu:

  1. Vidinad - Node -RED -i sisestatud sensoorne teave kuvatakse seejärel armatuurlaual mõõturite ja graafikute kaudu.
  2. Hoiatused - sensoorset teavet töödeldakse, et teha kindlaks, kas hoiatus tuleks käivitada (armatuurlaual või nutitelefoni rakenduses). Täisväärtust, temperatuuri ja niiskust võetakse arvesse, et otsustada kasutajat teavitada, et prügikast on täis. Samuti teatab sama voog sensoorsetest vigadest.
  3. Statistika - sensoorne teave on koondatud, et kuvada täis ja kuumimad prügikastid.

Selleks, et Node-RED saaks tõukemärguande saata, ühendub see teenusega nimega IFTTT (HTTP-protokolli abil). See aktiveerib teatud IFTTT sündmuse koos vastava teatistekstiga ja IFTTT saadab teate meie nutitelefonile (HTTP ja XMPP protokollid).

Vaadake ülaltoodud pilte, et paremini mõista (a) süsteemi üldist ülesehitust ja (b) 3 erinevat infovoogu Node-RED sees

Samm: väljakutsed, piirangud ja tulevikuplaanid…

Väljakutsed

Selle projekti peamised väljakutsed olid enamasti MQTT ja Node-RED teenuste haldamine. Esmalt kasutasime AdafruitIO -d, kuid selle kohandatud MQTT -i rakendamine ei olnud meie jaoks päris hea. Node-RED-i sees ei olnud mugav oma "kanalitega" töötada. Seetõttu valisime lõpuks CloudMQTT, mis põhineb Mosquitto MQTT serveril ja on palju standardsem. Seejärel asusime tegelema Node-RED-iga, mis oli üsna keeruline, peamiselt seetõttu, et Node-RED on metsaline. Näiteks on see meie vaatenurgast palju laiahaardelisem ja professionaalsem kui IFTTT. Pidime kohandama ja õppima kasutama selle voolupõhist projekteerimismeetodit süsteemi nõutavate funktsioonide loomiseks. Lisaks on selle üks suurimaid eeliseid javascripti koodi tugi, kuid harjumine võttis aega, kuna me ei ole javascripti programmeerijad. Hoolimata kõigest sellest meeldis meile väga selle konkreetse tööriistaga töötada ning leidsime, et see on väga huvitav ja kasulik.

Piirangud

Mis puudutab piiranguid, siis esimene oleks asjaolu, et kasutasime ainult tasuta teenuseid ja need ei luba täies ulatuses. CloudMQTT tasuta plaan ei võimalda omada rohkem kui 5 paralleelset ühendust, mis tähendab, et meil võib olla ainult 4 prügikasti ja sõlme-PUNANE. FRED Node-RED tasuta plaan võimaldab ainult 24 tundi järjest kasutada, pärast mida peate käsitsi sisse logima ja taimer lähtestama. Need probleemid on aga hõlpsasti lahendatavad, kui käitate neid teenuseid kohapeal või maksate piirangute tühistamiseks veidi lisatasu. Teine piirang on asjaolu, et neljanda prügikasti lisamisel ja edasi peab ta sobivate vidinate lisamiseks käsitsi muutma vidinate voogu Node-RED-is.

Plaanid tulevikuks

Meil oli ideid oma süsteemi edasiseks täiustamiseks ja laiendamiseks:

  1. Liikuge edasi tasuta pilveteenuste juurde. (üks tööpäev).
  2. Prügikompressori lisamine prügikasti, vähendades sellega tühjendamise sagedust. (4 kuud tööd)
  3. Töö linna- ja tööstuslike prügikastidega, et parandada linna prügi käitlevate linnaveokite efektiivsust. See tähendaks oluliselt armatuurlaua ja teavitussüsteemi täiustamist, et veokijuhid saaksid prügi käitlemisel oma marsruuti palju paremini planeerida. (6 kuud tööd).
  4. Prügikasti taaskasutusvõimaluste lisamine, näiteks võimalus valada prügikasti spetsiaalseid bioloogilisi lahuseid ja aidata neid taaskasutada, kui see on veel prügikasti sees. Seda saab kasutada kodumaal, näiteks aedade jaoks komposti tootmiseks, kuid seda saab kasutada ka tööstuslikel purkidel. (6 kuud tööd).

Soovitan: