Obsah:
- Krok 1: Příkazy SMS
- Krok 2: Sestavení řadiče SMS
- Krok 3: Programování ATMEGA328p
- Krok 4: Použití ovladače SMS
- Krok 5: Aplikace pro Android
Video: Domácí automatizace založená na SMS pro Android a Arduino: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
! ! ! 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
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
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
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
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
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:
GPS Car Tracker s upozorněním SMS a nahráním dat Thingspeak, Arduino, domácí automatizace: 5 kroků (s obrázky)
GPS Car Tracker s upozorněním SMS a nahráním dat Thingspeak, založený na Arduinu, domácí automatizace: Tento GPS tracker jsem vyrobil v loňském roce a protože funguje dobře, zveřejňuji ho nyní na Instructable. Je připojen k zásuvce příslušenství v mém kufru. GPS tracker nahrává polohu auta, rychlost, směr a naměřenou teplotu prostřednictvím mobilních dat
Domácí automatizace založená na IOT: 4 kroky
Domácí automatizace založená na IOT: Jak to funguje: Vytvořil jsem přizpůsobenou desku s obvody pro ovládání 4 relé od esp8266 NodeMcu Tento obvod běží na DC 12 V 1 amp. při zapnutí nodemcu se k vám připojte router přes WiFi & spojte se také se serverem BlynkVáš chytrý telefon odesílá čárku
Hlasová automatizace domácí automatizace Raspberry Pi: 5 kroků
Hlasová automatizace domácí automatizace Raspberry Pi: Cílem této instrukce je poskytnout podrobný návod, jak nastavit malinový pi, který dokáže automatizovat světla / LED pomocí vašich hlasových příkazů
Automatizace domácí automatizace Bluetooth: 7 kroků (s obrázky)
Bluetooth Control Home Automation: Dobrý den, v tomto projektu jde o stavbu nejjednoduššího zařízení pro domácí automatizaci pomocí arduina a modulu bluetooth. Tenhle se velmi snadno staví a dá se postavit za pár hodin. Ve své verzi, kterou právě vysvětluji, mohu
Nejjednodušší domácí automatizace pomocí Bluetooth, chytrého telefonu Android a Arduina: 8 kroků (s obrázky)
Nejjednodušší domácí automatizace pomocí Bluetooth, chytrého telefonu Android a Arduino: Dobrý den, tento projekt je o vybudování nejjednoduššího zařízení pro domácí automatizaci pomocí modulu arduino a bluetooth. Tenhle se velmi snadno staví a dá se postavit za pár hodin. Ve své verzi, kterou právě vysvětluji, mohu