INHOUDSOPGAWE:

Afstandsbediening en fotobewaking oor MQTT: 8 stappe
Afstandsbediening en fotobewaking oor MQTT: 8 stappe

Video: Afstandsbediening en fotobewaking oor MQTT: 8 stappe

Video: Afstandsbediening en fotobewaking oor MQTT: 8 stappe
Video: De GOOGLE CHROMECAST 4K. Mét afstandsbediening en Google TV! 2024, November
Anonim
Afstandsbediening en foto -toesig oor MQTT
Afstandsbediening en foto -toesig oor MQTT

Hallo.

Vandag wil ek praat oor hoe om 'n afstandbeheer- en moniteringstelsel te maak wat gebruik kan word om byvoorbeeld motorhuisdeure, beligting, verwarming, drukbeheer, temperatuur en vele ander parameters te beheer. Maar die belangrikste kenmerk van hierdie stelsel is dat u op afstand foto's van 'n afgeleë voorwerp kan ontvang. Voordat u met die verhaal begin, 'n kort voorwoord. Eens wou ek 'n foto-toesigstelsel maak met 'n versoenbare Arduino M0-SD-bord, 'n VC0706-kamera en 'n 3G/GPRS/GSM/GPS-skild vir Arduino. Die Arduino M0 -SD -versoenbare bord is gekies uit die toestande wat dit baie maklik is om te programmeer (net soos die Arduino UNO), die werkspanning is 3.3V - dit is baie handig om te werk met die VC0706 -kamera, 'n groot hoeveelheid ROM en RAM, verskeie poorte die UART, 'n aparte virtuele poort van die USB, maar die grootste voordeel is die teenwoordigheid van 'n mikro -SD -aansluiting direk op die bord (dit is baie gerieflik om groot hoeveelhede data, soos beelde, op te slaan).

3G/GPRS/GSM/GPS-skild vir Arduino is baie gerieflik vir gebruik met 'n versoenbare Arduino M0-SD-bord. Daar is verskeie biblioteke op die internet, sowel as baie voorbeelde om met hierdie skild te werk. Die data -oordragkoers (3G) is baie hoër as dié van konvensionele GPRS -skilde (veral gerieflik vir die oordrag van beelde). Die beskikbaarheid van die GPS -module is 'n ekstra voordeel.

Ek het 'n goedkoop tarief van 'n selfoonoperateur gekies vir die oordrag van data (foto's) via die internet. Maar die vraag het ontstaan: hoe om data oor te dra? MMS? FTP? Hoe kry ek 'n kennisgewing oor die ontvangs van data (foto)? As gevolg hiervan het ek tot die besluit gekom om data (foto's) per e-pos te stuur en briewe te sien deur die toepassing op 'n selfoon. Dit blyk baie gerieflik te wees!:-) Die voltooide projek kan op hierdie skakel besigtig word.

Daar is ook 'n soortgelyke projek vir Arduino UNO as verwysing.

Toe besluit ek om die funksionaliteit van my toestel uit te brei. Voeg byvoorbeeld die moontlikheid by om LED's te beheer (hoewel die moontlikhede in werklikheid baie wyer is). E-pos hiervoor is nie baie geskik nie. SMS -opsie is duur en ongemaklik. En toe leer ek van die MQTT. Ek sal nie beskryf wat hy is nie. Laat ek net sê: Dit is 'n baie gawe ding!:-) Met die hulp van MQTT kan u nie net boodskappe uitruil nie, maar ook binêre lêers (beelde). In die toepassing vir die telefoon kan u maklik u eie koppelvlak skep.

Ek het gesoek na voorbeelde van die implementering van die MQTT -protokol vir my 3G/GPRS/GSM/GPS -skild (SIM5320) en het ongelukkig nie die nodige implementering gevind nie. Maar dit het my nie alleen gelaat nie. Ek het besluit om die nodige funksies onafhanklik te implementeer. As gevolg hiervan het ek daarin geslaag om 'n toestel te skep wat beheer word (aangedui deur drie LED's) oor MQTT vanuit 'n toepassing wat op 'n selfoon geïnstalleer is, en ook 'n foto na die telefoon stuur op opdrag van die telefoon. (Ek sal jou 'n geheim vertel dat ek nog nooit voorbeelde gesien het van die stuur van beelde deur die MQTT-makelaar nie en dit vir die eerste keer gedoen het. En toe ek die eerste foto kon oordra, was ek geweldig gelukkig!:-)) En Daarom stel ek voor om direk na die eerste stap te gaan - 'n lys met die nodige komponente.

Stap 1: Lys van komponente

Lys van komponente
Lys van komponente
Lys van komponente
Lys van komponente
Lys van komponente
Lys van komponente
Lys van komponente
Lys van komponente

Ons benodig die volgende komponente:

1) Versoenbaar met Arduino M0-SD.

2) TTL-kamera VC0706.

3) 3G/GPRS/GSM/GPS -skild vir Arduino.

4) Rooi, groen, geel LED's, 3 weerstande (100-500 Ohm), drade, penhoekverbinder met 2,54 mm toonhoogte.

5) Wisselstroomadapter (6V 1A), 3G-antenne, ens.

Stap 2: Voorbereiding van die kamera

Voorbereiding van kamera
Voorbereiding van kamera
Voorbereiding van kamera
Voorbereiding van kamera
Voorbereiding van kamera
Voorbereiding van kamera

Die kamera het 'n RS-232-uitgang vir direkte verbinding met 'n rekenaar. Dit is nodig om die MAX232 (RS-232-omskakelaar) te verwyder en die kontakblokke tussen die ooreenstemmende penne 7-10 (TX), 8-9 (RX) toe te maak.

Die sesdraadkabel wat by die kamera kom, moet effens oorgedoen word:

  • Verwyder die twee drade uit die aansluiting.
  • Rangskik die rooi (+ 5V) en swart (GND) drade soos in die figuur getoon.

Op die kaal punte van die drade moet soldeerpunte soos "vroulike" wees.

Stap 3: Voorbereiding van versoenbare Arduino M0-SD

Voorbereiding van versoenbare Arduino M0-SD
Voorbereiding van versoenbare Arduino M0-SD
Voorbereiding van versoenbare Arduino M0-SD
Voorbereiding van versoenbare Arduino M0-SD
Voorbereiding van versoenbare Arduino M0-SD
Voorbereiding van versoenbare Arduino M0-SD

Soos reeds genoem, is die verenigbare Arduino M0-SD hardeware en sagteware versoenbaar met die oorspronklike Arduino M0, maar dit het ook 'n ingeboude microSD-aansluiting om 'n geheue kaart aan te sluit.

Om die kamera aan te sluit op die verenigbare Arduino M0-SD op die bord, is dit nodig om die hoekverbinder aan die terminale TXD, RXD (connector X6) te soldeer, soos in die figuur getoon. Hierdie poort pas by die "reeks".

Wit (Camera RX) en geel (Camera TX) drade van die kamera moet onderskeidelik aan die terminale van die TXD en RXD (connector X6) gekoppel word, soos in die figuur getoon.

Stap 4: Voorbereiding van 3G/GPRS/GSM/GPS Shield SIM5320

Voorbereiding van 3G/GPRS/GSM/GPS Shield SIM5320
Voorbereiding van 3G/GPRS/GSM/GPS Shield SIM5320
Voorbereiding van 3G/GPRS/GSM/GPS Shield SIM5320
Voorbereiding van 3G/GPRS/GSM/GPS Shield SIM5320
Voorbereiding van 3G/GPRS/GSM/GPS Shield SIM5320
Voorbereiding van 3G/GPRS/GSM/GPS Shield SIM5320

Voordat u 'n simkaart in die gleuf installeer, moet u die PIN -kodeversoek deaktiveer. Installeer dan die SIM-kaart in die gleuf aan die onderkant van die bord, soos in die figuur getoon. Twee springers moet in die posisie RX-1 (D1), TX-0 (D0) geïnstalleer word.

Stap 5: Hardeware -samestelling

Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering

Hardeware -samestelling bestaan uit verskeie eenvoudige operasies:

  • Om die LED's te beheer, moet u eers 'n klein ontwerp van LED's en stroombeperkende weerstande (100-500 Ohm) soldeer soos in die figuur getoon. Let op die polariteit van die LED's - die anode moet aan die weerstande (+) gesoldeer word. Om die parasitiese blootstelling van die LED's te verminder, het ek 'n swart skerm gemaak van gewone karton.
  • Koppel die LED's en die kamera aan 'n versoenbare Arduino M0-SD-bord, soos in die diagram getoon. Die kragtoevoer van die kamera (rooi draad "+ 5V" en swart draad "GND") moet uit die "+ 5V" - en "GND" -aansluitings uit die gleuf geneem word. U kan ook 'n hoekaansluiting hiervoor gebruik.
  • Koppel daarna die 3G/GPRS/GSM/GPS-skild aan die versoenbare Arduino M0-SD-bord. Moenie vergeet om 'n 3G -antenna aan te sluit nie.

Stap 6: Stel MQTT Broker in

Stel MQTT Broker in
Stel MQTT Broker in
Stel MQTT Broker in
Stel MQTT Broker in
Stel MQTT Broker in
Stel MQTT Broker in

Ek het 'n baie gerieflike en duidelike www.cloudmqtt.com gekies as 'n MQTT -makelaar. Dit bied gratis toetsing. Dit is ook moontlik om boodskappe direk op die webwerf te ontvang en te stuur.

Die opstelprosedure is soos volg:

  1. Registreer aanlyn.
  2. Druk die knoppie "Skep nuwe instansie".
  3. Stel die naam, byvoorbeeld "MqttCamera".
  4. Druk die knoppie "Kies streek". Kies byvoorbeeld "US-East-1 (Northern Virginia)".
  5. Druk die knoppie "Review".
  6. Druk die knoppie "Create Instance". Sien die boodskap "Instansie suksesvol geskep".
  7. Klik op "MqttCamera".
  8. Onthou inligting: bediener, gebruiker, wagwoord, poort, API -sleutel (ons benodig dit in die 7de en 8ste stap).
  9. Dan kan u na die venster "WEBSOCKET UI" gaan, waar u kan toets en ontfout, boodskappe kan sien en stuur (ons benodig hierdie venster in die volgende stap).

Stap 7: MQTT Dash -app

MQTT Dash -app
MQTT Dash -app
MQTT Dash -app
MQTT Dash -app
MQTT Dash -app
MQTT Dash -app

Om 'n bedieningspaneel in 'n selfoon te skep, het ek 'n baie gebruikersvriendelike en duidelike MQTT Dash-app gekies.

Installeer die app MQTT Dash op u telefoon en maak die volgende instellings:

  1. Maak die aansoek oop.
  2. Klik in die MQTT -venster (+) om 'n nuwe bedieningspaneel by te voeg.
  3. Vul die vereiste velde in die venster in wat verskyn, soos: Naam (byvoorbeeld MqttCamera), Adres, Poort, Gebruikersnaam, Gebruikerswagwoord (Neem data uit stap 6).
  4. Nadat u die velde ingevul het, klik op die diskette -ikoon ("Bewaar").
  5. Klik in die venster met die lys met bedieningspanele op die reël "MqttCamera".
  6. Klik op die pyltjie -ikoon in die bedieningspaneelvenster om die metrieke te laai.
  7. Klik dan in die opspringvenster op die knoppie "INTEKEN EN WAG OP DIE METRIEK".
  8. Open 'n rekening op 'n persoonlike rekenaar in 'n MQTT-makelaar (sien die vorige stap), maak die venster "WEBSOCKET UI" oop, stel die onderwerp "metrieke/uitruil" in die venster "Stuur boodskap" en teken die teks op uit die aangeheg metrics.txt lêer in die "Boodskap" venster, klik op die knoppie "Stuur".
  9. Wag 10 sekondes, maak seker dat die metriek in die telefoon ontvang word en dat die bedieningspaneel opgedateer is.

Dan kan u voortgaan met die programmering van versoenbare Arduino M0-SD.

Stap 8: Programmering en werk

Programmering en werk
Programmering en werk
Programmering en werk
Programmering en werk
Programmering en werk
Programmering en werk
Programmering en werk
Programmering en werk

Voordat u die verenigbare Arduino M0-SD programmeer, moet u al die nodige biblioteke (pubsubclient-master, TinyGSM-master) op die rekenaar installeer, wat ek hieronder aangehaal het. Hierdie biblioteke is effens aangepas om te werk met 'n versoenbare Arduino M0-SD-bord, 'n VC0706-kamera en 'n 3G/GPRS/GSM/GPS SIM5320-skild.

U moet u kabel en kragtoevoer (6V 1A vir die aanstuur van 3G/GPRS/GSM/GPS-skild) aansluit op die versoenbare Arduino M0-SD.

Begin Arduino IDE. In Arduino moet die IDE kies: Gereedskap-> Bord: Arduino M0 Pro (oorspronklike USB-poort).

Maak die skets MqttCamera.ino oop. Vul die velde in: Gebruikersnaam, gebruikerswagwoord, API -sleutel, poort, bediener (haal data uit stap 6).

Maak die venster Serial Monitor oop.

Laai skets op. Ek beskryf die programmeringsprosedure nie volledig nie (daar is genoeg instruksies op die internet).

Na suksesvolle laai en behoorlike montering, moet die volgende inligting in die venster Serial Monitor verskyn:

VC0706 kamera + Arduino M0 + SIM5320 + MQTT

Kamera init … weergawe: ----------------- VC0703 1.00 Ctrl infr bestaan Gebruikergedefinieerde sensor 525 ----------------- succes ! Modem initialiseer … Modem: AT+CGMM SIMCOM_SIM5320E Wag vir netwerk … OK Koppel aan internet OK Koppel aan 3.83.68.228 misluk Koppel aan 3.83.68.228 OK Ping: 0

Die reël "Ping: XX" is 'n periodieke boodskap van die versoenbare Arduino M0-SD na die bediener. In plaas van hierdie inligting, kan u ADC -metings, invoerstatus en meer stuur.

Klik in die MQTT Dash -app op die ikone van die gloeilampe (LED_YELLOW, LED_GREEN, LED_RED) - skakel aan/af. Kyk in die venster van die seriële monitor - daar behoort inligting te wees oor so iets:

LED_GEEL Aan

LED_YELLOW_Af LED_GREEN Aan LED_GREEN af LED_RED Aan LED_RED Uit

Klik op die kamera -ikoon - stuur die opdrag "SHOOT" en wag 'n rukkie. Die volgende inligting moet in die venster Serial Monitor verskyn:

Begin skiet!

Foto geneem! skep IMAGE332-j.webp

En na 'n rukkie (5-10 sekondes) in die venster "KYK BEELD" moet die foto vertoon word.

Vir die demonstrasie het ek die VC0706 -kamera na die LED's gerig, sodat u hul status kan sien nadat ek dit op 'n willekeurige manier verander het. Maar in werklike gebruik kan u die kamera na 'n kamer, deur, straat, hek, motor, ens. Verwys (natuurlik moet u die vereistes van die wet in ag neem). selfoon, waar die geïnstalleerde en werklike toestande van die LED's vertoon word.

Ek hoop dat my instruksie vir u interessant en nuttig was. Ek sal bly wees oor u terugvoer en kommentaar. In my planne om my toestel te ontwikkel en nuwe innovasies met u te deel. Dankie dat jy gekyk het!

Aanbeveel: