Turinys:
- 1 žingsnis: komponentų sąrašas
- 2 žingsnis: fotoaparato paruošimas
- 3 žingsnis: Suderinamo „Arduino M0-SD“paruošimas
- 4 žingsnis: 3G/GPRS/GSM/GPS skydo SIM5320 paruošimas
- 5 žingsnis: Aparatūros surinkimas
- 6 veiksmas: nustatykite „MQTT Broker“
- 7 žingsnis: „MQTT Dash“programa
- 8 žingsnis: programavimas ir darbas
Video: Nuotolinis valdymas ir nuotraukų stebėjimas per MQTT: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
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
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
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
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
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
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“
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:
- Registruokitės internetu.
- Paspauskite mygtuką „Sukurti naują egzempliorių“.
- Nustatykite pavadinimą, pvz., „MqttCamera“.
- Paspauskite mygtuką „Pasirinkti regioną“. Pavyzdžiui, pasirinkite „US-East-1 (Northern Virginia)“.
- Paspauskite mygtuką „Peržiūrėti“.
- Paspauskite mygtuką „Sukurti egzempliorių“. Peržiūrėkite pranešimą „Egzempliorius sėkmingai sukurtas“.
- Spustelėkite „MqttCamera“.
- Prisiminkite informaciją: serveris, vartotojas, slaptažodis, prievadas, API raktas (mums jo reikės 7 ir 8 žingsniuose).
- 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
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:
- Atidarykite programą.
- MQTT brūkšnių lange spustelėkite (+), kad pridėtumėte naują valdymo skydelį.
- Pasirodžiusiame lange užpildykite reikiamus laukus, tokius kaip: Vardas (pvz., „MqttCamera“), Adresas, prievadas, Vartotojo vardas, Vartotojo slaptažodis (Paimkite duomenis iš 6 veiksmo).
- Užpildę laukus, spustelėkite diskelio piktogramą (operacija „Išsaugoti“).
- Lange su valdymo skydelių sąrašu spustelėkite pasirodžiusią eilutę „MqttCamera“.
- Atsidariusiame valdymo skydelio lange spustelėkite rodyklės piktogramą, kad įkeltumėte metriką.
- Tada iššokančiame lange spustelėkite mygtuką „Prenumeruoti ir laukti metrikos“.
- 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“.
- 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
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:
IR nuotolinis kompiuterio valdymas naudojant „Arduino“: 6 žingsniai
IR nuotolinis kompiuterio valdymas naudojant „Arduino“: Naudodami šį imtuvą, nuotoliniu būdu valdykite kompiuterį IR modulio ir „Arduino“dėka. Lazzy režimas suaktyvintas ^^
„Arduino“: laiko programos ir nuotolinis valdymas iš „Android“programos: 7 žingsniai (su paveikslėliais)
„Arduino“: laiko programos ir nuotolinis valdymas iš „Android“programos: aš visada galvojau, kas atsitiks su visomis tomis „Arduino“lentomis, kurių žmonėms nereikia, kai baigs šaunius projektus. Tiesa šiek tiek liūdina: nieko. Aš tai pastebėjau savo šeimos namuose, kur mano tėvas bandė pasistatyti savo namus
Nuotolinis temperatūros ir drėgmės stebėjimas naudojant ESP8266 ir „Blynk“programą: 15 žingsnių
Nuotolinis temperatūros ir drėgmės stebėjimas naudojant ESP8266 ir „Blynk App“: tai buvo mano pirmasis projektas su ESP8266 lustu. Aš ką tik pastatiau naują šiltnamį šalia savo namų ir man buvo įdomu, kas ten vyksta per dieną? Turiu omenyje, kaip keičiasi temperatūra ir drėgmė? Ar šiltnamis pakankamai vėdinamas? Taigi aš sumažinu
Nuotolinis „Korad“maitinimo šaltinio stebėjimas: 8 žingsniai (su nuotraukomis)
Nuotolinis „Korad“maitinimo šaltinio stebėjimas: Maitinimo šaltiniai yra būtinas įrankis kiekvienam žmogui, susijusiam su elektronika. Man atsitinka, kad turiu „Korad“, tai yra linijinis (sunkus) maitinimo šaltinis, kuris yra už gerą kainą ir gavo gerų atsiliepimų. Kas yra maitinimo šaltinis ir kokia yra problema
Nuotolinis temperatūros stebėjimas: 7 žingsniai (su nuotraukomis)
Nuotolinis temperatūros stebėjimas: šis projektas parodys, kaip sukurti nuotolinę temperatūros stebėjimo sistemą naudojant „Phidgets“. Šios sistemos dažnai naudojamos siekiant užtikrinti, kad atokiose vietose (atostogų namuose, serverių patalpose ir pan.) Temperatūra nebūtų pavojinga. Ši sistema yra