Kazalo:

Android in Arduino SMS avtomatizacija doma: 5 korakov (s slikami)
Android in Arduino SMS avtomatizacija doma: 5 korakov (s slikami)

Video: Android in Arduino SMS avtomatizacija doma: 5 korakov (s slikami)

Video: Android in Arduino SMS avtomatizacija doma: 5 korakov (s slikami)
Video: Leap Motion SDK 2024, Julij
Anonim
Domača avtomatizacija na osnovi Android in Arduino SMS
Domača avtomatizacija na osnovi Android in Arduino SMS
Domača avtomatizacija na osnovi Android in Arduino SMS
Domača avtomatizacija na osnovi Android in Arduino SMS

! ! ! OPAZITI ! ! !

Zaradi nadgradnje lokalnega stolpa mobilnega telefona na mojem območju tega modula GSM ne morem več uporabljati. Novejši stolp ne podpira več naprav 2G. Zato ne morem več podpirati tega projekta

Pred kratkim sem dobil relativno poceni Quad Band GSM/GPRS modul za igro. Je modul SIM800L in komunicira s katerim koli mikro preko serijskih vrat. V kompletu je z anteno za montažo na ploščo.

Odločil sem se, da bom zgradil preprost sistem za krmiljenje sporočil SMS, ki uporablja ukaze storitev kratkih sporočil (SMS) za nadzor naprav in označevanje alarmov.

1. korak: Ukazi SMS

Ukazi SMS
Ukazi SMS

Kot pri vsakem komunikacijskem sistemu je treba posebne ukaze poslati oddaljeni napravi, da ji povedo, kaj naj stori. Podobno mora oddaljena naprava odgovoriti ali se odzvati na te ukaze. Ta projekt je sestavljen iz dveh delov, krmilnika SMS in standardnega mobilnega telefona.

Ideja je bila ustvariti preprost SMS krmilnik s štirimi digitalnimi izhodi. Odvisno od prejetega SMS mora biti enota sposobna upravljati posamezne izhode.

Odločil sem se tudi za vključitev štirih digitalnih vhodov. To lahko uporabite za označevanje alarmov ali drugih informacij.

Pred začetkom gradnje sem se odločil ustvariti posebne ukaze za posebne funkcije. Ti "ukazi" bodo poslani prek SMS -a iz mobilnega telefona.

Ukazi za sprejem krmilnika SMS:

o1: 1 - vklopite izhod 1

o1: 0 - izklopite izhod 1 Izključeno

o1: p - impulzni izhod 1 Vklopite, nato izklopite

o2: 1 - vklopite izhod 2

o2: 0 - izklopite izhod 2

o2: p - impulzni izhod 2 Vklopite, nato izklopite

o3: 1 - vklopite izhod 3

o3: 0 - izhod 3 izklopite

o3: p - impulzni izhod 3 Vklopite, nato izklopite

o4: 1 - vklopite izhod 4

o4: 0 - izklopite izhod 4

o4: p - impulzni izhod 4 Vklopite, nato izklopite

???? - Zahtevaj status vhodov in izhodov

#### - Ponastavi sistem

Za povratno informacijo naj se krmilnik SMS odzove na prejete ukaze in odgovori s sporočilom SMS. Odločil sem se, da mora ta odgovorni SMS vključevati stanje vseh V/I zatičev.

Ukazi odziva krmilnika SMS:

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

kjer je x stanje V/I, 1 za Vklop, 0 za Izklop.

2. korak: Izdelava krmilnika SMS

Sestavljanje krmilnika SMS
Sestavljanje krmilnika SMS
Sestavljanje krmilnika SMS
Sestavljanje krmilnika SMS
Sestavljanje krmilnika SMS
Sestavljanje krmilnika SMS

Potrebna oprema:

Vsak Arduino ali samostojen ATMEGA328p na plošči

SIM800L GSM/GPRS modul s sim kartico, ki omogoča pošiljanje in prejemanje sporočil SMS

Odstranite DC/DC pretvornik

OPOMBA !!

Za napajanje modula SIM800L je potreben pretvornik DC/DC. Ta modul deluje med 3,7 V in 5 V, odvisno od različice, ki jo imate. Ta modul zahteva tudi napajanje, ki lahko oddaja do 2A, ko modul prenaša podatke. Ne morete ga napajati neposredno iz Arduino Uno !!

Vezje je precej preprosto. Sestavil sem ga in preizkusil na plošči.

Napajanje v tokokrog poteka prek DC/DC pretvornika, pri čemer je izhodna napetost nastavljena na 4,5V. Obstajajo štiri LED diode za simulacijo digitalnih izhodov in štirje gumbi za digitalne vhode. SIM800L je priključen na zatiče Rx/Tx ATMEGA328p.

5. LED se uporablja za označevanje, kdaj je sistem zaposlen pri pošiljanju SMS -a.

3. korak: Programiranje ATMEGA328p

Programiranje ATMEGA328p
Programiranje ATMEGA328p
Programiranje ATMEGA328p
Programiranje ATMEGA328p

Pred programiranjem odprite datoteko INO in uredite telefonsko številko. Zamenjajte xxxxxxxxxx z lastno številko mobilnega telefona v vrstici 46. Ponovno sestavite in naložite datoteko.

Preberite tudi navodila, kako konfigurirati serijska vrata programske opreme v datoteki INO.

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

//! ! ! OPOMBA ! ! !

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

//

// BUFFER V SERIJSKI KNJIŽNICI PROGRAMSKE OPREME, KI SE MENJA NA 200

//

// Za uporabo serijskega vmesnika programske opreme mora uporabnik spremeniti tudi serijski BUFFER programske opreme na 200.

// To je treba urediti v naslednji datoteki:

//

// C:/Programske datoteke/Arduino x.x.x/Strojna oprema/Arduino/AVR/Knjižnice/SoftwareSerial/src/SoftWareSerial.h

//

// Spremenite medpomnilnik, kot je prikazano spodaj:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Velikost vmesnika RX

// #endif

//

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

Glejte ta navodila za programiranje ATMEGA328p na plošči z uporabo Arduino UNO.

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

4. korak: Uporaba krmilnika SMS

Uporaba krmilnika SMS
Uporaba krmilnika SMS

Uporaba krmilnika SMS

Krmilnik SMS bo samodejno poslal SMS na vaš telefon, če se sproži kateri od štirih vhodov. Podrobnosti o sprožilcu bodo vsebovane v besedilu SMS.

Sporočila SMS in ukaze lahko po želji uredite v datoteki INO.

Testiranje izhodov krmilnika SMS

Iz mobilnega telefona na številko sim kartice SIM800L pošljite naslednje ukaze:

o1: 1, to bo vklopilo izhod 1.

Na telefon boste prejeli to SMS:

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

01: 0, to bo izklopilo izhod 1.

Na telefon boste prejeli to SMS:

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

01: p, to bo vklopilo izhod 1 za 1 sekundo, nato pa izhod 1 znova (pulzno).

Na telefon boste prejeli to SMS:

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

Testiranje vhodov krmilnika SMS

Na krmilniku SMS na kratko pritisnite gumb 1

V telefon boste samodejno prejeli ta SMS:

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

Na krmilniku SMS na kratko pritisnite gumb 2

V telefon boste samodejno prejeli ta SMS:

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

Na krmilniku SMS na kratko pritisnite gumb 3

V telefon boste samodejno prejeli ta SMS:

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

Kot je razvidno iz prejetega SMS -a, se izhodi spreminjajo glede na prejete ukaze. Vendar se vnosi po pritisku gumbov ne spremenijo od 1 do 0. Ker sem želel videti kakršne koli spremembe na vhodih, sem se odločil zapečatiti stanje vhoda, dokler se krmilniku SMS ne pošlje ukaz za ponastavitev.

Ponastavi alarme

Če želite ponastaviti stanje vnosa, pošljite naslednji ukaz:

####, to ponastavi stanje vnosa.

Na telefon boste prejeli to SMS:

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

Posodobitve stanja

Status lahko kadar koli zahtevate tudi tako, da pošljete naslednji ukaz:

????, to bo zahtevalo posodobitev stanja V/I.

Na telefon boste prejeli to SMS:

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

kjer x označuje stanje, 1 za vklop, 0 za izklop.

5. korak: aplikacija za Android

Aplikacija za Android
Aplikacija za Android
Aplikacija za Android
Aplikacija za Android
Aplikacija za Android
Aplikacija za Android

Z uporabo MIT App Inventor 2 (https://ai2.appinventor.mit.edu/) sem ustvaril preprost uporabniški vmesnik za svoj mobilni telefon Android. Ta aplikacija vam omogoča, da prilagodite opis vsakega V/I. Omogoča tudi vnos telefonske številke.

Štirje gumbi se uporabljajo za nadzor izhodov, potrditvena polja pa označujejo stanje vhoda.

Če želite urediti aplikacijo, ustvarite račun MIT App Inventor 2 in uvozite datoteko AIA.

Če želite namestiti aplikacijo v telefon, kopirajte datoteko APK v telefon in jo namestite. V varnostnih nastavitvah telefona boste morali omogočiti namestitev aplikacij iz »Neznani viri«.

Priporočena: