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

MQTT- ի հեռակառավարման վահանակ և լուսանկարչական հսկողություն. 8 քայլ
MQTT- ի հեռակառավարման վահանակ և լուսանկարչական հսկողություն. 8 քայլ

Video: MQTT- ի հեռակառավարման վահանակ և լուսանկարչական հսկողություն. 8 քայլ

Video: MQTT- ի հեռակառավարման վահանակ և լուսանկարչական հսկողություն. 8 քայլ
Video: Zigbee հեռակառավարման վահանակ խելացի տան Moes 4 կոճակների համար: Ընդհանուր ակնարկ, Home Assistant 2024, Նոյեմբեր
Anonim
Հեռակառավարման վահանակ և լուսանկարահսկում MQTT- ի նկատմամբ
Հեռակառավարման վահանակ և լուսանկարահսկում MQTT- ի նկատմամբ

Բարեւ Ձեզ.

Այսօր ես կցանկանայի խոսել այն մասին, թե ինչպես պատրաստել հեռակառավարման և մոնիտորինգի համակարգ, որը կարող է օգտագործվել, օրինակ ՝ ավտոտնակի դռների, լուսավորության, ջեռուցման, ճնշման վերահսկման, ջերմաստիճանի և շատ այլ պարամետրերի կառավարման համար: Բայց այս համակարգի հիմնական առանձնահատկությունն այն է, որ հեռակա օբյեկտից կարող եք լուսանկարներ ստանալ: Նախքան պատմությունը սկսելը ՝ կարճ նախաբան: Մի անգամ ես ցանկացա լուսանկարչական հսկողության համակարգ ստեղծել համատեղելի Arduino M0-SD տախտակի, VC0706 տեսախցիկի և Arduino- ի համար 3G/GPRS/GSM/GPS վահանի միջոցով: Arduino M0 -SD- ի հետ համատեղելի տախտակն ընտրվել է այն պայմաններից, որոնք շատ հեշտ է ծրագրավորել (ճիշտ այնպես, ինչպես Arduino UNO- ն), աշխատանքային լարումը 3.3V է. Սա շատ հարմար է VC0706 տեսախցիկի, մեծ քանակությամբ ROM- ի հետ աշխատելու համար: և RAM, UART- ի մի քանի նավահանգիստ, USB- ի առանձին վիրտուալ նավահանգիստ, բայց հիմնական առավելությունը միկրո SD միակցիչի առկայությունն է անմիջապես տախտակի վրա (Շատ հարմար է մեծ քանակությամբ տվյալների պահեստավորում, օրինակ ՝ պատկերներ):

3G/GPRS/GSM/GPS վահանը Arduino- ի համար շատ հարմար է համատեղելի Arduino M0-SD տախտակի հետ օգտագործման համար: Ինտերնետում կան մի քանի գրադարաններ, ինչպես նաև այս վահանի հետ աշխատելու բազմաթիվ օրինակներ: Տվյալների փոխանցման արագությունը (3G) շատ ավելի բարձր է, քան սովորական GPRS վահաններինը (հատկապես հարմար է պատկերներ փոխանցելու համար): GPS մոդուլի առկայությունը լրացուցիչ առավելություն է:

Ինտերնետում տվյալների (լուսանկարների) փոխանցման համար բջջային օպերատորից ընտրեցի էժան սակագին: Բայց հարց ծագեց ՝ ինչպե՞ս փոխանցել տվյալները: MMS? FTP? Ինչպե՞ս ստանալ ծանուցում տվյալների ստացման մասին (լուսանկար): Արդյունքում, ես որոշեցի բջջային հեռախոսում տեղադրված հավելվածի միջոցով տվյալներ (լուսանկարներ) ուղարկել էլ. Շատ հարմար ստացվեց::-) Ավարտված նախագիծը կարելի է դիտել այս հղումով:

Կա նաև նմանատիպ նախագիծ Arduino UNO- ի համար `հղումով:

Հետո որոշեցի ընդլայնել իմ սարքի ֆունկցիոնալությունը: Օրինակ, ավելացրեք LED- ները վերահսկելու ունակությունը (չնայած իրականում հնարավորությունները շատ ավելի լայն են): Դրա համար էլ. Փոստը շատ հարմար չէ: SMS- ի տարբերակը թանկ է և անհարմար: Եվ հետո ես իմացա MQTT- ի մասին: Չեմ նկարագրելու, թե ինչ է նա: Թույլ տվեք միայն ասել. Սա իսկապես հիանալի բան է::-) MQTT- ի օգնությամբ կարող եք փոխանակել ոչ միայն հաղորդագրություններ, այլ նաև երկուական ֆայլեր (պատկերներ): Հեռախոսի համար նախատեսված հավելվածում կարող եք հեշտությամբ ստեղծել ձեր սեփական ինտերֆեյսը:

Ես փնտրեցի MQTT արձանագրության իրականացման օրինակներ իմ 3G/GPRS/GSM/GPS վահանի (SIM5320) համար և, ցավոք, չգտա ինձ անհրաժեշտ իրականացումը: Բայց դա ինձ հանգիստ չթողեց: Ես որոշեցի ինքնուրույն իրականացնել անհրաժեշտ ֆունկցիոնալությունը: Արդյունքում, ինձ հաջողվեց ստեղծել մի սարք, որը վերահսկվում է (նշվում է երեք LED- ով) MQTT- ով բջջային հեռախոսի վրա տեղադրված հավելվածից, ինչպես նաև հեռախոսից հեռախոսից հրաման ուղարկող լուսանկար: (Ես ձեզ մի գաղտնիք կասեմ, որ նախկինում MQTT բրոքերի միջոցով նկարներ ուղարկելու ոչ մի օրինակ չեմ տեսել և դա արել եմ առաջին անգամ: Եվ երբ հասցրեցի փոխանցել առաջին նկարը, ես անչափ ուրախացա:):-)) Եվ Այսպիսով, ես առաջարկում եմ անմիջապես անցնել առաջին քայլին `անհրաժեշտ բաղադրիչների ցանկին:

Քայլ 1: Բաղադրիչների ցանկը

Բաղադրիչների ցանկ
Բաղադրիչների ցանկ
Բաղադրիչների ցանկ
Բաղադրիչների ցանկ
Բաղադրիչների ցանկ
Բաղադրիչների ցանկ
Բաղադրիչների ցանկ
Բաղադրիչների ցանկ

Մեզ անհրաժեշտ են հետևյալ բաղադրիչները.

1) Arduino M0-SD- ի հետ համատեղելի:

2) TTL- տեսախցիկ VC0706:

3) 3G/GPRS/GSM/GPS վահան Arduino- ի համար:

4) կարմիր, կանաչ, դեղին LED, 3 դիմադրիչ (100-500 Օմ), լարեր, կապի անկյունային միակցիչ ՝ 2,54 մմ սկիպիդարով:

5) AC-DC հոսանքի ադապտեր (6V 1A), 3G ալեհավաք և այլն:

Քայլ 2: Տեսախցիկի պատրաստում

Տեսախցիկի պատրաստում
Տեսախցիկի պատրաստում
Տեսախցիկի պատրաստում
Տեսախցիկի պատրաստում
Տեսախցիկի պատրաստում
Տեսախցիկի պատրաստում

Տեսախցիկն ունի RS-232 ելք ՝ համակարգչին անմիջական միացման համար: Անհրաժեշտ է հեռացնել MAX232- ը (RS-232 փոխարկիչ) և փակել համապատասխան կոնտակտների բարձիկները 7-10 (TX), 8-9 (RX) միջև:

Տեսախցիկին եկած վեց լարային մալուխը պետք է մի փոքր վերափոխվի.

  • Հեռացրեք երկու լարերը միակցիչից:
  • Վերադասավորեք կարմիր (+ 5V) և սև (GND) լարերը, ինչպես ցույց է տրված նկարում:

Մետաղալարերի մերկ ծայրերին պետք է զոդել ծայրեր `« իգական »:

Քայլ 3. Համատեղելի Arduino M0-SD- ի պատրաստում

Համատեղելի Arduino M0-SD- ի պատրաստում
Համատեղելի Arduino M0-SD- ի պատրաստում
Համատեղելի Arduino M0-SD- ի պատրաստում
Համատեղելի Arduino M0-SD- ի պատրաստում
Համատեղելի Arduino M0-SD- ի պատրաստում
Համատեղելի Arduino M0-SD- ի պատրաստում

Ինչպես արդեն նշվեց, համատեղելի Arduino M0-SD- ը ապարատային և ծրագրային ապահովում է `համատեղելի օրիգինալ Arduino M0- ի հետ, բայց այն ունի նաև ներկառուցված microSD միակցիչ` հիշողության քարտը միացնելու համար:

Տախտակի վրա տեսախցիկը համատեղելի Arduino M0-SD- ին միացնելու համար անհրաժեշտ է անկյունային միակցիչը միացնել TXD, RXD (միակցիչ X6) տերմինալներին, ինչպես ցույց է տրված նկարում: Այս նավահանգիստը համընկնում է «Սերիայի» հետ:

Տեսախցիկից սպիտակ (Camera RX) և դեղին (Camera TX) լարերը պետք է համապատասխանաբար միացված լինեն TXD և RXD (միակցիչ X6) տերմինալներին, ինչպես ցույց է տրված նկարում:

Քայլ 4. 3G/GPRS/GSM/GPS Shield SIM5320- ի պատրաստում

3G/GPRS/GSM/GPS Shield SIM5320 պատրաստում
3G/GPRS/GSM/GPS Shield SIM5320 պատրաստում
3G/GPRS/GSM/GPS Shield SIM5320 պատրաստում
3G/GPRS/GSM/GPS Shield SIM5320 պատրաստում
3G/GPRS/GSM/GPS Shield SIM5320 պատրաստում
3G/GPRS/GSM/GPS Shield SIM5320 պատրաստում

Նախքան SIM քարտը բնիկում տեղադրելը, դուք պետք է անջատեք PIN կոդի հարցումը: Այնուհետև տեղադրեք SIM քարտը տախտակի ներքևի հատվածի անցքի մեջ, ինչպես ցույց է տրված նկարում: Երկու թռիչք պետք է տեղադրվեն RX-1 (D1), TX-0 (D0) դիրքերում:

Քայլ 5: Սարքավորման հավաքում

Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում

Սարքավորման հավաքումը բաղկացած է մի քանի պարզ գործողություններից.

  • LED- ները վերահսկելու համար նախ պետք է կպցնել LED- ների և հոսանքի սահմանափակման դիմադրիչների (100-500 Օմ) փոքր դիզայն, ինչպես ցույց է տրված նկարում: Ուշադրություն դարձրեք LED- ների բևեռականությանը `անոդը պետք է զոդել ռեզիստորներին (+): LED- ների մակաբույծ ազդեցությունը նվազեցնելու համար ես սովորական ստվարաթղթից սև էկրան պատրաստեցի:
  • Միացրեք LED- ները և տեսախցիկը համատեղելի Arduino M0-SD տախտակին, ինչպես ցույց է տրված գծապատկերում: Տեսախցիկի (կարմիր մետաղալար «+ 5V» և սև մետաղալար «GND») էլեկտրամատակարարումը պետք է վերցվի «+ 5V», իսկ «GND» տերմինալներից ՝ անցքից: Դրա համար կարող եք նաև օգտագործել անկյունային միակցիչ:
  • Դրանից հետո միացրեք 3G/GPRS/GSM/GPS վահանը համատեղելի Arduino M0-SD տախտակին: Մի մոռացեք միացնել 3G ալեհավաքը:

Քայլ 6: MQTT բրոքերի տեղադրում

MQTT բրոքերի կարգավորում
MQTT բրոքերի կարգավորում
MQTT բրոքերի կարգավորում
MQTT բրոքերի կարգավորում
MQTT բրոքերի կարգավորում
MQTT բրոքերի կարգավորում

Ես ընտրեցի շատ հարմար և հստակ www.cloudmqtt.com որպես MQTT բրոքեր: Այն տրամադրում է անվճար թեստավորում: Հնարավոր է նաև հաղորդագրություններ ստանալ և ուղարկել անմիջապես կայքում:

Կարգավորման կարգը հետևյալն է.

  1. Գրանցվել առցանց:
  2. Կտտացրեք «Ստեղծել նոր դեպք» կոճակը:
  3. Սահմանեք անունը, օրինակ ՝ «MqttCamera»:
  4. Կտտացրեք «Ընտրել տարածաշրջանը» կոճակը: Օրինակ, ընտրեք «US-East-1 (Հյուսիսային Վիրջինիա)»:
  5. Կտտացրեք «Վերանայել» կոճակին:
  6. Կտտացրեք «Ստեղծեք դեպք» կոճակը: Դիտեք «Ակնթարթը հաջողությամբ ստեղծվեց» հաղորդագրությունը:
  7. Կտտացրեք «MqttCamera»:
  8. Հիշեք տեղեկությունները. Սերվեր, օգտվող, գաղտնաբառ, նավահանգիստ, API բանալին (դա մեզ անհրաժեշտ կլինի 7 -րդ և 8 -րդ քայլերում):
  9. Այնուհետև կարող եք գնալ «WEBSOCKET UI» պատուհան, որտեղ կարող եք փորձարկել և կարգաբերել, դիտել և ուղարկել հաղորդագրություններ (հաջորդ պատուհանում մեզ անհրաժեշտ կլինի այս պատուհանը):

Քայլ 7: MQTT Dash հավելված

MQTT Dash հավելված
MQTT Dash հավելված
MQTT Dash հավելված
MQTT Dash հավելված
MQTT Dash հավելված
MQTT Dash հավելված

Բջջային հեռախոսի կառավարման վահանակ ստեղծելու համար ես ընտրեցի շատ օգտագործողի համար հարմար և հստակ MQTT Dash ծրագիր:

Տեղադրեք MQTT Dash ծրագիրը ձեր հեռախոսի վրա և կատարեք հետևյալ կարգավորումները.

  1. Բացեք դիմումը:
  2. MQTT վահանակի պատուհանում կտտացրեք (+) ՝ նոր կառավարման վահանակ ավելացնելու համար:
  3. Պատուհանում, որը հայտնվում է, լրացրեք անհրաժեշտ դաշտերը, ինչպիսիք են ՝ Անուն (օրինակ ՝ MqttCamera), Հասցե, նավահանգիստ, Օգտվողի անուն, Օգտվողի գաղտնաբառ (Տվյալներ վերցրեք 6 -րդ քայլից):
  4. Դաշտերը լրացնելուց հետո կտտացրեք սկավառակի պատկերակին (գործողություն «Պահել»):
  5. Կառավարման վահանակների ցանկով պատուհանում կտտացրեք «MqttCamera» հայտնված տողին:
  6. Կառավարման վահանակի պատուհանում, որը բացվում է, կտտացրեք սլաքի պատկերակին ՝ չափումները բեռնելու համար:
  7. Այնուհետև բացվող պատուհանում կտտացրեք «Բաժանորդագրվեք և սպասեք մետրիքին» կոճակին:
  8. Անհատական համակարգչի վրա բացեք հաշիվ MQTT- բրոքերում (տես նախորդ քայլը), բացեք «WEBSOCKET UI» պատուհանը, «ուղարկել հաղորդագրություն» պատուհանում սահմանեք «չափումներ/փոխանակում» թեման և գրանցեք տեքստը կցված metrics.txt ֆայլը «Հաղորդագրություն» պատուհանում, կտտացրեք «Ուղարկել» կոճակին:
  9. Սպասեք 10 վայրկյան, համոզվեք, որ չափիչը ստացվել է հեռախոսում և կառավարման վահանակը թարմացվել է:

Այնուհետև կարող եք անցնել համատեղելի Arduino M0-SD ծրագրավորման:

Քայլ 8: Programրագրավորում և աշխատանք

Programրագրավորում և աշխատանք
Programրագրավորում և աշխատանք
Programրագրավորում և աշխատանք
Programրագրավորում և աշխատանք
Programրագրավորում և աշխատանք
Programրագրավորում և աշխատանք
Programրագրավորում և աշխատանք
Programրագրավորում և աշխատանք

Նախքան համատեղելի Arduino M0-SD ծրագրավորումը, անհրաժեշտ է համակարգչում տեղադրել բոլոր անհրաժեշտ գրադարանները (pubsubclient-master, TinyGSM-master), որը ես մեջբերեցի ստորև: Այս գրադարանները փոքր-ինչ փոփոխվեցին `համատեղելի Arduino M0-SD տախտակի, VC0706 տեսախցիկի և 3G/GPRS/GSM/GPS SIM5320 վահանի հետ աշխատելու համար:

Դուք պետք է միացնեք ձեր մալուխը և սնուցման աղբյուրը (6V 1A 3G/GPRS/GSM/GPS վահանը միացնելու համար) համատեղելի Arduino M0-SD- ին:

Սկսեք Arduino IDE- ն: Arduino- ում IDE- ն պետք է ընտրի ՝ Գործիքներ-> Տախտակ. Arduino M0 Pro (բնիկ USB պորտ):

Բացեք MqttCamera.ino ուրվագիծը: Լրացրեք դաշտերը ՝ օգտվողի անուն, օգտվողի գաղտնաբառ, API բանալի, նավահանգիստ, սերվեր (վերցրեք տվյալները 6 -րդ քայլից):

Բացեք Serial Monitor պատուհանը:

Վերբեռնեք ուրվագիծ: Ես մանրամասն չեմ նկարագրում ծրագրավորման ընթացակարգը (ինտերնետում բավականաչափ ցուցումներ կան):

Հաջող բեռնվելուց և պատշաճ կերպով հավաքելուց հետո Սերիական մոնիտորի պատուհանում պետք է հայտնվեն հետևյալ տեղեկությունները.

VC0706 Տեսախցիկ + Arduino M0 + SIM5320 + MQTT

Camera init… տարբերակ ՝ ----------------- VC0703 1.00 Ctrl infr գոյություն ունի օգտագործողի կողմից սահմանված սենսոր 525 ----------------- հաջողություն ! Մոդեմի նախնական մեկնարկ… Մոդեմ ՝ AT+CGMM SIMCOM_SIM5320E Սպասում է ցանցին… OK Միանում է ինտերնետին OK Միանում 3.83.68.228 -ին ձախողվում է միանում 3.83.68.228 OK Ping: 0

«Ping: XX» տողը պարբերական հաղորդագրություն է համատեղելի Arduino M0-SD- ից սերվերին: Այս տեղեկատվության փոխարեն կարող եք ուղարկել ADC չափումներ, մուտքագրման կարգավիճակ և այլն:

MQTT Dash հավելվածում կտտացրեք լամպերի պատկերներին (LED_YELLOW, LED_GREEN, LED_RED) - միացրեք/անջատեք: Նայեք Սերիայի մոնիտորի պատուհանում. Տեղեկատվություն պետք է լինի այսպիսի բանի մասին.

LED_YELLOW Միացված է

LED_YELLOW_Off LED_GREEN On LED_GREEN off LED_RED On LED_RED Off

Կտտացրեք տեսախցիկի պատկերակին - ուղարկեք «SHOOT» հրահանգը և մի քիչ սպասեք: Սերիական մոնիտորի պատուհանում պետք է հայտնվեն հետևյալ տեղեկությունները.

Սկսեք կրակել:

Լուսանկարն արված է: ստեղծել IMAGE332-j.webp

Եվ որոշ ժամանակ անց (5-10 վայրկյան) պատուհանում «ԴԻՏԵԼ ՊԱՏԿԵՐԸ» պետք է ցուցադրվի լուսանկար:

Theույցի համար ես VC0706 տեսախցիկը ուղղեցի դեպի LED- ները, որպեսզի կամայական եղանակով դրանք փոխելուց հետո տեսնեք նրանց կարգավիճակը: Բայց իրական օգտագործման դեպքում դուք կարող եք տեսախցիկը ուղղել սենյակ, դուռ, փողոց, դարպաս, մեքենա և այլն (Իհարկե, պետք է հաշվի առնել օրենքի պահանջները): Որպես ցուցադրություն ՝ ես ներկայացնում եմ մի քանի սքրինշոթ բջջային հեռախոս, որտեղ ցուցադրվում են LED- ների տեղադրված և փաստացի վիճակները:

Հուսով եմ, որ իմ հրահանգը հետաքրքիր և օգտակար էր ձեզ համար: Ուրախ կլինեմ ձեր արձագանքների և մեկնաբանությունների համար: Իմ սարքը զարգացնելու և ձեզ հետ նոր նորարարություններ կիսելու ծրագրերում: Շնորհակալություն դիտելու համար!

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