SIM800L

MODUL GSM

SIM800L

pagina personala SIMPALEAN NICOLAE

Monitorizare temperatura si control relee de la distanta cu modul GSM SIM800L si ARDUINO NANO V3

Cu montajul din imaginea de mai jos se pot face următoarele lucruri:

- Se poate monitoriza temperatura unui obiect sau temperatura dintr-o cameră cu ajutorul senzorului DS18B20. Cu acest senzor se pot măsura temperaturi între -55 și +125 grade Celsius.

- Valoarea temperaturii se poate verifica în orice moment , de la distanță , cu ajutorul telefonului mobil. Pentru a afla valoarea actuală a temperaturii se trimite un mesaj (SMS) cu textul "Test" la numărul cartelei instalate în modulul GSM. După câteva secunde se va recepționa un mesaj cu valoarea actuală a temperaturii.

- Modulul GSM trimite mesaje de alarmă în mod automat dacă temperatura ajunge la un prag stabilit, cu condiția ca în modulul ARDUINO să fie memorat un număr de telefon de administrator.Pentru a memora numărul administratorului este necesar ca în momentul în care se trimite modulului GSM un mesaj cu textul "Test" să fie apăsat butonul B2 din schema de mai jos.

- Pragul de temperatură la care se trimite mesaj de alarmă administratorului se stabilește tot prin SMS. Pentru asta se trimite un mesaj cu textul "Prag" urmat de valoarea dorită, cu valori între 0 și 125 grade Celsius. De exemplu ,pentru un prag de 45 de grade se trimite un mesaj cu textul "Prag45" iar pentru un prag de 112 grade se trimite un mesaj cu textul "Prag112". Administratorul va primi imediat un mesaj de confirmare cu textul "Temperatura prag schimbata la : 45 grade Celsius".

- Am configurat în soft un histerezis de 1 grad Celsius. Astfel ,în cazul în care temperatura ajunge sau depășește valoarea de prag se va trimite un mesaj de alarmă dapă care este necesar ca temperatura să coboare minim cu un grad sub valoarea de prag pentru a fi posibilă expedierea unui mesaj nou la atingerea pragului de alarmă.

- Pot fi controlate de la distanță un număr de 5 relee. Fiecare releu poate fi comandat în trei moduri.Poate fi comandat să facă un puls cu durata de 2 secunde , deci acționează și revine automat în starea OFF după două secunde , poate fi comandat să ramană în starea ON pană când va primi o comandă corespunzătoare pentru a reveni în starea OFF sau poate primi comanda ON împreună cu un număr de minute pentru revenire temporizată în starea OFF.

- Pentru ca unul dintre relee să execute un puls trebuie trimis un mesaj cu textul "Puls" urmat de numărul releului.De exemplu, pentru ca releul numărul 4 să execute un puls, se trimite mesaj cu textul "Puls4".Administratorul va primi imediat o confirmare prin SMS cu textul "Puls OK Releul 4".

- Pentru ca releele să ramână stabile într-o anumită pozitie , ON sau OFF , trebuie trimis SMS cu textul "Digi" urmat de numărul releului și de poziția în care vrem să fie:"0" pentru OFF și "1" pentru ON. De exemplu dacă dorim ca releul 5 să treacă pe ON trebuie să trimitem mesaj cu textul "Digi51" sau dacă releul 3 este în starea ON și dorim să-l trecem pe OFF , mesajul trebuie să conțină textul "Digi30". Administratorul va primi imediat confirmarea acționării releului cu textul: "CUPLAT releul 5" sau "DECUPLAT releul 3".

- Pentru cuplarea unui releu cu temporizare la revenire se trimite mesaj cu textul "Temp" urmat de numărul de minute dorit pentru temporizare.De exemplu , dacă dorim să cuplăm releul nr.3 și acesta să decupleze automat după 45 de minute , trebuie trimis mesaj cu textul "Temp3145" . Textul mesajului "se descifrează" astfel: Temp=temporizare , "3"=releul numărul 3 , "1"=cuplat , "45"=45 minute. Administratorul va primi mesaj cu textul "Releul 3 cuplat cu temporizare". După expirarea temporizării releul va decupla și va fi expediat un mesaj cu textul "Decuplat temporizat releul x" ,"x" fiind numărul releului.

- Dacă unul dintre relee este cuplat cu temporizare și dorim decuplarea lui înainte de expirarea acesteia , se trimite mesaj cu textul "Digix0" , "x" fiind numărul releului.

- În cazul în care se trimite un mesaj cu text diferit de cele pe care modulul Arduino le recunoaște ca și comenzi (Test , Prag , Puls,Temp sau Digi) ,acesta va răspunde cu un mesaj cu textul " Comanda gresita!".

- Pentru a se putea folosi montajul și în combinație cu un senzor de mișcare am configurat în soft și o intrare digitală care trimite automat un SMS cu textul "Buton alarma". Pentru a se expedia un mesaj de acest fel trebuie apăsat butonul B1 din imaginea de mai jos sau în paralel cu butonul să se conecteze un contact de la senzorul de mișcare.

- Modulul GSM trebuie alimentat cu o sursă de tensiune continuă de 4 volți (minim 3,7 și maxim 4,4V) capabilă să susțină un curent de 2A. Pentu asta am folosit un modul cu LM2596 reglat corespunzător.

- Dacă dorește cineva modul Arduino cu programul care face ceea ce am scris mai sus (sau cu alte opțiuni la cerere) , sau montajul complet adaptat cerințelor clientului , mă poate contacta la telefon 0723255527 sau mail : nicolae.simpalean@gmail.com

 

Schema electricaproject name

Înregistrare video a monitorului serial cu Tera Term

O înregistrare video (atenție, este format webm care nu funcționează cu Internet Explorer) a informațiilor care se pot vizualiza pe PC cu ajutorul programului Tera Term se poate urmari in link-ul următor:

Click aici pentru înregistrare video

Capturi ecran telefon

În cele două imagini se poate vedea modul în care modulul GSM răspunde la mesajele trimise. Se observă că fiecare comandă primește și un răspuns iar în cazul în care temperatura a ajuns la pragul de 28 de grade a fost trimis un mesaj de alarmă. De asemenea se observă mesajul " Buton alarma" generat de apăsarea butonului B1.

captura telefon

Poză cu montajul pe care am testat programul:

sim800