Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
! ! ! BILJESKA ! ! !
Zbog nadogradnje lokalnog tornja za mobilne telefone 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 sa bilo kojim mikro uređajem putem serijskog porta. Došao je u kompletu sa antenom za montiranje ploče.
Odlučio sam izgraditi jednostavan sistem za upravljanje SMS porukama koji koristi naredbe usluge kratkih poruka (SMS) za upravljanje uređajima i ukazivanje na alarme.
Korak 1: SMS naredbe
Kao i kod svakog komunikacijskog sistema, posebne naredbe moraju biti poslane na udaljeni uređaj kako bi mu rekli šta da radi. Slično, udaljeni uređaj mora odgovoriti ili reagirati na ove naredbe. Ovaj projekt se sastoji od dva dijela, SMS kontrolera i standardnog mobilnog telefona.
Ideja je bila stvoriti jednostavan SMS kontroler sa četiri digitalna izlaza. Ovisno o primljenom SMS -u, jedinica mora moći kontrolirati pojedinačne izlaze.
Odlučio sam uključiti i č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 'komande' će biti poslane putem SMS -a sa mobilnog telefona.
Komande za prijem SMS kontrolera:
o1: 1 - uključite izlaz 1
o1: 0 - okrenite 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
???? - Status zahtjeva za ulaze i izlaze
#### - Resetujte sistem
Za povratne informacije, SMS kontroler treba da odgovori na primljene komande i odgovori SMS -om. Odlučio sam da ovaj SMS s odgovorom uključi status svih I/O pinova.
Komande 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 prilično jednostavan. Sastavio sam ga i testirao na ploči.
Napajanje kruga se vrši 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 povezan sa Rx/Tx pinovima ATMEGA328p.
Peta LED dioda se koristi za označavanje kada je sistem zauzet slanjem SMS -a.
Korak 3: Programiranje ATMEGA328p
Prije programiranja otvorite INO datoteku i uredite telefonski broj. Zamijenite xxxxxxxxxx sa svojim brojem mobilnog telefona u redu 46. Ponovo kompajlirajte i otpremite datoteku.
Također pročitajte upute o tome kako konfigurirati serijski port softvera u INO datoteci.
//=============================================================================//
//! ! ! BILJEŠKA ! ! !
// ================
//
// BUFER U SERIJSKOJ KNJIŽNICI SOFTVERA BITI PROMJENJEN NA 200
//
// Da bi koristio softverski serijski broj, korisnik bi trebao promijeniti i programski serijski BUFFER na 200.
// Ovo se mora urediti u sljedećoj datoteci:
//
// C:/Programske datoteke/Arduino x.x.x/Hardver/Arduino/AVR/Biblioteke/SoftwareSerial/src/SoftWareSerial.h
//
// Promijenite bafer na sljedeći način:
//
// #ifndef _SS_MAX_RX_BUFF
// #define _SS_MAX_RX_BUFF 200
// Veličina međuspremnika RX
// #endif
//
//=============================================================================
Pogledajte ovo uputstvo za programiranje ATMEGA328p na matičnoj ploči pomoću Arduino UNO -a.
www.instructables.com/id/Arduino-UNO-as-AtM…
Korak 4: Upotreba SMS kontrolera
Upotreba SMS kontrolera
SMS kontroler automatski će poslati SMS na vaš telefon ako se aktivira bilo koji od četiri ulaza. Detalji okidača bit će sadržani u tekstu SMS -a.
SMS poruke i naredbe možete urediti prema vašim potrebama u INO datoteci.
Testiranje izlaza SMS kontrolera
Sa svog mobilnog telefona 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 ponovo 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 dugme 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 dugme 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 dugme 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 unosa sve dok se naredba za resetiranje ne pošalje SMS kontroleru.
Resetirajte 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 mobilni telefon. Ova vam aplikacija omogućuje prilagodbu opisa svakog U/I -a. Takođe omogućava unos telefonskog broja.
Četiri dugmeta se koriste za kontrolu izlaza, dok polja za potvrdu označavaju status ulaza.
Da biste uredili aplikaciju, stvorite MIT App Inventor 2 račun i uvezite AIA datoteku.
Da biste instalirali aplikaciju na telefon, kopirajte APK datoteku na telefon i instalirajte je. Morat ćete omogućiti instalaciju aplikacija iz "Nepoznatih izvora" pod sigurnosnim postavkama vašeg telefona.