Unitate de telecomandă GSM / SMS bazată pe Arduino: 16 pași (cu imagini)
Unitate de telecomandă GSM / SMS bazată pe Arduino: 16 pași (cu imagini)
Anonim
Unitate de telecomandă GSM / SMS bazată pe Arduino
Unitate de telecomandă GSM / SMS bazată pe Arduino

! ! ! ÎNȘTIINȚARE !

Datorită modernizării turnului local de telefonie mobilă în zona mea, nu mai pot folosi acest modul GSM. Cel mai nou turn nu mai acceptă dispozitive 2G. Prin urmare, nu mai pot oferi niciun sprijin pentru acest proiect.

Cu o gamă atât de largă de module GSM disponibile pentru hobby, majoritatea dintre noi am terminat să cumpărăm unul. Am cumpărat un modul SIM800L local și am ajuns să mă joc cu diferitele comenzi ale modulului.

Folosind Arduino Uno și Arduino IDE, am reușit să-mi transform ideile în realitate. Acest lucru nu a venit ușor, SINGLE BIGGEST EMSUE fiind limitarea a doar 2KB SRAM. După o mulțime de cercetări pe internet și diferite forumuri, am reușit să depășesc această limitare.

Diferite tehnici de programare, o înțelegere mult mai bună a compilatorului Arduino și utilizarea cartelei SIM și a EEPROM pentru memorie suplimentară, au salvat acest proiect. După unele modificări ale codului, un prototip stabil a fost construit și testat pe o perioadă de o săptămână.

Un dezavantaj al SRAM limitat era că unitatea nu putea fi echipată cu un afișaj și chei de utilizator. Aceasta a dus la o rescriere completă a codului. Fără interfață cu utilizatorul, singura opțiune rămasă pentru a continua cu proiectul a fost utilizarea mesajelor SMS pentru a configura unitatea, precum și a utilizatorilor.

Acest lucru sa dovedit a fi un proiect interesant și s-au adăugat mai multe contracte pe măsură ce dezvoltarea a continuat.

Scopul meu principal a fost să rămân cu Arduino Uno sau, în acest caz, cu ATMEGA328p și să nu folosesc componente de montare pe suprafață. Acest lucru va face mai ușor pentru publicul larg să copieze și să construiască unitatea.

Specificația unității:

  • Pe unitate pot fi programate maximum 250 de utilizatori
  • Patru ieșiri digitale
  • Patru intrări digitale
  • Fiecare ieșire poate fi configurată ca o ieșire PULSE sau ON / OFF
  • Durata impulsului de ieșire poate fi setată între 0,5.. 10 secunde
  • Fiecare intrare poate fi configurată pentru a declanșa modificările de la OFF la ON.
  • Fiecare intrare poate fi configurată pentru a declanșa modificările de la ON la OFF
  • Fiecare timp de întârziere de intrare poate fi setat între 0 secunde și 1 oră
  • Mesajele SMS pentru modificările intrărilor pot fi trimise către 5 utilizatori diferiți
  • Numele și textul de stare pentru fiecare intrare pot fi setate de utilizator
  • Numele și textul de stare pentru fiecare ieșire pot fi setate de utilizator
  • Unitatea poate fi configurată pentru a primi mesaje de sold ale cartelei SIM prin mesaje USSD.
  • Toți utilizatorii pot solicita actualizări de stare I / O ale unității
  • Toți utilizatorii pot controla ieșirile individuale prin mesaje SMS
  • Toți utilizatorii pot controla ieșirile individuale apelând unitatea

Masuri de siguranta

  • Configurarea inițială a unității se poate face numai în timp ce se află la unitate.
  • Configurarea inițială poate fi efectuată numai de către MASTER USER
  • Comenzile de configurare inițiale sunt dezactivate automat după zece minute.
  • Doar apelurile și SMS-urile trimise de la utilizatori cunoscuți pot controla unitatea
  • Utilizatorii pot opera numai ieșirile care le-au fost atribuite de către MASTER USER

Alte caracteristici

  • Apelurile către această unitate sunt gratuite, deoarece apelul nu primește niciodată răspuns.
  • Când unitatea este apelată, apelul va scădea numai după 2 secunde. Aceasta confirmă apelantului că unitatea a răspuns la apel.
  • Dacă furnizorul de servicii al cartelei SIM acceptă mesaje USSD, solicitările de sold pot fi efectuate de către MASTER USER. Mesajul USSD care conține soldul va fi apoi redirecționat către MASTER USER.

Pasul 1: Alimentare

Alimentare electrică
Alimentare electrică

Pentru a se asigura că unitatea poate fi conectată la sisteme standard de securitate (sisteme de alarmă, uși de garaj electrice, motoare electrice de poartă), unitatea va fi alimentată de la 12V DC care este disponibilă în mod normal pe astfel de sisteme.

Alimentarea se aplică pe bornele 12V IN și 0V și este protejată de o siguranță de 1A. Sunt disponibile terminale suplimentare 12V OUT și sunt protejate și de siguranță.

Dioda D1 protejează unitatea împotriva conexiunilor de polaritate inversă pe liniile de 12V.

Condensatoarele C1 și C2 filtrează orice zgomot prezent pe liniile de alimentare de 12V. Alimentarea de 12V este utilizată pentru alimentarea releelor unității.

Alimentarea de 5V constă dintr-un regulator de tensiune LM7805L și generează un stabil + 5V necesar pentru modulul SIM800L GSM, precum și microprocesorul. Condensatoarele C3 și C4 filtrează orice zgomot care ar putea fi prezent pe linia de alimentare + 5V. Au fost folosite condensatori electrolitici relativ mari, deoarece modulul SIM800L GSM folosește destul de multă putere atunci când transmite.

Nu este necesar un radiator pe regulatorul de tensiune.

Pasul 2: intrări digitale

Intrări digitale
Intrări digitale
Intrări digitale
Intrări digitale

Semnalele digitale de intrare sunt toate de 12V și trebuie să fie interfațate cu microcontrolerul de 5V. Pentru aceasta, cuplatoarele opto sunt utilizate pentru a izola semnalele de 12V de la sistemul de 5V.

Rezistorul de intrare 1K limitează curentul de intrare la cuplajul opto la aproximativ 10mA.

Datorită limitării spațiului, nu a fost disponibil spațiu pe placa PC pentru rezistențele de tracțiune de 5V. Microcontrolerul este configurat pentru a activa pinii de intrare slabi.

Fără semnal prezent la intrarea (LOW) a cuplajului opto, nu va circula curent prin LED-ul cuplator opto. Astfel, tranzistorul cuplator opto este oprit. Tragerea slabă a microcontrolerului va trage în sus colectorul la aproape 5V și va fi văzută ca un logic ÎNALT de către microcontroler.

Cu 12V aplicat (HIGH) la intrarea cuplatorului opto, aproximativ 10mA vor curge prin LED-ul cuplator opto. Astfel tranzistorul cuplator opto va fi pornit. Acest lucru va trage în jos colectorul la aproape 0V și va fi văzut ca o logică LOW de către microcontroler.

Rețineți că intrarea văzută de microcontroler este inversată comparativ cu intrarea de 12V.

Codul normal pentru citirea pinului de intrare arată după cum urmează:

boolean Input = digitalRead (inputpin);

Pentru a corecta semnalul inversat, utilizați următorul cod:

boolean Input =! digitalRead (inputpin); // NOTĂ! în fața cititului

Acum, intrarea văzută de microcontroler va corespunde cu intrarea de pe intrarea de 12V.

Circuitul final de intrare este format din 4 intrări digitale. Fiecare intrare este conectată la terminalele de pe placa PC.

Pasul 3: ieșiri digitale

Ieșiri digitale
Ieșiri digitale
Ieșiri digitale
Ieșiri digitale
Ieșiri digitale
Ieșiri digitale

În mod normal, cu un circuit care acționează doar un număr minim de relee, cel mai bun mod este să folosiți un circuit driver de tranzistor așa cum se arată. Este simplu, ieftin și eficient.

Rezistențele asigură tragerea la sol și limitarea curentului de bază al tranzistorului. Tranzistorul este utilizat pentru a crește curentul disponibil pentru a conduce un releu. Cu doar 1mA extras din pinul microcontrolerului, tranzistorul poate comuta o sarcină de 100mA. Mai mult decât suficient pentru majoritatea tipurilor de relee. Dioda este o diodă fly-back, protejând circuitul de vârfuri de înaltă tensiune în timpul comutării releului. Avantajul suplimentar al utilizării acestui circuit este că tensiunea de funcționare a releului poate fi diferită de tensiunea microcontrolerului. Astfel, în loc să folosiți un releu de 5V, puteți utiliza orice tensiune continuă de până la 48V.

Vă prezentăm ULN2803

Cu cât un proiect necesită mai multe relee, cu atât numărul de componente este mai mare. Acest lucru va face designul PCB mai dificil și ar putea consuma spațiu valoros pentru PCB. Dar utilizarea unei matrice de tranzistoare, precum ULN2803, va ajuta cu siguranță la menținerea dimensiunii PCB mici. ULN2803 este ideal pentru intrările de 3,3V și 5V de la un microcontroler și poate conduce relee de până la 48V DC. Acest ULN2803 are 8 circuite individuale de tranzistor, fiecare circuit echipat cu toate componentele necesare pentru comutarea unui releu.

Circuitul final de ieșire constă dintr-un ULN3803, care acționează 4 relee de ieșire 12V DC. Fiecare contact al releului este disponibil pe terminalele PC Board.

Pasul 4: Oscilator cu microcontroler

Oscilator cu microcontroler
Oscilator cu microcontroler
Oscilator cu microcontroler
Oscilator cu microcontroler
Oscilator cu microcontroler
Oscilator cu microcontroler

Circuitul oscilatorului

Microcontrolerul are nevoie de un oscilator pentru a funcționa corect. Pentru a respecta designul Arduino Uno, circuitul va folosi oscilatorul standard de 16 MHz. Sunt disponibile două opțiuni:

Cristal

Această metodă utilizează un cristal conectat la doi condensatori de încărcare. Aceasta este cea mai comună opțiune.

Rezonator

Un rezonator este practic un cristal și doi condensatori de încărcare într-un singur pachet cu 3 pini. Acest lucru reduce cantitatea de componente și crește spațiul disponibil pe placa PC.

Pentru a menține numărul de componente cât mai scăzut posibil, am ales să folosesc un rezonator de 16 MHz.

Pasul 5: LED-uri de indicație

Indicatoare LED
Indicatoare LED
Indicatoare LED
Indicatoare LED

Ce va fi orice circuit fără unele LED-uri? S-a prevăzut pe placa PC pentru LED-uri de 3 mm.

Rezistoarele 1K sunt folosite pentru a limita curentul prin LED la mai puțin de 5mA, atunci când utilizați LED-uri de 3 mm cu lumină înaltă, luminozitatea este excelentă.

Pentru interpretarea ușoară a LED-urilor de stare, se utilizează două culori. Prin combinarea celor două LED-uri cu indicații intermitente, se pot obține destul de multe informații de la doar două LED-uri.

LED roșu

LED-ul roșu este utilizat pentru a indica condițiile de defecțiune, întârzierile mari, orice comenzi incorecte.

LED verde

LED-ul verde este folosit pentru a indica intrări și comenzi sănătoase și / sau corecte.

Pasul 6: Circuit de resetare a microprocesorului

Circuit de resetare a microprocesorului
Circuit de resetare a microprocesorului

Din motive de securitate, unele dintre funcțiile unității sunt disponibile numai în primele 10 minute de la pornirea unității.

Cu un buton de resetare, alimentarea unității nu trebuie să fie oprită pentru a reseta unitatea.

Cum functioneaza

Rezistorul de 10K va menține linia RESET aproape de 5V. Când butonul este apăsat, linia RESET va fi trasă la 0V, menținând astfel microcontrolerul resetat. Când butonul este eliberat, linia RESET revine la% v, restabilind microcontrolerul.

Pasul 7: Modul SIM800L

Modul SIM800L
Modul SIM800L
Modul SIM800L
Modul SIM800L
Modul SIM800L
Modul SIM800L

Inima unității este modulul SIM800L GSM. Acest modul utilizează doar 3 pini I / O pe microcontroler.

Modulul se conectează la microcontroler printr-un port serial standard.

  • Toate comenzile către unitate sunt trimise prin portul serial utilizând comenzi AT standard.
  • La un apel primit sau când se primește un SMS, informațiile sunt trimise către microcontroler prin portul serial folosind text ASCII..

Pentru a economisi spațiu, modulul GSM este conectat la placa PC printr-un antet cu 7 pini. Acest lucru facilitează îndepărtarea modulului GSM. Acest lucru permite, de asemenea, utilizatorului să introducă / să scoată cu ușurință cartela SIM din partea de jos a modulului.

Este necesară o cartelă SIM activă, iar cartela SIM trebuie să poată trimite și primi mesaje SMS.

Configurarea modulului GSM SIM800L

La pornirea unității, pinul de resetare a modulului GSM este scos pentru o secundă. Acest lucru asigură faptul că modulul GSM pornește numai după stabilizarea sursei de alimentare. Modulul GSM durează câteva secunde pentru a reporni, așa că așteptați 5 secunde înainte de a trimite orice comandă AT către modul.

Pentru a vă asigura că modulul GSM este configurat pentru a comunica corect cu microcontrolerul, la pornire sunt utilizate următoarele comenzi AT:

LA

folosit pentru a determina dacă este disponibil un modul GSM

AT + CREG?

Interogarea acestei comenzi până când modulul GSM este înregistrat în rețeaua de telefonie mobilă

AT + CMGF = 1

Setați modul mesaj SMS la ASCII

AT + CNMI = 1, 2, 0, 0, 0

Dacă SMS-ul este disponibil, trimiteți detalii SMS la portul serial al modulului GSM

AT + CMGD = 1, 4

Ștergeți toate mesajele SMS stocate pe cartela SIM

AT + CPBS = / "SM

Setați agenda telefonică a modulului GSM pe cartela SIM

AT + COPS = 2, apoi AT + CLTS = 1, apoi AT + COPS = 0

Setați ora modulului GSM la ora rețelei telefonului mobil

Așteptați 5 secunde pentru ca timpul să fie setat

AT + CUSD = 1

Activați funcția de mesagerie USSD

Pasul 8: Micro Controller

Microcontrolerul
Microcontrolerul
Microcontrolerul
Microcontrolerul
Microcontrolerul
Microcontrolerul

Microcontrolerul este un AtMega328p standard, la fel ca cel folosit pe Arduino Uno. Codul este astfel comparabil cu ambele. Pentru a permite o programare ușoară la bord, un antet de programare cu 6 pini este disponibil pe placa PC.

Diferitele secțiuni ale unității sunt conectate la microprocesor și includ următoarele:

  • Patru intrări digitale
  • Patru ieșiri digitale
  • Oscilatorul
  • Două LED-uri de indicație
  • Resetați circuitul
  • Modul GSM SIM800L

Toate comunicațiile către și de la modulul GSM se fac folosind funcția SoftwareSerial (). Această metodă a fost utilizată pentru a elibera portul serial principal pentru Arduino IDE în timpul fazei de dezvoltare.

Cu doar 2 KB de SRAM și 1 KB de EEPROM, nu există suficientă memorie pentru a stoca mai mult de câțiva utilizatori care pot fi conectați la unitate. Pentru a elibera SRAM, toate informațiile despre utilizator sunt stocate pe cartela SIM de pe modulul GSM. Cu acest aranjament, unitatea poate găzdui până la 250 de utilizatori diferiți.

Datele de configurare ale unității sunt stocate în EEPROM, separând astfel datele utilizatorului și datele de sistem.

Există încă mai mulți pini I / O de rezervă, cu toate acestea, opțiunea de a adăuga un afișaj LCD și / sau tastatură nu a fost posibilă din cauza cantității mari de SRAM utilizată de tampoanele de recepție și transmitere SoftWareSerial (), Din cauza lipsei oricărui tip de interfață cu utilizatorul pe unitate, toate setările și utilizatorii sunt programați utilizând mesaje SMS.

Pasul 9: Optimizarea memoriei SRAM

Optimizarea memoriei SRAM
Optimizarea memoriei SRAM

La începutul etapei de dezvoltare, Arduino IDE a raportat o memorie SRAM redusă la compilarea codului. Au fost folosite mai multe metode pentru a depăși acest lucru.

Limitați datele primite pe portul serial

Modulul GSM va raporta toate mesajele către microcontroler portul serial. La primirea unor mesaje SMS, lungimea totală a mesajului primit poate depăși 200 de caractere. Acest lucru poate consuma rapid toate SRAM-urile disponibile pe cipul AtMega și va cauza probleme de stabilitate.

pentru a preveni acest lucru, vor fi utilizate doar primele 200 de caractere din ORICE mesaj primit de la modulul GSM. Exemplul de mai jos arată cum se realizează acest lucru prin numărarea caracterelor primite în contorul variabil.

// scanează datele din portul serial al software-ului

// ----------------------------------------------- RxString = ""; Contor = 0; while (SSerial.available ()) {delay (1); // scurtă întârziere pentru a da timp pentru ca datele noi să fie plasate în buffer // obține un caracter nou RxChar = char (SSerial.read ()); // adăugați primul 200 de caractere în șir dacă (Contor <200) {RxString.concat (RxChar); Contor = Contor + 1; }}

Reducerea codului Serial.print ()

Deși la îndemână în timpul dezvoltării, Arduino Serial Monitor poate consuma o mulțime de SRAM. Codul a fost dezvoltat folosind cât mai puține coduri Serial.print (). O secțiune de cod a fost testată pentru a funcționa, tot codul Serial.print () a fost eliminat din acea parte a codului.

Folosind codul Serial.print (F ((""))

O mulțime de informații afișate în mod normal pe monitorul serial Arduino au mai mult sens atunci când sunt adăugate descrieri. Luați următorul exemplu:

Serial.println („Se așteaptă acțiuni specifice”);

Șirul „Se așteaptă acțiuni specifice” este fix și nu se poate modifica.

În timpul compilării codului, compilatorul va include șirul „Așteptând acțiuni specifice” în memoria FLASH.

În plus, compilatorul vede că șirul este o constantă, utilizată de instrucțiunile „Serial.print” sau „Serial.println”. În timpul pornirii micro, această constantă este plasată și în memoria SRAM.

Prin utilizarea prefixului „F” în funcțiile Serial.print (), acesta îi spune compilatorului că acest șir este disponibil numai în memoria FLASH. Pentru acest exemplu, șirul conține 28 de caractere. Este vorba de 28 de octeți care pot fi eliberați în SRAM.

Serial.println (F („Așteptarea acțiunilor specifice”));

Această metodă se aplică și comenzilor SoftwareSerial.print (). Deoarece modulul GSM funcționează pe comenzi AT, codul conține numeroase comenzi SoftwareSerial.print ("xxxx"). Utilizarea prefixului „F” a eliberat aproape 300 de octeți de SRAM.

Nu utilizați portul serial hardware

După depanarea codului, portul serial hardware a fost dezactivat eliminând TOATE comenzile Serial.print (). Acest lucru a eliberat câțiva octeți suplimentari de SRAM.

Fără nicio comandă Serial.print () lăsată în cod, au fost disponibili 128 de octeți suplimentari de SRAM. Acest lucru a fost făcut prin eliminarea portului serial hardware din cod. Acest fred sus 64-byte de transmisie și 64 de biți primi buffere.

// Serial.begin (9600); // port serial hardware dezactivat

Utilizarea EEPROM pentru șiruri

Pentru fiecare intrare și ieșire, trebuiau salvate trei șiruri. Acestea sunt numele canalului, șirul când canalul este activ și șirul când canalul este dezactivat.

Cu un total de 8 canale I / O, acestea vor fi

  • 8 șiruri care conțin numele canalelor, fiecare având 10 caractere
  • 8 șiruri care conțin canalul În descriere, fiecare având 10 caractere
  • 8 șiruri care conțin descrierea canalului Off, fiecare având 10 caractere

Acest lucru face publicitate de până la 240 de octeți SRAM. În loc să stocheze aceste șiruri în SRAM, acestea sunt stocate în EEPROM. Acest lucru a eliberat încă 240 de octeți de SRAM.

Declararea șirului cu lungimile corecte

Variabilele sunt declarate în mod normal la începutul codului. O greșeală obișnuită atunci când declarăm o variabilă de șir este că nu declarăm șirul cu numărul corect de caractere.

String GSM_Nr = "";

String GSM_Name = ""; String GSM_Msg = "";

În timpul pornirii, microcontrolerul nu va aloca memorie în SRAM pentru aceste variabile. Acest lucru poate cauza ulterior instabilitate atunci când aceste șiruri sunt utilizate.

Pentru a preveni acest lucru, declarați șirurile cu numărul corect de caractere pe care șirul le va folosi în software.

String GSM_Nr = "1000000000";

String GSM_Name = "2000000000"; String GSM_Msg = "3000000000";

Observați cum nu am declarat șirurile cu aceleași caractere. Dacă declarați toate aceste șiruri cu „1234567890”, compilatorul va vedea același șir în cele trei variabile și va aloca suficientă memorie în SRAM pentru una dintre șiruri.

Pasul 10: Software Serial Buffer Size

Software-ul Serial Buffer Size
Software-ul Serial Buffer Size

În următorul cod, veți observa că până la 200 de caractere pot fi citite din portul serial al software-ului.

// scanează datele din portul serial al software-ului

// ----------------------------------------------- RxString = ""; Contor = 0; while (SSerial.available ()) {delay (1); // scurtă întârziere pentru a da timp pentru ca datele noi să fie plasate în buffer // obține un caracter nou RxChar = char (SSerial.read ()); // adăugați primul 200 de caractere în șir dacă (Contor <200) {RxString.concat (RxChar); Contor = Contor + 1; }}

Acest lucru necesită un buffer de cel puțin 200 de octeți și pentru portul serial al software-ului. în mod implicit, tamponul portului serial al software-ului este de numai 64 de octeți. Pentru a mări acest buffer, căutați următorul fișier:

SoftwareSerial.h

Deschideți fișierul cu un editor de text și modificați dimensiunea bufferului la 200.

/******************************************************************************

* Definiții ************************************************ ****************************** / #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // Dimensiunea bufferului RX #endif

Pasul 11: Realizarea plăcii PC

Realizarea plăcii PC
Realizarea plăcii PC

PC Board a fost proiectat folosind versiunea freeware a Cadsoft Eagle (cred că numele s-a schimbat).

  • PC Board este un design cu o singură față.
  • Nu sunt utilizate componente de montare pe suprafață.
  • Toate componentele sunt montate pe placa PC, inclusiv modulul SIM800L.
  • Nu sunt necesare componente externe sau conexiuni
  • Jumperii de sârmă sunt ascunși sub componente pentru un aspect mai curat.

Folosesc următoarea metodă pentru realizarea plăcilor PC:

  • Imaginea plăcii PC este imprimată pe Press-n-Peel folosind o imprimantă laser.
  • Press-n-Peel este apoi plasat deasupra unei bucăți curate de placă PC și fixat cu o bandă.
  • Imaginea plăcii PC-ului este apoi transferată de la Press-n-Peel la placa placă necompletată prin trecerea plăcii printr-un laminator. Pentru mine, 10 permise funcționează cel mai bine.
  • După ce placa PC s-a răcit la temperatura camerei, Press-n-Peel este ridicat încet de pe tablă.
  • Placa PC este apoi gravată utilizând cristale de persulfat de amoniu dizolvate în apă fierbinte.
  • După gravare, tonerul albastru Press-n-Peel și negru este îndepărtat prin curățarea plăcii PC gravate cu o acetonă.
  • Placa este apoi tăiată la dimensiune cu un Dremel
  • Găurile pentru toate componentele găurilor traversante sunt găurite cu ajutorul unui burghiu de 1 mm.
  • Conectorii cu șurub terminal sunt găuriți folosind un burghiu de 1,2 mm.

Pasul 12: Asamblarea plăcii PC

Adunarea consiliului de administrație al PC-ului
Adunarea consiliului de administrație al PC-ului
Adunarea consiliului de administrație al PC-ului
Adunarea consiliului de administrație al PC-ului
Adunarea consiliului de administrație al PC-ului
Adunarea consiliului de administrație al PC-ului
Adunarea consiliului de administrație al PC-ului
Adunarea consiliului de administrație al PC-ului

Asamblarea se face prin adăugarea mai întâi a celor mai mici componente și lucrarea până la cele mai mari componente.

Toate componentele utilizate în acest instructabil, cu excepția modulului SIM800, au fost furnizate de la furnizorul meu local. Se gândește la ei pentru că au mereu stoc. Vă rugăm să aruncați o privire la site-ul lor din Africa de Sud:

www.shop.rabtron.co.za/catalog/index.php

NOTĂ! Mai întâi lipirea celor două jumperi situate sub IC ATMEGA328p

Ordinea este următoarea:

  • Rezistențe și diode
  • Butonul de resetare
  • Prize IC
  • Regulator de voltaj
  • Pinii antetului
  • Condensatori mici
  • LED-uri
  • Suport siguranțe
  • Blocuri terminale
  • Relee
  • Condensatoare electrolitice

Înainte de a introduce IC-urile, conectați unitatea la 12V și testați toate tensiunile pentru a fi corecte.

În cele din urmă, folosind un lac transparent, acoperiți partea de cupru a plăcii PC-ului pentru a o proteja de elemente.

Când lacul s-a uscat, introduceți IC-urile, dar lăsați modulul GSM până când AtMega a fost programat.

Pasul 13: Programarea AtMega328p

Programarea AtMega328p
Programarea AtMega328p
Programarea AtMega328p
Programarea AtMega328p
Programarea AtMega328p
Programarea AtMega328p

# # Actualizare firmware la versiunea 3.02 # #

SMS-urile activate vor fi trimise către MASTER USER atunci când alimentarea este restabilită pe dispozitiv

Folosesc un Arduino Uno cu un scut de programare pentru a programa unitatea. Pentru mai multe informații despre cum să utilizați un Arduino Uno ca programator, consultați acest instructiv:

Arduino UNO ca programator AtMega328P

Modulul GSM trebuie eliminat de pe placa PC pentru a avea acces la antetul de programare. Aveți grijă să nu deteriorați firul antenei atunci când scoateți modulul GSM.

Conectați cablul de programare între programator și unitate folosind antetul de programare de pe placa PC și încărcați schița în unitate.

Alimentarea externă de 12V nu este necesară pentru a programa unitatea. Placa PC va fi alimentată de la Arduino prin cablul de programare.

Deschideți fișierul atașat în Arduino IDE și programați-l pe unitate.

După programare, scoateți cablul de programare și introduceți modulul GSM.

Unitatea este acum gata de utilizare.

Pasul 14: Conectarea unității

Conectarea unității
Conectarea unității
Conectarea unității
Conectarea unității
Conectarea unității
Conectarea unității

Toate conexiunile la unitate se realizează prin intermediul bornelor cu șurub.

Alimentarea unității

Asigurați-vă că ați introdus o cartelă SIM înregistrată în modulul GSM și că cartela SIM este capabilă să trimită și să primească mesaje SMS.

Conectați o sursă de alimentare 12V DC la 12V IN și la oricare dintre bornele 0V. Odată pornit, LED-ul roșu de pe placa PC se va aprinde. În aproximativ un minut, modulul GSM ar fi trebuit să se conecteze la rețeaua de telefonie mobilă. LED-ul roșu se va stinge, iar un LED roșu de pe modulul GSM va clipi rapid.

Odată ce această etapă a fost atinsă, unitatea este gata să fie configurată.

Conexiuni de intrare

Intrările digitale funcționează pe 12V. Pentru a activa o intrare, trebuie aplicat 12V la intrare. Scoaterea 12V va opri intrarea.

Conexiuni de ieșire

Fiecare ieșire constă dintr-un contact de schimbare. Conectați fiecare contact după cum este necesar.

Pasul 15: Configurare inițială

Configurare inițială
Configurare inițială

Configurarea inițială a unității trebuie efectuată pentru a se asigura că toți parametrii sunt setați la valorile implicite din fabrică, iar cartela SIM configurată pentru a accepta informațiile utilizatorului în formatul corect.

Deoarece toate comenzile sunt bazate pe SMS, veți avea nevoie de un alt telefon pentru a efectua configurarea.

Pentru configurarea inițială, trebuie să vă aflați la unitate.

Setați numărul de telefon MASTER USER

Deoarece numai MASTER USER poate configura unitatea, acest pas trebuie efectuat mai întâi.

  • Unitatea trebuie alimentată.
  • Apăsați și eliberați butonul Resetare și așteptați să se stingă LED-ul roșu de pe placa PC.
  • LED-ul NET de pe modulul GSM va clipi rapid.
  • Unitatea este acum gata să accepte comenzile inițiale de configurare. Aceasta trebuie efectuată în decurs de 10 minute.
  • Trimiteți un mesaj SMS care conține MASTER, descriere la numărul de telefon al unității.
  • Dacă este primit, LED-ul verde de pe placa PC va clipi de două ori.
  • MASTER USER a fost programat acum.

Restabiliți unitatea la valorile implicite din fabrică

După ce MASTER USER a fost programat, setările unității trebuie setate la valorile implicite din fabrică.

  • Trimiteți un mesaj SMS cu doar CLEARALL la numărul de telefon al unității.
  • Dacă este primit, LED-ul verde și roșu de pe placa PC va clipi alternativ o dată pe secundă. Unitatea a fost restaurată cu setările implicite din fabrică.
  • Toate setările au fost restabilite la valorile implicite din fabrică.
  • Apăsați și eliberați butonul Reset pentru a reporni unitatea.

Formatarea cartelei SIM

Ultimul pas este să ștergeți toate informațiile stocate pe cartela SIM și să le configurați pentru a fi utilizate în această unitate.

  • Apăsați și eliberați butonul Resetare și așteptați să se stingă LED-ul roșu de pe placa PC.
  • LED-ul NET de pe modulul GSM va clipi rapid.
  • Unitatea este acum gata să accepte comenzile inițiale de configurare. Aceasta trebuie efectuată în decurs de 10 minute.
  • Trimiteți un mesaj SMS numai cu ERASESIM la numărul de telefon al unității.
  • Dacă este primit, LED-ul verde de pe placa PC va clipi intermitent.

Unitatea a fost acum configurată și este gata de utilizare.

Pasul 16: Comenzi SMS

Comenzi SMS
Comenzi SMS

Există trei tipuri diferite de comenzi utilizate de unitate. Toate comenzile sunt trimise prin SMS și sunt toate în următorul format:

COMANDA,,,,,

  • Toate comenzile, cu excepția comenzilor NORMAL USER, sunt sensibile la majuscule.
  • Parametrii nu sunt sensibili la majuscule și minuscule.

Comenzi de configurare inițiale

MASTER, nume

Numărul de telefon al expeditorului SMS este utilizat ca număr de telefon MASTER USER. o descriere pentru unitate poate fi adăugată aici.

CURATA TOT

Resetați unitatea la valorile implicite din fabrică

CLEARSIM

Ștergeți toate datele de pe cartela SIM

RESET

Reporniți unitatea

MASTER USER Comenzi pentru configurarea unității

OUTMODE, c, m, t NOTĂ! ! ! NU ESTE INCA IMPLEMENTAT

Setați canale specifice pentru a avea ieșiri PULSATE, TIMED sau LATCHING. t este durata timpului în minute pentru ieșirile TIMED

PULSE, cccc

Setați canale specifice la ieșirile PULSATE. Dacă nu este setat, canalele vor fi setate ca ieșiri LATCHING.

PULSETIME, t Setează durata de ieșire pulsată în secunde (0.. 10s)

INPUTON, cccc

Setați canalele care trebuie să se declanșeze și trimiteți un mesaj SMS când starea se schimbă de la OPRIT la PORNIT

INPUTOFF, cccc

Setați canalele care trebuie să se declanșeze și trimiteți un mesaj SMS când starea se schimbă de la ON la OFF

INTIME, c, t

Setează timpul de întârziere de intrare pentru detectarea modificărilor de stare în secunde

INTEXT, ch, nume, pornit, oprit

Setați numele fiecărui canal de intrare, pe text și pe text

OUTTEXT, ch, nume, pornit, oprit

Setați numele fiecărui canal de ieșire, pe text și pe text

Adăugați, locație, număr, ieșiri apel, ieșiri SMS, intrări

Adăugați utilizator pe cartela SIM la „locația” memoriei, cu canalele de ieșire și de intrare atribuite utilizatorului

Del, locație

Ștergeți utilizatorul din „locația” memoriei cartelei SIM

Numele canalului

Va emite impulsuri cu numele ChannelName

ChannelName, onText sau ChannelName, offText

Va activa / dezactiva ieșirea cu numele ChannelName și onText / offText

Comenzi de utilizator normale pentru controlul unității

???? Solicitați actualizarea stării I / O. SMS-urile de stare vor fi trimise către inițiator.

Numele canalului

Va emite impulsuri cu numele ChannelName

ChannelName, onText

Va activa ieșirea cu numele ChannelName și textul de stare pe Text

ChannelName, offText Va dezactiva ieșirea cu numele ChannelName și textul de stare offText

Pentru o descriere mai detaliată a comenzilor, vă rugăm să consultați documentul PDF atașat.