Innholdsfortegnelse:

Android og Arduino SMS -basert hjemmeautomatisering: 5 trinn (med bilder)
Android og Arduino SMS -basert hjemmeautomatisering: 5 trinn (med bilder)

Video: Android og Arduino SMS -basert hjemmeautomatisering: 5 trinn (med bilder)

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

! ! ! LEGGE MERKE TIL ! ! !

På grunn av at det lokale mobiltelefontårnet er oppgradert i mitt område, kan jeg ikke lenger bruke denne GSM -modulen. Det nyere tårnet støtter ikke lenger 2G -enheter. Derfor kan jeg ikke lenger gi noen støtte til dette prosjektet

Nylig mottok jeg en relativt billig Quad Band GSM/GPRS -modul å leke med. Det er en SIM800L -modul, og kommuniserer med hvilken som helst mikro via en seriell port. Den kom komplett med en panelmontert antenne.

Jeg bestemte meg for å bygge et enkelt SMS -kontrollsystem som bruker kommandoer for korte meldinger (SMS) for å kontrollere enheter og indikere alarmer.

Trinn 1: SMS -kommandoer

SMS -kommandoer
SMS -kommandoer

Som med alle kommunikasjonssystemer må spesifikke kommandoer sendes til en ekstern enhet for å fortelle det hva de skal gjøre. På samme måte må den eksterne enheten svare eller reagere på disse kommandoene. Dette prosjektet består av to deler, SMS -kontrolleren og en vanlig mobiltelefon.

Tanken var å lage en enkel SMS -kontroller med fire digitale utganger. Avhengig av mottatt SMS må enheten kunne kontrollere de enkelte utgangene.

Jeg bestemte meg også for å inkludere fire digitale innganger. Dette kan brukes til å indikere alarmer eller annen informasjon.

Før jeg begynte å bygge, bestemte jeg meg for å lage spesifikke kommandoer for spesifikke funksjoner. Disse 'kommandoene' vil bli sendt med en SMS fra en mobiltelefon.

SMS -kontroller motta kommandoer:

o1: 1 - slå utgang 1 på

o1: 0 - slå utgang 1 av

o1: p - pulsutgang 1 På, slå deretter av

o2: 1 - slå utgang 2 på

o2: 0 - slå utgang 2 av

o2: p - pulsutgang 2 På, slå deretter av

o3: 1 - slå utgang 3 på

o3: 0 - slå utgang 3 av

o3: p - pulsutgang 3 På, slå deretter av

o4: 1 - slå utgang 4 på

o4: 0 - slå utgang 4 Av

o4: p - pulsutgang 4 På, slå deretter av

???? - Be om status for innganger og utganger

#### - Tilbakestill systemet

For tilbakemelding bør SMS -kontrolleren svare på de mottatte kommandoene, og svare med en SMS. Jeg bestemte meg for at denne svar -SMS -en skulle inneholde status for alle I/O -pinner.

Svarkommandoer for SMS -kontroller:

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

hvor x er I/O -status, 1 for På, 0 for Av.

Trinn 2: Bygg SMS -kontrolleren

Bygg SMS -kontrolleren
Bygg SMS -kontrolleren
Bygg SMS -kontrolleren
Bygg SMS -kontrolleren
Bygg SMS -kontrolleren
Bygg SMS -kontrolleren

Nødvendig utstyr:

Enhver Arduino, eller frittstående ATMEGA328p på et brødbrett

SIM800L GSM/GPRS -modul med et SIM -kort som kan sende og motta SMS

Trinn ned DC/DC -omformeren

MERK !

DC/DC -omformeren er nødvendig for å drive SIM800L -modulen. Denne modulen opererer mellom 3,7V og 5V, avhengig av hvilken versjon du har. Denne modulen krever også en strømforsyning som kan levere opptil 2A når modulen sender data. Den kan ikke drives direkte fra Arduino Uno !

Kretsen er ganske enkel. Jeg har montert og testet den på brødbrett.

Strømmen til kretsen er via DC/DC -omformeren, med utgangsspenningen satt til 4,5V. Det er fire lysdioder for å simulere de digitale utgangene, og fire knapper for de digitale inngangene. SIM800L er koblet til Rx/Tx -pinnene på ATMEGA328p.

En femte LED brukes til å indikere når systemet er opptatt med å sende en SMS.

Trinn 3: Programmering av ATMEGA328p

Programmering av ATMEGA328p
Programmering av ATMEGA328p
Programmering av ATMEGA328p
Programmering av ATMEGA328p

Før du programmerer, åpner du INO -filen og redigerer telefonnummeret. Erstatt xxxxxxxxxx med ditt eget mobiltelefonnummer på linje 46. Kompiler på nytt, og last opp filen.

Les også instruksjonene om hvordan du konfigurerer den serielle programvareporten i INO -filen.

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

//! ! ! MERK ! ! !

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

//

// BUFFER I PROGRAMVARESERIALBibliotek som endres til 200

//

// For å bruke Software Serial, bør brukeren også endre Software Serial BUFFER til 200.

// Dette må redigeres i følgende fil:

//

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

//

// Endre buffer som nedenfor:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// RX bufferstørrelse

// #slutt om

//

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

Se denne instruksjonen for å programmere ATMEGA328p på brødbrettet ved hjelp av en Arduino UNO.

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

Trinn 4: Bruke SMS -kontrolleren

Bruke SMS -kontrolleren
Bruke SMS -kontrolleren

Bruke SMS -kontrolleren

SMS -kontrolleren sender automatisk en SMS til telefonen hvis noen av de fire inngangene utløses. Detaljene om utløseren vil være inneholdt i SMS -teksten.

SMS -meldingene og kommandoene kan redigeres etter dine behov i INO -filen.

Testing av SMS -kontrollerutgangene

Fra mobiltelefonen sender du følgende kommandoer til SIM800L -simkortnummeret:

o1: 1, dette vil slå på utgang 1.

På telefonen får du følgende SMS:

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

01: 0, dette vil slå av utgang 1.

På telefonen får du følgende SMS:

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

01: p, dette vil slå på utgang 1 i 1 sekund, og deretter slå av utgang 1 igjen (pulserende).

På telefonen får du følgende SMS:

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

Testing av SMS -kontrollerinngangene

Trykk kort på knapp 1 på SMS -kontrolleren

På telefonen vil du automatisk motta følgende SMS:

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

Trykk kort på knapp 2 på SMS -kontrolleren

På telefonen vil du automatisk motta følgende SMS:

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

Trykk kort på knapp 3 på SMS -kontrolleren

På telefonen vil du automatisk motta følgende SMS:

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

Som det kan sees på den mottatte SMS -en, endres utgangene i henhold til de mottatte kommandoene. Inngangene endres imidlertid ikke fra 1 til 0 etter at knappene ble trykket. Fordi jeg ønsket å kunne se eventuelle endringer på inngangene, bestemte jeg meg for å forsegle inngangsstatusen til en tilbakestillingskommando sendes til SMS -kontrolleren.

Tilbakestill alarmer

For å tilbakestille inndatastatusen, send følgende kommando:

####, dette vil nullstille inngangsstatusen.

På telefonen får du følgende SMS:

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

Statusoppdateringer

Du kan også be om status når som helst ved å sende følgende kommando:

????, vil dette be om en statusoppdatering av I/Os.

På telefonen får du følgende SMS:

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

hvor x angir status, 1 for på, 0 for av.

Trinn 5: Android -applikasjon

Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon

Ved å bruke MIT App Inventor 2 (https://ai2.appinventor.mit.edu/) opprettet jeg et enkelt brukergrensesnitt for min Android -mobiltelefon. Denne appen lar deg tilpasse beskrivelsen av hver I/O. Det tillater også oppføring av telefonnummeret.

De fire knappene brukes til å kontrollere utgangene, mens avmerkingsboksene angir inngangsstatus.

For å redigere appen oppretter du en MIT App Inventor 2 -konto og importerer AIA -filen.

For å installere appen på telefonen, kopierer du APK -filen til telefonen og installerer den. Du må aktivere installasjon av apper fra "Ukjente kilder" under telefonens sikkerhetsinnstillinger.

Anbefalt: