Sadržaj:
- Korak 1: Lista komponenti
- Korak 2: Priprema kamere
- Korak 3: Priprema kompatibilnog Arduino M0-SD
- Korak 4: Priprema 3G/GPRS/GSM/GPS štita SIM5320
- Korak 5: Sklapanje hardvera
- Korak 6: Postavljanje MQTT brokera
- Korak 7: MQTT Dash aplikacija
- Korak 8: Programiranje i rad
Video: Daljinsko upravljanje i nadzor fotografija preko MQTT -a: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
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
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
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
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
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 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
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:
- Registrujte se na mreži.
- Pritisnite dugme "Kreiraj novu instancu".
- Postavite naziv, na primjer "MqttCamera".
- Pritisnite dugme "Izaberi regiju". Na primjer, odaberite "US-East-1 (Sjeverna Virdžinija)".
- Pritisnite dugme "Pregled".
- Pritisnite dugme "Kreiraj instancu". Prikaži poruku "Instanca je uspješno kreirana".
- Kliknite na "MqttCamera".
- Zapamtite informacije: poslužitelj, korisnik, lozinka, port, API ključ (trebat će nam u sedmom i osmom koraku).
- 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
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:
- Otvorite aplikaciju.
- U prozoru crtice MQTT kliknite (+) da biste dodali novu kontrolnu ploču.
- 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).
- Nakon što popunite polja, kliknite ikonu diskete (operacija "Spremi").
- U prozoru s popisom upravljačkih ploča kliknite na red koji se pojavio "MqttCamera".
- U prozoru upravljačke ploče koji se otvori kliknite ikonu strelice da biste učitali mjerne podatke.
- Zatim u iskačućem prozoru kliknite dugme "SUBSCRIBE AND WAIT FOR METRIC".
- 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".
- 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
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:
Tvrda torba za daljinsko upravljanje Apple TV Siri s Bluetooth tražilicom pločica: 7 koraka (sa slikama)
Apple TV Siri daljinsko tvrdo kućište s Bluetooth tražilicom pločica: Jednom sam pročitao opis iPhonea kao "štapić maslaca natopljen uljem i poprskan WD40 za dobru mjeru!" Mislim da je to bilo kada je izašao model 6 i svi su bacali svoje skupe nove telefone i razbijali stakla
Desenvolvendo Aplikacije za daljinsko upravljanje za Dragonboard 410c Usando IDE Eclipse: 17 koraka
Desenvolvendo Aplikacije za daljinsko upravljanje za Dragonboard 410c Usando IDE Eclipse: O objektivi za dokumente é najčešće kao neophodne parametre za konfiguraciju ambijenta desenvolvimento, modo que o HostPC -u (računalo / prijenosno računalo), atrav é s do IDE Eclipse kompajlirajte os c ó digos i izvozite za Alvo (povucite
Automobil na daljinsko upravljanje sa komunikacijskim modulom NRF24L01 PA LNA: 5 koraka
Automobil na daljinsko upravljanje s komunikacijskim modulom NRF24L01 PA LNA: U ovoj temi želimo podijeliti informacije o tome kako napraviti automobil na daljinsko upravljanje s modulom NRF24L01 PA LNA. Zapravo postoji nekoliko drugih radio modula, poput 433MHz, HC12, HC05 i LoRa radio modula. Ali po našem mišljenju, mod NRF24L01
SONOFF dvostruki vodič: Daljinsko upravljanje električnim aparatima pomoću MQTT -a i ubidota: 4 koraka
SONOFF Dual Tutorial: Daljinsko upravljanje električnim aparatima pomoću MQTT-a i Ubidots-a: Ovaj Wi-Fi relej od 9 USD može kontrolirati dva uređaja istovremeno. Naučite kako ga spojiti na Ubidots i osloboditi njegov puni potencijal! U ovom vodiču ćete naučiti kako kontrolirati nekoliko 110V uređaja preko Wi-Fi mreže za 9 USD, koristeći Iteadov SONOFF Dual
Bežično upravljanje RC servo -ima preko UDP -a: 3 koraka
Bežično upravljanje RC servo -ima preko UDP -a: U ovom projektu želim koristiti svoj iPhone za kontrolu RC servo -a. Koristit ću akcelerometar za kontrolu dva servo -a preko UDP veze. Ovo je projekt Proof Of Concept kojim se provjerava da li veza između iPhonea i perifernog uređaja može postići visoke