Sadržaj:

Daljinski upravljač i nadzor fotografija preko MQTT -a: 8 koraka
Daljinski upravljač i nadzor fotografija preko MQTT -a: 8 koraka

Video: Daljinski upravljač i nadzor fotografija preko MQTT -a: 8 koraka

Video: Daljinski upravljač i nadzor fotografija preko MQTT -a: 8 koraka
Video: Automatsko programiranje univerzalnog daljinskog upravljaca 2024, Studeni
Anonim
Daljinski upravljač i nadzor fotografija preko MQTT -a
Daljinski upravljač i nadzor fotografija preko MQTT -a

Zdravo.

Danas bih htio govoriti o tome kako napraviti sustav daljinskog upravljanja i nadzora koji se može koristiti, na primjer, za upravljanje garažnim vratima, rasvjetom, grijanjem, kontrolom tlaka, temperaturom i mnogim drugim parametrima. No, glavna značajka ovog sustava je da možete daljinski primati fotografije s udaljenog objekta. Prije nego započnete priču, kratki predgovor. Jednom sam htio napraviti sustav 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 - to je vrlo prikladno za rad s kamerom VC0706, velikom količinom ROM -a i RAM, nekoliko priključaka UART, zasebni virtualni priključak USB -a, ali glavna prednost je prisutnost mikro SD priključka izravno na ploči (Vrlo je prikladno 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 knjižnica, kao i mnogo primjera za rad s ovim štitom. Brzina prijenosa podataka (3G) mnogo je veća od brzine konvencionalnih GPRS štitova (osobito prikladno za prijenos slika). Dostupnost GPS modula dodatna je prednost.

Odabrao sam jeftinu tarifu mobilnog operatera za prijenos podataka (fotografija) putem Interneta. No, postavilo se pitanje: kako prenijeti podatke? MMS? FTP? Kako dobiti obavijest o primitku podataka (fotografija)? Zbog toga sam došao do odluke da podatke (fotografije) šaljem na e-poštu i pregledavam pisma putem aplikacije instalirane na mobitelu. Ispostavilo se da je to vrlo zgodno!:-) Gotov projekt možete pogledati na ovoj poveznici.

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-pošta za to nije baš prikladna. SMS opcija je skupa i neugodna. A onda sam saznao za MQTT. Neću opisivati što je on. Dopustite mi 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 s tri LED diode) preko MQTT -a iz aplikacije instalirane na mobilnom telefonu, a također šalje fotografiju na telefon na naredbu s telefona. (Otkrit ću vam tajnu da dosad 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 izravno na prvi korak - popis potrebnih komponenti.

Korak 1: Popis komponenti

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

Potrebne su nam sljedeć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 kutni konektor s 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 izlaz RS-232 za izravnu vezu s računalom. Potrebno je ukloniti MAX232 (pretvarač RS-232) 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 priključka.
  • Preuredite crvenu (+ 5V) i crnu (GND) žicu kako 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 izvornim Arduinom M0, ali također ima ugrađeni microSD priključak 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 priključak odgovara "serijskom".

Bijele (Camera RX) i žute (Camera TX) žice s fotoaparata moraju biti spojene 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 pozornost na polaritet LED dioda - anoda mora biti lemljena na otpornike (+). Kako bih smanjio izloženost LED parazitima, napravio sam crni zaslon od običnog kartona.
  • Spojite LED diode i fotoaparat 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 s priključaka "+ 5V" i "GND" iz utora. Za to možete koristiti i kutni priključak.
  • 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

Postavljanje brokera MQTT
Postavljanje brokera MQTT
Postavljanje brokera MQTT
Postavljanje brokera MQTT
Postavljanje brokera MQTT
Postavljanje brokera MQTT

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

Postupak postavljanja je sljedeći:

  1. Registrirajte se online.
  2. Pritisnite gumb "Izradi novu instancu".
  3. Postavite naziv, na primjer "MqttCamera".
  4. Pritisnite gumb "Odaberi regiju". Na primjer, odaberite "US-East-1 (Northern Virginia)".
  5. Pritisnite gumb "Pregled".
  6. Pritisnite gumb "Kreiraj instancu". Pogledajte poruku "Instanca je uspješno stvorena".
  7. Kliknite "MqttCamera".
  8. Zapamtite informacije: poslužitelj, korisnik, lozinka, port, API ključ (trebat će nam u 7. i 8. koraku).
  9. Zatim možete otići na prozor "WEBSOCKET UI", gdje možete testirati i otklanjati pogreške, pregledavati i slati poruke (ovaj će nam prozor trebati u sljedećem koraku).

Korak 7: Aplikacija MQTT Dash

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

Za izradu upravljačke ploče na 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 (+) za dodavanje nove upravljačke ploče.
  3. U prozoru koji se pojavi ispunite 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 redak koji se pojavio "MqttCamera".
  6. U prozoru upravljačke ploče koji se otvori kliknite ikonu strelice za učitavanje mjernih podataka.
  7. Zatim u skočnom prozoru kliknite gumb "Pretplatite se i pričekajte mjerenje".
  8. Na osobnom računalu otvorite račun u MQTT-brokeru (pogledajte prethodni korak), otvorite prozor "WEBSOCKET UI", postavite temu "metrics/exchange" u prozor "Send message" i snimite tekst iz priloženu datoteku metrics.txt u prozoru "Poruka", kliknite gumb "Pošalji".
  9. Pričekajte 10 sekundi, provjerite je li mjerna vrijednost primljena u telefon i je li ažurirana upravljačka 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 na računalo instalirati sve potrebne knjižnice (pubsubclient-master, TinyGSM-master), koje sam naveo u nastavku. Ove su knjižnice 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 priključak).

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

Otvorite prozor Serial Monitor.

Prenesite skicu. Ne opisujem detaljno postupak programiranja (na Internetu ima dovoljno uputa).

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

Pokretanje kamere … 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 s internetom U redu Povezivanje na 3.83.68.228 nije uspjelo Povezivanje na 3.83.68.228 OK Ping: 0

Redak "Ping: XX" periodična je poruka kompatibilnog Arduino M0-SD prema poslužitelju. Umjesto ovih informacija, možete poslati ADC mjerenja, status ulaza i još mnogo toga.

U aplikaciji MQTT Dash kliknite ikone žarulja (LED_YELLOW, LED_GREEN, LED_RED) - uključite/isključite. Pogledajte u prozoru serijskog monitora - trebali bi postojati podaci o nečemu ovakvom:

LED_ŽUTA Uključena

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

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

Počnite pucati!

Slikana! stvoriti IMAGE332-j.webp

I nakon nekog vremena (5-10 sekundi) u prozoru "VIEW IMAGE" trebala bi se 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. No, u stvarnoj upotrebi kameru možete usmjeriti u sobu, vrata, ulicu, vrata, automobil itd. (Naravno, morate uzeti u obzir zahtjeve zakona). Kao demonstraciju predstavljam nekoliko snimaka zaslona s mobilni telefon, gdje se prikazuju instalirana i stvarna stanja LED dioda.

Nadam se da vam je moja uputa bila zanimljiva i korisna. Bit će mi drago vaše povratne informacije i komentare. U svojim planovima razvijam svoj uređaj i s vama dijelim nove inovacije. Hvala na gledanju!

Preporučeni: