Taula de continguts:

Control remot i vigilància fotogràfica sobre MQTT: 8 passos
Control remot i vigilància fotogràfica sobre MQTT: 8 passos

Vídeo: Control remot i vigilància fotogràfica sobre MQTT: 8 passos

Vídeo: Control remot i vigilància fotogràfica sobre MQTT: 8 passos
Vídeo: Home Assistant. Урок 9.4 ADD-ON - Xiaomi Gateway 3, интеграция в zigbee2mqtt 2024, Desembre
Anonim
Control remot i vigilància fotogràfica sobre MQTT
Control remot i vigilància fotogràfica sobre MQTT

Hola.

Avui m’agradaria parlar de com fer un sistema de control i control remot que es pugui utilitzar, per exemple, per controlar portes de garatge, il·luminació, calefacció, control de pressió, temperatura i molts altres paràmetres. Però la característica principal d’aquest sistema és que podeu rebre fotografies d’un objecte remot de forma remota. Abans de començar la història, un breu prefaci: un cop volia fer un sistema de vigilància fotogràfica amb una placa Arduino M0-SD compatible, una càmera VC0706 i un escut 3G / GPRS / GSM / GPS per a Arduino. La placa compatible Arduino M0-SD es va triar entre les condicions que és molt fàcil de programar (igual que l’Arduino UNO), la tensió de funcionament és de 3,3 V; és molt convenient per treballar amb la càmera VC0706, una gran quantitat de ROM. i RAM, diversos ports UART, un port virtual separat de l’USB, però l’avantatge principal és la presència d’un connector micro SD directament a la placa (és molt convenient emmagatzemar grans quantitats de dades, com ara imatges).

El blindatge 3G / GPRS / GSM / GPS per a Arduino és molt convenient per utilitzar-lo amb una placa Arduino M0-SD compatible. Hi ha diverses biblioteques a Internet, així com molts exemples per treballar amb aquest escut. La velocitat de transferència de dades (3G) és molt superior a la dels blindatges GPRS convencionals (especialment convenient per transmetre imatges). La disponibilitat del mòdul GPS és un avantatge addicional.

Vaig triar una tarifa de baix cost d’un operador de telefonia mòbil per a la transmissió de dades (fotos) per Internet. Però va sorgir la pregunta: com transferir dades? MMS? FTP? Com es pot rebre una notificació sobre la recepció de dades (foto)? Com a resultat, vaig prendre la decisió d’enviar dades (fotos) per correu electrònic i veure cartes a través de l’aplicació instal·lada en un telèfon mòbil. Va resultar molt convenient!:-) El projecte acabat es pot veure en aquest enllaç.

També hi ha un projecte similar per Arduino UNO per referència.

Llavors vaig decidir ampliar la funcionalitat del meu dispositiu. Per exemple, afegiu la possibilitat de controlar els LED (tot i que en realitat les possibilitats són molt més àmplies). El correu electrònic per a això no és molt adequat. L’opció de SMS és cara i incòmoda. I després vaig conèixer el MQTT. No descriuré què és. Deixeu-me dir que això és realment genial.:-) Amb l'ajuda de MQTT, podeu intercanviar no només missatges, sinó també fitxers binaris (imatges). A l’aplicació per al telèfon, podeu crear fàcilment la vostra pròpia interfície.

Vaig buscar exemples d’implementació del protocol MQTT per al meu blindatge 3G / GPRS / GSM / GPS (SIM5320) i, malauradament, no vaig trobar la implementació que necessitava. Però això no em va deixar sol. Vaig decidir implementar de manera independent la funcionalitat necessària. Com a resultat, vaig aconseguir crear un dispositiu que es controlava (indicat per tres LED) sobre MQTT des d’una aplicació instal·lada en un telèfon mòbil i també enviava una foto al telèfon per ordre del telèfon. (Us explicaré un secret que no he vist cap exemple d’enviament d’imatges a través del corredor MQTT i ho vaig fer per primera vegada. I quan vaig aconseguir transferir la primera imatge vaig estar immensament feliç!:-)) I per tant, proposo anar directament al primer pas: una llista de components necessaris.

Pas 1: Llista de components

Llista de components
Llista de components
Llista de components
Llista de components
Llista de components
Llista de components
Llista de components
Llista de components

Necessitem els components següents:

1) Compatible amb Arduino M0-SD.

2) Càmera TTL VC0706.

3) Escut 3G / GPRS / GSM / GPS per Arduino.

4) LEDs vermells, verds, grocs, 3 resistències (100-500 Ohm), cables, connector d'angle de pin amb pas de 2,54 mm.

5) Adaptador d'alimentació CA-CC (6V 1A), antena 3G, etc.

Pas 2: Preparació de la càmera

Preparació de la càmera
Preparació de la càmera
Preparació de la càmera
Preparació de la càmera
Preparació de la càmera
Preparació de la càmera

La càmera té una sortida RS-232 per a la connexió directa a un PC. Cal treure el MAX232 (convertidor RS-232) i tancar les pastilles de contacte entre els pins 7-10 (TX), 8-9 (RX) corresponents.

Cal tornar a refer una mica el cable de sis fils que es va incloure amb la càmera:

  • Traieu els dos cables del connector.
  • Reorganitzeu els cables vermells (+ 5V) i negre (GND) tal com es mostra a la figura.

Als extrems nus dels cables s’han de soldar puntes com “femella”.

Pas 3: Preparació de l'Arduino M0-SD compatible

Preparació d'Arduino M0-SD compatible
Preparació d'Arduino M0-SD compatible
Preparació d'Arduino M0-SD compatible
Preparació d'Arduino M0-SD compatible
Preparació d'Arduino M0-SD compatible
Preparació d'Arduino M0-SD compatible

Com ja s’ha esmentat, l’Arduino M0-SD compatible és maquinari i programari compatible amb l’Arduino M0 original, però també té un connector microSD integrat per connectar una targeta de memòria.

Per connectar la càmera a l'Arduino M0-SD compatible de la placa, cal soldar el connector angular als terminals TXD, RXD (connector X6) tal com es mostra a la figura. Aquest port coincideix amb el "Serial".

Els cables blancs (Camera RX) i grocs (Camera TX) de la càmera s'han de connectar respectivament als terminals del TXD i RXD (connector X6) tal com es mostra a la figura.

Pas 4: Preparació de l'escut SIM5320 3G / GPRS / GSM / GPS

Preparació del 3G / GPRS / GSM / GPS Shield SIM5320
Preparació del 3G / GPRS / GSM / GPS Shield SIM5320
Preparació del 3G / GPRS / GSM / GPS Shield SIM5320
Preparació del 3G / GPRS / GSM / GPS Shield SIM5320
Preparació de l'escut 3G / GPRS / GSM / GPS SIM5320
Preparació de l'escut 3G / GPRS / GSM / GPS SIM5320

Abans d’instal·lar una targeta SIM a la ranura, heu de desactivar la sol·licitud de codi PIN. A continuació, instal·leu la targeta SIM a la ranura de la part inferior del tauler, tal com es mostra a la figura. Cal instal·lar dos ponts a la posició RX-1 (D1), TX-0 (D0).

Pas 5: Muntatge de maquinari

Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari

El muntatge de maquinari consisteix en diverses operacions senzilles:

  • Per controlar els LEDs, primer heu de soldar un petit disseny de LEDs i resistències de limitació de corrent (100-500 Ohm) tal com es mostra a la figura. Presteu atenció a la polaritat dels LED: l’ànode s’ha de soldar a les resistències (+). Per reduir l'exposició paràsita dels LED, vaig fer una pantalla negra de cartró normal.
  • Connecteu els LED i la càmera a una placa Arduino M0-SD compatible, tal com es mostra al diagrama. La font d'alimentació de la càmera (cable vermell "+ 5V" i cable negre "GND") s'ha de prendre dels terminals "+ 5V" i "GND" de la ranura. També podeu utilitzar un connector angular per a això.
  • Després, connecteu el blindatge 3G / GPRS / GSM / GPS a la placa Arduino M0-SD compatible. No oblideu connectar una antena 3G.

Pas 6: Configuració del corredor MQTT

Configuració del corredor MQTT
Configuració del corredor MQTT
Configuració del corredor MQTT
Configuració del corredor MQTT
Configuració de MQTT Broker
Configuració de MQTT Broker

Vaig triar un www.cloudmqtt.com molt còmode i clar com a intermediari MQTT. Ofereix proves gratuïtes. També és possible rebre i enviar missatges directament al lloc.

El procediment de configuració és el següent:

  1. Registra't en línia.
  2. Premeu el botó "Crea una nova instància".
  3. Establiu el nom, per exemple "MqttCamera".
  4. Premeu el botó "Selecciona regió". Per exemple, seleccioneu "EUA-Est-1 (Virgínia del Nord)".
  5. Premeu el botó "Revisa".
  6. Premeu el botó "Crea una instància". Veure el missatge "La instància s'ha creat correctament".
  7. Feu clic a "MqttCamera".
  8. Recordeu informació: servidor, usuari, contrasenya, port, clau API (la necessitarem als passos 7 i 8).
  9. A continuació, podeu anar a la finestra "WEBSOCKET UI", on podeu provar i depurar, veure i enviar missatges (necessitarem aquesta finestra al següent pas).

Pas 7: aplicació MQTT Dash

Aplicació MQTT Dash
Aplicació MQTT Dash
Aplicació MQTT Dash
Aplicació MQTT Dash
Aplicació MQTT Dash
Aplicació MQTT Dash

Per crear un tauler de control en un telèfon mòbil, vaig triar una aplicació MQTT Dash molt fàcil d'utilitzar i clara.

Instal·leu l'aplicació MQTT Dash al telèfon i feu la configuració següent:

  1. Obriu l'aplicació.
  2. A la finestra del tauler MQTT, feu clic a (+) per afegir un tauler de control nou.
  3. A la finestra que apareix, empleneu els camps obligatoris, com ara: Nom (per exemple, MqttCamera), Adreça, Port, Nom d'usuari, Contrasenya d'usuari (Preneu les dades del pas 6).
  4. Després d'emplenar els camps, feu clic a la icona del disquet (operació "Desa").
  5. A la finestra amb la llista de taulers de control, feu clic a la línia que apareix "MqttCamera".
  6. A la finestra del tauler de control que s'obre, feu clic a la icona de fletxa per carregar les mètriques.
  7. A continuació, a la finestra emergent, feu clic al botó "SUBSCRIBIU I ESPEREU EL MÈTRIC".
  8. En un ordinador personal, obriu un compte en un corredor MQTT (vegeu el pas anterior), obriu la finestra "WEBSOCKET UI", configureu el tema "mètriques / intercanvi" a la finestra "Enviar missatge" i anoteu el text des de la fitxer adjunt metrics.txt a la finestra "Missatge", feu clic al botó "Envia".
  9. Espereu 10 segons i assegureu-vos que la mètrica es rebi al telèfon i que el tauler de control estigui actualitzat.

A continuació, podeu procedir a la programació Arduino M0-SD compatible.

Pas 8: Programació i treball

Programació i treball
Programació i treball
Programació i treball
Programació i treball
Programació i treball
Programació i treball
Programació i treball
Programació i treball

Abans de programar Arduino M0-SD compatible, heu d’instal·lar a l’ordinador totes les biblioteques necessàries (pubsubclient-master, TinyGSM-master), que he citat a continuació. Aquestes biblioteques es van modificar lleugerament per funcionar amb una placa Arduino M0-SD compatible, una càmera VC0706 i un escut 3G / GPRS / GSM / GPS SIM5320.

Heu de connectar el cable i la font d'alimentació (6V 1A per alimentar el blindatge 3G / GPRS / GSM / GPS) a l'Arduino M0-SD compatible.

Inicieu Arduino IDE. A Arduino, l’IDE ha de triar: Eines-> Tauler: Arduino M0 Pro (port USB natiu).

Obriu l'esbós MqttCamera.ino. Empleneu els camps: Nom d’usuari, contrasenya d’usuari, clau API, port, servidor (Preneu les dades del pas 6).

Obriu la finestra del monitor de sèrie.

Penja un esbós. No descric amb detall el procediment de programació (hi ha prou instruccions a Internet).

Després de carregar i muntar correctament, la informació següent hauria d'aparèixer a la finestra del monitor sèrie:

Càmera VC0706 + Arduino M0 + SIM5320 + MQTT

Càmera init … versió: ----------------- VC0703 1.00 Ctrl infr existent Sensor definit per l'usuari 525 ----------------- èxit ! S'està inicialitzant el mòdem … Mòdem: AT + CGMM SIMCOM_SIM5320E S'està esperant la xarxa … D'acord Connexió a Internet D'acord Connexió a 3.83.68.228 Error Connexió a 3.83.68.228 D'acord Ping: 0

La línia "Ping: XX" és un missatge periòdic des de l'Arduino M0-SD compatible al servidor. En lloc d’aquesta informació, podeu enviar mesures ADC, estat d’entrada i molt més.

A l’aplicació MQTT Dash, feu clic a les icones de les bombetes (LED_IGLOR, LED_GREEN, LED_RED): activeu / apagueu. Mireu a la finestra del monitor sèrie: hi hauria d’haver informació sobre alguna cosa així:

LED_IGRÓ Encès

LED_YELLOW_Off LED_GREEN activat LED_GREEN apagat LED_RED activat LED_RED apagat

Feu clic a la icona de la càmera: envieu l'ordre "TIRAR" i espereu una estona. La informació següent hauria d'aparèixer a la finestra del monitor sèrie:

Comenceu a disparar.

Fotografia feta! crea IMAGE332-j.webp

I al cap d'un temps (5-10 segons) a la finestra "VEURE IMATGE" s'hauria de mostrar la foto.

Per a la demostració, he dirigit la càmera VC0706 cap als LED perquè pugueu veure el seu estat després de canviar-los de manera arbitrària. Però en un ús real, podeu dirigir la càmera a una habitació, porta, carrer, porta, cotxe, etc. (Per descomptat, heu de tenir en compte els requisits de la llei). Com a demostració, presento diverses captures de pantalla telèfon mòbil, on es mostren els estats instal·lats i reals dels LED.

Espero que la meva instrucció us sigui interessant i útil. Estaré encantat dels vostres comentaris i comentaris. En els meus plans per desenvolupar el meu dispositiu i compartir amb vosaltres noves innovacions. Gràcies per veure-ho!

Recomanat: