Sisällysluettelo:

Android- ja Arduino -tekstiviestipohjainen kotiautomaatio: 5 vaihetta (kuvilla)
Android- ja Arduino -tekstiviestipohjainen kotiautomaatio: 5 vaihetta (kuvilla)

Video: Android- ja Arduino -tekstiviestipohjainen kotiautomaatio: 5 vaihetta (kuvilla)

Video: Android- ja Arduino -tekstiviestipohjainen kotiautomaatio: 5 vaihetta (kuvilla)
Video: 1-канальное реле "Bluetooth 5 В/12 В" демонстрация работы 30 августа 2022 г. 2024, Heinäkuu
Anonim
Android- ja Arduino -SMS -pohjainen kotiautomaatio
Android- ja Arduino -SMS -pohjainen kotiautomaatio
Android- ja Arduino -SMS -pohjainen kotiautomaatio
Android- ja Arduino -SMS -pohjainen kotiautomaatio

! ! ! ILMOITUS ! ! !

Alueellani päivitettävän paikallisen matkapuhelintornin vuoksi en voi enää käyttää tätä GSM -moduulia. Uudempi torni ei enää tue 2G -laitteita. Siksi en voi enää tukea tätä hanketta

Sain äskettäin suhteellisen halvan nelikaistaisen GSM/GPRS -moduulin pelattavaksi. Se on SIM800L -moduuli ja kommunikoi minkä tahansa mikron kanssa sarjaportin kautta. Sen mukana tuli paneeliasennusantenni.

Päätin rakentaa yksinkertaisen SMS -ohjausjärjestelmän, joka käyttää lyhytsanomapalvelun (SMS) komentoja laitteiden ohjaamiseen ja hälytysten ilmoittamiseen.

Vaihe 1: Tekstiviestikomennot

SMS -komennot
SMS -komennot

Kuten minkä tahansa viestintäjärjestelmän kanssa, tietyt komennot on lähetettävä etälaitteelle kertomaan, mitä tehdä. Samoin etälaitteen on vastattava tai reagoitava näihin komentoihin. Tämä projekti koostuu kahdesta osasta, SMS -ohjaimesta ja tavallisesta matkapuhelimesta.

Ajatuksena oli luoda yksinkertainen SMS -ohjain, jossa on neljä digitaalista lähtöä. Vastaanotetusta tekstiviestistä riippuen yksikön on voitava ohjata yksittäisiä lähtöjä.

Päätin myös sisällyttää neljä digitaalituloa. Tätä voidaan käyttää hälytysten tai muiden tietojen ilmoittamiseen.

Ennen rakentamisen aloittamista päätin luoda erityisiä komentoja tietyille toiminnoille. Nämä "komennot" lähetetään tekstiviestillä matkapuhelimesta.

SMS -ohjaimen vastaanottokäskyt:

o1: 1 - kytke lähtö 1 päälle

o1: 0 - kytke lähtö 1 pois päältä

o1: p - pulssilähtö 1 Päälle ja sitten pois päältä

o2: 1 - kytke lähtö 2 päälle

o2: 0 - kytke lähtö 2 pois päältä

o2: p - pulssilähtö 2 Päälle ja sitten pois päältä

o3: 1 - kytke lähtö 3 päälle

o3: 0 - kytke lähtö 3 pois päältä

o3: p - pulssilähtö 3 Päälle ja sitten pois päältä

o4: 1 - kytke lähtö 4 päälle

o4: 0 - kytke lähtö 4 pois päältä

o4: p - pulssilähtö 4 Päälle ja sitten pois päältä

???? - Pyydä tulojen ja lähtöjen tilaa

#### - Palauta järjestelmä

Palautetta varten tekstiviestinohjaimen tulee vastata vastaanotettuihin komentoihin ja vastata tekstiviestillä. Päätin, että tämän vastausviestin tulisi sisältää kaikkien I/O -nastojen tila.

SMS -ohjaimen vastauskomennot:

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

jossa x on I/O -tila, 1 Päällä, 0 Pois.

Vaihe 2: SMS -ohjaimen rakentaminen

SMS -ohjaimen rakentaminen
SMS -ohjaimen rakentaminen
SMS -ohjaimen rakentaminen
SMS -ohjaimen rakentaminen
SMS -ohjaimen rakentaminen
SMS -ohjaimen rakentaminen

Tarvittavat laitteet:

Mikä tahansa Arduino tai erillinen ATMEGA328p leipälevyllä

SIM800L GSM/GPRS -moduuli, jossa on SIM -kortti, joka voi lähettää ja vastaanottaa tekstiviestejä

Irrota DC/DC -muunnin

HUOMAUTUS !

DC/DC -muunnin tarvitaan SIM800L -moduulin virransyöttöön. Tämä moduuli toimii 3,7 V: n ja 5 V: n välillä versiosta riippuen. Tämä moduuli vaatii myös virtalähteen, joka voi tuottaa jopa 2A, kun moduuli lähettää dataa. Se ei saa virtaa suoraan Arduino Unosta !

Piiri on melko yksinkertainen. Olen koonnut ja testannut sitä leipäpöydällä.

Virta piiriin tulee DC/DC -muuntimen kautta, ja lähtöjännite on 4,5 V. Digitaalilähtöjä simuloi neljä LED -valoa ja neljä digitaalitulojen painiketta. SIM800L on kytketty ATMEGA328p: n Rx/Tx -nastoihin.

Viidennen merkkivalon avulla ilmaistaan, milloin järjestelmä lähettää SMS -tekstiviestejä.

Vaihe 3: ATMEGA328p: n ohjelmointi

ATMEGA328p: n ohjelmointi
ATMEGA328p: n ohjelmointi
ATMEGA328p: n ohjelmointi
ATMEGA328p: n ohjelmointi

Ennen ohjelmointia avaa INO -tiedosto ja muokkaa puhelinnumeroa. Korvaa xxxxxxxxxx omalla matkapuhelinnumerollasi rivillä 46. Kokoa ja lähetä tiedosto uudelleen.

Lue myös ohjeet ohjelmiston sarjaportin määrittämisestä INO -tiedostossa.

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

//! ! ! HUOMAUTUS ! ! !

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

//

// OHJELMISTOSARJAN KIRJASTOJEN PUSKURI MUUTETTU 200: een

//

// Ohjelmistosarjan käyttämiseksi käyttäjän on myös muutettava ohjelmistosarjan PUSKURI 200: ksi.

// Tätä on muokattava seuraavassa tiedostossa:

//

// C:/Ohjelmatiedostot/Arduino x.x.x/Laitteisto/Arduino/AVR/Kirjastot/SoftwareSerial/src/SoftWareSerial.h

//

// Vaihda puskuri seuraavasti:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// RX -puskurin koko

// #loppu Jos

//

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

Katso tästä ohjeesta ATMEGA328p: n ohjelmointi leipälevylle Arduino UNO: n avulla.

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

Vaihe 4: SMS -ohjaimen käyttö

SMS -ohjaimen käyttäminen
SMS -ohjaimen käyttäminen

SMS -ohjaimen käyttäminen

SMS -ohjain lähettää automaattisesti tekstiviestin puhelimeesi, jos jokin neljästä tulosta laukeaa. Liipaisimen tiedot sisältyvät tekstiviestiin.

Tekstiviestejä ja komentoja voidaan muokata tarpeidesi mukaan INO -tiedostossa.

SMS -ohjaimen lähtöjen testaaminen

Lähetä matkapuhelimesta seuraavat komennot SIM800L simcard -numeroosi:

o1: 1, tämä kytkee lähdön 1 päälle.

Puhelimeesi saat seuraavan tekstiviestin:

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

01: 0, tämä sammuttaa lähdön 1.

Puhelimeesi saat seuraavan tekstiviestin:

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

01: p, tämä kytkee ulostulon 1 päälle 1 sekunniksi ja sammuttaa sen sitten uudelleen (pulssi).

Puhelimeesi saat seuraavan tekstiviestin:

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

SMS -ohjaimen tulojen testaus

Paina SMS -ohjaimen painiketta 1 lyhyesti

Saat puhelimeesi automaattisesti seuraavat tekstiviestit:

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

Paina SMS -ohjaimen painiketta 2 lyhyesti

Saat puhelimeesi automaattisesti seuraavat tekstiviestit:

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

Paina SMS -ohjaimen painiketta 3 lyhyesti

Saat puhelimeesi automaattisesti seuraavat tekstiviestit:

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

Kuten vastaanotetusta tekstiviestistä näkyy, lähdöt muuttuvat vastaanotettujen komentojen mukaan. Tulot eivät kuitenkaan muutu 1: stä 0: een painikkeiden painamisen jälkeen. Koska halusin nähdä kaikki tulojen muutokset, päätin sulkea tulotilan, kunnes SMS -ohjaimelle lähetetään nollauskomento.

Nollaa hälytykset

Palauta syöttötila lähettämällä seuraava komento:

####, tämä nollaa syöttötilan.

Puhelimeesi saat seuraavan tekstiviestin:

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

Tilapäivitykset

Voit myös pyytää tilaa milloin tahansa lähettämällä seuraavan komennon:

????, tämä pyytää I/O: n tilan päivitystä.

Puhelimeesi saat seuraavan tekstiviestin:

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

jossa x ilmaisee tilan, 1 päällä, 0 pois päältä.

Vaihe 5: Android -sovellus

Android -sovellus
Android -sovellus
Android -sovellus
Android -sovellus
Android -sovellus
Android -sovellus

MIT App Inventor 2: n (https://ai2.appinventor.mit.edu/) avulla loin yksinkertaisen käyttöliittymän Android -matkapuhelimeeni. Tämän sovelluksen avulla voit muokata kunkin I/O -kuvausta. Se mahdollistaa myös puhelinnumeron syöttämisen.

Neljää painiketta käytetään lähtöjen ohjaamiseen, kun taas valintaruudut ilmaisevat tulon tilan.

Voit muokata sovellusta luomalla MIT App Inventor 2 -tilin ja tuomalla AIA -tiedoston.

Jos haluat asentaa sovelluksen puhelimeesi, kopioi APK -tiedosto puhelimeesi ja asenna se. Sinun on otettava käyttöön sovellusten asennus "Tuntemattomista lähteistä" puhelimesi suojausasetuksissa.

Suositeltava: