Sadržaj:
- Korak 1: SMS naredbe
- Korak 2: Izgradnja SMS kontrolera
- Korak 3: Programiranje ATMEGA328p
- Korak 4: Korištenje SMS kontrolera
- Korak 5: Android aplikacija
Video: Android i Arduino SMS automatizacija doma: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
! ! ! N O T I C E! ! !
Zbog nadogradnje lokalnog tornja za mobitele u mom području, više ne mogu koristiti ovaj GSM modul. Noviji toranj više ne podržava 2G uređaje. Stoga više ne mogu davati nikakvu podršku ovom projektu
Nedavno sam dobio relativno jeftin Quad Band GSM/GPRS modul za igru. To je modul SIM800L i komunicira s bilo kojim mikro uređajem putem serijskog porta. Došao je u kompletu s antenom za montiranje ploče.
Odlučio sam izgraditi jednostavan sustav SMS kontrolera koji koristi naredbe usluge kratkih poruka (SMS) za upravljanje uređajima i ukazivanje na alarme.
Korak 1: SMS naredbe
Kao i kod svakog komunikacijskog sustava, posebne naredbe moraju se poslati udaljenom uređaju kako bi mu se reklo što treba učiniti. Slično, udaljeni uređaj mora odgovoriti ili reagirati na ove naredbe. Ovaj se projekt sastoji od dva dijela, SMS kontrolera i standardnog mobitela.
Ideja je bila stvoriti jednostavan SMS kontroler s četiri digitalna izlaza. Ovisno o primljenom SMS -u, jedinica mora moći kontrolirati pojedinačne izlaze.
Također sam odlučio uključiti četiri digitalna ulaza. Ovo se može koristiti za označavanje alarma ili drugih informacija.
Prije početka gradnje odlučio sam stvoriti posebne naredbe za određene funkcije. Ove 'naredbe' bit će poslane SMS -om s mobitela.
Naredbe za primanje SMS kontrolera:
o1: 1 - uključite izlaz 1
o1: 0 - isključite izlaz 1 Isključeno
o1: p - impulsni izlaz 1 Uključite, a zatim isključite
o2: 1 - uključite izlaz 2
o2: 0 - isključite izlaz 2
o2: p - impulsni izlaz 2 Uključite, a zatim isključite
o3: 1 - uključite izlaz 3
o3: 0 - isključite izlaz 3
o3: p - impulsni izlaz 3 Uključite, a zatim isključite
o4: 1 - uključite izlaz 4
o4: 0 - isključite izlaz 4
o4: p - impulsni izlaz 4 Uključite, a zatim isključite
???? - Zahtjev za status ulaza i izlaza
#### - Resetiranje sustava
Za povratne informacije, SMS kontrolor treba odgovoriti na primljene naredbe i odgovoriti SMS -om. Odlučio sam da ovaj SMS s odgovorom uključi status svih I/O pinova.
Naredbe za odgovor SMS kontrolera:
i1: x i2: x i3: x i4: x o1: x o2: x o3: x o4: x
gdje je x I/O status, 1 za Uključeno, 0 za Isključeno.
Korak 2: Izgradnja SMS kontrolera
Potrebna oprema:
Bilo koji Arduino ili samostalni ATMEGA328p na ploči
SIM800L GSM/GPRS modul sa sim karticom koja može slati i primati SMS -ove
Odstupite od DC/DC pretvarača
BILJEŠKA !
Za napajanje modula SIM800L potreban je DC/DC pretvarač. Ovaj modul radi između 3,7 V i 5 V, ovisno o verziji koju imate. Ovaj modul također zahtijeva napajanje koje može isporučiti do 2A kada modul prenosi podatke. Ne može se napajati izravno iz Arduino Uno !
Krug je vrlo jednostavan. Sastavio sam ga i testirao na ploči.
Napajanje u krug dolazi putem DC/DC pretvarača, s izlaznim naponom postavljenim na 4,5V. Postoje četiri LED diode za simulaciju digitalnih izlaza i četiri tipke za digitalne ulaze. SIM800L je spojen na Rx/Tx pinove ATMEGA328p.
5. LED se koristi za označavanje kada je sustav zauzet slanjem SMS -a.
Korak 3: Programiranje ATMEGA328p
Prije programiranja otvorite INO datoteku i uredite telefonski broj. Zamijenite xxxxxxxxxx vlastitim brojem mobitela u retku 46. Ponovno kompajlirajte i prenesite datoteku.
Također pročitajte upute o tome kako konfigurirati programski serijski port u INO datoteci.
//=============================================================================//
//! ! ! BILJEŠKA ! ! !
// ================
//
// BUFER U SERIJSKOJ KNJIŽNICI SOFTVERA PROMIJENITI NA 200
//
// Za upotrebu serijskog softvera, korisnik bi također trebao promijeniti programski serijski BUFFER na 200.
// Ovo se mora urediti u sljedećoj datoteci:
//
// C:/Programske datoteke/Arduino x.x.x/Hardver/Arduino/AVR/Knjižnice/SoftwareSerial/src/SoftWareSerial.h
//
// Promijenite međuspremnik kako slijedi:
//
// #ifndef _SS_MAX_RX_BUFF
// #define _SS_MAX_RX_BUFF 200
// RX veličina međuspremnika
// #završi ako
//
//=============================================================================
Pogledajte ovu uputu za programiranje ATMEGA328p na matičnoj ploči pomoću Arduino UNO -a.
www.instructables.com/id/Arduino-UNO-as-AtM…
Korak 4: Korištenje SMS kontrolera
Korištenje SMS kontrolera
SMS kontroler automatski će poslati SMS na vaš telefon ako se aktivira bilo koji od četiri ulaza. Pojedinosti okidača bit će sadržane u tekstu SMS -a.
SMS poruke i naredbe mogu se urediti prema vašim potrebama u INO datoteci.
Testiranje izlaza SMS kontrolera
Sa svog mobitela pošaljite sljedeće naredbe na broj SIM kartice SIM800L:
o1: 1, ovo će uključiti izlaz 1.
Na telefon ćete primiti sljedeći SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 1 o2: 0 03: 0 o4: 0
01: 0, ovo će isključiti izlaz 1.
Na telefon ćete primiti sljedeći SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
01: p, ovo će uključiti izlaz 1 na 1 sekundu, a zatim će ponovno isključiti izlaz 1 (pulsira).
Na telefon ćete primiti sljedeći SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Testiranje ulaza SMS kontrolera
Na SMS kontroleru kratko pritisnite gumb 1
Na telefon ćete automatski primiti sljedeći SMS:
i1: 1 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Na SMS kontroleru kratko pritisnite gumb 2
Na telefon ćete automatski primiti sljedeći SMS:
i1: 1 i2: 1 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Na SMS kontroleru kratko pritisnite gumb 3
Na telefon ćete automatski primiti sljedeći SMS:
i1: 1 i2: 1i3: 1 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Kao što se može vidjeti na primljenom SMS -u, izlazi se mijenjaju prema primljenim naredbama. Međutim, ulazi se ne mijenjaju s 1 na 0 nakon pritiska na tipke. Budući da sam želio vidjeti sve promjene na ulazima, odlučio sam zapečatiti status ulaza sve dok se naredba za reset ne pošalje SMS kontroleru.
Poništite alarme
Da biste poništili status unosa, pošaljite sljedeću naredbu:
####, ovo će poništiti status unosa.
Na telefon ćete primiti sljedeći SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Ažuriranja statusa
Status također možete zatražiti u bilo kojem trenutku slanjem sljedeće naredbe:
????, ovo će zahtijevati ažuriranje statusa I/O.
Na telefon ćete primiti sljedeći SMS:
i1: x i2: x i3: x i4: x o1: x o2: x 03: x o4: x
gdje x označava status, 1 za uključeno, 0 za isključeno.
Korak 5: Android aplikacija
Koristeći MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), stvorio sam jednostavno korisničko sučelje za svoj Android mobitel. Ova vam aplikacija omogućuje prilagodbu opisa svakog U/I -a. Također omogućuje unos telefonskog broja.
Četiri gumba koriste se za upravljanje izlazima, dok potvrdni okviri označavaju status ulaza.
Za uređivanje aplikacije stvorite račun MIT App Inventor 2 i uvezite datoteku AIA.
Da biste instalirali aplikaciju na telefon, kopirajte APK datoteku na telefon i instalirajte je. Morat ćete omogućiti instalaciju aplikacija iz "Nepoznatih izvora" u sigurnosnim postavkama telefona.
Preporučeni:
Automatizacija doma: 5 koraka
Kućna automatizacija: u ovom smo projektu otišli, iskoristili smo mnoge stvari da bismo je izgradili od nule kako bismo razumjeli proces IoT interneta video zapisa za sve projekte
Automatizacija doma s NodeMCU osjetnikom na dodir LDR relejem za kontrolu temperature: 16 koraka
Kućna automatizacija s NodeMCU osjetnikom na dodir LDR relejem za kontrolu temperature: U mojim prošlim projektima NodeMCU upravljao sam dvama kućanskim aparatima iz aplikacije Blynk. Primio sam mnogo komentara i poruka za nadogradnju projekta s ručnom kontrolom i dodavanjem više funkcija. Pa sam dizajnirao ovu kutiju za proširenje pametnog doma. U ovom IoT -u
Automatizacija doma: 7 koraka
Automatizacija doma: Pretvorite svoj dom u pametan dom, s tim možete kontrolirati sve elektroničke uređaje u svom domu u jednoj aplikaciji. Ali za ovaj projekt, htio sam kontrolirati samo svu rasvjetu kod kuće. Sve je jednostavno napravljeno s Raspberry pi 3 i relejem za nastavak
Automatizacija doma pomoću Blynka: 5 koraka
Kućna automatizacija pomoću Blynka: Pozdrav svima! Ayush i Anvit ovdje iz Delhijske javne škole, Pune. Kao što ste možda pročitali u naslovu, ovo je projekt kućne automatizacije razvijen koristeći Blynk kao IOT platformu. Danas ljudi postaju lijeni i potražnja za Home Automatio
Automatizacija doma s infracrvenim i Bluetooth modulom releja: 10 koraka
Kućna automatizacija s infracrvenim i Bluetooth upravljačkim relejnim modulom: U ovom projektu kućne automatizacije pokazao sam kako možemo kontrolirati svjetlo, ventilator i druge kućanske aparate iz naše aplikacije za pametni telefon i IC daljinskog upravljača pomoću sklopa modula upravljačkog releja Arduino. Ovaj Arduino upravljani pametni relej sklop ima dva načina rada, Inf