Turinys:

Nuotolinis valdymas ir nuotraukų stebėjimas per MQTT: 8 žingsniai
Nuotolinis valdymas ir nuotraukų stebėjimas per MQTT: 8 žingsniai

Video: Nuotolinis valdymas ir nuotraukų stebėjimas per MQTT: 8 žingsniai

Video: Nuotolinis valdymas ir nuotraukų stebėjimas per MQTT: 8 žingsniai
Video: NAMAS UŽMIESTYJE: apsaugos sistema, nuotolinis valdymas ir vandens lygio stebėjimas 2024, Lapkritis
Anonim
Nuotolinis valdymas ir nuotraukų stebėjimas per MQTT
Nuotolinis valdymas ir nuotraukų stebėjimas per MQTT

Sveiki.

Šiandien norėčiau pakalbėti apie tai, kaip sukurti nuotolinio valdymo ir stebėjimo sistemą, kuri galėtų būti naudojama, pavyzdžiui, garažo vartams, apšvietimui, šildymui, slėgio valdymui, temperatūrai ir daugeliui kitų parametrų valdyti. Tačiau pagrindinis šios sistemos bruožas yra tas, kad galite nuotoliniu būdu gauti nuotraukas iš nuotolinio objekto. Prieš pradėdami istoriją, trumpas pratarmė. Kartą norėjau sukurti nuotraukų stebėjimo sistemą, naudojant suderinamą „Arduino M0-SD“plokštę, „VC0706“kamerą ir „Arduino“3G/GPRS/GSM/GPS skydą. „Arduino M0 -SD“suderinama plokštė buvo pasirinkta iš sąlygų, kad ją labai lengva programuoti (kaip ir „Arduino UNO“), darbinė įtampa yra 3,3 V - tai labai patogu dirbant su fotoaparatu „VC0706“, didelis ROM kiekis ir RAM, keli UART prievadai, atskiras virtualus USB prievadas, tačiau pagrindinis privalumas yra „micro SD“jungties buvimas tiesiai ant plokštės (labai patogu saugoti didelius duomenų kiekius, pvz., vaizdus).

„Arduino“3G/GPRS/GSM/GPS skydas yra labai patogus naudoti su suderinama „Arduino M0-SD“plokšte. Internete yra kelios bibliotekos, taip pat daug pavyzdžių, kaip dirbti su šiuo skydu. Duomenų perdavimo greitis (3G) yra daug didesnis nei įprastų GPRS ekranų (ypač patogu perduoti vaizdus). GPS modulio prieinamumas yra papildomas privalumas.

Duomenų (nuotraukų) perdavimui internetu pasirinkau pigų mobiliojo ryšio operatoriaus tarifą. Tačiau iškilo klausimas: kaip perduoti duomenis? MMS? FTP? Kaip gauti pranešimą apie duomenų (nuotraukos) gavimą? Dėl to priėmiau sprendimą siųsti duomenis (nuotraukas) į el. Paštą ir peržiūrėti laiškus per mobiliajame telefone įdiegtą programą. Tai pasirodė labai patogu!:-) Baigtą projektą galite peržiūrėti šioje nuorodoje.

Taip pat yra panašus projektas „Arduino UNO“.

Tada nusprendžiau išplėsti savo įrenginio funkcionalumą. Pavyzdžiui, pridėkite galimybę valdyti šviesos diodus (nors iš tikrųjų galimybės yra daug platesnės). El. Paštas tam nėra labai tinkamas. SMS parinktis yra brangi ir nepatogi. Ir tada aš sužinojau apie MQTT. Neaprašysiu, kas jis toks. Leiskite man pasakyti: tai tikrai šaunus dalykas!:-) MQTT pagalba galite keistis ne tik žinutėmis, bet ir dvejetainiais failais (vaizdais). Telefono programoje galite lengvai sukurti savo sąsają.

Ieškojau savo 3G/GPRS/GSM/GPS skydo (SIM5320) MQTT protokolo įgyvendinimo pavyzdžių ir, deja, neradau reikiamo įgyvendinimo. Bet tai nepaliko manęs vieno. Aš nusprendžiau savarankiškai įgyvendinti būtiną funkcionalumą. Dėl to man pavyko sukurti įrenginį, kuris yra valdomas (pažymėtas trimis šviesos diodais) per MQTT iš mobiliajame telefone įdiegtos programos, taip pat siunčia nuotrauką į telefoną pagal komandą iš telefono. (Pasakysiu jums paslaptį, kad anksčiau nemačiau jokių pavyzdžių, kaip siųsti vaizdus per MQTT brokerį ir tai padariau pirmą kartą. O kai pavyko perkelti pirmąją nuotrauką, buvau be galo laiminga!:-)) Ir Taigi siūlau pereiti tiesiai prie pirmo žingsnio - būtinų komponentų sąrašo.

1 žingsnis: komponentų sąrašas

Komponentų sąrašas
Komponentų sąrašas
Komponentų sąrašas
Komponentų sąrašas
Komponentų sąrašas
Komponentų sąrašas
Komponentų sąrašas
Komponentų sąrašas

Mums reikia kitų komponentų:

1) Suderinamas su „Arduino M0-SD“.

2) TTL kamera VC0706.

3) „Arduino“3G/GPRS/GSM/GPS skydas.

4) Raudoni, žali, geltoni šviesos diodai, 3 rezistoriai (100–500 omų), laidai, kaiščio kampo jungtis su 2,54 mm žingsniu.

5) AC-DC maitinimo adapteris (6V 1A), 3G antena ir kt.

2 žingsnis: fotoaparato paruošimas

Kameros paruošimas
Kameros paruošimas
Kameros paruošimas
Kameros paruošimas
Kameros paruošimas
Kameros paruošimas

Fotoaparatas turi RS-232 išvestį, skirtą tiesioginiam prijungimui prie kompiuterio. Būtina nuimti MAX232 (RS-232 keitiklį) ir uždaryti kontaktinius blokus tarp atitinkamų kaiščių 7-10 (TX), 8-9 (RX).

Su fotoaparatu gautą šešių laidų kabelį reikia šiek tiek perdaryti:

  • Nuimkite du laidus nuo jungties.
  • Pertvarkykite raudonus (+ 5V) ir juodus (GND) laidus, kaip parodyta paveikslėlyje.

Ant plikų laidų galų turi būti lituoti antgaliai, tokie kaip „patelė“.

3 žingsnis: Suderinamo „Arduino M0-SD“paruošimas

Suderinamo „Arduino M0-SD“paruošimas
Suderinamo „Arduino M0-SD“paruošimas
Suderinamo „Arduino M0-SD“paruošimas
Suderinamo „Arduino M0-SD“paruošimas
Suderinamo „Arduino M0-SD“paruošimas
Suderinamo „Arduino M0-SD“paruošimas

Kaip jau minėta, suderinamas „Arduino M0-SD“yra aparatinė ir programinė įranga, suderinama su originaliu „Arduino M0“, tačiau ji taip pat turi įmontuotą „microSD“jungtį atminties kortelei prijungti.

Norėdami prijungti fotoaparatą prie plokštėje esančio suderinamo „Arduino M0-SD“, kampinę jungtį reikia lituoti prie gnybtų TXD, RXD (jungtis X6), kaip parodyta paveikslėlyje. Šis prievadas atitinka „Serial“.

Baltos („Camera RX“) ir geltonos („Camera TX“) laidai iš fotoaparato turi būti atitinkamai prijungti prie TXD ir RXD (X6 jungtis) gnybtų, kaip parodyta paveikslėlyje.

4 žingsnis: 3G/GPRS/GSM/GPS skydo SIM5320 paruošimas

3G/GPRS/GSM/GPS skydo SIM5320 paruošimas
3G/GPRS/GSM/GPS skydo SIM5320 paruošimas
3G/GPRS/GSM/GPS skydo SIM5320 paruošimas
3G/GPRS/GSM/GPS skydo SIM5320 paruošimas
3G/GPRS/GSM/GPS skydo SIM5320 paruošimas
3G/GPRS/GSM/GPS skydo SIM5320 paruošimas

Prieš įdėdami SIM kortelę į angą, turite išjungti PIN kodo užklausą. Tada įdėkite SIM kortelę į lizdą apatinėje plokštės pusėje, kaip parodyta paveikslėlyje. Du džemperiai turi būti sumontuoti RX-1 (D1), TX-0 (D0) padėtyje.

5 žingsnis: Aparatūros surinkimas

Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas

Aparatūros surinkimas susideda iš kelių paprastų veiksmų:

  • Norėdami valdyti šviesos diodus, pirmiausia turite lituoti nedidelį šviesos diodų ir srovės ribojimo rezistorių dizainą (100-500 omų), kaip parodyta paveikslėlyje. Atkreipkite dėmesį į šviesos diodų poliškumą - anodas turi būti lituojamas prie rezistorių (+). Norėdami sumažinti parazitinį šviesos diodų poveikį, iš įprasto kartono padariau juodą ekraną.
  • Onne Prijunkite šviesos diodus ir fotoaparatą prie suderinamos „Arduino M0-SD“plokštės, kaip parodyta diagramoje. Fotoaparato maitinimo šaltinis (raudonas laidas „+ 5V“ir juodas laidas „GND“) turi būti paimtas iš „+ 5V“, o „GND“- iš lizdo. Tam taip pat galite naudoti kampinę jungtį.
  • Po to prijunkite 3G/GPRS/GSM/GPS skydą prie suderinamos „Arduino M0-SD“plokštės. Nepamirškite prijungti 3G antenos.

6 veiksmas: nustatykite „MQTT Broker“

„MQTT Broker“nustatymas
„MQTT Broker“nustatymas
„MQTT Broker“nustatymas
„MQTT Broker“nustatymas
„MQTT Broker“nustatymas
„MQTT Broker“nustatymas

Aš pasirinkau labai patogų ir aiškų www.cloudmqtt.com kaip MQTT brokeris. Tai suteikia nemokamą testavimą. Taip pat galima gauti ir siųsti pranešimus tiesiogiai svetainėje.

Sąrankos procedūra yra tokia:

  1. Registruokitės internetu.
  2. Paspauskite mygtuką „Sukurti naują egzempliorių“.
  3. Nustatykite pavadinimą, pvz., „MqttCamera“.
  4. Paspauskite mygtuką „Pasirinkti regioną“. Pavyzdžiui, pasirinkite „US-East-1 (Northern Virginia)“.
  5. Paspauskite mygtuką „Peržiūrėti“.
  6. Paspauskite mygtuką „Sukurti egzempliorių“. Peržiūrėkite pranešimą „Egzempliorius sėkmingai sukurtas“.
  7. Spustelėkite „MqttCamera“.
  8. Prisiminkite informaciją: serveris, vartotojas, slaptažodis, prievadas, API raktas (mums jo reikės 7 ir 8 žingsniuose).
  9. Tada galite pereiti prie lango „WEBSOCKET UI“, kuriame galite išbandyti ir derinti, peržiūrėti ir siųsti pranešimus (šio lango reikės kitame žingsnyje).

7 žingsnis: „MQTT Dash“programa

„MQTT Dash“programa
„MQTT Dash“programa
„MQTT Dash“programa
„MQTT Dash“programa
„MQTT Dash“programa
„MQTT Dash“programa

Norėdami sukurti valdymo skydelį mobiliajame telefone, pasirinkau labai patogią ir aiškią „MQTT Dash“programėlę.

Įdiekite savo telefone programą „MQTT Dash“ir atlikite šiuos nustatymus:

  1. Atidarykite programą.
  2. MQTT brūkšnių lange spustelėkite (+), kad pridėtumėte naują valdymo skydelį.
  3. Pasirodžiusiame lange užpildykite reikiamus laukus, tokius kaip: Vardas (pvz., „MqttCamera“), Adresas, prievadas, Vartotojo vardas, Vartotojo slaptažodis (Paimkite duomenis iš 6 veiksmo).
  4. Užpildę laukus, spustelėkite diskelio piktogramą (operacija „Išsaugoti“).
  5. Lange su valdymo skydelių sąrašu spustelėkite pasirodžiusią eilutę „MqttCamera“.
  6. Atsidariusiame valdymo skydelio lange spustelėkite rodyklės piktogramą, kad įkeltumėte metriką.
  7. Tada iššokančiame lange spustelėkite mygtuką „Prenumeruoti ir laukti metrikos“.
  8. Asmeniniame kompiuteryje atidarykite paskyrą MQTT brokeryje (žr. Ankstesnį veiksmą), atidarykite langą „WEBSOCKET UI“, lange „Siųsti pranešimą“nustatykite temą „metrika/keitimasis“ir įrašykite tekstą iš pridėtą metrics.txt failą lange „Pranešimas“, spustelėkite mygtuką „Siųsti“.
  9. Palaukite 10 sekundžių, įsitikinkite, kad metrika yra gauta telefone ir valdymo skydelis atnaujintas.

