Sadržaj:

Daljinsko upravljanje i nadzor fotografija preko MQTT -a: 8 koraka
Daljinsko upravljanje i nadzor fotografija preko MQTT -a: 8 koraka

Video: Daljinsko upravljanje i nadzor fotografija preko MQTT -a: 8 koraka

Video: Daljinsko upravljanje i nadzor fotografija preko MQTT -a: 8 koraka
Video: POE комплект видеонаблюдения РАБОТА ПО ОДНОМУ КАБЕЛЮ!!! 2024, Novembar
Anonim
Daljinsko upravljanje i nadzor fotografija preko MQTT -a
Daljinsko upravljanje i nadzor fotografija preko MQTT -a

Zdravo.

Danas bih želio govoriti o tome kako napraviti sistem daljinskog upravljanja i nadzora koji se može koristiti, na primjer, za kontrolu garažnih vrata, osvjetljenja, grijanja, kontrole pritiska, temperature i mnogih drugih parametara. Ali glavna karakteristika ovog sistema je da možete daljinski primati fotografije sa udaljenog objekta. Prije nego započnete priču, kratki predgovor. Jednom sam htio napraviti sistem za nadzor fotografija koristeći kompatibilnu Arduino M0-SD ploču, kameru VC0706 i 3G/GPRS/GSM/GPS štit za Arduino. Arduino M0 -SD kompatibilna ploča odabrana je iz uvjeta da se vrlo lako programira (baš kao i Arduino UNO), radni napon je 3,3 V - ovo je vrlo zgodno za rad s kamerom VC0706, velikom količinom ROM -a i RAM, nekoliko portova UART, zasebni virtualni port USB -a, ali glavna prednost je prisutnost mikro SD konektora izravno na ploči (Vrlo je zgodno pohraniti velike količine podataka, poput slika).

3G/GPRS/GSM/GPS štit za Arduino vrlo je prikladan za upotrebu s kompatibilnom Arduino M0-SD pločom. Na internetu postoji nekoliko biblioteka, kao i mnogo primjera za rad sa ovim štitom. Brzina prijenosa podataka (3G) mnogo je veća od brzine konvencionalnih GPRS štitova (posebno pogodno za prijenos slika). Dostupnost GPS modula je dodatna prednost.

Odabrao sam jeftinu tarifu mobilnog operatera za prijenos podataka (fotografija) putem Interneta. Ali postavilo se pitanje: kako prenijeti podatke? MMS? FTP? Kako dobiti obavijest o prijemu podataka (fotografija)? Kao rezultat toga, došao sam do odluke da podatke (fotografije) šaljem na e-poštu i pregledavam pisma putem aplikacije instalirane na mobilnom telefonu. Ispostavilo se da je to vrlo zgodno!:-) Završeni projekat možete pogledati na ovom linku.

Postoji i sličan projekt za Arduino UNO po referenci.

Tada sam odlučio proširiti funkcionalnost svog uređaja. Na primjer, dodajte mogućnost upravljanja LED diodama (iako su u stvarnosti mogućnosti mnogo šire). E-mail za ovo nije baš prikladan. SMS opcija je skupa i neugodna. A onda sam saznao za MQTT. Neću opisivati šta je on. Samo da kažem: Ovo je stvarno super stvar!:-) Uz pomoć MQTT-a možete razmjenjivati ne samo poruke, već i binarne datoteke (slike). U aplikaciji za telefon možete jednostavno stvoriti vlastito sučelje.

Tražio sam primjere implementacije MQTT protokola za svoj 3G/GPRS/GSM/GPS štit (SIM5320) i, nažalost, nisam našao implementaciju koja mi je potrebna. Ali to me nije ostavilo na miru. Odlučio sam samostalno implementirati potrebnu funkcionalnost. Kao rezultat toga, uspio sam stvoriti uređaj koji se kontrolira (označen sa tri LED diode) preko MQTT -a iz aplikacije instalirane na mobilnom telefonu, a također šalje fotografiju na telefon na komandu s telefona. (Otkrit ću vam tajnu da prije nisam vidio primjere slanja slika putem brokera MQTT i to sam učinio prvi put. A kad sam uspio prenijeti prvu sliku bio sam neizmjerno sretan!:-)) I pa predlažem da prijeđemo direktno na prvi korak - popis potrebnih komponenti.

Korak 1: Lista komponenti

Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti

Potrebne su nam sledeće komponente:

1) Kompatibilan s Arduino M0-SD.

2) TTL kamera VC0706.

3) 3G/GPRS/GSM/GPS štit za Arduino.

4) Crvene, zelene, žute LED diode, 3 otpornika (100-500 Ohma), žice, pin ugaoni konektor sa korakom od 2,54 mm.

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

Korak 2: Priprema kamere

Priprema kamere
Priprema kamere
Priprema kamere
Priprema kamere
Priprema kamere
Priprema kamere

Kamera ima RS-232 izlaz za direktno povezivanje sa računarom. Potrebno je ukloniti MAX232 (RS-232 pretvarač) i zatvoriti kontaktne pločice između odgovarajućih pinova 7-10 (TX), 8-9 (RX).

Šestožični kabel koji ste dobili s kamerom potrebno je malo prepraviti:

  • Uklonite dvije žice iz konektora.
  • Preuredite crvenu (+ 5V) i crnu (GND) žicu kao što je prikazano na slici.

Na golim krajevima žica moraju biti zalemljeni vrhovi poput "ženskih".

Korak 3: Priprema kompatibilnog Arduino M0-SD

Priprema kompatibilnog Arduino M0-SD
Priprema kompatibilnog Arduino M0-SD
Priprema kompatibilnog Arduino M0-SD
Priprema kompatibilnog Arduino M0-SD
Priprema kompatibilnog Arduino M0-SD
Priprema kompatibilnog Arduino M0-SD

Kao što je već spomenuto, kompatibilni Arduino M0-SD je hardverski i softverski kompatibilan s originalnim Arduino M0, ali također ima ugrađeni microSD konektor za povezivanje memorijske kartice.

Za spajanje fotoaparata na kompatibilni Arduino M0-SD na ploči potrebno je lemiti kutni konektor na stezaljke TXD, RXD (konektor X6) kao što je prikazano na slici. Ovaj port odgovara "serijskom".

Bijele (kamera RX) i žute (kamera TX) žice sa kamere moraju biti povezane na priključke TXD i RXD (konektor X6), kao što je prikazano na slici.

Korak 4: Priprema 3G/GPRS/GSM/GPS štita SIM5320

Priprema 3G/GPRS/GSM/GPS štita SIM5320
Priprema 3G/GPRS/GSM/GPS štita SIM5320
Priprema 3G/GPRS/GSM/GPS štita SIM5320
Priprema 3G/GPRS/GSM/GPS štita SIM5320
Priprema 3G/GPRS/GSM/GPS štita SIM5320
Priprema 3G/GPRS/GSM/GPS štita SIM5320

Prije instaliranja sim kartice u utor morate onemogućiti zahtjev za PIN kodom. Zatim umetnite SIM karticu u utor na donjoj strani ploče kao što je prikazano na slici. Dva kratkospojnika moraju biti instalirana u položaju RX-1 (D1), TX-0 (D0).

Korak 5: Sklapanje hardvera

Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera

Sklapanje hardvera sastoji se od nekoliko jednostavnih operacija:

  • Za upravljanje LED diodama morate prvo lemiti mali dizajn LED dioda i otpornika za ograničavanje struje (100-500 Ohma) kao što je prikazano na slici. Obratite pažnju na polaritet LED dioda - anoda mora biti lemljena na otpornike (+). Da bih smanjio parazitsku izloženost LED dioda, napravio sam crni ekran od običnog kartona.
  • Spojite LED diode i kameru na kompatibilnu Arduino M0-SD ploču kao što je prikazano na dijagramu. Napajanje fotoaparata (crvena žica "+ 5V" i crna žica "GND") mora se uzeti sa priključaka "+ 5V" i "GND" iz utora. Za to možete koristiti i kutni konektor.
  • Nakon toga, spojite 3G/GPRS/GSM/GPS štit na kompatibilnu Arduino M0-SD ploču. Ne zaboravite spojiti 3G antenu.

Korak 6: Postavljanje MQTT brokera

Podešavanje MQTT brokera
Podešavanje MQTT brokera
Podešavanje MQTT brokera
Podešavanje MQTT brokera
Podešavanje MQTT brokera
Podešavanje MQTT brokera

Odabrao sam vrlo zgodan i jasan www.cloudmqtt.com kao MQTT posrednik. Pruža besplatno testiranje. Takođe je moguće primati i slati poruke direktno na web lokaciji.

Postupak postavljanja je sljedeći:

  1. Registrujte se na mreži.
  2. Pritisnite dugme "Kreiraj novu instancu".
  3. Postavite naziv, na primjer "MqttCamera".
  4. Pritisnite dugme "Izaberi regiju". Na primjer, odaberite "US-East-1 (Sjeverna Virdžinija)".
  5. Pritisnite dugme "Pregled".
  6. Pritisnite dugme "Kreiraj instancu". Prikaži poruku "Instanca je uspješno kreirana".
  7. Kliknite na "MqttCamera".
  8. Zapamtite informacije: poslužitelj, korisnik, lozinka, port, API ključ (trebat će nam u sedmom i osmom koraku).
  9. Zatim možete otići na prozor "WEBSOCKET UI", gdje možete testirati i otklanjati greške, pregledavati i slati poruke (ovaj prozor će nam trebati u sljedećem koraku).

Korak 7: MQTT Dash aplikacija

MQTT Dash aplikacija
MQTT Dash aplikacija
MQTT Dash aplikacija
MQTT Dash aplikacija
MQTT Dash aplikacija
MQTT Dash aplikacija

Da bih stvorio kontrolnu ploču u mobilnom telefonu, odabrao sam vrlo jednostavnu i jasnu aplikaciju MQTT Dash.

Instalirajte aplikaciju MQTT Dash na telefon i izvršite sljedeće postavke:

  1. Otvorite aplikaciju.
  2. U prozoru crtice MQTT kliknite (+) da biste dodali novu kontrolnu ploču.
  3. U prozoru koji se pojavi popunite potrebna polja, kao što su: Ime (na primjer, MqttCamera), Adresa, Port, Korisničko ime, Korisnička lozinka (Uzmite podatke iz koraka 6).
  4. Nakon što popunite polja, kliknite ikonu diskete (operacija "Spremi").
  5. U prozoru s popisom upravljačkih ploča kliknite na red koji se pojavio "MqttCamera".
  6. U prozoru upravljačke ploče koji se otvori kliknite ikonu strelice da biste učitali mjerne podatke.
  7. Zatim u iskačućem prozoru kliknite dugme "SUBSCRIBE AND WAIT FOR METRIC".
  8. Na osobnom računaru otvorite račun u MQTT-brokeru (pogledajte prethodni korak), otvorite prozor "WEBSOCKET UI", postavite temu "metrics/exchange" u prozoru "Send message" i snimite tekst iz priloženu datoteku metrics.txt u prozoru "Poruka", kliknite na dugme "Pošalji".
  9. Pričekajte 10 sekundi, provjerite prima li se mjerna vrijednost u telefon i ažurira li se kontrolna ploča.

Zatim možete nastaviti s programiranjem kompatibilnog Arduino M0-SD.

Korak 8: Programiranje i rad

Programiranje i rad
Programiranje i rad
Programiranje i rad
Programiranje i rad
Programiranje i rad
Programiranje i rad
Programiranje i rad
Programiranje i rad

Prije programiranja kompatibilnog Arduina M0-SD, morate instalirati sve potrebne biblioteke (pubsubclient-master, TinyGSM-master) koje sam naveo u nastavku. Ove su biblioteke malo izmijenjene kako bi radile s kompatibilnom Arduino M0-SD pločom, kamerom VC0706 i 3G/GPRS/GSM/GPS SIM5320 štitom.

Morate spojiti kabel i napajanje (6V 1A za napajanje 3G/GPRS/GSM/GPS štita) na kompatibilni Arduino M0-SD.

Pokrenite Arduino IDE. U Arduinu IDE mora odabrati: Alati-> Ploča: Arduino M0 Pro (izvorni USB port).

Otvorite skicu MqttCamera.ino. Popunite polja: Korisničko ime, Korisnička lozinka, API ključ, Port, Server (Uzmite podatke iz koraka 6).

Otvorite prozor Serial Monitor.

Otpremite skicu. Ne opisujem detaljno proceduru programiranja (na Internetu ima dovoljno uputstava).

Nakon uspješnog učitavanja i pravilne montaže, u prozoru Serial Monitor trebali bi se pojaviti sljedeći podaci:

VC0706 Kamera + Arduino M0 + SIM5320 + MQTT

Početna kamera… verzija: ----------------- VC0703 1.00 Ctrl infr postoji Korisnički definiran senzor 525 ----------------- uspjeh ! Pokretanje modema… Modem: AT+CGMM SIMCOM_SIM5320E Čekanje na mrežu… OK Povezivanje na internet OK Povezivanje na 3.83.68.228 nije uspjelo Povezivanje na 3.83.68.228 OK Ping: 0

Red "Ping: XX" je periodična poruka sa kompatibilnog Arduino M0-SD do servera. Umjesto ovih informacija, možete poslati ADC mjerenja, ulazni status i još mnogo toga.

U aplikaciji MQTT Dash kliknite na ikone žarulja (LED_YELLOW, LED_GREEN, LED_RED) - uključite/isključite. Pogledajte u prozor Serijskog monitora - trebalo bi biti informacija o nečemu ovakvom:

LED_YELLOW Uključeno

LED_YELLOW_Isključeno LED_GREEN Uključeno LED_GREEN isključeno LED_RED Uključeno LED_RED Isključeno

Kliknite na ikonu kamere - pošaljite naredbu "SHOOT" i pričekajte neko vrijeme. U prozoru Serial Monitor trebali bi se pojaviti sljedeći podaci:

Start Shoot!

Slikano! kreirajte IMAGE332-j.webp

I nakon nekog vremena (5-10 sekundi) u prozoru "VIEW IMAGE" bi se trebala prikazati fotografija.

Za demonstraciju sam usmjerio kameru VC0706 na LED diode tako da možete vidjeti njihov status nakon što sam ih promijenio na proizvoljan način. Ali u stvarnoj upotrebi kameru možete usmjeriti u sobu, vrata, ulicu, kapiju, automobil itd. (Naravno, morate uzeti u obzir zahtjeve zakona). Kao demonstraciju predstavljam nekoliko snimaka ekrana iz mobilni telefon, gdje se prikazuju instalirana i stvarna stanja LED dioda.

Nadam se da vam je moje uputstvo bilo zanimljivo i korisno. Bit će mi drago vaše povratne informacije i komentare. U mojim planovima da razvijem svoj uređaj i podijelim s vama nove inovacije. Hvala za gledanje!

Preporučuje se: