Բովանդակություն:

IDC2018IOT GarbageCan-Online: 7 քայլ
IDC2018IOT GarbageCan-Online: 7 քայլ

Video: IDC2018IOT GarbageCan-Online: 7 քայլ

Video: IDC2018IOT GarbageCan-Online: 7 քայլ
Video: Marvel's Spider-man. Miles Morales (ֆիլմ) 2024, Հուլիսի
Anonim
Image
Image
Պահանջվող մասեր
Պահանջվող մասեր

Ներածություն

Բոլորը գիտեն, թե ինչ է տեղի ունենում, երբ աղբը շատ երկար թողնում ենք աղբամանի մեջ ՝ առանց այն հանելու: Դե, ամենաակնհայտ բանն այն է, որ ավելի շատ աղբի տեղ չկա, բայց այն նույնպես սկսում է հոտել, և դա դառնում է շատ տհաճ:

Այս նախագծով մենք նպատակ ունենք օգնել ձեզ վերահսկել ձեր աղբամանները տան շուրջը / աշխատանքային տարածք / և այլն, այնպես որ դուք միշտ կարող եք իմանալ, երբ դրանք լիքն են, և կարող եք անհապաղ միջոցներ ձեռնարկել ՝ աղբը դուրս հանելով:

Համակարգը ձեզ ահազանգելու է հեռախոսի կամ վահանակի ազդանշանի միջոցով, որ դուք պետք է դատարկեք աղբարկղը: Համակարգը հաշվի է առնում աղբարկղի լիության մակարդակը, բայց նաև դրա ներսում չափվող ջերմաստիճանը և խոնավությունը: Մեզ բոլորիս ծանոթ է տաք և խոնավ օրերին աղբամանները դատարկելու հրատապությունը…

Հիմնական հատկանիշները

  1. Մոնիտորինգի վահանակ.

    • Հիմնական բաժին.

      • Յուրաքանչյուր աղբամանի լրիվության մակարդակ:
      • Յուրաքանչյուր աղբարկղի ջերմաստիճանը և խոնավությունը:
    • Վիճակագրության բաժին.

      • Ամենալուրջ աղբարկղը:
      • Ամենաթեժ աղբամանը:
  2. Ահազանգերի և ծանուցումների համակարգ.

    • Հետևյալ իրադարձություններն աջակցվում են.

      • Աղբարկղը լիքն է:
      • Սենսորային սխալ է տեղի ունեցել:
    • Լիարժեքության մասին ահազանգերը հաշվի են առնում աղբարկղի լիության մակարդակը, բայց նաև աղբամանի ջերմաստիճանի և խոնավության մակարդակը:
    • Ահազանգերը կարող են ուղարկվել հեռախոսի ծանուցումների և վահանակի ազդանշանների միջոցով:
    • Alertգուշացման յուրաքանչյուր ալիք կարելի է միացնել և անջատել վահանակի միջոցով:
  3. Մատչելիություն:

    • Օգտագործելով ստուգաչափման կոճակը, հնարավոր է համակարգը հարմարեցնել տարբեր հզորությունների տարբեր աղբամաններին:
    • Հնարավոր է համեմատաբար հեշտությամբ ավելացնել ավելի շատ աղբամաններ: Կարելի է նույն համակարգը հավաքել նոր աղբամանի վրա, տեղադրել աղբամանի ID- ն և չափաբերել այն (կոճակի սեղմում): Ավելի քան 3 աղբաման ունենալը կպահանջի ընդլայնել Գործիքի վահանակը (կատարումը հեշտ գործ է):

Ո՞վ ենք մենք:

Այս նախագիծը ստեղծվել է (սիրով և նվիրումով) Rom Cyncynatus- ի և Daniel Alima- ի կողմից `IDC Herzliya- ի ուսանողներ, որպես IoT դասընթացի վերջնական նախագիծ: Հուսով ենք, որ դուք կգտնեք մեր աշխատանքը օգտակար և կվայելեք այն օգտագործելը:

Քայլ 1: Պահանջվող մասեր

Համակարգը կառուցելու համար դուք կունենաք ձեռք բերելու հետևյալ բաղադրիչներն ու մասերը.

  1. Աղբաման (գերադասելի է կափարիչով). Սա կօգտագործվի … լավ.. գիտե՞ք, թե ինչ ենք անելու այս մեկի հետ, հա՞:;)
  2. Սեղանատախտակ. Միացնել բոլոր տարբեր բաղադրիչները `առանց որևէ զոդման:
  3. NodeMCU (ESP-8266). Պատասխանատու է սենսորների ընթերցման և տեղեկատվության ամպ ուղարկելու համար:
  4. Հեռավորության IR սենսոր - Sharp 0A41SK. Այս տվիչը չափելու է աղբի քանակը (լիության մակարդակ) տարայի ներսում:
  5. Peratերմաստիճանի և խոնավության տվիչ - DHT11. Այս տվիչը չափում է աղբարկղի ներսում ջերմաստիճանը և խոնավությունը:
  6. Momentary Switch: Կօգտագործվի հեռավորության սենսորը չափելու համար `ըստ աղբարկղի չափի:
  7. Ալյումինե թերթ
  8. Անցումային լարեր. Ստացեք առատ և տարբեր երկարությունների և գույների: Կմիացնի ամեն ինչ միասին:
  9. Կպչուն ժապավեն. Մենք ստիպված կլինենք իրերը տեղում ամրացնել:
  10. Micro-USB մալուխ. NodeMCU- ը ծրագրավորելու համար միացրեք ձեր համակարգչին, իսկ ավելի ուշ `էլեկտրամատակարարման համար:
  11. USB հոսանքի աղբյուր (սմարթֆոնի լիցքավորիչ). Աղբարկղի վրա տեղադրվելիս էներգիա կտրամադրի NodeMCU- ին:

Քայլ 2: Էլեկտրամոնտաժ և հավաքում

Հաղորդալարերի մոնտաժում
Հաղորդալարերի մոնտաժում
Հաղորդալարերի մոնտաժում
Հաղորդալարերի մոնտաժում
Հաղորդալարերի մոնտաժում
Հաղորդալարերի մոնտաժում

Հաղորդալարեր

Տեղադրեք NodeMCU- ն սեղանի վրա, որպեսզի հարմար լինի այն հետագայում կցել ձեր աղբարկղին և միացնել USB մալուխը դրան: Այնուհետև խորհրդակցեք վերևում գտնվող էլեկտրագծերի գծապատկերի նկարում ՝ տարբեր բաղադրիչները NodeMCU- ին միացնելու համար: Համոզվեք, որ սենսորների և կարգավիճակի լարերի համար օգտագործեք երկար լարեր, այնպես որ հարմար կլինի տեղադրել համակարգը և դրա հետ օգտագործել աղբարկղը:

  • Հեռավորության IR տվիչ - Sharp 0A41SK:

    • Վին (Կարմիր) Վին
    • GND (Սև) GND
    • Vout (դեղին) A0
  • Temերմաստիճանի եւ խոնավության տվիչ - DHT11:

    • Վին (կարմիր) 3V3
    • GND (Սև) GND
    • ՏՎՅԱԼՆԵՐ (դեղին) D4
  • Մեկ ակնթարթային անջատում.

    • Pin1 D3
    • Pin2 GND
  • Կափարիչի կարգավիճակը (բացել / փակել) լարերը.

    • Լար 1 D2
    • Wire2 GND

Ժողով

Աղբարկղի վրա համակարգը հավաքելը բավականին պարզ է: Կցեք Հացաթուղթը աղբարկղին, ցանկալի է `կափարիչին մոտ: Օգտագործեք կամ ժապավեն կամ մալուխային փողկապ այն ամրացնելու համար: Հետո.

  1. Տեղադրեք IR հեռավորության տվիչը կափարիչի մեջտեղում (ներքին կողմից): Համոզվեք, որ այն պատշաճ կերպով ապահովեք, հակառակ դեպքում կտեսնեք կեղծ ընթերցումներ:
  2. Տեղադրեք ջերմաստիճանի և խոնավության տվիչը աղբամանի ներսում: Ապահովեք ժապավենով:
  3. Կափարիչի կողքը և աղբամանի ծայրը ծածկեք ալյումինե փայլաթիթեղով: Համոզվեք, որ լավ շփում կա, երբ կափարիչը փակ է: Սա ազդանշան կտա համակարգին, որ աղբարկղը բացվում կամ փակվում է: Այնուհետև կափարիչի կարգավիճակի յուրաքանչյուր լար կպցրեք ալյումինե փայլաթիթեղից մեկում և ամրացրեք ժապավենով:

Քայլ 3. Կարգավորեք MQTT, Node-RED և IFTTT

Կարգավորեք MQTT, Node-RED և IFTTT
Կարգավորեք MQTT, Node-RED և IFTTT
Կարգավորեք MQTT, Node-RED և IFTTT
Կարգավորեք MQTT, Node-RED և IFTTT
Կարգավորեք MQTT, Node-RED և IFTTT
Կարգավորեք MQTT, Node-RED և IFTTT

Logicրագրի տրամաբանության մեծ մասն իրականում իրականացվում է ամպի մեջ: NodeMCU- ն տվյալները ուղարկում է MQTT սերվեր, իսկ Node-RED- ը սպառում է դրանք և դրա վրա կիրառում իր տրամաբանությունը (ավելին ՝ ճարտարապետության մասին): Վերջապես, մեր սմարթֆոնին push ծանուցումներ (ահազանգեր) փոխանցելու համար մենք օգտագործեցինք IFTTT:

Մենք կօգտագործենք CloudMQTT և FRED ամպային ծառայությունները ՝ որպես մեր համապատասխանաբար MQTT և Node-RED սերվերներ, իսկ IFTTT- ը ՝ push ծանուցումների համար:

  1. Գրանցվեք CloudMQTT- ին անվճար ծրագրով: Նշեք ձեր հավատարմագրերը MQTT սերվերի վրա (օգտվողի անուն և գաղտնաբառ):
  2. Գրանցվել IFTTT- ին: Ստեղծեք «Webhooks IFTTT հավելվածի ծանուցման» նոր հավելված: Օգտագործեք «Բջջային հեռախոսի ծանուցում» ՝ որպես WebHookds իրադարձության անվանում: Խորհրդակցեք վերը նշված պատկերի հետ ՝ մանրախնդիր մանրուքների համար: Նշեք ձեր արտադրողի API բանալին:
  3. Ներբեռնեք IFTTT ծրագիրը ձեր հեռախոսին և մուտք գործեք ձեր հավատարմագրերով: Սա թույլ կտա ստանալ push ծանուցումներ:
  4. Գրանցվեք FRED- ին անվճար ծրագրով:
  5. FRED օրինակը գործարկելուց հետո ներմուծեք դրան կցված հոսքերը (3 բար կոճակ Ներմուծել սեղմատախտակից): Պարզապես տեղադրեք յուրաքանչյուր ֆայլի բովանդակությունը (widgest.json, alerts.json, statistics.json) և ներմուծեք այն:
  6. Խմբագրեք MQTT հանգույցներից մեկը (մեկը բավարար է) ՝ ձեր CloudMQTT հավատարմագրերը թարմացնելու համար:
  7. Խմբագրեք IFTTT հանգույցը ՝ ձեր IFTTT ստեղծողի API բանալին թարմացնելու համար:

Քայլ 4. Programրագրեք NodeMCU- ի և Աղբարկղի հզորությունների չափագրումը

Երբ ամեն ինչ լարված լինի, մենք պետք է ծրագրավորենք NodeMCU- ն համապատասխան ծրագրակազմով (ուրվագիծ), որպեսզի այն իրականում օգտագործի իրեն միացված բոլոր նյութերը և շփվի ինտերնետի հետ:

  1. Ներբեռնեք և տեղադրեք Arduino IDE- ն այստեղից:
  2. Տեղադրեք և տեղադրեք NodeMCU տախտակի տեսակը, ինչպես բացատրված է հետևյալ հրահանգի սկզբում:
  3. Տեղադրեք հետևյալ գրադարանները (Էսքիզը ներառում է գրադարանների կառավարումը գրադարանները …).

    1. Adafruit MQTT գրադարան (հեղինակ ՝ Adafruit)
    2. DHT տվիչների գրադարան (Adafruit- ի կողմից)
    3. SharpIR (byուզեպպե Մասինո)
    4. EEPROMA ամեն ինչ - բացատրությունն այստեղ:
  4. Բացեք GarbageCanOnline.ino ֆայլը և թարմացրեք հետևյալը.

    1. Ձեր WiFi հավատարմագրերը (WLAN_SSID, WLAN_PASS)
    2. Ձեր CloudMQTT հավատարմագրերը (MQTT_USERNAME, MQTT_PASSWORD)
    3. Եթե սա երկրորդ կամ ավելի աղբաման է, փոխեք աղբարկղի ID- ն (GARBAGECAN_ID)
  5. Վերբեռնեք թարմացված ուրվագիծը ձեր NodeMCU- ում:
  6. Բացեք սերիական մոնիտորի պատուհանը (Ctrl+M) և համոզվեք, որ այն հասցնում է սենսորների տվյալները հրապարակել CloudMQTT- ում:
  7. Այժմ, երբ կափարիչը փակ է, և աղբարկղը դատարկ է, երկար սեղմեք տրամաչափման կոճակը `աղբամանի հզորությունը չափաբերելու համար:
  8. Աղբամանը պատրաստ է: Կարող եք անջատել այն ձեր համակարգչից և միացնել այն իր նշանակված վայրում ՝ օգտագործելով USB սնուցման աղբյուրը:

Քայլ 5: Համակարգի օգտագործումը

Համակարգի օգտագործումը
Համակարգի օգտագործումը
Օգտագործելով համակարգը
Օգտագործելով համակարգը
Օգտագործելով համակարգը
Օգտագործելով համակարգը

Եթե դուք հասել եք այսքան հեռու, ամեն ինչ պետք է գործի: Եկեք արագ ակնարկ կատարենք համակարգի օգտագործման տարբեր ասպեկտների վերաբերյալ:

Ենթադրում ենք, որ դուք ունեք միայն մեկ աղբաման միացված, բայց հետագայում ավելի հեշտ է դրանք ավելացնել:

Նախ, ուշադրություն դարձրեք հիմնական վահանակին: Դուք պետք է լինեք հիմնական էկրանին ՝ տեսնելով աղբարկղի լիությունը, ջերմաստիճանը և խոնավությունը: Դուք կարող եք վերահսկել հեռախոսի ծանուցումները և կառավարման վահանակի ազդանշանները ՝ օգտագործելով ձախ կողմում գտնվող անջատիչները:

Երբ աղբարկղի ներսում աղբի քանակը փոխվի, կտեսնեք, որ չափիչը համապատասխանաբար փոխվում է: Սա նաև ջերմաստիճանի և խոնավության գրաֆիկների դեպքում է:

Երբ լրիվության մակարդակը հասնում է 85% -90% -ի (ճշգրիտ շեմը կախված է ջերմաստիճանից և խոնավությունից), կամ երբ տեղի է ունենում սենսորի սխալ, դուք կստանաք ծանուցում ձեր նախընտրած մեթոդի (մեթոդների) միջոցով: Դուք կստանաք ծանուցում ամեն ժամ մեկ աղբարկղի համար:

Վիճակագրության տեսանկյունից դուք կկարողանաք տեսնել ներկայումս ամենաթեժ աղբամանը և ամենաթեժը: Անշուք վերնագիր, եթե կարելի է ասել…

Քայլ 6: Հասկանալով հոսքը

Հասկանալով հոսքը
Հասկանալով հոսքը
Հասկանալով հոսքը
Հասկանալով հոսքը
Հասկանալով հոսքը
Հասկանալով հոսքը
Հասկանալով հոսքը
Հասկանալով հոսքը

Ինչպես հավանաբար նկատել եք մինչ այժմ, համակարգն ունի բազմաթիվ «շարժվող մասեր»: Մենք կփորձենք պարզաբանել, թե ինչպես են իրերը կապված միմյանց հետ:

Նախ, մենք ունենք մեր աղբամանը NodeMCU- ով և դրա տվիչներով: Մենք կարող ենք ունենալ դրանցից շատերը ՝ պարզապես միմյանց «պատճենները»:

NodeMCU- ն չափում է աղբամանի մեջ տեղադրված տարբեր տվիչները և տվյալները հրապարակում է MQTT սերվերին (MQTT արձանագրություն): Դուք կարող եք MQTT սերվերը համարել որպես տեղեկատվության մեծ փոխանակում, որին շատ աղբամաններ կարող են հայտնել իրենց տեղեկությունները:

Մեկ այլ սուբյեկտ, որը միանում է MQTT սերվերին, Node-RED է: Node-RED- ը լսում է զգայական տվյալները կրող աղբամանից (ներից) եկող տարբեր հաղորդագրությունները և դրա տրամաբանությունը կիրառում: Այն աշխատում է ՝ օգտագործելով տեղեկատվության «հոսքերը»: Ամեն անգամ, երբ հաղորդագրություն է ստացվում ՝ ելնելով իր տեսակից (MQTT թեմա), այն մտնում է գործողությունների որոշակի շղթաներ, որոնք ավարտում են համակարգի տարբեր հնարավորությունների ակտիվացումը (վահանակի թարմացում, ահազանգեր ուղարկելը և այլն): Շատ ճիշտ կլինի ասել որ Node-RED- ը համակարգի «ուղեղն» է: Տեղյակ է այն ամենի մասին, ինչ տեղի է ունենում ամենուր, և կարող է համապատասխան քայլեր ձեռնարկել:

Node-RED- ի ներսում մենք կառուցել ենք տեղեկատվության 3 հիմնական հոսք.

  1. Վիջեթներ - Node -RED- ում սնվող զգայական տեղեկատվությունը այնուհետև ցուցադրվում է վահանակի վրա ՝ չափիչների և գծապատկերների միջոցով:
  2. Ահազանգեր - orialգացմունքային տեղեկատվությունը մշակվում է ՝ եզրակացնելու համար, թե արդյոք պետք է ազդանշան գործարկել (վահանակի վրա կամ սմարթֆոնների հավելվածի վրա): Լիության մակարդակը `ջերմաստիճանի և խոնավության հետ հաշվի են առնվում` որոշելու օգտվողին տեղեկացնել, որ աղբարկղը լիքն է: Բացի այդ, զգայական սխալները հաղորդվում են նույն հոսքով:
  3. Վիճակագրություն - orialգացմունքային տեղեկատվությունը համախմբված է `ցուցադրելու ամենալուրջ և ամենաթեժ աղբամանները:

Որպեսզի Node-RED- ը ուղարկի push ծանուցում, այն միանում է ծառայությանը, որը կոչվում է IFTTT (HTTP արձանագրությամբ): Այն ակտիվացնում է որոշակի IFTTT իրադարձություն համապատասխան ծանուցման տեքստով, և IFTTT- ն ծանուցումն ուղարկում է մեր սմարթֆոնին (HTTP և XMPP արձանագրություններ):

Խորհրդակցեք վերը նշված պատկերների հետ ՝ ավելի լավ հասկանալու համար (ա) համակարգի ընդհանուր կառուցվածքը և (բ) 3 տարբեր տեղեկատվական հոսքերը Node-RED- ի ներսում:

Քայլ 7: Մարտահրավերներ, սահմանափակումներ և ապագայի ծրագրեր…

Մարտահրավերներ

Այս նախագծի հիմնական մարտահրավերներն էին հիմնականում MQTT և Node-RED ծառայությունների կառավարումը: Մենք առաջին անգամ օգտագործեցինք AdafruitIO- ն, բայց դրա սովորական MQTT իրականացումը մեզ համար այնքան էլ լավ չէր: Հարմար չէր իր «հոսքերով» աշխատել Node-RED- ի ներսում: Հետևաբար, մենք ի վերջո ընտրեցինք CloudMQTT- ը, որը հիմնված է Mosquitto MQTT սերվերի վրա և շատ ավելի ստանդարտ է: Հետո մենք շարժվեցինք դեպի Node-RED- ը, որը բավականին դժվար էր, հիմնականում այն պատճառով, որ Node-RED- ը գազան է: Օրինակ, դա մեր տեսանկյունից շատ ավելի ընդգրկուն և պրոֆեսիոնալ է, քան IFTTT- ն: Մենք պետք է հարմարվեինք և սովորեինք, թե ինչպես օգտագործել հոսքի վրա հիմնված ձևավորման մոտեցումը `համակարգի անհրաժեշտ հատկությունները կառուցելու համար: Ավելին, դրա ամենամեծ առավելություններից մեկը javascript կոդի աջակցությունն է, սակայն որոշ ժամանակ պահանջվեց սովորելու համար, քանի որ մենք javascript ծրագրավորողներ չենք: Չնայած այդ ամենին, մենք իսկապես հաճույք ստացանք աշխատել այս հատուկ գործիքի հետ և գտանք, որ այն շատ հետաքրքիր և օգտակար է:

Սահմանափակումներ

Ինչ վերաբերում է սահմանափակումներին, ապա առաջինը կլինի այն, որ մենք օգտվում էինք միայն անվճար ծառայություններից, և դրանք թույլ չեն տա լիարժեք մասշտաբով անցնել: CloudMQTT անվճար պլանը թույլ չի տա ունենալ ավելի քան 5 զուգահեռ միացում, այսինքն ՝ մենք կարող ենք ունենալ ընդամենը 4 աղբաման և Node-RED: FRED Node-RED անվճար ծրագիրը թույլ է տալիս ուղիղ օգտագործել միայն 24 ժամ, որից հետո դուք պետք է ձեռքով մուտք գործեք և վերակայեք ժամաչափը: Այնուամենայնիվ, այս հարցերը հեշտությամբ լուծելի են կամ այս ծառայությունները տեղական մակարդակով գործարկելով, կամ մի փոքր հավելավճարով `սահմանափակումները հանելու համար: Երկրորդ սահմանափակումը այն փաստն է, որ երբ մեկը ավելացնում է չորրորդ աղբարկղը և այնուհետև, նա պետք է ձեռքով խմբագրի Node-RED- ում հոսող վիջեթների հոսքը `դրա համապատասխան վիջեթներն ավելացնելու համար:

Ապագայի ծրագրեր

Մենք ունեինք որոշ գաղափարներ ՝ մեր համակարգն ավելի ընդլայնելու և այն ընդլայնելու համար.

  1. Անցեք ոչ անվճար ամպային ծառայություններին: (մեկ աշխատանքային օր):
  2. Աղբարկղին ավելացնելով աղբի կոմպրեսոր `դրանով իսկ նվազեցնելով այն դատարկելու հաճախականությունը: (4 ամիս աշխատանք)
  3. Քաղաքային և արդյունաբերական աղբամանների հետ աշխատելը `քաղաքի աղբը մաքրող քաղաքային բեռնատարների արդյունավետությունը բարձրացնելու համար: Սա կնշանակի մեծապես բարելավել կառավարման վահանակը և ծանուցման համակարգը, որպեսզի բեռնատարների վարորդները աղբը մշակելիս շատ ավելի լավ պլանավորեն իրենց երթուղին: (6 ամիս աշխատանք):
  4. Աղբարկղին ավելացնելով վերամշակման ունակություններ, ինչպես օրինակ `հատուկ կենսաբանական լուծույթներ թափել աղբի մեջ և օգնել վերամշակել այն դեռ աղբամանի ներսում: Սա կարող է օգտագործվել երկրի ներսում, օրինակ, այգիների համար պարարտություն արտադրելու համար, բայց հստակ կարող է օգտագործվել նաև արդյունաբերական բանկաների վրա: (6 ամիս աշխատանք):

Խորհուրդ ենք տալիս: