Innehållsförteckning:

Fjärrkontroll och fotoövervakning över MQTT: 8 steg
Fjärrkontroll och fotoövervakning över MQTT: 8 steg

Video: Fjärrkontroll och fotoövervakning över MQTT: 8 steg

Video: Fjärrkontroll och fotoövervakning över MQTT: 8 steg
Video: Lösning! Fjärrövervaka mini solsystem med #wifi, MiniPV installationstest - HOOTS Battery APP 2024, November
Anonim
Fjärrkontroll och fotoövervakning över MQTT
Fjärrkontroll och fotoövervakning över MQTT

Hej.

Idag skulle jag vilja prata om hur man gör ett fjärrkontroll- och övervakningssystem som kan användas till exempel för att styra garageportar, belysning, värme, tryckreglering, temperatur och många andra parametrar. Men huvudfunktionen i detta system är att du kan ta emot foton på distans från ett avlägset objekt på distans. Innan du börjar historien, ett kort förord. En gång ville jag göra ett fotoövervakningssystem med ett kompatibelt Arduino M0-SD-kort, en VC0706-kamera och en 3G/GPRS/GSM/GPS-skärm för Arduino. Det Arduino M0 -SD -kompatibla kortet valdes bland de förhållanden som det är mycket enkelt att programmera (precis som Arduino UNO), driftspänningen är 3,3V - det här är mycket bekvämt för att arbeta med VC0706 -kameran, en stor mängd ROM och RAM, flera portar UART, en separat virtuell port på USB, men den största fördelen är närvaron av en micro SD -kontakt direkt på kortet (Det är mycket bekvämt att lagra stora mängder data, till exempel bilder).

3G/GPRS/GSM/GPS-sköld för Arduino är mycket bekvämt att använda med ett kompatibelt Arduino M0-SD-kort. Det finns flera bibliotek på Internet, liksom många exempel för att arbeta med denna sköld. Dataöverföringshastigheten (3G) är mycket högre än konventionella GPRS -sköldar (särskilt bekvämt för att överföra bilder). Tillgänglighet för GPS -modul är en ytterligare fördel.

Jag valde en billig kostnad från en mobiloperatör för dataöverföring (foton) över Internet. Men frågan uppstod: hur överför man data? MMS? FTP? Hur får jag ett meddelande om mottagande av data (foto)? Som ett resultat kom jag till beslutet att skicka data (foton) till e-post och se brev via programmet installerat på en mobiltelefon. Det visade sig vara väldigt bekvämt!:-) Det färdiga projektet kan ses på denna länk.

Det finns också ett liknande projekt för Arduino UNO som referens.

Sedan bestämde jag mig för att utöka funktionaliteten på min enhet. Lägg till exempel till möjligheten att styra lysdioder (även om möjligheterna i verkligheten är mycket bredare). E-post för detta är inte särskilt lämpligt. SMS -alternativet är dyrt och obekvämt. Och då lärde jag mig om MQTT. Jag kommer inte att beskriva vad han är. Låt mig bara säga: Det här är en riktigt cool sak!:-) Med hjälp av MQTT kan du utbyta inte bara meddelanden utan även binära filer (bilder). I applikationen för telefonen kan du enkelt skapa ditt eget gränssnitt.

Jag letade efter exempel på implementering av MQTT -protokollet för min 3G/GPRS/GSM/GPS -sköld (SIM5320) och tyvärr hittade jag inte den implementering jag behövde. Men det lämnade mig inte ensam. Jag bestämde mig för att självständigt implementera den nödvändiga funktionaliteten. Som ett resultat lyckades jag skapa en enhet som styrs (indikeras med tre lysdioder) över MQTT från en applikation installerad på en mobiltelefon, och skickar också ett foto till telefonen på kommando från telefonen. (Jag ska berätta en hemlighet att jag inte har sett några exempel på att skicka bilder via MQTT-mäklaren tidigare och gjorde det för första gången. Och när jag lyckades överföra den första bilden var jag oerhört glad!:-)) Och så föreslår jag att gå direkt till det första steget - en lista över nödvändiga komponenter.

Steg 1: Lista över komponenter

Lista över komponenter
Lista över komponenter
Lista över komponenter
Lista över komponenter
Lista över komponenter
Lista över komponenter
Lista över komponenter
Lista över komponenter

Vi behöver nästa komponenter:

1) Arduino M0-SD kompatibel.

2) TTL-kamera VC0706.

3) 3G/GPRS/GSM/GPS -sköld för Arduino.

4) Röda, gröna, gula lysdioder, 3 motstånd (100-500 Ohm), ledningar, stiftvinkelkontakt med 2,54 mm delning.

5) AC-DC-nätadapter (6V 1A), 3G-antenn, etc.

Steg 2: Förberedelse av kamera

Förberedelse av kamera
Förberedelse av kamera
Förberedelse av kamera
Förberedelse av kamera
Förberedelse av kamera
Förberedelse av kamera

Kameran har en RS-232-utgång för direkt anslutning till en dator. Det är nödvändigt att ta bort MAX232 (RS-232-omvandlare) och stänga kontaktdynorna mellan motsvarande stift 7-10 (TX), 8-9 (RX).

Den sextrådiga kabeln som följde med kameran måste göras om något:

  • Ta bort de två ledningarna från kontakten.
  • Ordna om de röda (+ 5V) och svarta (GND) trådarna enligt bilden.

På trådarnas bara ändar måste vara lödade spetsar som "hona".

Steg 3: Beredning av kompatibelt Arduino M0-SD

Beredning av kompatibelt Arduino M0-SD
Beredning av kompatibelt Arduino M0-SD
Beredning av kompatibelt Arduino M0-SD
Beredning av kompatibelt Arduino M0-SD
Beredning av kompatibelt Arduino M0-SD
Beredning av kompatibelt Arduino M0-SD

Som redan nämnts är den kompatibla Arduino M0-SD hårdvara och programvara kompatibel med den ursprungliga Arduino M0, men den har också en inbyggd microSD-kontakt för anslutning av ett minneskort.

För att ansluta kameran till den kompatibla Arduino M0-SD på kortet är det nödvändigt att löda vinkelkontakten till plintarna TXD, RXD (kontakt X6) enligt bilden. Den här porten matchar "Serien".

Vita (Camera RX) och gula (Camera TX) kablar från kameran måste anslutas respektive till terminalerna på TXD och RXD (kontakt X6) enligt bilden.

Steg 4: Förberedelse av 3G/GPRS/GSM/GPS Shield SIM5320

Förberedelse av 3G/GPRS/GSM/GPS Shield SIM5320
Förberedelse av 3G/GPRS/GSM/GPS Shield SIM5320
Förberedelse av 3G/GPRS/GSM/GPS Shield SIM5320
Förberedelse av 3G/GPRS/GSM/GPS Shield SIM5320
Förberedelse av 3G/GPRS/GSM/GPS Shield SIM5320
Förberedelse av 3G/GPRS/GSM/GPS Shield SIM5320

Innan du installerar ett simkort i kortplatsen måste du inaktivera begäran om PIN -kod. Installera sedan SIM-kortet i kortplatsen på undersidan av brädet enligt bilden. Två hoppare måste installeras i positionen RX-1 (D1), TX-0 (D0).

Steg 5: Hårdvarumontage

Hårdvara Montering
Hårdvara Montering
Hårdvara Montering
Hårdvara Montering
Hårdvara Montering
Hårdvara Montering

Hårdvarumontering består av flera enkla operationer:

  • För att styra lysdioderna måste du först lödda en liten design av lysdioder och strömbegränsande motstånd (100-500 Ohm) som visas i figuren. Var uppmärksam på polariteten hos lysdioderna - anoden måste lödas till motstånden (+). För att minska den parasitiska exponeringen av lysdioderna gjorde jag en svart skärm av vanlig kartong.
  • Anslut lysdioderna och kameran till ett kompatibelt Arduino M0-SD-kort enligt diagrammet. Kamerans strömförsörjning (röd ledning "+ 5V" och svart ledning "GND") måste tas från "+ 5V" och "GND" -uttagen från kortplatsen. Du kan också använda en vinkelkontakt för detta.
  • Anslut sedan 3G/GPRS/GSM/GPS-skärmen till det kompatibla Arduino M0-SD-kortet. Glöm inte att ansluta en 3G -antenn.

Steg 6: Inställning av MQTT -mäklare

Inställning av MQTT -mäklare
Inställning av MQTT -mäklare
Inställning av MQTT -mäklare
Inställning av MQTT -mäklare
Inställning av MQTT -mäklare
Inställning av MQTT -mäklare

Jag valde ett mycket bekvämt och tydligt www.cloudmqtt.com som MQTT -mäklare. Det ger gratis testning. Det är också möjligt att ta emot och skicka meddelanden direkt på webbplatsen.

Installationsproceduren är följande:

  1. Registrera online.
  2. Tryck på knappen "Skapa ny instans".
  3. Ange namnet, till exempel "MqttCamera".
  4. Tryck på knappen "Välj region". Välj till exempel "US-East-1 (Northern Virginia)".
  5. Tryck på knappen "Granska".
  6. Tryck på knappen "Skapa instans". Visa meddelandet "Instansen skapades framgångsrikt".
  7. Klicka på "MqttCamera".
  8. Kom ihåg information: Server, användare, lösenord, port, API -nyckel (vi kommer att behöva den i sjunde och åttonde steget).
  9. Sedan kan du gå till fönstret "WEBSOCKET UI", där du kan testa och felsöka, visa och skicka meddelanden (vi kommer att behöva det här fönstret i nästa steg).

Steg 7: MQTT Dash App

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

För att skapa en kontrollpanel i en mobiltelefon valde jag en mycket användarvänlig och tydlig MQTT Dash-app.

Installera appen MQTT Dash på din telefon och gör följande inställningar:

  1. Öppna programmet.
  2. Klicka på (+) i fönstret MQTT för att lägga till en ny kontrollpanel.
  3. I fönstret som visas fyller du i de obligatoriska fälten, till exempel: Namn (till exempel MqttCamera), Adress, Port, Användarnamn, Användarlösenord (Ta data från steg 6).
  4. När du har fyllt i fälten klickar du på diskettikonen (operation "Spara").
  5. Klicka på raden "MqttCamera" i fönstret med listan över kontrollpaneler.
  6. Klicka på pilikonen i kontrollpanelfönstret för att ladda mätvärdena.
  7. Klicka sedan på knappen "PRENUMERERA OCH VÄNTA PÅ METRIKEN" i popup-fönstret.
  8. Öppna ett konto i en MQTT-mäklare på en persondator (se föregående steg), öppna fönstret "WEBSOCKET UI", ställ in ämnet "metrics/exchange" i fönstret "Skicka meddelande" och spela in texten från bifogad metrics.txt -fil i fönstret "Meddelande", klicka på knappen "Skicka".
  9. Vänta 10 sekunder, se till att mätvärdet tas emot i telefonen och kontrollpanelen är uppdaterad.

Sedan kan du fortsätta att programmera kompatibla Arduino M0-SD.

Steg 8: Programmering och arbete

Programmering och arbete
Programmering och arbete
Programmering och arbete
Programmering och arbete
Programmering och arbete
Programmering och arbete
Programmering och arbete
Programmering och arbete

Innan du programmerar kompatibel Arduino M0-SD måste du installera alla nödvändiga bibliotek (pubsubclient-master, TinyGSM-master) på datorn, som jag citerade nedan. Dessa bibliotek modifierades något för att fungera med ett kompatibelt Arduino M0-SD-kort, en VC0706-kamera och en 3G/GPRS/GSM/GPS SIM5320-skärm.

Du måste ansluta din kabel och strömförsörjning (6V 1A för att driva 3G/GPRS/GSM/GPS-skärm) till den kompatibla Arduino M0-SD.

Starta Arduino IDE. I Arduino måste IDE välja: Verktygs-> Kort: Arduino M0 Pro (inbyggd USB-port).

Öppna skissen MqttCamera.ino. Fyll i fälten: Användarnamn, Användarlösenord, API -nyckel, Port, Server (Ta data från steg 6).

Öppna fönstret Serial Monitor.

Ladda upp skiss. Jag beskriver inte i detalj programmeringsproceduren (det finns tillräckligt med instruktioner på Internet).

Efter framgångsrik laddning och korrekt montering bör följande information visas i fönstret Serial Monitor:

VC0706 Kamera + Arduino M0 + SIM5320 + MQTT

Kamera init… version: ----------------- VC0703 1.00 Ctrl infr exist User-defined sensor 525 ----------------- success ! Initierar modem … Modem: AT+CGMM SIMCOM_SIM5320E Väntar på nätverk … OK Ansluter till internet OK Ansluter till 3.83.68.228 misslyckas Ansluter till 3.83.68.228 OK Ping: 0

Raden "Ping: XX" är ett periodiskt meddelande från den kompatibla Arduino M0-SD till servern. I stället för denna information kan du skicka ADC -mätningar, ingångsstatus och mer.

I MQTT Dash -appen klickar du på ikonerna för lamporna (LED_GUL, LED_GREEN, LED_RED) - slå på/av. Titta i fönstret på seriell bildskärm - det borde finnas information om något liknande:

LED_YELLOW På

LED_YELLOW_Off LED_GREEN På LED_GREEN av LED_RED På LED_RED Av

Klicka på kamerans ikon - skicka kommandot "SHOOT" och vänta en stund. Följande information bör visas i fönstret Serial Monitor:

Börja skjuta!

Bild tagen! skapa IMAGE332.jpg vänta med att hämta 3488 byte -bild … Klart! Tog 1456 ms Skicka bild (3488 byte) … klart!

Och efter ett tag (5-10 sekunder) i fönstret "VISA BILD" ska visas foto.

För demonstrationen riktade jag VC0706 -kameran till lysdioderna så att du kan se deras status när jag bytte dem på ett godtyckligt sätt. Men i verklig användning kan du rikta kameran till ett rum, dörr, gata, grind, bil etc. (Naturligtvis måste du ta hänsyn till lagens krav). Som en demonstration presenterar jag flera skärmdumpar från en mobiltelefon, där lysdiodernas installerade och faktiska tillstånd visas.

Jag hoppas att min instruktion var intressant och användbar för dig. Jag kommer att vara glad för din feedback och kommentarer. I mina planer på att utveckla min enhet och dela med mig av nya innovationer. Tack för att du tittade!

Rekommenderad: