Astfel, după mult timp de spălare a complexității lucrului cu modulul GSM SIM900D, anunțăm primul proiect de lucru care combină sistemul de securitate cu posibilitatea de control de la distanță. Pe scurt, dispozitivul este capabil de a trimite SMS-uri informare în caz de activare a senzorului de intruziune, făcând dial-up pentru unitățile de monitorizare audio posibile pentru a monitoriza temperatura si trimite-l SMS-Coy, la cerere, precum și gestiona orice sarcină la comanda trimisă prin SMS.
Cine a urmat acest subiect, este constient că am un modul GSM și un modul pentru gestionarea acestuia - două carduri diferite conectate printr-un sandwich (vezi tabla cu SIM900D și cardul de control). Pe placa de comandă, pe lângă microcontrolerul ATmega32a, există un modul de alimentare realizat pe convertorul LM2596. furnizează circuitul cu o tensiune constantă de 3,5 volți. În principiu, se poate utiliza orice altă sursă de energie, principalul lucru pe care el a fost capabil să atragă pe scurt până la 2 amperi (care este consumul GSM-modulul de la momentul înregistrării).
Ca urmare, schema de conectare rezultată a ieșit în acest fel (clicabil):
Numerotarea pinilor microcontrolerului din diagramă este dată pentru cazul DIP, deci dacă repetați circuitul folosind μ în cazul TQFP, aveți grijă, numerotarea pinului este diferită. Microcontrolerul este tactat de la cuarț extern la 16 MHz.
Linia de control care merge de la colectorul tranzistorului Q2 la pinul PortD.4 al microcontrolerului este adăugată pentru reasigurare și este necesară pentru a se asigura că modulul este pornit. Deoarece off prag SIM900 y este de 3,2 volți, chiar dacă modulul de tensiune mică pierdere este oprit automat în timp ce microcontroler va continua să funcționeze și să efectueze programul (pragul de resetare y ATmega32a 2,7 volți). În funcționare, această linie este scăzută. Dacă microcontrolerul detectează că există un nivel ridicat pe această linie, va fi executată funcția de a reporni modulul GSM.
Dar acesta este modul în care se vede în lucrare în acest moment.
După depășirea finală a programului, toate acestea vor fi incluse în carcasă, iar conexiunile detașabile pentru fiabilitate vor fi sigilate.
Afișajul prezintă informații de bază despre starea dispozitivului: numele operatorului, calitatea semnalului de comunicație, valoarea temperaturii de la senzorul 18b20, starea ieșirii de sarcină și senzorul de penetrare, precum și ora și data.
Ora și data sunt preluate din ceasul modulului GSM încorporat. Pentru funcționarea lor, este necesară o baterie de 3 volți conectată la pinul 15 (VRTC). Se recomandă setarea diodei D1 cu o scădere scăzută a tensiunii, de exemplu Schottky. Setarea ceasului și a datei se face manual, comenzile au fost descrise mai devreme aici
Data este afișată în formatul obținut de la modul, adică primul an, apoi o lună și o dată. Până acum, nimic nu sa schimbat.
Senzorul DS18B20 este responsabil pentru măsurarea temperaturii, este conectat la pinul PortD.3 al microcontrolerului.
Pentru PortD.6, puteți conecta o sarcină și o puteți gestiona utilizând comenzi SMS. La mine acum dioda emite lumina - D4 pe circuit. Dar nimic nu împiedică să atarne un releu sau un triac aici și să gestioneze ceva mai grav.
Ieșirea senzorului este conectată la pinul PortD.7 al microcontrolerului, pe diagramă, senzorul este înlocuit în mod convențional cu un buton.
În locul senzorului de mișcare, puteți pune orice alt mijloc de detectare a senzorilor de penetrare pentru deschiderea ferestrelor și a ușilor, a senzorilor de rupere a sticlei, a senzorilor fotoelectrici etc., în general, toate acestea fiind capabile de fantezie.
Pentru a împiedica trimiterea mai multor SMS-uri de avertizare în cazul declanșării unui senzor, se introduce o restricție în program: după trimiterea primului SMS trimis pentru trimiterea ulterioară. Pentru a reactiva trimiterea mesajelor de notificare când un senzor declanșează, trebuie să îl trimiteți la modulul SMS cu o comandă specifică. Când trimiterea mesajelor SMS este dezactivată pe afișaj în apropierea stării senzorului, se va afișa un semn de exclamare.
Iată lista comenzilor din SMS pe care modul le procesează. Pentru comoditatea și simplitatea comenzii digitale, este posibil ca în viitoarele versiuni ale firmware-ului să fie mai multe nume semnificative ale comenzilor 🙂
0 - Deconectarea încărcării (PortD.6 este setată la logica 0)
1 - Încărcați (ieșirea PortD.6 este setată la 1)
4 - Cerere de temperatură. Temperatura va fi trimisă prin SMS.
5 - Permiteți trimiterea mesajelor atunci când senzorul de penetrare este declanșat.
6 - Interzicerea trimiterii de notificări prin SMS de la senzorul de penetrare.
? - Modulul de comandă va trimite SMS-uri la noi, care este informația generală despre dispozitiv, cum ar fi valoarea în cazul în care starea de încărcare la intrarea senzorului de temperatură senzor de intruziune este inclus, și dacă trimiterea de SMS activat l notificare. De exemplu, iată ce poate arăta mesajul: temperatura +24, sarcina este oprită, la ieșirea senzorului de mișcare 0, trimiterea SMS-ului în caz de operare este interzisă.
Acum, cum să configurați modulul pentru a trimite SMS-uri către numărul dvs. În arhiva cu programul găsim fișierul principal de program, se numește "program" 🙂 și găsim în el o constantă:
Const Phonenumber = "+ 7908390xxxx"
Programul este, ca întotdeauna, scris în Bascom-AVR, astfel încât este ușor de înțeles algoritmul de lucru cu modulul GSM. Mult noroc!
În cele din urmă, o demonstrație a modului în care modulul procesează comenzile.
Mulțumiri speciale pentru participarea și asistența în dezvoltarea, site-ul vechi prieten Serghei RD3AVJ!
Firmware-ul a fost ușor modificat, acum nu este nevoie să recompilați programul pentru a specifica numărul pe care va fi trimis SMS-ul de notificare. Doar trimite un mesaj text la modulul mesajul „Firstnumber“ (fără ghilimele) și numărul care a fost trimis, această comandă este scris în memoria nevolatilă a microcontrolerului.