Talaan ng mga Nilalaman:

Remote Control at Photo Surveillance sa MQTT: 8 Hakbang
Remote Control at Photo Surveillance sa MQTT: 8 Hakbang

Video: Remote Control at Photo Surveillance sa MQTT: 8 Hakbang

Video: Remote Control at Photo Surveillance sa MQTT: 8 Hakbang
Video: CCTV camera view on mobile phone in 4 easy steps # Remote access 2024, Nobyembre
Anonim
Remote Control at Photo Surveillance Sa MQTT
Remote Control at Photo Surveillance Sa MQTT

Kamusta.

Ngayon nais kong pag-usapan kung paano gumawa ng isang remote control at monitoring system na maaaring magamit, halimbawa, upang makontrol ang mga pintuan ng garahe, ilaw, pag-init, kontrol sa presyon, temperatura at marami pang ibang mga parameter. Ngunit ang pangunahing tampok ng sistemang ito ay maaari kang makatanggap ng malayuan mula sa isang malayuang bagay. Bago mo simulan ang kwento, isang maikling paunang salita. Kapag nais kong gumawa ng isang sistema ng pagsubaybay sa larawan gamit ang isang katugmang Arduino M0-SD board, isang VC0706 camera at isang 3G / GPRS / GSM / GPS na kalasag para sa Arduino. Ang Arduino M0-SD compatible board ay napili mula sa mga kundisyon na napakadaling mag-program (tulad ng Arduino UNO), ang boltahe sa pagpapatakbo ay 3.3V - napakadali para sa pagtatrabaho sa VC0706 camera, isang malaking halaga ng ROM at RAM, maraming mga port ang UART, isang hiwalay na virtual port ng USB, ngunit ang pangunahing bentahe ay ang pagkakaroon ng isang micro SD konektor nang direkta sa board (Napakadali na mag-imbak ng maraming data, tulad ng mga imahe).

3G / GPRS / GSM / GPS kalasag para sa Arduino ay napaka-maginhawa para sa paggamit sa isang katugmang Arduino M0-SD board. Mayroong maraming mga aklatan sa Internet, pati na rin maraming mga halimbawa para sa pagtatrabaho sa kalasag na ito. Ang rate ng paglipat ng data (3G) ay mas mataas kaysa sa mga maginoo na kalasag na GPRS (lalo na maginhawa para sa paglilipat ng mga imahe). Ang pagkakaroon ng module ng GPS ay isang karagdagang kalamangan.

Pinili ko ang isang murang taripa mula sa isang operator ng cellular para sa paghahatid ng data (larawan) sa Internet. Ngunit ang tanong ay lumitaw: paano maglipat ng data? MMS? FTP? Paano makakuha ng isang abiso tungkol sa resibo ng data (larawan)? Bilang isang resulta, napagpasyahan kong magpadala ng data (larawan) sa e-mail at tingnan ang mga titik sa pamamagitan ng application na naka-install sa isang mobile phone. Ito ay naging napaka maginhawa!:-) Ang natapos na proyekto ay maaaring matingnan sa link na ito.

Mayroon ding isang katulad na proyekto para sa Arduino UNO sa pamamagitan ng sanggunian.

Pagkatapos ay nagpasya akong palawakin ang pag-andar ng aking aparato. Halimbawa, idagdag ang kakayahang kontrolin ang mga LED (kahit na sa katotohanan ang mga posibilidad ay mas malawak). Ang e-mail para dito ay hindi masyadong angkop. Ang pagpipilian sa SMS ay mahal at hindi komportable. At pagkatapos ay natutunan ko ang tungkol sa MQTT. Hindi ko ilalarawan kung ano siya. Hayaan mo lang akong sabihin: Ito ay isang talagang cool na bagay!:-) Sa tulong ng MQTT, maaari kang makipagpalitan hindi lamang ng mga mensahe, kundi pati na rin ang mga binary file (mga imahe). Sa application para sa telepono, madali kang makakalikha ng iyong sariling interface.

Naghanap ako ng mga halimbawa ng pagpapatupad ng MQTT protocol para sa aking 3G / GPRS / GSM / GPS na kalasag (SIM5320) at, sa kasamaang palad, ay hindi nahanap ang pagpapatupad na kailangan ko. Ngunit hindi iyon pinabayaan akong mag-isa. Nagpasya akong malayang ipatupad ang kinakailangang pagpapaandar. Bilang isang resulta, nagawa kong lumikha ng isang aparato na kontrolado (ipinahiwatig ng tatlong LEDs) sa MQTT mula sa isang application na naka-install sa isang mobile phone, at nagpapadala din ng larawan sa telepono sa utos mula sa telepono. (Sasabihin ko sa iyo ang isang lihim na wala pa akong nakikitang mga halimbawa ng pagpapadala ng mga imahe sa pamamagitan ng MQTT broker dati at ginawa ito sa kauna-unahang pagkakataon. At nang mapamahalaan kong ilipat ang unang larawan ay napakasaya ko!:-)) At sa gayon, imungkahi ko na dumiretso sa unang hakbang - isang listahan ng mga kinakailangang bahagi.

Hakbang 1: Listahan ng Mga Bahagi

Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi

Kailangan namin ng mga susunod na sangkap:

1) Arduino M0-SD na katugma.

2) TTL-camera VC0706.

3) 3G / GPRS / GSM / GPS na kalasag para sa Arduino.

4) Pula, berde, dilaw na LEDs, 3 resistors (100-500 Ohm), mga wire, konektor ng anggulo ng pin na may 2.54 mm na pitch.

5) AC-DC power adapter (6V 1A), 3G antena, atbp.

Hakbang 2: Paghahanda ng Camera

Paghahanda ng Camera
Paghahanda ng Camera
Paghahanda ng Camera
Paghahanda ng Camera
Paghahanda ng Camera
Paghahanda ng Camera

Ang camera ay may output na RS-232 para sa direktang koneksyon sa isang PC. Kinakailangan na alisin ang MAX232 (RS-232 converter) at isara ang mga contact pad sa pagitan ng mga kaukulang pin na 7-10 (TX), 8-9 (RX).

Ang anim na kawad na kable na kasama ng camera ay kailangang gawin nang bahagyang:

  • Alisin ang dalawang wires mula sa konektor.
  • Muling ayusin ang pula (+ 5V) at itim (GND) na mga wire tulad ng ipinakita sa pigura.

Sa mga hubad na dulo ng mga wire ay dapat na mga solder na tip tulad ng "babae".

Hakbang 3: Paghahanda ng Compatible Arduino M0-SD

Paghahanda ng Compatible Arduino M0-SD
Paghahanda ng Compatible Arduino M0-SD
Paghahanda ng Compatible Arduino M0-SD
Paghahanda ng Compatible Arduino M0-SD
Paghahanda ng Compatible Arduino M0-SD
Paghahanda ng Compatible Arduino M0-SD

Tulad ng nabanggit na, ang katugmang Arduino M0-SD ay hardware at software na katugma sa orihinal na Arduino M0, ngunit mayroon din itong onboard microSD konektor para sa pagkonekta ng isang memory card.

Upang ikonekta ang camera sa katugmang Arduino M0-SD sa board kinakailangan na maghinang angular konektor sa mga terminal na TXD, RXD (konektor X6) tulad ng ipinakita sa pigura. Ang port na ito ay tumutugma sa "Serial".

Ang mga puting wire (Camera RX) at dilaw (Camera TX) mula sa camera ay dapat na konektado ayon sa pagkakabanggit sa mga terminal ng TXD at RXD (konektor X6) tulad ng ipinakita sa pigura.

Hakbang 4: Paghahanda ng 3G / GPRS / GSM / GPS Shield SIM5320

Paghahanda ng 3G / GPRS / GSM / GPS Shield SIM5320
Paghahanda ng 3G / GPRS / GSM / GPS Shield SIM5320
Paghahanda ng 3G / GPRS / GSM / GPS Shield SIM5320
Paghahanda ng 3G / GPRS / GSM / GPS Shield SIM5320
Paghahanda ng 3G / GPRS / GSM / GPS Shield SIM5320
Paghahanda ng 3G / GPRS / GSM / GPS Shield SIM5320

Bago mag-install ng isang sim card sa puwang, dapat mong huwag paganahin ang kahilingan sa PIN code. Pagkatapos i-install ang SIM card sa puwang sa ilalim na bahagi ng board tulad ng ipinakita sa figure. Dapat na mai-install ang dalawang jumper sa posisyon na RX-1 (D1), TX-0 (D0).

Hakbang 5: Hardware Assembly

Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly

Ang pagpupulong ng hardware ay binubuo ng maraming mga simpleng operasyon:

  • Upang makontrol ang mga LED, kailangan mo munang maghinang ng isang maliit na disenyo ng mga LED at kasalukuyang nililimitahan ang mga resistor (100-500 Ohm) tulad ng ipinakita sa pigura. Bigyang pansin ang polarity ng LEDs - ang anode ay dapat na solder sa resistors (+). Upang mabawasan ang pagkakalantad ng parasitiko ng mga LED, gumawa ako ng isang itim na screen mula sa regular na karton.
  • Ikonekta ang mga LED at ang camera sa isang katugmang Arduino M0-SD board tulad ng ipinakita sa diagram. Ang power supply ng camera (red wire "+ 5V" at black wire "GND") ay dapat na makuha mula sa "+ 5V" at mga terminal na "GND" mula sa puwang. Maaari mo ring gamitin ang isang konektor ng anggulo para dito.
  • Pagkatapos nito, ikonekta ang 3G / GPRS / GSM / GPS na kalasag sa katugmang Arduino M0-SD board. Huwag kalimutang ikonekta ang isang antena ng 3G.

Hakbang 6: Pagtatakda ng MQTT Broker

Pagtatakda ng MQTT Broker
Pagtatakda ng MQTT Broker
Pagtatakda ng MQTT Broker
Pagtatakda ng MQTT Broker
Pagtatakda ng MQTT Broker
Pagtatakda ng MQTT Broker

Pinili ko ang isang napaka-maginhawa at malinaw na www.cloudmqtt.com bilang isang MQTT broker. Nagbibigay ito ng libreng pagsubok. Posible ring makatanggap at magpadala ng mga mensahe nang direkta sa site.

Ang pamamaraan ng pag-setup ay ang mga sumusunod:

  1. Magrehistro online.
  2. Pindutin ang pindutan na "Lumikha ng Bagong Instance".
  3. Itakda ang pangalan, halimbawa "MqttCamera".
  4. Pindutin ang pindutan na "Piliin ang Rehiyon". Halimbawa, piliin ang "US-East-1 (Northern Virginia)".
  5. Pindutin ang pindutan na "Suriin".
  6. Pindutin ang pindutan na "Lumikha ng Instance". Tingnan ang mensahe na "Matagumpay na nagawa ang pangyayari".
  7. I-click ang "MqttCamera".
  8. Tandaan ang impormasyon: Server, Gumagamit, Password, Port, API Key (Kakailanganin namin ito sa ika-7 at ika-8 na mga hakbang).
  9. Pagkatapos ay maaari kang pumunta sa window ng "WEBSOCKET UI", kung saan maaari mong subukan at i-debug, tingnan at magpadala ng mga mensahe (Kakailanganin namin ang window na ito sa susunod na hakbang).

Hakbang 7: MQTT Dash App

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

Upang lumikha ng isang control panel sa isang mobile phone, pumili ako ng isang napaka-user-friendly at malinaw na MQTT Dash app.

I-install ang app MQTT Dash sa iyong telepono at gawin ang mga sumusunod na setting:

  1. Buksan ang application.
  2. Sa MQTT dash window, i-click ang (+) upang magdagdag ng isang bagong control panel.
  3. Sa lalabas na window, punan ang mga kinakailangang larangan, tulad ng: Pangalan (halimbawa, MqttCamera), Address, Port, User name, User password (Kumuha ng data mula sa hakbang 6).
  4. Matapos punan ang mga patlang, i-click ang icon ng diskette (operasyon na "I-save").
  5. Sa window na may listahan ng mga control panel, mag-click sa lumitaw na linya na "MqttCamera".
  6. Sa bubukas na window ng control panel, i-click ang arrow icon upang mai-load ang mga sukatan.
  7. Pagkatapos sa pop-up window, mag-click sa pindutang "SUBSCRIBE AND WAIT FOR THE METRIC".
  8. Sa isang personal na computer, buksan ang isang account sa isang MQTT-broker (tingnan ang nakaraang hakbang), buksan ang window ng "WEBSOCKET UI", itakda ang paksang "sukatan / palitan" sa window na "Magpadala ng mensahe", at itala ang teksto mula sa nakalakip na mga file ng sukatan.txt sa window na "Mensahe", i-click ang pindutang "Ipadala".
  9. Maghintay ng 10 segundo, siguraduhing natatanggap ang sukatan sa telepono at na-update ang control panel.

Pagkatapos ay maaari kang magpatuloy sa programa na katugmang Arduino M0-SD.

Hakbang 8: Programming at Trabaho

Programming at Trabaho
Programming at Trabaho
Programming at Trabaho
Programming at Trabaho
Programming at Trabaho
Programming at Trabaho
Programming at Trabaho
Programming at Trabaho

Bago ang pag-program na tumutugma sa Arduino M0-SD, kailangan mong i-install sa computer ang lahat ng kinakailangang mga aklatan (pubsubclient-master, TinyGSM-master), na binanggit ko sa ibaba. Ang mga libraryong ito ay bahagyang binago upang gumana sa isang katugmang Arduino M0-SD board, isang VC0706 camera, at isang 3G / GPRS / GSM / GPS SIM5320 na kalasag.

Kailangan mong ikonekta ang iyong cable at power supply (6V 1A para sa pagpapatakbo ng 3G / GPRS / GSM / GPS na kalasag) sa katugmang Arduino M0-SD.

Simulan ang Arduino IDE. Sa Arduino kailangan pumili ng IDE: Mga Tool-> Lupon: Arduino M0 Pro (Native USB Port).

Buksan ang sketch MqttCamera.ino. Punan ang mga patlang: Pangalan ng gumagamit, User password, API Key, Port, Server (Kumuha ng data mula sa hakbang 6).

Buksan ang window ng Serial Monitor.

Mag-upload ng sketch. Hindi ko inilarawan nang detalyado ang pamamaraan ng pagprogram (mayroong sapat na mga tagubilin sa Internet).

Matapos ang matagumpay na paglo-load at tamang pagpupulong, ang sumusunod na impormasyon ay dapat na lumitaw sa window ng Serial Monitor:

VC0706 Camera + Arduino M0 + SIM5320 + MQTT

Camera init… bersyon: ----------------- VC0703 1.00 Ctrl infr umiiral ang sensor na tinukoy ng User 525 ----------------- tagumpay ! Inisyal na modem… Modem: AT + CGMM SIMCOM_SIM5320E Naghihintay para sa network… OK Kumonekta sa internet OK Kumonekta sa 3.83.68.228 mabibigo Kumonekta sa 3.83.68.228 OK Ping: 0

Ang linya na "Ping: XX" ay isang pana-panahong mensahe mula sa katugmang Arduino M0-SD sa server. Sa halip na impormasyong ito, maaari kang magpadala ng mga pagsukat ng ADC, katayuan sa pag-input, at higit pa.

Sa MQTT Dash app, mag-click sa mga icon ng mga bombilya (LED_YELLOW, LED_GREEN, LED_RED) - i-on / i-off. Tumingin sa window ng Serial monitor - dapat mayroong impormasyon tungkol sa isang bagay tulad nito:

LED_YELLOW Bukas

LED_YELLOW_Off LED_GREEN On LED_GREEN off LED_RED On LED_RED Off

Mag-click sa icon ng camera - ipadala ang utos na "SHOOT" at maghintay sandali. Ang sumusunod na impormasyon ay dapat na lumitaw sa window ng Serial Monitor:

Simulan ang shoot!

Nakunan ng larawan! lumikha ng IMAGE332.jpg maghintay upang makuha ang 3488 byte na imahe… Tapos na! Kinuha ang 1456 ms Magpadala ng larawan (3488 bytes)… tapos na!

At pagkatapos ng ilang sandali (5-10 segundo) sa window na "TINGNAN ANG IMAGE" dapat ipakita ang larawan.

Para sa demonstrasyon, dinirekta ko ang VC0706 camera sa mga LED upang makita mo ang kanilang katayuan pagkatapos kong ilipat ang mga ito sa isang di-makatwirang pamamaraan. Ngunit sa totoong paggamit, maaari mong idirekta ang camera sa isang silid, pintuan, kalye, gate, kotse, atbp. (Siyempre, dapat mong isaalang-alang ang mga kinakailangan ng batas). Bilang isang pagpapakita, nagpapakita ako ng maraming mga screenshot mula sa isang mobile phone, kung saan ipinakita ang naka-install at aktwal na estado ng mga LED.

Umaasa ako na ang aking tagubilin ay kawili-wili at kapaki-pakinabang para sa iyo. Masisiyahan ako sa iyong puna at komento. Sa aking mga plano na paunlarin ang aking aparato at ibahagi sa iyo ang mga bagong makabagong ideya. Salamat sa panonood!

Inirerekumendang: