Innholdsfortegnelse:
- Trinn 1: Liste over komponenter
- Trinn 2: Klargjøring av kamera
- Trinn 3: Utarbeidelse av kompatibel Arduino M0-SD
- Trinn 4: Utarbeidelse av 3G/GPRS/GSM/GPS Shield SIM5320
- Trinn 5: Maskinvaremontasje
- Trinn 6: Innstilling av MQTT -megler
- Trinn 7: MQTT Dash App
- Trinn 8: Programmering og arbeid
Video: Fjernkontroll og fotoovervåking over MQTT: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Hallo.
I dag vil jeg snakke om hvordan man lager et fjernkontroll- og overvåkingssystem som kan brukes for eksempel til å kontrollere garasjeporter, belysning, oppvarming, trykkontroll, temperatur og mange andre parametere. Men hovedtrekk ved dette systemet er at du eksternt kan motta bilder fra et eksternt objekt. Før du begynner historien, et kort forord. En gang ønsket jeg å lage et fotoovervåkingssystem ved hjelp av et kompatibelt Arduino M0-SD-kort, et VC0706-kamera og et 3G/GPRS/GSM/GPS-skjerm for Arduino. Det Arduino M0 -SD -kompatible kortet ble valgt blant forholdene som det er veldig enkelt å programmere (akkurat som Arduino UNO), driftsspenningen er 3,3V - dette er veldig praktisk for arbeid med VC0706 -kameraet, en stor mengde ROM og RAM, flere porter UART, en egen virtuell port på USB, men den største fordelen er tilstedeværelsen av en micro SD -kontakt direkte på kortet (Det er veldig praktisk å lagre store datamengder, for eksempel bilder).
3G/GPRS/GSM/GPS-skjerm for Arduino er veldig praktisk å bruke med et kompatibelt Arduino M0-SD-kort. Det er flere biblioteker på Internett, i tillegg til mange eksempler på arbeid med dette skjoldet. Dataoverføringshastigheten (3G) er mye høyere enn for vanlige GPRS -skjold (spesielt praktisk for overføring av bilder). Tilgjengelighet av GPS -modul er en ekstra fordel.
Jeg valgte en rimelig pris fra en mobiloperatør for dataoverføring (bilder) over Internett. Men spørsmålet dukket opp: hvordan overføre data? MMS? FTP? Hvordan få et varsel om mottak av data (foto)? Som et resultat kom jeg til beslutningen om å sende data (bilder) til e-post og se brev gjennom programmet installert på en mobiltelefon. Det viste seg å være veldig praktisk!:-) Det ferdige prosjektet kan sees på denne lenken.
Det er også et lignende prosjekt for Arduino UNO som referanse.
Da bestemte jeg meg for å utvide funksjonaliteten til enheten min. Legg for eksempel til muligheten til å kontrollere lysdioder (selv om mulighetene i virkeligheten er mye større). E-post for dette er lite egnet. SMS -alternativet er dyrt og ubehagelig. Og så lærte jeg om MQTT. Jeg vil ikke beskrive hva han er. La meg bare si: Dette er en veldig kul ting!:-) Ved hjelp av MQTT kan du utveksle ikke bare meldinger, men også binære filer (bilder). I applikasjonen for telefonen kan du enkelt lage ditt eget grensesnitt.
Jeg så etter eksempler på implementering av MQTT -protokollen for mitt 3G/GPRS/GSM/GPS -skjerm (SIM5320), og fant dessverre ikke implementeringen jeg trengte. Men det lot meg ikke være i fred. Jeg bestemte meg for å implementere nødvendig funksjonalitet uavhengig av hverandre. Som et resultat klarte jeg å lage en enhet som er kontrollert (indikert med tre lysdioder) over MQTT fra en applikasjon installert på en mobiltelefon, og som også sender et bilde til telefonen på kommando fra telefonen. (Jeg skal fortelle deg en hemmelighet at jeg ikke har sett noen eksempler på å sende bilder gjennom MQTT-megleren før og gjorde det for første gang. Og da jeg klarte å overføre det første bildet var jeg utrolig glad!:-)) Og så jeg foreslår at du går direkte til det første trinnet - en liste over nødvendige komponenter.
Trinn 1: Liste over komponenter
Vi trenger neste komponenter:
1) Arduino M0-SD kompatibel.
2) TTL-kamera VC0706.
3) 3G/GPRS/GSM/GPS -skjerm for Arduino.
4) Røde, grønne, gule lysdioder, 3 motstander (100-500 Ohm), ledninger, stiftvinkelkontakt med 2,54 mm stigning.
5) AC-DC strømadapter (6V 1A), 3G antenne, etc.
Trinn 2: Klargjøring av kamera
Kameraet har en RS-232-utgang for direkte tilkobling til en PC. Det er nødvendig å fjerne MAX232 (RS-232-omformeren) og lukke kontaktputene mellom de tilsvarende pinnene 7-10 (TX), 8-9 (RX).
Sekstrådskabelen som fulgte med kameraet må gjøres litt om:
- Fjern de to ledningene fra kontakten.
- Omorganiser de røde (+ 5V) og svarte (GND) ledningene som vist på figuren.
På de blanke ender av ledningene må det være loddede tips som "hunn".
Trinn 3: Utarbeidelse av kompatibel Arduino M0-SD
Som allerede nevnt er den kompatible Arduino M0-SD maskinvare og programvare kompatibel med den originale Arduino M0, men den har også en innebygd microSD-kontakt for tilkobling av et minnekort.
For å koble kameraet til den kompatible Arduino M0-SD på brettet, er det nødvendig å lodde vinkelkontakten til terminalene TXD, RXD (kontakt X6) som vist på figuren. Denne porten samsvarer med "Serial".
Hvite (Camera RX) og gule (Camera TX) ledninger fra kameraet må henholdsvis kobles til terminalene på TXD og RXD (kontakt X6) som vist på figuren.
Trinn 4: Utarbeidelse av 3G/GPRS/GSM/GPS Shield SIM5320
Før du installerer et sim -kort i sporet, må du deaktivere forespørsel om PIN -kode. Installer deretter SIM-kortet i sporet på undersiden av brettet som vist på figuren. To hoppere må installeres i posisjonen RX-1 (D1), TX-0 (D0).
Trinn 5: Maskinvaremontasje
Maskinvare montering består av flere enkle operasjoner:
- For å kontrollere lysdiodene må du først lodde et lite design av lysdioder og strømbegrensende motstander (100-500 ohm) som vist på figuren. Vær oppmerksom på polariteten til lysdiodene - anoden må loddes til motstandene (+). For å redusere den parasittiske eksponeringen av lysdiodene, laget jeg en svart skjerm av vanlig papp.
- Koble lysdiodene og kameraet til et kompatibelt Arduino M0-SD-kort som vist på diagrammet. Strømforsyningen til kameraet (rød ledning "+ 5V" og svart ledning "GND") må tas fra terminalene "+ 5V" og "GND" fra sporet. Du kan også bruke en vinkelkontakt til dette.
- Deretter kobler du 3G/GPRS/GSM/GPS-skjermen til det kompatible Arduino M0-SD-kortet. Ikke glem å koble til en 3G -antenne.
Trinn 6: Innstilling av MQTT -megler
Jeg valgte en veldig praktisk og oversiktlig www.cloudmqtt.com som MQTT -megler. Det gir gratis testing. Det er også mulig å motta og sende meldinger direkte på nettstedet.
Oppsettsprosedyren er som følger:
- Registrer deg online.
- Trykk på knappen "Opprett ny forekomst".
- Angi navnet, for eksempel "MqttCamera".
- Trykk på knappen "Velg region". Velg for eksempel "US-East-1 (Northern Virginia)".
- Trykk på knappen "Review".
- Trykk på knappen "Opprett forekomst". Se meldingen "Forekomsten ble opprettet".
- Klikk "MqttCamera".
- Husk informasjon: Server, bruker, passord, port, API -nøkkel (vi trenger den i 7. og 8. trinn).
- Deretter kan du gå til vinduet "WEBSOCKET UI", hvor du kan teste og feilsøke, se og sende meldinger (vi trenger dette vinduet i neste trinn).
Trinn 7: MQTT Dash App
For å lage et kontrollpanel i en mobiltelefon, valgte jeg en veldig brukervennlig og oversiktlig MQTT Dash-app.
Installer appen MQTT Dash på telefonen og angi følgende innstillinger:
- Åpne programmet.
- Klikk på (+) i MQTT -vinduet for å legge til et nytt kontrollpanel.
- I vinduet som vises, fyll ut de nødvendige feltene, for eksempel: Navn (for eksempel MqttCamera), Adresse, Port, Brukernavn, Brukerpassord (Ta data fra trinn 6).
- Etter å ha fylt ut feltene, klikker du på diskettikonet (operasjon "Lagre").
- Klikk på linjen "MqttCamera" i vinduet med listen over kontrollpaneler.
- Klikk på pilikonet i kontrollpanelvinduet for å laste inn beregningene.
- Klikk deretter på knappen "ABONNERE OG VENT PÅ METRICEN" i popup-vinduet.
- Åpne en konto på en datamaskin i en MQTT-megler (se forrige trinn), åpne vinduet "WEBSOCKET UI", angi emnet "metrics/exchange" i vinduet "Send melding", og registrer teksten fra vedlagte metrics.txt -filen i "Melding" -vinduet, klikk på knappen "Send".
- Vent 10 sekunder, kontroller at beregningen er mottatt i telefonen og kontrollpanelet er oppdatert.
Deretter kan du fortsette å programmere kompatible Arduino M0-SD.
Trinn 8: Programmering og arbeid
Før du programmerer kompatibel Arduino M0-SD, må du installere alle nødvendige biblioteker (pubsubclient-master, TinyGSM-master) på datamaskinen, som jeg siterte nedenfor. Disse bibliotekene ble litt modifisert for å fungere med et kompatibelt Arduino M0-SD-kort, et VC0706-kamera og et 3G/GPRS/GSM/GPS SIM5320-skjerm.
Du må koble kabelen og strømforsyningen (6V 1A for å drive 3G/GPRS/GSM/GPS-skjerm) til det kompatible Arduino M0-SD.
Start Arduino IDE. I Arduino må IDE velge: Verktøy-> Kort: Arduino M0 Pro (Native USB-port).
Åpne skissen MqttCamera.ino. Fyll ut feltene: Brukernavn, Brukerpassord, API -nøkkel, Port, Server (Ta data fra trinn 6).
Åpne Serial Monitor -vinduet.
Last opp skisse. Jeg beskriver ikke i detalj programmeringsprosedyren (det er nok instruksjoner på Internett).
Etter vellykket lasting og riktig montering, skal følgende informasjon vises i vinduet Serial Monitor:
VC0706 Kamera + Arduino M0 + SIM5320 + MQTT
Kamera init… versjon: ----------------- VC0703 1.00 Ctrl infr exist Brukerdefinert sensor 525 ----------------- suksess ! Initialiserer modem … Modem: AT+CGMM SIMCOM_SIM5320E Venter på nettverk … OK Koble til internett OK Koble til 3.83.68.228 mislykkes Koble til 3.83.68.228 OK Ping: 0
Linjen "Ping: XX" er en periodisk melding fra den kompatible Arduino M0-SD til serveren. I stedet for denne informasjonen kan du sende ADC -målinger, inngangsstatus og mer.
I MQTT Dash -appen klikker du på ikonene til lyspærene (LED_YELLOW, LED_GREEN, LED_RED) - slå på/av. Se i vinduet på den serielle skjermen - det bør være informasjon om noe slikt:
LED_YELLOW På
LED_YELLOW_Off LED_GREEN På LED_GREEN av LED_RED På LED_RED Av
Klikk på kameraikonet - send kommandoen "SHOOT" og vent en stund. Følgende informasjon skal vises i vinduet Serial Monitor:
Start Shoot!
Bilde tatt! lag IMAGE332-j.webp
Og etter en stund (5-10 sekunder) i vinduet "VIS BILDE" skal bildet vises.
For demonstrasjonen dirigerte jeg VC0706 -kameraet til lysdiodene, slik at du kan se statusen etter at jeg byttet dem på en vilkårlig måte. Men i virkelig bruk kan du lede kameraet til et rom, dør, gate, port, bil, etc. (Selvfølgelig må du ta hensyn til lovens krav). Som en demonstrasjon presenterer jeg flere skjermbilder fra en mobiltelefon, der de installerte og faktiske tilstandene til lysdiodene vises.
Jeg håper min instruksjon var interessant og nyttig for deg. Jeg vil bli glad for tilbakemeldinger og kommentarer. I mine planer om å utvikle enheten min og dele med deg nye innovasjoner. Takk for at du så på!
Anbefalt:
Luftkvalitetsmonitor med MQ135 og ekstern temperatur- og fuktighetssensor over MQTT: 4 trinn
Luftkvalitetsmonitor med MQ135 og ekstern temperatur- og fuktighetssensor over MQTT: Dette er til testformål
IRduino: Arduino fjernkontroll - etterlign en tapt fjernkontroll: 6 trinn
IRduino: Arduino fjernkontroll - Imitate a Lost Remote: Hvis du noen gang har mistet fjernkontrollen for TV -en eller DVD -spilleren, vet du hvor frustrerende det er å måtte gå til, finne og bruke knappene på selve enheten. Noen ganger tilbyr disse knappene ikke engang den samme funksjonaliteten som fjernkontrollen. Motta
ESP8266 RGB LED STRIP WIFI -kontroll - NODEMCU Som IR -fjernkontroll for Led Strip kontrollert over Wifi - RGB LED STRIP Smarttelefonkontroll: 4 trinn
ESP8266 RGB LED STRIP WIFI -kontroll | NODEMCU Som IR -fjernkontroll for Led Strip kontrollert over Wifi | RGB LED STRIP Smartphone Control: Hei folkens i denne opplæringen lærer vi hvordan du bruker nodemcu eller esp8266 som en IR -fjernkontroll for å kontrollere en RGB LED -stripe, og Nodemcu vil bli styrt av smarttelefonen over wifi. Så i utgangspunktet kan du kontrollere RGB LED STRIP med smarttelefonen din
Kontroller hvitevarer over LoRa - LoRa i hjemmeautomatisering - LoRa fjernkontroll: 8 trinn
Kontroller hvitevarer over LoRa | LoRa i hjemmeautomatisering | LoRa fjernkontroll: Kontroller og automatiser dine elektriske apparater fra lange avstander (kilometer) uten tilstedeværelse av internett. Dette er mulig gjennom LoRa! Hei, hva skjer, folkens? Akarsh her fra CETech. Denne PCB har også en OLED -skjerm og 3 reléer som en
Universal MQTT -fjernkontroll: 5 trinn (med bilder)
Universal MQTT -fjernkontrollen: Hei alle sammen. Først og fremst er jeg fransk, så det er mulig at noen setninger ikke gir mening. Beklager, jeg jobber hardt med å forbedre. Jeg jobber for tiden med hjemmeautomatisering i leiligheten min. Jeg brukte OpenHab2 og mygg som programvare. Jeg er ikke ekspert på dette