Tartalomjegyzék:

Távirányító és fényképfelügyelet az MQTT -n keresztül: 8 lépés
Távirányító és fényképfelügyelet az MQTT -n keresztül: 8 lépés

Videó: Távirányító és fényképfelügyelet az MQTT -n keresztül: 8 lépés

Videó: Távirányító és fényképfelügyelet az MQTT -n keresztül: 8 lépés
Videó: Hogyan működik az MQTT és mi az? 2024, November
Anonim
Távirányító és fényképfelügyelet az MQTT -n keresztül
Távirányító és fényképfelügyelet az MQTT -n keresztül

Helló.

Ma arról szeretnék beszélni, hogyan lehet távirányítót és felügyeleti rendszert készíteni, amely például garázskapuk, világítás, fűtés, nyomásszabályozás, hőmérséklet és sok más paraméter vezérlésére használható. A rendszer fő jellemzője azonban az, hogy távolról is fogadhat fényképeket egy távoli objektumról. Mielőtt elkezdené a történetet, egy rövid előszó. Egyszer egy fényképfelügyeleti rendszert akartam készíteni egy kompatibilis Arduino M0-SD kártya, egy VC0706 kamera és egy 3G/GPRS/GSM/GPS pajzs segítségével az Arduino számára. Az Arduino M0 -SD kompatibilis táblát a nagyon könnyen programozható feltételek közül választottuk (csakúgy, mint az Arduino UNO -t), az üzemi feszültség 3,3 V - ez nagyon kényelmes a VC0706 kamerával való munkához, nagy mennyiségű ROM és RAM, több port az UART, az USB külön virtuális portja, de a fő előny a micro SD csatlakozó jelenléte közvetlenül a táblán (Nagyon kényelmes nagy mennyiségű adat, például képek tárolása).

A 3G/GPRS/GSM/GPS pajzs az Arduino számára nagyon kényelmes a kompatibilis Arduino M0-SD kártyával való használathoz. Számos könyvtár található az interneten, valamint számos példa a pajzzsal való munkavégzésre. Az adatátviteli sebesség (3G) sokkal magasabb, mint a hagyományos GPRS pajzsoké (különösen kényelmes a képek továbbításához). A GPS modul rendelkezésre állása további előny.

Egy mobil szolgáltatótól származó alacsony költségű tarifát választottam az adatok (fényképek) interneten keresztüli továbbítására. De felmerült a kérdés: hogyan lehet adatokat továbbítani? MMS? FTP? Hogyan lehet értesítést kapni az adatok beérkezéséről (fotó)? Ennek eredményeként azt a döntést hoztam, hogy adatokat (fényképeket) küldök e-mailbe, és megtekintem a leveleket a mobiltelefonra telepített alkalmazáson keresztül. Nagyon kényelmesnek bizonyult!:-) A kész projekt ezen a linken tekinthető meg.

Van egy hasonló projekt az Arduino UNO számára is.

Aztán úgy döntöttem, hogy bővítem a készülék funkcióit. Például adja hozzá a LED -ek vezérlésének lehetőségét (bár a valóságban a lehetőségek sokkal szélesebbek). Az e-mail erre nem igazán alkalmas. Az SMS opció drága és kényelmetlen. Aztán megtudtam az MQTT -t. Nem írom le, mi ő. Hadd mondjam el: Ez egy nagyon klassz dolog!:-) Az MQTT segítségével nemcsak üzeneteket, hanem bináris fájlokat (képeket) is cserélhet. A telefon alkalmazásában könnyedén létrehozhat saját felületet.

Kerestem példákat az 3G/GPRS/GSM/GPS pajzs (SIM5320) MQTT protokolljának megvalósítására, és sajnos nem találtam meg a szükséges megvalósítást. De ez nem hagyott békén. Úgy döntöttem, hogy önállóan megvalósítom a szükséges funkciókat. Ennek eredményeként sikerült létrehoznom egy olyan eszközt, amelyet az MQTT -n keresztül vezérelnek (három LED jelzi) egy mobiltelefonra telepített alkalmazásból, és fényképet is küld a telefonra parancsra a telefonról. (Elárulok egy titkot, hogy korábban nem láttam példát arra, hogy képeket küldjek az MQTT brókeren keresztül, és először csináltam. És amikor sikerült átvinni az első képet, rendkívül boldog voltam!:-)) És Tehát azt javaslom, hogy egyenesen az első lépéshez menjen - a szükséges összetevők listájához.

1. lépés: Az összetevők listája

Komponensek listája
Komponensek listája
Komponensek listája
Komponensek listája
Komponensek listája
Komponensek listája
Komponensek listája
Komponensek listája

Szükségünk van a következő összetevőkre:

1) Arduino M0-SD kompatibilis.

2) TTL-kamera VC0706.

3) 3G/GPRS/GSM/GPS pajzs az Arduino számára.

4) Piros, zöld, sárga LED-ek, 3 ellenállás (100-500 Ohm), vezetékek, tűszög-csatlakozó 2,54 mm-es osztással.

5) AC-DC hálózati adapter (6V 1A), 3G antenna stb.

2. lépés: A kamera előkészítése

A kamera előkészítése
A kamera előkészítése
A kamera előkészítése
A kamera előkészítése
A kamera előkészítése
A kamera előkészítése

A fényképezőgép RS-232 kimenettel rendelkezik, amely közvetlenül csatlakoztatható a számítógéphez. Szükséges a MAX232 (RS-232 átalakító) eltávolítása és a megfelelő 7-10 (TX), 8-9 (RX) csapok közötti érintkezőpárnák bezárása.

A fényképezőgéphez kapott hatvezetékes kábelt kissé át kell alakítani:

  • Húzza ki a két vezetéket a csatlakozóból.
  • Helyezze át a piros (+ 5V) és a fekete (GND) vezetékeket az ábrán látható módon.

A huzalok csupasz végein forrasztott hegyeket kell hegeszteni, mint a "női".

3. lépés: A kompatibilis Arduino M0-SD előkészítése

Kompatibilis Arduino M0-SD előkészítése
Kompatibilis Arduino M0-SD előkészítése
Kompatibilis Arduino M0-SD előkészítése
Kompatibilis Arduino M0-SD előkészítése
Kompatibilis Arduino M0-SD előkészítése
Kompatibilis Arduino M0-SD előkészítése

Amint már említettük, a kompatibilis Arduino M0-SD hardver és szoftver kompatibilis az eredeti Arduino M0-val, de rendelkezik beépített microSD-csatlakozóval is a memóriakártya csatlakoztatásához.

A kamera csatlakoztatásához a kompatibilis Arduino M0-SD-hez az alaplapon, a szögletes csatlakozót a TXD, RXD (X6 csatlakozó) csatlakozóhoz kell forrasztani, az ábrán látható módon. Ez a port illeszkedik a "soros" porthoz.

A fényképezőgépből származó fehér (Camera RX) és sárga (Camera TX) vezetékeket a TXD és az RXD (X6 csatlakozó) csatlakozóira kell csatlakoztatni, az ábrán látható módon.

4. lépés: A 3G/GPRS/GSM/GPS Shield SIM5320 előkészítése

3G/GPRS/GSM/GPS pajzs SIM5320 előkészítése
3G/GPRS/GSM/GPS pajzs SIM5320 előkészítése
3G/GPRS/GSM/GPS pajzs SIM5320 előkészítése
3G/GPRS/GSM/GPS pajzs SIM5320 előkészítése
3G/GPRS/GSM/GPS pajzs SIM5320 előkészítése
3G/GPRS/GSM/GPS pajzs SIM5320 előkészítése

A SIM -kártya nyílásba helyezése előtt le kell tiltania a PIN -kód kérését. Ezután helyezze be a SIM-kártyát a kártya alsó oldalán található nyílásba, az ábrán látható módon. Két jumpert kell felszerelni az RX-1 (D1), TX-0 (D0) helyzetben.

5. lépés: A hardver összeszerelése

Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés

A hardver összeszerelése több egyszerű műveletből áll:

  • A LED-ek vezérléséhez először forrasztania kell egy kis méretű LED-et és áramkorlátozó ellenállást (100-500 Ohm), amint az az ábrán látható. Ügyeljen a LED -ek polaritására - az anódot az ellenállásokhoz kell forrasztani (+). A LED -ek parazita expozíciójának csökkentése érdekében fekete képernyőt készítettem normál kartonból.
  • Csatlakoztassa a LED-eket és a fényképezőgépet egy kompatibilis Arduino M0-SD kártyához az ábra szerint. A kamera tápellátását (piros "+ 5V" és fekete "GND" vezeték) a "+ 5V", a "GND" csatlakozóból kell levenni. Ehhez használhat szögcsatlakozót is.
  • Ezután csatlakoztassa a 3G/GPRS/GSM/GPS pajzsot a kompatibilis Arduino M0-SD kártyához. Ne felejtse el csatlakoztatni a 3G antennát.

6. lépés: Az MQTT Broker beállítása

Az MQTT Broker beállítása
Az MQTT Broker beállítása
Az MQTT Broker beállítása
Az MQTT Broker beállítása
Az MQTT Broker beállítása
Az MQTT Broker beállítása

Nagyon kényelmes és világos www.cloudmqtt.com webhelyet választottam MQTT brókerként. Ingyenes tesztelést biztosít. Lehetőség van üzenetek fogadására és küldésére is közvetlenül az oldalon.

A beállítás menete a következő:

  1. Regisztrálj online.
  2. Nyomja meg az "Új példány létrehozása" gombot.
  3. Állítsa be a nevet, például "MqttCamera".
  4. Nyomja meg a "Régió kiválasztása" gombot. Például válassza az "US-East-1 (Észak-Virginia)" lehetőséget.
  5. Nyomja meg az "Áttekintés" gombot.
  6. Nyomja meg a "Példány létrehozása" gombot. "A példány sikeresen létrehozva" üzenet megtekintése.
  7. Kattintson az "MqttCamera" gombra.
  8. Ne feledje az információkat: szerver, felhasználó, jelszó, port, API -kulcs (szükségünk lesz rá a 7. és a 8. lépésben).
  9. Ezután lépjen a "WEBSOCKET UI" ablakba, ahol tesztelheti és hibakeresheti, megtekintheti és küldhet üzeneteket (erre az ablakra lesz szükségünk a következő lépésben).

7. lépés: MQTT Dash App

MQTT Dash App
MQTT Dash App
MQTT Dash App
MQTT Dash App
MQTT Dash App
MQTT Dash App

Vezérlőpult létrehozásához egy mobiltelefonban egy nagyon felhasználóbarát és áttekinthető MQTT Dash alkalmazást választottam.

Telepítse a telefonjára az MQTT Dash alkalmazást, és végezze el a következő beállításokat:

  1. Nyissa meg az alkalmazást.
  2. Az MQTT műszerfal ablakban kattintson a (+) gombra egy új vezérlőpult hozzáadásához.
  3. A megjelenő ablakban töltse ki a szükséges mezőket, például: Név (például MqttCamera), Cím, Port, Felhasználónév, Felhasználói jelszó (Adatok levétele a 6. lépésből).
  4. A mezők kitöltése után kattintson a hajlékonylemez ikonra ("Mentés" művelet).
  5. A kezelőpanelek listáját tartalmazó ablakban kattintson a megjelenő "MqttCamera" sorra.
  6. A megnyíló vezérlőpult ablakban kattintson a nyíl ikonra a metrikák betöltéséhez.
  7. Ezután az előugró ablakban kattintson a "FELIRATKOZÁS ÉS VÁRJON A METRIKÁRA" gombra.
  8. Számítógépen nyisson számlát egy MQTT-brókerben (lásd az előző lépést), nyissa meg a "WEBSOCKET UI" ablakot, állítsa be a "metrics/exchange" témát az "Üzenet küldése" ablakban, és rögzítse a szöveget a csatolt metrics.txt fájlt az "Üzenet" ablakban, kattintson a "Küldés" gombra.
  9. Várjon 10 másodpercet, és győződjön meg arról, hogy a mérés megérkezett a telefonba, és a vezérlőpult frissítve van.

Ezután folytathatja a kompatibilis Arduino M0-SD programozását.

8. lépés: Programozás és munka

Programozás és munka
Programozás és munka
Programozás és munka
Programozás és munka
Programozás és munka
Programozás és munka
Programozás és munka
Programozás és munka

A kompatibilis Arduino M0-SD programozása előtt telepítenie kell a számítógépre az összes szükséges könyvtárat (pubsubclient-master, TinyGSM-master), amelyeket az alábbiakban idéztem. Ezek a könyvtárak kissé módosultak, hogy kompatibilis Arduino M0-SD kártyával, VC0706 kamerával és 3G/GPRS/GSM/GPS SIM5320 pajzzsal működjenek.

Csatlakoztassa a kábelt és a tápegységet (6V 1A a 3G/GPRS/GSM/GPS pajzs táplálásához) a kompatibilis Arduino M0-SD-hez.

Indítsa el az Arduino IDE -t. Az Arduino alkalmazásban az IDE-nek választania kell: Eszközök-> Tábla: Arduino M0 Pro (natív USB-port).

Nyissa meg az MqttCamera.ino vázlatot. Töltse ki a mezőket: Felhasználónév, Felhasználói jelszó, API -kulcs, Port, Szerver (Vegye ki az adatokat a 6. lépésből).

Nyissa meg a Soros monitor ablakot.

Vázlat feltöltése. Nem írom le részletesen a programozási eljárást (elegendő utasítás található az interneten).

A sikeres betöltés és megfelelő összeszerelés után a következő információknak kell megjelenniük a Soros monitor ablakban:

VC0706 Kamera + Arduino M0 + SIM5320 + MQTT

Kamera init… verzió: ----------------- VC0703 1,00 Ctrl infr létezik Felhasználó által definiált érzékelő 525 ----------------- sikeres ! Modem inicializálása… Modem: AT+CGMM SIMCOM_SIM5320E Várakozás a hálózatra… OK Csatlakozás az internethez OK Csatlakozás a 3.83.68.228 -hoz sikertelen Csatlakozás a 3.83.68.228 -hoz OK Ping: 0

A "Ping: XX" sor periodikus üzenet a kompatibilis Arduino M0-SD-től a szerverhez. Ezen információk helyett küldhet ADC méréseket, bemeneti állapotot és egyebeket.

Az MQTT Dash alkalmazásban kattintson az izzók ikonjaira (LED_SÁRGA, LED_ZÖLD, LED_PIROS) - kapcsolja be/ki. Nézzen be a soros monitor ablakába - ilyen információknak kell lenniük:

LED_YELLOW Be

LED_YELLOW_Off LED_GREEN Be LED_GREEN off LED_RED On LED_RED Off

Kattintson a kamera ikonra - küldje el a "SHOOT" parancsot, és várjon egy kicsit. A Serial Monitor ablakban a következő információknak kell megjelenniük:

Start Shoot!

Kép készült! IMAGE332-j.webp

És egy idő után (5-10 másodperc) az ablakban "VIEW IMAGE" kell megjeleníteni fotó.

A bemutatóhoz a VC0706 kamerát a LED -ekhez irányítottam, hogy lássák állapotukat, miután tetszőleges módon kapcsoltam őket. De a valós használat során a kamerát egy szobába, ajtóhoz, utcához, kapuhoz, autóhoz stb. Irányíthatja (természetesen figyelembe kell vennie a törvény követelményeit). Demonstrációként több képernyőképet mutatok be egy mobiltelefon, ahol a LED -ek telepített és tényleges állapota jelenik meg.

Remélem, hogy az utasításom érdekes és hasznos volt az Ön számára. Örömmel fogadom visszajelzéseit és észrevételeit. Terveimben fejleszteni fogom a készülékemet, és megosztom veletek az újításokat. Köszönöm a megtekintést!

Ajánlott: