Obsah:

Automatizácia domácnosti so systémom Android a Arduino založená na SMS: 5 krokov (s obrázkami)
Automatizácia domácnosti so systémom Android a Arduino založená na SMS: 5 krokov (s obrázkami)

Video: Automatizácia domácnosti so systémom Android a Arduino založená na SMS: 5 krokov (s obrázkami)

Video: Automatizácia domácnosti so systémom Android a Arduino založená na SMS: 5 krokov (s obrázkami)
Video: Python na Raspberry Pi I2C a 1 Wire komunikácia 2024, Júl
Anonim
Domáca automatizácia pre Android a Arduino založená na SMS
Domáca automatizácia pre Android a Arduino založená na SMS
Domáca automatizácia pre Android a Arduino založená na SMS
Domáca automatizácia pre Android a Arduino založená na SMS

! ! ! N O T I C E! ! !

Vzhľadom na to, že v mojej oblasti sa aktualizuje miestna mobilná veža, už nemôžem používať tento modul GSM. Novšia veža už nepodporuje zariadenia 2G. Preto už nemôžem tomuto projektu poskytnúť žiadnu podporu

Nedávno som dostal na hranie relatívne lacný Quad Band GSM/GPRS modul. Je to modul SIM800L a komunikuje s akýmkoľvek mikro zariadením cez sériový port. Dodáva sa s anténou pre montáž na panel.

Rozhodol som sa vytvoriť jednoduchý systém radiča SMS, ktorý používa príkazy služby krátkych správ (SMS) na ovládanie zariadení a signalizáciu alarmov.

Krok 1: Príkazy SMS

SMS príkazy
SMS príkazy

Rovnako ako v prípade akéhokoľvek komunikačného systému je potrebné na vzdialený prístroj odoslať konkrétne príkazy, ktoré mu povedia, čo má robiť. Rovnako vzdialené zariadenie musí na tieto príkazy odpovedať alebo reagovať. Tento projekt sa skladá z dvoch častí, ovládača SMS a štandardného mobilného telefónu.

Cieľom bolo vytvoriť jednoduchý ovládač SMS so štyrmi digitálnymi výstupmi. V závislosti od prijatej SMS musí byť jednotka schopná ovládať jednotlivé výstupy.

Tiež som sa rozhodol zahrnúť štyri digitálne vstupy. To možno použiť na indikáciu alarmov alebo iných informácií.

Pred spustením zostavy som sa rozhodol vytvoriť konkrétne príkazy pre konkrétne funkcie. Tieto „príkazy“budú odoslané pomocou SMS z mobilného telefónu.

Príkazy na príjem ovládača SMS:

o1: 1 - zapnite výstup 1

o1: 0 - vypnite výstup 1

o1: p - pulzný výstup 1 zapnutý, potom vypnutý

o2: 1 - zapnite výstup 2

o2: 0 - vypnite výstup 2

o2: p - pulzný výstup 2 zapnutý, potom vypnutý

o3: 1 - zapnite výstup 3

o3: 0 - vypnite výstup 3

o3: p - pulzný výstup 3 zapnutý, potom vypnutý

o4: 1 - zapnite výstup 4

o4: 0 - vypnite výstup 4

o4: p - pulzný výstup 4 zapnutý, potom vypnutý

???? - Požiadajte o stav vstupov a výstupov

#### - Obnovte systém

V prípade spätnej väzby by mal ovládač SMS reagovať na prijaté príkazy a odpovedať správou SMS. Rozhodol som sa, že táto odpoveďová SMS bude obsahovať stav všetkých I/O pinov.

Príkazy na odpoveď ovládača SMS:

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

kde x je stav I/O, 1 pre zapnuté, 0 pre vypnuté.

Krok 2: Zostavenie ovládača SMS

Zostavenie ovládača SMS
Zostavenie ovládača SMS
Zostavenie ovládača SMS
Zostavenie ovládača SMS
Zostavenie ovládača SMS
Zostavenie ovládača SMS

Potrebné vybavenie:

Akékoľvek Arduino alebo samostatný ATMEGA328p na doske

Modul GSM/GPRS SIM800L so sim kartou schopnou odosielať a prijímať správy SMS

Znížte prevodník DC/DC

POZNÁMKA !!

Na napájanie modulu SIM800L je potrebný prevodník DC/DC. Tento modul pracuje medzi 3,7 V a 5 V, v závislosti od verzie, ktorú máte. Tento modul tiež vyžaduje napájací zdroj, ktorý môže dodávať až 2 A, keď modul prenáša údaje. Nedá sa napájať priamo z Arduino Uno !!

Obvod je celkom jednoduchý. Zostavil som a vyskúšal som ho na doske.

Napájanie obvodu je prostredníctvom meniča DC/DC s výstupným napätím nastaveným na 4,5 V. K dispozícii sú štyri LED diódy na simuláciu digitálnych výstupov a štyri tlačidlá na digitálnych vstupoch. SIM800L je pripojený k pinom Rx/Tx na ATMEGA328p.

Piata dióda LED slúži na indikáciu, keď je systém zaneprázdnený odosielaním SMS.

Krok 3: Programovanie ATMEGA328p

Programovanie ATMEGA328p
Programovanie ATMEGA328p
Programovanie ATMEGA328p
Programovanie ATMEGA328p

Pred programovaním otvorte súbor INO a upravte telefónne číslo. Nahraďte xxxxxxxxxx svojim vlastným číslom mobilného telefónu v riadku 46. Skompilujte a nahrajte súbor.

Prečítajte si tiež pokyny na konfiguráciu sériového portu softvéru v súbore INO.

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

//! ! ! POZNÁMKA ! ! !

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

//

// BUFFER V SÉRIOVEJ KNIŽNICI SOFTVÉRU NA ZMENU NA 200

//

// Ak chcete používať Software Serial, používateľ by mal tiež zmeniť Software Serial BUFFER na 200.

// Toto je potrebné upraviť v nasledujúcom súbore:

//

// C:/Program Files/Arduino x.x.x/Hardware/Arduino/AVR/Knižnice/SoftwareSerial/src/SoftWareSerial.h

//

// Zmeňte vyrovnávaciu pamäť ako je uvedené nižšie:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Veľkosť vyrovnávacej pamäte RX

// #koniec Ak

//

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

Pozrite si tento návod na programovanie ATMEGA328p na doske pomocou Arduino UNO.

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

Krok 4: Používanie ovládača SMS

Použitie ovládača SMS
Použitie ovládača SMS

Použitie ovládača SMS

Ovládač SMS automaticky pošle SMS na váš telefón, ak je spustený ktorýkoľvek zo štyroch vstupov. Podrobnosti o spúšťači budú obsiahnuté v texte SMS.

SMS správy a príkazy je možné upravovať podľa vašich potrieb v súbore INO.

Testovanie výstupov ovládača SMS

Z mobilného telefónu pošlite na číslo svojej SIM karty SIM800L nasledujúce príkazy:

o1: 1, týmto sa zapne výstup 1.

Na váš telefón dostanete nasledujúcu SMS:

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

01: 0, vypne sa tým výstup 1.

Na váš telefón dostanete nasledujúcu SMS:

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

01: p, zapne sa tým výstup 1 na 1 sekundu, potom sa výstup 1 opäť vypne (pulzne).

Na váš telefón dostanete nasledujúcu SMS:

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

Testovanie vstupov ovládača SMS

Na ovládači SMS krátko stlačte tlačidlo 1

Na váš telefón vám automaticky príde nasledujúca SMS:

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

Na ovládači SMS krátko stlačte tlačidlo 2

Na váš telefón vám automaticky príde nasledujúca SMS:

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

Na ovládači SMS krátko stlačte tlačidlo 3

Na váš telefón vám automaticky príde nasledujúca SMS:

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

Ako je vidieť na prijatých SMS, výstupy sa menia podľa prijatých príkazov. Po stlačení tlačidiel sa však vstupy nezmenia späť z 1 na 0. Pretože som chcel vidieť všetky zmeny na vstupoch, rozhodol som sa zapečatiť stav vstupu, kým sa do ovládača SMS neodošle príkaz na reset.

Resetovať alarmy

Ak chcete resetovať stav vstupu, pošlite nasledujúci príkaz:

####, týmto sa resetuje stav vstupu.

Na váš telefón dostanete nasledujúcu SMS:

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

Aktualizácie stavu

O stav môžete tiež kedykoľvek požiadať odoslaním nasledujúceho príkazu:

????, to si vyžiada aktualizáciu stavu I/O.

Na váš telefón dostanete nasledujúcu SMS:

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

kde x označuje stav, 1 pre zapnuté, 0 pre vypnuté.

Krok 5: Aplikácia pre Android

Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android

Pomocou aplikácie MIT App Inventor 2 (https://ai2.appinventor.mit.edu/) som vytvoril jednoduché používateľské rozhranie pre svoj mobilný telefón s Androidom. Táto aplikácia vám umožňuje prispôsobiť popis každého I/O. Umožňuje tiež zadanie telefónneho čísla.

Štyri tlačidlá slúžia na ovládanie výstupov, pričom začiarkavacie políčka označujú stav vstupu.

Ak chcete aplikáciu upraviť, vytvorte si účet MIT App Inventor 2 a importujte súbor AIA.

Ak chcete nainštalovať aplikáciu do telefónu, skopírujte do telefónu súbor APK a nainštalujte ho. V nastaveniach zabezpečenia telefónu budete musieť povoliť inštaláciu aplikácií z „Neznámych zdrojov“.

Odporúča: