Indholdsfortegnelse:

Android og Arduino SMS -baseret hjemmeautomatisering: 5 trin (med billeder)
Android og Arduino SMS -baseret hjemmeautomatisering: 5 trin (med billeder)

Video: Android og Arduino SMS -baseret hjemmeautomatisering: 5 trin (med billeder)

Video: Android og Arduino SMS -baseret hjemmeautomatisering: 5 trin (med billeder)
Video: Главная Автоматизация с помощью SMS - Использование и коды использования GSM-клавиатуры Arduino 2024, November
Anonim
Android og Arduino SMS -baseret hjemmeautomatisering
Android og Arduino SMS -baseret hjemmeautomatisering
Android og Arduino SMS -baseret hjemmeautomatisering
Android og Arduino SMS -baseret hjemmeautomatisering

! ! ! VARSEL ! ! !

På grund af at det lokale mobiltelefontårn er blevet opgraderet i mit område, er jeg ikke længere i stand til at bruge dette GSM -modul. Det nyere tårn understøtter ikke længere 2G -enheder. Derfor kan jeg ikke længere give nogen støtte til dette projekt

For nylig modtog jeg et relativt billigt Quad Band GSM/GPRS -modul at lege med. Det er et SIM800L -modul, og kommunikerer med enhver mikro via en seriel port. Den kom komplet med en panelmonteret antenne.

Jeg besluttede at bygge et simpelt SMS -controllersystem, der bruger kommandoer til korte beskedtjenester (SMS) til at styre enheder og angive alarmer.

Trin 1: SMS -kommandoer

SMS -kommandoer
SMS -kommandoer

Ligesom med ethvert kommunikationssystem skal specifikke kommandoer sendes til en ekstern enhed for at fortælle det, hvad de skal gøre. På samme måde skal den eksterne enhed svare eller reagere på disse kommandoer. Dette projekt består af to dele, SMS -controlleren og en standard mobiltelefon.

Ideen var at oprette en simpel SMS -controller med fire digitale udgange. Afhængigt af den modtagne SMS skal enheden kunne styre de enkelte udgange.

Jeg besluttede også at inkludere fire digitale indgange. Dette kan bruges til at angive alarmer eller andre oplysninger.

Inden jeg begyndte at bygge, besluttede jeg at oprette specifikke kommandoer til bestemte funktioner. Disse 'kommandoer' vil blive sendt ved hjælp af en SMS fra en mobiltelefon.

SMS -controller Modtag kommandoer:

o1: 1 - slå output 1 til

o1: 0 - slå udgang 1 fra

o1: p - pulsudgang 1 Til, og sluk derefter

o2: 1 - tænd udgang 2 Til

o2: 0 - slå udgang 2 fra

o2: p - pulsudgang 2 Til, og sluk derefter

o3: 1 - slå output 3 til

o3: 0 - slå udgang 3 fra

o3: p - pulsudgang 3 Til, og sluk derefter

o4: 1 - slå output 4 til

o4: 0 - slå udgang 4 fra

o4: p - pulsudgang 4 Til, og sluk derefter

???? - Anmod om status for input og output

#### - Nulstil system

For feedback skal SMS -controlleren svare på de modtagne kommandoer og svare med en SMS. Jeg besluttede, at denne svar -SMS skulle indeholde status for alle I/O -ben.

Svarkommandoer til SMS -controller:

i1: x i2: x i3: x i4: x o1: x o2: x o3: x o4: x

hvor x er I/O -status, 1 for Til, 0 for Fra.

Trin 2: Opbygning af SMS -controlleren

Opbygning af SMS -controlleren
Opbygning af SMS -controlleren
Bygger SMS -controlleren
Bygger SMS -controlleren
Opbygning af SMS -controlleren
Opbygning af SMS -controlleren

Udstyr påkrævet:

Enhver Arduino eller enkeltstående ATMEGA328p på et brødbræt

SIM800L GSM/GPRS -modul med et simkort, der er i stand til at sende og modtage SMS'er

Træd ned DC/DC -konverter

BEMÆRK !

DC/DC -omformeren er påkrævet for at drive SIM800L -modulet. Dette modul fungerer mellem 3,7V og 5V, afhængigt af den version du har. Dette modul kræver også en strømforsyning, der kan levere op til 2A, når modulet sender data. Det kan ikke drives direkte fra Arduino Uno !

Kredsløbet er ret simpelt. Jeg har samlet og testet det på brødbræt.

Strømmen til kredsløbet er via DC/DC -omformeren, med udgangsspændingen indstillet til 4,5V. Der er fire lysdioder til simulering af de digitale udgange og fire knapper til de digitale indgange. SIM800L er forbundet til Rx/Tx -benene på ATMEGA328p.

En femte LED bruges til at angive, hvornår systemet har travlt med at sende en SMS.

Trin 3: Programmering af ATMEGA328p

Programmering af ATMEGA328p
Programmering af ATMEGA328p
Programmering af ATMEGA328p
Programmering af ATMEGA328p

Inden du programmerer, skal du åbne INO -filen og redigere telefonnummeret. Erstat xxxxxxxxxx med dit eget mobiltelefonnummer på linje 46. Genkompiler, og upload filen.

Læs også instruktionerne om, hvordan du konfigurerer den serielle softwareport i INO -filen.

//=============================================================================//

//! ! ! BEMÆRK ! ! !

// ================

//

// BUFFER I SOFTWARE SERIAL BIBLIOTEKET ÆNDRES TIL 200

//

// For at bruge Software Serial skal brugeren også ændre Software Serial BUFFER til 200.

// Dette skal redigeres i følgende fil:

//

// C:/Program Files/Arduino x.x.x/Hardware/Arduino/AVR/Libraries/SoftwareSerial/src/SoftWareSerial.h

//

// Skift buffer som nedenfor:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// RX buffer størrelse

// #Afslut Hvis

//

//=============================================================================

Se denne instruktion for at programmere ATMEGA328p på brødbrættet ved hjælp af en Arduino UNO.

www.instructables.com/id/Arduino-UNO-as-AtM…

Trin 4: Brug af SMS -controlleren

Brug af SMS -controlleren
Brug af SMS -controlleren

Brug af SMS -controlleren

SMS -controlleren sender automatisk en SMS til din telefon, hvis en af de fire indgange udløses. Detaljerne om udløseren vil være indeholdt i SMS -teksten.

SMS -beskeder og kommandoer kan redigeres efter dine behov i INO -filen.

Test af SMS -controllerens udgange

Fra din mobiltelefon skal du sende følgende kommandoer til dit SIM800L -simkortnummer:

o1: 1, dette vil tænde output 1.

På din telefon modtager du følgende SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 1 o2: 0 03: 0 o4: 0

01: 0, vil dette slukke for output 1.

På din telefon modtager du følgende SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

01: p, dette vil tænde output 1 i 1 sekund, derefter slukke output 1 igen (pulseret).

På din telefon modtager du følgende SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Test af SMS -controllerindgange

Tryk kort på knap 1 på SMS -controlleren

På din telefon modtager du automatisk følgende SMS:

i1: 1 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Tryk kortvarigt på knap 2 på SMS -controlleren

På din telefon modtager du automatisk følgende SMS:

i1: 1 i2: 1 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Tryk kort på knap 3 på SMS -controlleren

På din telefon modtager du automatisk følgende SMS:

i1: 1 i2: 1i3: 1 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Som det kan ses på den modtagne SMS, ændres outputene i henhold til de modtagne kommandoer. Indgangene ændres imidlertid ikke tilbage fra 1 til 0, efter at der blev trykket på knapperne. Fordi jeg ønskede at kunne se ændringer på input, besluttede jeg at forsegle inputstatus, indtil en nulstillingskommando sendes til SMS -controlleren.

Nulstil alarmer

Send nedenstående kommando for at nulstille inputstatus:

####, dette nulstiller inputstatus.

På din telefon modtager du følgende SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Statusopdateringer

Du kan også til enhver tid anmode om status ved at sende følgende kommando:

????, vil dette kræve en statusopdatering af I/Os.

På din telefon modtager du følgende SMS:

i1: x i2: x i3: x i4: x o1: x o2: x 03: x o4: x

hvor x angiver status, 1 for tændt, 0 for slukket.

Trin 5: Android -applikation

Android -applikation
Android -applikation
Android -applikation
Android -applikation
Android -applikation
Android -applikation

Ved hjælp af MIT App Inventor 2 (https://ai2.appinventor.mit.edu/) lavede jeg en simpel brugergrænseflade til min Android -mobiltelefon. Denne app giver dig mulighed for at tilpasse beskrivelsen af hver I/O. Det giver også mulighed for indtastning af telefonnummeret.

De fire knapper bruges til at styre output, mens afkrydsningsfelterne angiver inputstatus.

For at redigere appen skal du oprette en MIT App Inventor 2 -konto og importere AIA -filen.

For at installere appen på din telefon skal du kopiere APK -filen til din telefon og installere den. Du bliver nødt til at aktivere installationen af apps fra "Ukendte kilder" under din telefons sikkerhedsindstillinger.

Anbefalede: