Diaľkové ovládanie a sledovanie fotografií cez MQTT: 8 krokov
Diaľkové ovládanie a sledovanie fotografií cez MQTT: 8 krokov
Anonim
Diaľkové ovládanie a sledovanie fotografií cez MQTT
Diaľkové ovládanie a sledovanie fotografií cez MQTT

Ahoj.

Dnes by som chcel hovoriť o tom, ako vytvoriť systém diaľkového ovládania a monitorovania, ktorý možno použiť napríklad na ovládanie garážových brán, osvetlenia, vykurovania, regulácie tlaku, teploty a mnohých ďalších parametrov. Ale hlavnou črtou tohto systému je, že môžete vzdialene prijímať fotografie zo vzdialeného objektu. Skôr ako začnete príbeh, krátka predhovor. Raz som chcel vytvoriť systém sledovania fotografií pomocou kompatibilnej dosky Arduino M0-SD, kamery VC0706 a štítu 3G/GPRS/GSM/GPS pre Arduino. Doska kompatibilná s Arduino M0 -SD bola vybraná z podmienok, ktoré je veľmi ľahké naprogramovať (rovnako ako Arduino UNO), prevádzkové napätie je 3,3 V - to je veľmi výhodné pri práci s kamerou VC0706, veľkým množstvom pamäte ROM a RAM, niekoľko portov UART, samostatný virtuálny port USB, ale hlavnou výhodou je prítomnosť konektora micro SD priamo na doske (Je veľmi výhodné ukladať veľké množstvo údajov, napríklad obrázkov).

Štít 3G/GPRS/GSM/GPS pre Arduino je veľmi vhodný na použitie s kompatibilnou doskou Arduino M0-SD. Na internete je niekoľko knižníc, ako aj mnoho príkladov pre prácu s týmto štítom. Rýchlosť prenosu dát (3G) je oveľa vyššia ako u bežných GPRS štítov (obzvlášť vhodné na prenos obrázkov). Ďalšou výhodou je dostupnosť GPS modulu.

Na prenos dát (fotografií) cez internet som si vybral nízkonákladovú tarifu od mobilného operátora. Ale vyvstala otázka: ako prenášať údaje? MMS? FTP? Ako dostať upozornenie na prijatie údajov (fotka)? V dôsledku toho som dospel k rozhodnutiu odosielať údaje (fotografie) na e-mail a zobrazovať listy prostredníctvom aplikácie nainštalovanej v mobilnom telefóne. Ukázalo sa, že je to veľmi výhodné!:-) Hotový projekt si môžete pozrieť na tomto odkaze.

Referenčný je aj podobný projekt pre Arduino UNO.

Potom som sa rozhodol rozšíriť funkčnosť svojho zariadenia. Pridajte napríklad možnosť ovládať LED diódy (aj keď v skutočnosti sú možnosti oveľa širšie). E-mail na to nie je príliš vhodný. Možnosť SMS je drahá a nepohodlná. A potom som sa dozvedel o MQTT. Nebudem popisovať, čo je. Poviem len: Toto je naozaj skvelá vec!:-) Pomocou MQTT si môžete vymieňať nielen správy, ale aj binárne súbory (obrázky). V aplikácii pre telefón si môžete jednoducho vytvoriť vlastné rozhranie.

Hľadal som príklady implementácie protokolu MQTT pre svoj štít 3G/GPRS/GSM/GPS (SIM5320) a bohužiaľ som nenašiel potrebnú implementáciu. Ale to ma nenechalo samého. Rozhodol som sa nezávisle implementovať potrebnú funkcionalitu. Výsledkom bolo, že sa mi podarilo vytvoriť zariadenie, ktoré je ovládané (označené tromi LED diódami) cez MQTT z aplikácie nainštalovanej v mobilnom telefóne, a tiež odoslať fotografiu do telefónu na príkaz z telefónu. (Poviem vám tajomstvo, že som predtým nevidel žiadne príklady odosielania obrázkov prostredníctvom brokera MQTT a urobil som to prvýkrát. A keď sa mi podarilo preniesť prvý obrázok, bol som nesmierne šťastný!:-)) A Navrhujem teda prejsť priamo na prvý krok - zoznam potrebných komponentov.

Krok 1: Zoznam komponentov

Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov

Potrebujeme ďalšie komponenty:

1) Kompatibilné s Arduino M0-SD.

2) Kamera TTL VC0706.

3) Štít 3G/GPRS/GSM/GPS pre Arduino.

4) Červené, zelené, žlté diódy LED, 3 odpory (100-500 Ohm), vodiče, kolíkový konektor s rozstupom 2,54 mm.

5) Napájací adaptér AC-DC (6V 1A), anténa 3G atď.

Krok 2: Príprava fotoaparátu

Príprava kamery
Príprava kamery
Príprava kamery
Príprava kamery
Príprava kamery
Príprava kamery

Kamera má výstup RS-232 na priame pripojenie k počítaču. Je potrebné odstrániť MAX232 (prevodník RS-232) a zatvoriť kontaktné podložky medzi zodpovedajúcimi kolíkmi 7-10 (TX), 8-9 (RX).

Šesťvodičový kábel, ktorý bol dodaný s fotoaparátom, je potrebné mierne prepracovať:

  • Vyberte dva vodiče z konektora.
  • Usporiadajte červený (+ 5 V) a čierny (GND) vodič podľa obrázku.

Na holých koncoch drôtov musia byť spájkované hroty ako "samica".

Krok 3: Príprava kompatibilného Arduino M0-SD

Príprava kompatibilného Arduina M0-SD
Príprava kompatibilného Arduina M0-SD
Príprava kompatibilného Arduina M0-SD
Príprava kompatibilného Arduina M0-SD
Príprava kompatibilného Arduina M0-SD
Príprava kompatibilného Arduina M0-SD

Ako už bolo uvedené, kompatibilný Arduino M0-SD je hardvérovo aj softvérovo kompatibilný s pôvodným Arduino M0, ale má aj vstavaný konektor microSD na pripojenie pamäťovej karty.

Na pripojenie kamery k kompatibilnému Arduino M0-SD na doske je potrebné spájkovať uhlový konektor na svorky TXD, RXD (konektor X6), ako je znázornené na obrázku. Tento port sa zhoduje s „Sériovým“.

Biele (Camera RX) a žlté (Camera TX) vodiče z kamery musia byť zapojené do svoriek TXD a RXD (konektor X6), ako je znázornené na obrázku.

Krok 4: Príprava štítu 3G/GPRS/GSM/GPS SIM5320

Príprava štítu 3G/GPRS/GSM/GPS SIM5320
Príprava štítu 3G/GPRS/GSM/GPS SIM5320
Príprava štítu 3G/GPRS/GSM/GPS SIM5320
Príprava štítu 3G/GPRS/GSM/GPS SIM5320
Príprava štítu 3G/GPRS/GSM/GPS SIM5320
Príprava štítu 3G/GPRS/GSM/GPS SIM5320

Pred inštaláciou sim karty do zásuvky musíte vypnúť požiadavku na PIN kód. Potom nainštalujte kartu SIM do zásuvky na spodnej strane dosky, ako je znázornené na obrázku. V polohe RX-1 (D1), TX-0 (D0) musia byť nainštalované dva prepojky.

Krok 5: Zostavenie hardvéru

Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru

Zostava hardvéru pozostáva z niekoľkých jednoduchých operácií:

  • Na ovládanie diód LED musíte najskôr spájkovať malú konštrukciu diód LED a odpory obmedzujúce prúd (100-500 ohmov), ako je znázornené na obrázku. Dávajte pozor na polaritu LED - anóda musí byť spájkovaná s odpormi (+). Aby som znížil parazitné vystavenie diód LED, vyrobil som čiernu obrazovku z bežného kartónu.
  • Pripojte LED diódy a kameru k kompatibilnej doske Arduino M0-SD, ako je znázornené na obrázku. Napájanie kamery (červený vodič „+ 5V“a čierny vodič „GND“) je potrebné odobrať zo svoriek „+ 5V“a „GND“zo zásuvky. Na to môžete použiť aj uhlový konektor.
  • Potom pripojte štít 3G/GPRS/GSM/GPS k kompatibilnej doske Arduino M0-SD. Nezabudnite pripojiť anténu 3G.

Krok 6: Nastavenie makléra MQTT

Nastavenie makléra MQTT
Nastavenie makléra MQTT
Nastavenie makléra MQTT
Nastavenie makléra MQTT
Nastavenie makléra MQTT
Nastavenie makléra MQTT

Ako brokera MQTT som si vybral veľmi pohodlný a prehľadný www.cloudmqtt.com. Poskytuje bezplatné testovanie. Rovnako je možné prijímať a odosielať správy priamo na stránke.

Postup nastavenia je nasledujúci:

  1. Zaregistrujte sa online.
  2. Stlačte tlačidlo „Vytvoriť novú inštanciu“.
  3. Nastavte názov, napríklad „MqttCamera“.
  4. Stlačte tlačidlo „Vybrať oblasť“. Vyberte napríklad „USA-východ-1 (Severná Virgínia)“.
  5. Stlačte tlačidlo „Skontrolovať“.
  6. Stlačte tlačidlo „Vytvoriť inštanciu“. Zobraziť správu „Inštancia bola úspešne vytvorená“.
  7. Kliknite na „MqttCamera“.
  8. Zapamätajte si informácie: Server, Používateľ, Heslo, Port, Kľúč API (Budeme ho potrebovať v 7. a 8. kroku).
  9. Potom môžete prejsť do okna „WEBSOCKET UI“, kde môžete testovať a ladiť, zobrazovať a odosielať správy (Toto okno budeme potrebovať v nasledujúcom kroku).

Krok 7: Aplikácia MQTT Dash

Aplikácia MQTT Dash
Aplikácia MQTT Dash
Aplikácia MQTT Dash
Aplikácia MQTT Dash
Aplikácia MQTT Dash
Aplikácia MQTT Dash

Na vytvorenie ovládacieho panela v mobilnom telefóne som si vybral veľmi užívateľsky prívetivú a prehľadnú aplikáciu MQTT Dash.

Nainštalujte si aplikáciu MQTT Dash do telefónu a vykonajte nasledujúce nastavenia:

  1. Otvorte aplikáciu.
  2. V pomlčkovom okne MQTT kliknite na (+) a pridajte nový ovládací panel.
  3. V zobrazenom okne vyplňte požadované polia, ako napríklad: Meno (napríklad MqttCamera), Adresa, Port, Používateľské meno, Heslo používateľa (Prevezmite údaje z kroku 6).
  4. Po vyplnení polí kliknite na ikonu diskety (operácia „Uložiť“).
  5. V okne so zoznamom ovládacích panelov kliknite na zobrazený riadok „MqttCamera“.
  6. V okne ovládacieho panela, ktoré sa otvorí, kliknutím na ikonu šípky načítajte metriky.
  7. Potom v rozbaľovacom okne kliknite na tlačidlo „REGISTRÁCIA A ČAKAJTE NA METRIKU“.
  8. Na osobnom počítači si otvorte účet u brokera MQTT (pozri predchádzajúci krok), otvorte okno „WEBSOCKET UI“, v okne „Odoslať správu“nastavte tému „Metriky/výmena“a zaznamenajte text z priložený súbor metrics.txt v okne „Správa“kliknite na tlačidlo „Odoslať“.
  9. Počkajte 10 sekúnd a uistite sa, že je do telefónu prijatá metrika a že je aktualizovaný ovládací panel.

Potom môžete pristúpiť k programovaniu kompatibilného Arduino M0-SD.

Krok 8: Programovanie a práca

Programovanie a práca
Programovanie a práca
Programovanie a práca
Programovanie a práca
Programovanie a práca
Programovanie a práca
Programovanie a práca
Programovanie a práca

Pred programovaním kompatibilného Arduino M0-SD musíte do počítača nainštalovať všetky potrebné knižnice (pubsubclient-master, TinyGSM-master), ktoré som citoval nižšie. Tieto knižnice boli mierne upravené tak, aby spolupracovali s kompatibilnou doskou Arduino M0-SD, kamerou VC0706 a štítom 3G/GPRS/GSM/GPS SIM5320.

Kábel a napájací zdroj (6 V 1 A na napájanie štítu 3G/GPRS/GSM/GPS) musíte pripojiť k kompatibilnému Arduino M0-SD.

Spustite Arduino IDE. V Arduine si IDE musí vybrať: Nástroje-> Doska: Arduino M0 Pro (natívny port USB).

Otvorte skicu MqttCamera.ino. Vyplňte polia: Používateľské meno, Heslo používateľa, Kľúč API, Port, Server (Prevezmite údaje z kroku 6).

Otvorte okno Sériový monitor.

Nahrať náčrt. Podrobne nepopisujem postup programovania (návodov je na internete dostatok).

Po úspešnom načítaní a správnej montáži by sa v okne Sériový monitor mali objaviť nasledujúce informácie:

Kamera VC0706 + Arduino M0 + SIM5320 + MQTT

Spustenie kamery… verzia: ----------------- VC0703 1,00 Ctrl infr existuje Užívateľom definovaný snímač 525 ----------------- úspech ! Inicializácia modemu … Modem: AT+CGMM SIMCOM_SIM5320E Čakanie na sieť … OK Pripojenie k internetu OK Pripojenie k 3.83.68.228 zlyhalo Pripojenie k 3.83.68.228 OK Ping: 0

Riadok „Ping: XX“je pravidelnou správou z kompatibilného Arduino M0-SD na server. Namiesto týchto informácií môžete odosielať merania ADC, stav vstupu a ďalšie.

V aplikácii MQTT Dash kliknite na ikony žiaroviek (LED_YELLOW, LED_GREEN, LED_RED) - zapnite/vypnite. Pozrite sa do okna sériového monitora - mali by existovať informácie o niečom takom:

LED_YELLOW Svieti

LED_YELLOW_Off LED_GREEN Svieti LED_GREEN nesvieti LED_RED Svieti LED_RED Nesvieti

Kliknite na ikonu fotoaparátu - odošlite príkaz „STRELIŤ“a chvíľu počkajte. V okne Sériový monitor by sa mali objaviť nasledujúce informácie:

Začnite strieľať!

Odfotené! vytvoriť IMAGE332.jpg, počkajte na načítanie 3488 bajtového obrázku … Hotovo! Trvalo 1456 ms Odoslať obrázok (3488 bajtov) … hotovo!

A po chvíli (5-10 sekúnd) v okne „ZOBRAZIŤ OBRÁZOK“by sa mala zobraziť fotografia.

Na ukážku som kameru VC0706 nasmeroval na LED diódy, aby ste videli ich stav potom, čo som ich ľubovoľným spôsobom prepol. Pri skutočnom použití však môžete kameru nasmerovať do miestnosti, dverí, ulice, brány, auta atď. (Samozrejme, musíte vziať do úvahy požiadavky zákona). Ako ukážku uvádzam niekoľko snímok obrazovky z mobilný telefón, kde sa zobrazujú nainštalované a skutočné stavy diód LED.

Dúfam, že moje pokyny boli pre vás zaujímavé a užitočné. Budem rád za vaše pripomienky a pripomienky. Mám v pláne vyvinúť svoje zariadenie a podeliť sa s vami o nové inovácie. Dakujem za sledovanie!