Tada galite pereiti prie suderinamo „Arduino M0-SD“programavimo.

8 žingsnis: programavimas ir darbas

Programavimas ir darbas
Programavimas ir darbas
Programavimas ir darbas
Programavimas ir darbas
Programavimas ir darbas
Programavimas ir darbas
Programavimas ir darbas
Programavimas ir darbas

Prieš programuodami suderinamą „Arduino M0-SD“, turite kompiuteryje įdiegti visas reikalingas bibliotekas (pubsubclient-master, TinyGSM-master), kurias aš citavau žemiau. Šios bibliotekos buvo šiek tiek pakeistos, kad veiktų su suderinama „Arduino M0-SD“plokšte, „VC0706“kamera ir 3G/GPRS/GSM/GPS SIM5320 skydu.

Turite prijungti kabelį ir maitinimo šaltinį (6V 1A 3G/GPRS/GSM/GPS skydui maitinti) prie suderinamo „Arduino M0-SD“.

Paleiskite „Arduino IDE“. „Arduino“IDE turi pasirinkti: Įrankiai-> Lenta: „Arduino M0 Pro“(vietinis USB prievadas).

Atidarykite eskizą „MqttCamera.ino“. Užpildykite laukus: vartotojo vardas, vartotojo slaptažodis, API raktas, prievadas, serveris (paimkite duomenis iš 6 veiksmo).

Atidarykite „Serial Monitor“langą.

Įkelti eskizą. Aš išsamiai neaprašau programavimo procedūros (internete yra pakankamai instrukcijų).

Po sėkmingo įkėlimo ir tinkamo surinkimo „Serial Monitor“lange turėtų būti pateikta ši informacija:

VC0706 Fotoaparatas + „Arduino M0“+ SIM5320 + MQTT

Fotoaparato inicijavimas … versija: ----------------- VC0703 1.00 Ctrl infr egzistuoja Vartotojo apibrėžtas jutiklis 525 ----------------- sėkmė ! Paleidžiamas modemas… Modemas: AT+CGMM SIMCOM_SIM5320E Laukiama tinklo… Gerai Prisijungiama prie interneto Gerai Prisijungiama prie 3.83.68.228 nepavyksta Prisijungti prie 3.83.68.228 Gerai Ping: 0

Eilutė „Ping: XX“yra periodinis pranešimas iš suderinamo „Arduino M0-SD“į serverį. Vietoj šios informacijos galite siųsti ADC matavimus, įvesties būseną ir dar daugiau.

Programoje „MQTT Dash“spustelėkite lempučių piktogramas (LED_YELLOW, LED_GREEN, LED_RED) - įjunkite/išjunkite. Pažvelkite į serijinio monitoriaus langą - ten turėtų būti informacijos apie kažką panašaus:

LED_YELLOW Įjungta

LED_YELLOW_Išjungta LED_GREEN Įjungta LED_GREEN išjungta LED_RED Įjungta LED_RED Išjungta

Spustelėkite fotoaparato piktogramą - nusiųskite komandą „SHOOT“ir palaukite. „Serial Monitor“lange turėtų būti ši informacija:

Pradėkite šaudyti!

Nuotrauka padaryta! sukurti IMAGE332-j.webp

Ir po kurio laiko (5-10 sekundžių) lange "VIEW IMAGE" turėtų būti rodoma nuotrauka.

Demonstracijai aš nukreipiau fotoaparatą VC0706 į šviesos diodus, kad galėtumėte pamatyti jų būseną po to, kai juos savavališkai perjungiau. Bet realiai naudodamiesi fotoaparatu galite nukreipti jį į kambarį, duris, gatvę, vartus, automobilį ir pan. (Žinoma, turite atsižvelgti į įstatymų reikalavimus). Kaip pavyzdys pateikiu keletą ekrano kopijų iš mobilusis telefonas, kuriame rodomos įdiegtos ir faktinės šviesos diodų būsenos.

Tikiuosi, kad mano pamoka jums buvo įdomi ir naudinga. Man bus malonu jūsų atsiliepimai ir komentarai. Planuodamas kurti savo įrenginį ir dalintis su jumis naujomis naujovėmis. Ačiū, kad žiūrėjote!

Rekomenduojamas: