Obsah:

Domácí automatizace založená na SMS pro Android a Arduino: 5 kroků (s obrázky)
Domácí automatizace založená na SMS pro Android a Arduino: 5 kroků (s obrázky)

Video: Domácí automatizace založená na SMS pro Android a Arduino: 5 kroků (s obrázky)

Video: Domácí automatizace založená na SMS pro Android a Arduino: 5 kroků (s obrázky)
Video: Lesson 24: Smart Car Part 2: Moving Forwared, Reverse, left and right and Controling Speed of Car 2024, Červenec
Anonim
Domácí automatizace založená na SMS a Androidu
Domácí automatizace založená na SMS a Androidu
Domácí automatizace založená na SMS pro Android a Arduino
Domácí automatizace založená na SMS pro Android a Arduino

! ! ! OZNÁMENÍ ! ! !

Vzhledem k tomu, že v mé oblasti probíhá modernizace místní mobilní věže, tento modul GSM již nemohu používat. Novější věž již nepodporuje zařízení 2G. Proto již nemohu tomuto projektu poskytovat žádnou podporu

Nedávno jsem dostal k hraní relativně levný Quad Band GSM/GPRS modul. Jedná se o modul SIM800L, který komunikuje s jakýmkoli mikro zařízením přes sériový port. Byl dodáván s anténou pro montáž na panel.

Rozhodl jsem se vybudovat jednoduchý systém řadiče SMS, který používá příkazy služby krátkých zpráv (SMS) k ovládání zařízení a indikaci alarmů.

Krok 1: Příkazy SMS

SMS příkazy
SMS příkazy

Stejně jako u jakéhokoli komunikačního systému je třeba na vzdálené zařízení odeslat konkrétní příkazy, které mu řeknou, co má dělat. Podobně musí vzdálené zařízení na tyto příkazy odpovědět nebo reagovat. Tento projekt se skládá ze dvou částí, ovladače SMS a standardního mobilního telefonu.

Cílem bylo vytvořit jednoduchý ovladač SMS se čtyřmi digitálními výstupy. V závislosti na přijaté SMS musí být jednotka schopna ovládat jednotlivé výstupy.

Také jsem se rozhodl zahrnout čtyři digitální vstupy. To lze použít k indikaci alarmů nebo jiných informací.

Před zahájením sestavování jsem se rozhodl vytvořit konkrétní příkazy pro konkrétní funkce. Tyto „příkazy“budou odeslány pomocí SMS z mobilního telefonu.

Příkazy pro příjem SMS řadiče:

o1: 1 - zapněte výstup 1

o1: 0 - vypněte výstup 1

o1: p - pulzní výstup 1 zapnutý, poté vypnutý

o2: 1 - zapněte výstup 2

o2: 0 - vypněte výstup 2

o2: p - pulzní výstup 2 zapnutý, poté vypnutý

o3: 1 - zapněte výstup 3

o3: 0 - vypněte výstup 3

o3: p - pulzní výstup 3 zapnutý, poté vypnutý

o4: 1 - zapněte výstup 4

o4: 0 - vypněte výstup 4

o4: p - pulzní výstup 4 zapnutý, poté vypnutý

???? - Vyžádejte si stav vstupů a výstupů

#### - Reset systému

Pro zpětnou vazbu by měl ovladač SMS reagovat na přijaté příkazy a odpovědět SMS. Rozhodl jsem se, že tato odpověď SMS by měla obsahovat stav všech I/O pinů.

Příkazy odpovědi řadiče SMS:

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

kde x je stav I/O, 1 pro Zapnuto, 0 pro Vypnuto.

Krok 2: Sestavení řadiče SMS

Sestavení řadiče SMS
Sestavení řadiče SMS
Sestavení řadiče SMS
Sestavení řadiče SMS
Sestavení řadiče SMS
Sestavení řadiče SMS

Požadované vybavení:

Jakékoli Arduino nebo samostatný ATMEGA328p na prkénku

Modul GSM/GPRS SIM800L se sim kartou schopnou odesílat a přijímat zprávy SMS

Snižte převodník DC/DC

POZNÁMKA !

K napájení modulu SIM800L je nutný převodník DC/DC. Tento modul pracuje mezi 3,7 V a 5 V, v závislosti na verzi, kterou máte. Tento modul také vyžaduje napájecí zdroj, který může při přenosu dat dodávat až 2A. Nelze jej napájet přímo z Arduino Uno !

Obvod je celkem jednoduchý. Sestavil jsem a otestoval na prkénku.

Napájení obvodu je přes převodník DC/DC s výstupním napětím nastaveným na 4,5V. K dispozici jsou čtyři LED diody pro simulaci digitálních výstupů a čtyři tlačítka pro digitální vstupy. SIM800L je připojen k pinům Rx/Tx na ATMEGA328p.

Pátá kontrolka LED slouží k indikaci, kdy je systém zaneprázdněn odesíláním zpráv SMS.

Krok 3: Programování ATMEGA328p

Programování ATMEGA328p
Programování ATMEGA328p
Programování ATMEGA328p
Programování ATMEGA328p

Před programováním otevřete soubor INO a upravte telefonní číslo. Nahraďte xxxxxxxxxx vlastním číslem mobilního telefonu v řádku 46. Znovu zkompilujte a nahrajte soubor.

Přečtěte si také pokyny ke konfiguraci sériového portu softwaru v souboru INO.

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

//! ! ! POZNÁMKA ! ! !

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

//

// BUFFER V SOFTWAROVÉ SÉRIOVÉ KNIHOVNĚ KE ZMĚNĚ NA 200

//

// Chcete -li používat Software Serial, měl by uživatel také změnit Software Serial BUFFER na 200.

// To je třeba upravit v následujícím souboru:

//

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

//

// Změňte vyrovnávací paměť níže:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Velikost vyrovnávací paměti RX

// #endif

//

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

Chcete -li programovat ATMEGA328p na prkénku pomocí Arduino UNO, přečtěte si tento návod.

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

Krok 4: Použití ovladače SMS

Pomocí ovladače SMS
Pomocí ovladače SMS

Pomocí ovladače SMS

Pokud je spuštěn některý ze čtyř vstupů, ovladač SMS automaticky odešle SMS na váš telefon. Podrobnosti spouště budou obsaženy v textu SMS.

SMS zprávy a příkazy lze upravit podle vašich potřeb v souboru INO.

Testování výstupů řadiče SMS

Ze svého mobilního telefonu odešlete na číslo SIM karty SIM800L následující příkazy:

o1: 1, tím se zapne výstup 1.

Na váš telefon dostanete následující SMS:

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

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

Na váš telefon dostanete následující SMS:

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

01: p, tím se zapne výstup 1 na 1 sekundu, poté se výstup 1 opět vypne (pulsně).

Na váš telefon dostanete následující SMS:

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

Testování vstupů ovladače SMS

Na ovladači SMS krátce stiskněte tlačítko 1

Na váš telefon vám automaticky přijde následující SMS:

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

Na ovladači SMS krátce stiskněte tlačítko 2

Na váš telefon vám automaticky přijde následující SMS:

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

Na ovladači SMS krátce stiskněte tlačítko 3

Na váš telefon vám automaticky přijde následující SMS:

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

Jak je vidět na přijatých SMS, výstupy se mění podle přijatých příkazů. Po stisknutí tlačítek se však vstupy nezmění zpět z 1 na 0. Protože jsem chtěl vidět všechny změny na vstupech, rozhodl jsem se zapečetit stav vstupu, dokud nebude do ovladače SMS odeslán příkaz reset.

Reset alarmů

Chcete -li resetovat stav vstupu, odešlete následující příkaz:

####, tím se resetuje stav vstupu.

Na váš telefon dostanete následující SMS:

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

Aktualizace stavu

O stav můžete také kdykoli požádat odesláním následujícího příkazu:

????, to bude vyžadovat aktualizaci stavu I/O.

Na váš telefon dostanete následující SMS:

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

kde x označuje stav, 1 pro zapnuto, 0 pro vypnuto.

Krok 5: Aplikace pro Android

Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android

Pomocí aplikace MIT App Inventor 2 (https://ai2.appinventor.mit.edu/) jsem vytvořil jednoduché uživatelské rozhraní pro svůj mobilní telefon Android. Tato aplikace vám umožňuje přizpůsobit popis každého I/O. Umožňuje také zadání telefonního čísla.

Čtyři tlačítka slouží k ovládání výstupů, zatímco zaškrtávací políčka označují stav vstupu.

Chcete -li aplikaci upravit, vytvořte si účet MIT App Inventor 2 a importujte soubor AIA.

Chcete -li aplikaci nainstalovat do telefonu, zkopírujte do telefonu soubor APK a nainstalujte jej. V nastavení zabezpečení telefonu budete muset povolit instalaci aplikací z „Neznámých zdrojů“.

Doporučuje: