Kazalo:

Daljinski upravljalnik in nadzor fotografij prek MQTT: 8 korakov
Daljinski upravljalnik in nadzor fotografij prek MQTT: 8 korakov

Video: Daljinski upravljalnik in nadzor fotografij prek MQTT: 8 korakov

Video: Daljinski upravljalnik in nadzor fotografij prek MQTT: 8 korakov
Video: DRON Dji phantom 3 professional 2024, November
Anonim
Daljinski upravljalnik in nadzor fotografij prek MQTT
Daljinski upravljalnik in nadzor fotografij prek MQTT

Zdravo.

Danes bi rad govoril o tem, kako narediti sistem za daljinsko upravljanje in nadzor, ki bi ga lahko na primer uporabljali za nadzor garažnih vrat, razsvetljave, ogrevanja, nadzora tlaka, temperature in mnogih drugih parametrov. Toda glavna značilnost tega sistema je, da lahko na daljavo sprejemate fotografije z oddaljenega predmeta. Preden začnete zgodbo, kratek predgovor. Ko sem hotel narediti sistem za fotonadzor z uporabo združljive plošče Arduino M0-SD, kamere VC0706 in 3G/GPRS/GSM/GPS ščita za Arduino. Arduino M0 -SD združljiva plošča je bila izbrana iz pogojev, da je zelo enostavna za programiranje (tako kot Arduino UNO), delovna napetost je 3,3 V - to je zelo priročno za delo s kamero VC0706, veliko ROM -a in RAM, več vrat UART, ločena navidezna vrata USB, glavna prednost pa je prisotnost priključka mikro SD neposredno na plošči (zelo priročno je shranjevanje velikih količin podatkov, na primer slik).

3G/GPRS/GSM/GPS ščit za Arduino je zelo priročen za uporabo z združljivo ploščo Arduino M0-SD. Na internetu je več knjižnic, pa tudi veliko primerov za delo s tem ščitom. Hitrost prenosa podatkov (3G) je veliko višja od hitrosti običajnih ščitov GPRS (še posebej priročno za prenos slik). Razpoložljivost GPS modula je dodatna prednost.

Za prenos podatkov (fotografij) po internetu sem izbral nizkocenovno tarifo mobilnega operaterja. Pojavilo pa se je vprašanje: kako prenesti podatke? MMS? FTP? Kako prejeti obvestilo o prejemu podatkov (fotografija)? Posledično sem prišel do odločitve, da podatke (fotografije) pošljem po e-pošti in si ogledam črke prek aplikacije, nameščene na mobilnem telefonu. Izkazalo se je zelo priročno!:-) Končan projekt si lahko ogledate na tej povezavi.

Podoben projekt obstaja tudi za Arduino UNO.

Nato sem se odločil razširiti funkcionalnost svoje naprave. Na primer, dodajte možnost upravljanja LED (čeprav so v resnici možnosti veliko širše). E-pošta za to ni zelo primerna. Možnost SMS je draga in neprijetna. In potem sem izvedel za MQTT. Ne bom opisoval, kaj je. Naj povem samo: To je res kul stvar!:-) S pomočjo MQTT lahko izmenjujete ne samo sporočila, ampak tudi binarne datoteke (slike). V aplikaciji za telefon lahko preprosto ustvarite lasten vmesnik.

Poiskal sem primere implementacije protokola MQTT za svoj 3G/GPRS/GSM/GPS ščit (SIM5320) in na žalost nisem našel izvedbe, ki sem jo potreboval. A to me ni pustilo pri miru. Odločil sem se za samostojno izvajanje potrebne funkcionalnosti. Posledično mi je uspelo ustvariti napravo, ki je nadzirana (označena s tremi LED) prek MQTT iz aplikacije, nameščene v mobilnem telefonu, in pošlje fotografijo v telefon na ukaz iz telefona. (Povedal vam bom skrivnost, da prej nisem videl primerov pošiljanja slik prek posrednika MQTT in sem to storil prvič. In ko mi je uspelo prenesti prvo sliko, sem bil neizmerno vesel!:-)) In zato predlagam, da gremo naravnost na prvi korak - seznam potrebnih komponent.

Korak: Seznam komponent

Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent

Potrebujemo naslednje komponente:

1) Združljiv z Arduino M0-SD.

2) TTL-kamera VC0706.

3) 3G/GPRS/GSM/GPS ščit za Arduino.

4) Rdeče, zelene, rumene LED diode, 3 upori (100-500 Ohm), žice, kotni konektor z zatičem 2,54 mm.

5) Napajalnik AC-DC (6V 1A), 3G antena itd.

2. korak: Priprava kamere

Priprava kamere
Priprava kamere
Priprava kamere
Priprava kamere
Priprava kamere
Priprava kamere

Kamera ima izhod RS-232 za neposredno povezavo z osebnim računalnikom. Odstranite MAX232 (pretvornik RS-232) in zaprite kontaktne ploščice med ustreznimi zatiči 7-10 (TX), 8-9 (RX).

Šestožični kabel, priložen fotoaparatu, je treba nekoliko predelati:

  • Odstranite dve žici iz priključka.
  • Preuredite rdeče (+ 5V) in črne (GND) žice, kot je prikazano na sliki.

Na golih koncih žic je treba spajkati konice, kot je "ženska".

3. korak: Priprava združljivega Arduino M0-SD

Priprava združljivega Arduino M0-SD
Priprava združljivega Arduino M0-SD
Priprava združljivega Arduino M0-SD
Priprava združljivega Arduino M0-SD
Priprava združljivega Arduino M0-SD
Priprava združljivega Arduino M0-SD

Kot smo že omenili, je združljiv Arduino M0-SD strojno in programsko združljiv z izvirnim Arduinom M0, ima pa tudi vgrajen priključek microSD za priključitev pomnilniške kartice.

Za priključitev fotoaparata na združljiv Arduino M0-SD na plošči je treba kotni priključek spajkati na sponke TXD, RXD (konektor X6), kot je prikazano na sliki. Ta vrata se ujemajo s serijskim.

Bele (Camera RX) in rumene (Camera TX) žice iz kamere morajo biti priključene na priključke TXD in RXD (priključek X6), kot je prikazano na sliki.

4. korak: Priprava 3G/GPRS/GSM/GPS ščita SIM5320

Priprava 3G/GPRS/GSM/GPS ščita SIM5320
Priprava 3G/GPRS/GSM/GPS ščita SIM5320
Priprava 3G/GPRS/GSM/GPS ščita SIM5320
Priprava 3G/GPRS/GSM/GPS ščita SIM5320
Priprava 3G/GPRS/GSM/GPS ščita SIM5320
Priprava 3G/GPRS/GSM/GPS ščita SIM5320

Preden vstavite kartico SIM v režo, morate onemogočiti zahtevo za kodo PIN. Nato vstavite kartico SIM v režo na spodnji strani plošče, kot je prikazano na sliki. Dva mostička morate namestiti v položaj RX-1 (D1), TX-0 (D0).

5. korak: Sestavljanje strojne opreme

Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme

Sestavljanje strojne opreme je sestavljeno iz več preprostih operacij:

  • Če želite upravljati LED, morate najprej spajkati majhno zasnovo LED in uporov za omejevanje toka (100-500 Ohm), kot je prikazano na sliki. Bodite pozorni na polarnost LED - anodo je treba spajkati na upore (+). Da bi zmanjšali izpostavljenost LED parazitom, sem iz običajnega kartona naredil črn zaslon.
  • Priključite LED in kamero na združljivo ploščo Arduino M0-SD, kot je prikazano na diagramu. Napajanje fotoaparata (rdeča žica "+ 5V" in črna žica "GND") morate vzeti iz priključkov "+ 5V" in "GND" iz reže. Za to lahko uporabite tudi kotni priključek.
  • Po tem priključite ščit 3G/GPRS/GSM/GPS na združljivo ploščo Arduino M0-SD. Ne pozabite priključiti 3G antene.

6. korak: Nastavitev posrednika MQTT

Nastavitev posrednika MQTT
Nastavitev posrednika MQTT
Nastavitev posrednika MQTT
Nastavitev posrednika MQTT
Nastavitev posrednika MQTT
Nastavitev posrednika MQTT

Za posrednika MQTT sem izbral zelo priročen in jasen www.cloudmqtt.com. Ponuja brezplačno testiranje. Možno je tudi prejemanje in pošiljanje sporočil neposredno na spletnem mestu.

Postopek namestitve je naslednji:

  1. Registrirajte se na spletu.
  2. Pritisnite gumb "Ustvari nov primerek".
  3. Nastavite ime, na primer "MqttCamera".
  4. Pritisnite gumb "Izberi regijo". Na primer, izberite "US-East-1 (Northern Virginia)".
  5. Pritisnite gumb "Pregled".
  6. Pritisnite gumb "Ustvari primerek". Ogled sporočila "Primerek je bil uspešno ustvarjen".
  7. Kliknite "MqttCamera".
  8. Zapomnite si podatke: strežnik, uporabnik, geslo, vrata, ključ API (potrebovali ga bomo v 7. in 8. koraku).
  9. Nato pojdite v okno "WEBSOCKET UI", kjer lahko preizkusite in odpravite napake, si ogledate in pošljete sporočila (to okno bomo potrebovali v naslednjem koraku).

Korak 7: Aplikacija MQTT Dash

Aplikacija MQTT Dash
Aplikacija MQTT Dash
Aplikacija MQTT Dash
Aplikacija MQTT Dash
Aplikacija MQTT Dash
Aplikacija MQTT Dash

Za ustvarjanje nadzorne plošče v mobilnem telefonu sem izbral zelo uporabniku prijazno in pregledno aplikacijo MQTT Dash.

Namestite aplikacijo MQTT Dash v telefon in naredite naslednje nastavitve:

  1. Odprite aplikacijo.
  2. V armaturnem oknu MQTT kliknite (+), da dodate novo nadzorno ploščo.
  3. V oknu, ki se prikaže, izpolnite zahtevana polja, na primer: Ime (na primer MqttCamera), Naslov, Vrata, Uporabniško ime, Uporabniško geslo (Vzemite podatke iz koraka 6).
  4. Ko izpolnite polja, kliknite ikono diskete (operacija "Shrani").
  5. V oknu s seznamom nadzornih plošč kliknite na prikazano vrstico "MqttCamera".
  6. V oknu nadzorne plošče, ki se odpre, kliknite ikono puščice, da naložite meritve.
  7. Nato v pojavnem oknu kliknite gumb "NAROČI SE IN POČAKAJ NA METRIKO".
  8. V osebnem računalniku odprite račun v posredniku MQTT (glejte prejšnji korak), odprite okno "WEBSOCKET UI", nastavite temo "metrics/exchange" v oknu "Send message" in zapišite besedilo iz priloženo datoteko metrics.txt v oknu "Sporočilo" kliknite gumb "Pošlji".
  9. Počakajte 10 sekund, preverite, ali je meritev prejeta v telefon in da je nadzorna plošča posodobljena.

Nato lahko nadaljujete s programiranjem združljivega Arduino M0-SD.

8. korak: Programiranje in delo

Programiranje in delo
Programiranje in delo
Programiranje in delo
Programiranje in delo
Programiranje in delo
Programiranje in delo
Programiranje in delo
Programiranje in delo

Pred programiranjem združljivega Arduino M0-SD morate v računalnik namestiti vse potrebne knjižnice (pubsubclient-master, TinyGSM-master), ki sem jih navedel spodaj. Te knjižnice so bile nekoliko spremenjene za delo z združljivo ploščo Arduino M0-SD, kamero VC0706 in ščitom 3G/GPRS/GSM/GPS SIM5320.

Kabel in napajalnik (6V 1A za napajanje 3G/GPRS/GSM/GPS ščita) morate priključiti na združljiv Arduino M0-SD.

Zaženite Arduino IDE. V Arduinu mora IDE izbrati: Orodja-> Plošča: Arduino M0 Pro (domača vrata USB).

Odprite skico MqttCamera.ino. Izpolnite polja: Uporabniško ime, Uporabniško geslo, Ključ API, Vrata, Strežnik (Vzemite podatke iz koraka 6).

Odprite okno Serijski monitor.

Naloži skico. Ne opisujem podrobno postopka programiranja (na internetu je dovolj navodil).

Po uspešnem nalaganju in pravilni montaži se morajo v oknu Serijski monitor prikazati naslednji podatki:

VC0706 Kamera + Arduino M0 + SIM5320 + MQTT

Camera init… različica: ----------------- VC0703 1.00 Ctrl infr obstaja Uporabniško določeno tipalo 525 ----------------- uspeh ! Inicializiranje modema… Modem: AT+CGMM SIMCOM_SIM5320E Čakanje na omrežje… OK Vzpostavitev povezave z internetom V redu Povezava na 3.83.68.228 neuspešna Povezava na 3.83.68.228 OK Ping: 0

Vrstica "Ping: XX" je periodično sporočilo združljivega Arduino M0-SD strežniku. Namesto teh podatkov lahko pošljete meritve ADC, stanje vhoda in drugo.

V aplikaciji MQTT Dash kliknite ikone žarnic (LED_YELLOW, LED_GREEN, LED_RED) - vklop/izklop. Poglejte v okno serijskega monitorja - tam bi morali biti podatki o tem:

LED_YELLOW Vklopljen

LED_YELLOW_Izklop LED_GREEN Vklopljen LED_GREEN izklopljen LED_RED Vklopljen LED_RED izklopljen

Kliknite ikono kamere - pošljite ukaz "SHOOT" in počakajte nekaj časa. V oknu Serial Monitor bi morali biti prikazani naslednji podatki:

Začnite streljati!

Fotografija posneta! ustvarite IMAGE332.jpg počakajte, da dobite 3488 bajtno sliko … Končano! Trajalo je 1456 ms Pošlji sliko (3488 bajtov)… končano!

Čez nekaj časa (5-10 sekund) bi morala biti v oknu "VIEW IMAGE" prikazana fotografija.

Za predstavitev sem kamero VC0706 usmeril v LED, tako da si lahko ogledate njihovo stanje, potem ko sem jih poljubno preklopil. Toda v resnični uporabi lahko kamero usmerite v sobo, vrata, ulico, vrata, avto itd. (Seveda morate upoštevati zahteve zakona). Kot demonstracijo predstavljam več posnetkov zaslona iz mobilni telefon, kjer so prikazana nameščena in dejanska stanja LED.

Upam, da so bila moja navodila zanimiva in uporabna za vas. Vesel bom vaših povratnih informacij in komentarjev. V načrtih bom razvil svojo napravo in z vami delil nove inovacije. Hvala za ogled!

Priporočena: