GSM/SMS daljinska upravljačka jedinica zasnovana na Arduinu: 16 koraka (sa slikama)
GSM/SMS daljinska upravljačka jedinica zasnovana na Arduinu: 16 koraka (sa slikama)
Anonim
GSM/SMS daljinska upravljačka jedinica zasnovana na Arduinu
GSM/SMS daljinska upravljačka jedinica zasnovana na Arduinu

! ! ! 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.

S tako širokim rasponom GSM modula dostupnih za ljubitelje, većina nas je završila s kupovinom jednog. Lokalno sam kupio SIM800L modul i na kraju sam se igrao različitim komandama modula.

Koristeći Arduino Uno i Arduino IDE, uspio sam svoje ideje pretvoriti u stvarnost. To nije išlo lako, jer je JEDNO NAJVEĆE BROJE ograničenje samo 2KB SRAM -a. Nakon mnogo istraživanja na internetu i različitih foruma, uspio sam prevladati ovo ograničenje.

Različite tehnike programiranja, puno bolje razumijevanje Arduino kompajlera i korištenje SIM kartice i EEPROM -a za dodatnu memoriju spasili su ovaj projekt. Nakon nekih promjena u kodu, izgrađen je stabilan prototip koji je testiran u periodu od jedne sedmice.

Nedostatak ograničenog SRAM -a bio je taj što jedinica nije mogla biti opremljena ekranom i korisničkim ključevima. To je rezultiralo potpunim prepisivanjem koda. Bez korisničkog sučelja, jedina mogućnost koja je preostala za nastavak projekta bila je upotreba SMS poruka za konfiguraciju jedinice, kao i korisnika.

Pokazalo se da je ovo bio uzbudljiv projekt, a kako se razvoj nastavio, dodano je još budućnosti.

Moj glavni cilj je bio držati se Arduino Uno, ili u ovom slučaju ATMEGA328p, i ne koristiti nikakve komponente za površinsko montiranje. Ovo će javnosti olakšati kopiranje i izgradnju jedinice.

Specifikacije jedinice:

  • Na uređaju se može programirati najviše 250 korisnika
  • Četiri digitalna izlaza
  • Četiri digitalna ulaza
  • Svaki izlaz može biti konfiguriran kao PULSNI ili ON/OFF izlaz
  • Trajanje izlaznog impulsa može se postaviti između 0,5.. 10 sekundi
  • Svaki ulaz se može konfigurirati da aktivira OFF na ON promjene.
  • Svaki ulaz se može konfigurirati za aktiviranje promjena ON na OFF
  • Svako vrijeme kašnjenja ulaza može se postaviti između 0 sekundi i 1 sat
  • SMS poruke za promjene na ulazima mogu se poslati 5 različitim korisnicima
  • Imena i tekst statusa za svaki unos može postaviti korisnik
  • Imena i tekst statusa za svaki izlaz može postaviti korisnik
  • Uređaj se može konfigurirati za primanje poruka o stanju SIM kartice putem USSD poruka.
  • Svi korisnici mogu zatražiti ažuriranje I/O statusa jedinice
  • Svi korisnici mogu kontrolirati pojedinačne izlaze putem SMS poruka
  • Svi korisnici mogu kontrolirati pojedinačne izlaze pozivom jedinice

Sigurnosne karakteristike

  • Početno podešavanje jedinice može se izvršiti samo dok je na jedinici.
  • Početno podešavanje može izvesti samo MASTER KORISNIK
  • Naredbe početnog postavljanja automatski se onemogućuju nakon deset minuta.
  • Jedinicom mogu upravljati samo pozivi i SMS poruke poznatih korisnika
  • Korisnici mogu upravljati samo izlazima koje im dodijeli MASTER KORISNIK

Ostale karakteristike

  • Pozivi ovoj jedinici su besplatni jer se na poziv nikad ne odgovara.
  • Kada se jedinica pozove, poziv će se prekinuti tek nakon 2 sekunde. Ovo je potvrda pozivaocu da je jedinica odgovorila na poziv.
  • Ako davatelj usluga SIM kartice podržava USSD poruke, upite o stanju može uputiti MASTER KORISNIK. USSD poruka koja sadrži stanje bit će proslijeđena MASTER USER -u.

Korak 1: Napajanje

Napajanje
Napajanje

Kako bi se osiguralo da se jedinica može spojiti na standardne sigurnosne sisteme (alarmne sisteme, električna garažna vrata, elektromotore), jedinica će se napajati iz 12V DC -a koji je obično dostupan na takvim sistemima.

Napajanje se napaja na 12V IN i 0V stezaljkama i zaštićeno je 1A osiguračem. Dostupni su dodatni priključci 12V OUT, koji su također zaštićeni osiguračem.

Dioda D1 štiti jedinicu od spojeva obrnutog polariteta na 12V vodovima.

Kondenzatori C1 i C2 filtriraju svu buku prisutnu na 12V dovodnim vodovima. Napajanje od 12 V koristi se za napajanje releja jedinice.

Napajanje od 5 V sastoji se od regulatora napona LM7805L, a izlaz stabilan +5 V potreban za SIM800L GSM modul, kao i mikro procesor. Kondenzatori C3 i C4 filtriraju bilo kakvu buku koja bi mogla biti prisutna na napajanju +5V. Korišteni su relativno veliki elektrolitski kondenzatori, jer SIM800L GSM modul koristi prilično malo energije pri odašiljanju.

Na regulatoru napona nije potreban hladnjak.

Korak 2: Digitalni ulazi

Digitalni ulazi
Digitalni ulazi
Digitalni ulazi
Digitalni ulazi

Svi digitalni ulazni signali su 12V i moraju biti povezani s 5V mikrokontrolerom. Za to se koriste optičke sprege za izolaciju 12V signala iz 5V sistema.

1K ulazni otpornik ograničava ulaznu struju opto spreznika na oko 10mA.

Zbog ograničenog prostora, na PC ploči nije bilo mjesta za 5V pull-up otpornike. Mikrokontroler je postavljen tako da omogućuje slaba uvlačenja ulaznih pinova.

Bez signala na ulazu (LOW) opto spreznika, kroz LED diodu opto spreznika neće teći struja. Tako se tranzistor opto spregača isključuje. Slabo povlačenje mikrokontrolera povući će kolektor na gotovo 5V, a mikrokontroler će ga vidjeti kao logiku VISOKU.

S naponom od 12 V (VISOKO) na ulaz opto spreznika, oko 10 mA će teći kroz LED optičko spregača. Tako će se uključiti tranzistor opto spregača. To će kolektor spustiti na gotovo 0V, a mikrokontroler će ga vidjeti kao NISKU logiku.

Imajte na umu da je ulaz koji vidi mikro kontroler obrnut u usporedbi s 12V ulazom.

Uobičajeni kod za čitanje ulaznog pina izgleda ovako:

logički ulaz = digitalRead (inputpin);

Da biste ispravili obrnuti signal, upotrijebite sljedeći kôd:

logički ulaz =! digitalRead (inputpin); // NAPOMENA! ispred pročitanog

Sada će ulaz koji vidi mikro kontroler odgovarati ulazu na 12V ulazu.

Konačni ulazni krug sastoji se od 4 digitalna ulaza. Svaki ulaz je spojen na terminale na PC ploči.

Korak 3: Digitalni izlazi

Digitalni izlazi
Digitalni izlazi
Digitalni izlazi
Digitalni izlazi
Digitalni izlazi
Digitalni izlazi

Uobičajeno, sa krugom koji pokreće samo minimalni broj releja, najbolji način je korištenje kruga upravljačkog programa tranzistora kako je prikazano. Jednostavan je, jeftin i efikasan.

Otpornici omogućuju povlačenje prema zemlji i ograničenje struje baze tranzistora. Tranzistor se koristi za povećanje struje dostupne za pogon releja. Sa samo 1mA izvučenim iz pina mikro kontrolera, tranzistor može prebaciti opterećenje od 100mA. Više nego dovoljno za većinu vrsta releja. Dioda je povratna dioda koja štiti krug od skokova visokog napona tijekom prebacivanja releja. Dodatna prednost korištenja ovog kruga je ta što se radni napon releja može razlikovati od napona mikro kontrolera. Tako se umjesto releja od 5V može koristiti bilo koji istosmjerni napon do 48V.

Predstavljamo ULN2803

Što više releja zahtijeva projekt, veći je broj komponenti. Ovo će otežati dizajn PCB -a i možda će zauzeti vrijedan prostor na PCB -u. No, korištenje tranzistorskog niza, poput ULN2803, definitivno će pomoći u održavanju male veličine PCB -a. ULN2803 je idealno prilagođen za 3,3 V i 5 V ulaze iz mikro kontrolera i može pokretati releje do 48 V DC. Ovaj ULN2803 ima 8 pojedinačnih krugova tranzistora, svaki krug opremljen svim komponentama potrebnim za prebacivanje releja.

Konačni izlazni krug sastoji se od ULN3803, koji pokreće 4 12V DC izlazna releja. Svaki kontakt releja dostupan je u terminima PC ploče.

Korak 4: Oscilator mikrokontrolera

Oscilator mikrokontrolera
Oscilator mikrokontrolera
Oscilator mikrokontrolera
Oscilator mikrokontrolera
Oscilator mikrokontrolera
Oscilator mikrokontrolera

Krug oscilatora

Mikro kontroleru je potreban oscilator za pravilno funkcioniranje. Da bi se zadržao Arduino Uno dizajn, krug će koristiti standardni oscilator od 16 MHz. Dostupne su dve opcije:

Crystal

Ova metoda koristi kristal spojen na dva kondenzatora opterećenja. Ovo je najčešća opcija.

Resonator

Rezonator je u osnovi kristal i dva kondenzatora za punjenje u jednom 3-pinskom paketu. Time se smanjuje količina komponenti i povećava raspoloživi prostor na PC ploči.

Kako bi broj komponenti bio što manji, odlučio sam se za korištenje 16MHz rezonatora.

Korak 5: Indikacijske LED diode

LED indikacije
LED indikacije
LED indikacije
LED indikacije

Šta bi bilo kolo bez LED dioda? Na PC ploči su predviđene LED diode od 3 mm.

1K otpornici koriste se za ograničavanje struje kroz LED diodu na manje od 5 mA. Kada se koriste 3 mm jako svijetleće LED diode, svjetlina je odlična.

Za lakše tumačenje statusnih LED dioda, koriste se dvije boje. Kombinacijom dviju LED dioda s treperećim indikacijama može se dobiti dosta informacija iz samo dvije LED diode.

Crvena LED

Crvena LED lampica koristi se za označavanje stanja kvara, dugih kašnjenja, bilo kojih netačnih naredbi.

Zelena LED dioda

Zelena LED dioda koristi se za označavanje ispravnih i/ili ispravnih ulaza i naredbi.

Korak 6: Krug za resetiranje mikro procesora

Krug za resetiranje mikro procesora
Krug za resetiranje mikro procesora

Iz sigurnosnih razloga, neke funkcije jedinice dostupne su samo prvih 10 minuta nakon uključivanja jedinice.

Pomoću tipke za resetiranje napajanje jedinice ne mora biti isključeno da biste je resetirali.

Kako radi

10K otpornik će držati RESET liniju blizu 5V. Kada se pritisne dugme, RESET linija će se povući na 0V, čime će se mikrokontroler držati u resetu. Kada se dugme otpusti, linija RESET se vraća na %v, postavljajući mikrokontroler ponovo.

Korak 7: Modul SIM800L

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

Srce jedinice je SIM800L GSM modul. Ovaj modul koristi samo 3 I/O pina na mikro kontroleru.

Modul se povezuje sa mikro kontrolerom preko standardnog serijskog porta.

  • Sve naredbe jedinici šalju se preko serijskog porta pomoću standardnih AT naredbi.
  • Prilikom dolaznog poziva ili kada se primi SMS, informacije se šalju mikrokontroleru preko serijskog porta pomoću ASCII teksta.

Radi uštede prostora, GSM modul je spojen na PC ploču putem 7-polnog zaglavlja. Ovo olakšava uklanjanje GSM modula. Ovo takođe omogućava korisniku da jednostavno umetne/ukloni SIM karticu na dnu modula.

Potrebna je aktivna SIM kartica, a SIM kartica mora moći slati i primati SMS poruke.

Postavljanje SIM800L GSM modula

Prilikom uključivanja jedinice, pin za resetiranje GSM modula se povlači nisko na sekundu. Ovo osigurava da se GSM modul pokreće tek nakon stabilizacije napajanja. GSM modulu je potrebno nekoliko sekundi za ponovno pokretanje, pa sačekajte 5 sekundi prije nego što pošaljete bilo koju AT naredbu modulu.

Kako bi se osiguralo da je GSM modul konfiguriran za ispravnu komunikaciju s mikro kontrolerom, tijekom pokretanja koriste se sljedeće AT naredbe:

AT

koristi se za utvrđivanje je li GSM modul dostupan

AT+CREG?

Pozivanje ove naredbe sve dok se GSM modul ne registrira na mreži mobilnog telefona

AT+CMGF = 1

Postavite način SMS poruke na ASCII

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

Ako je SMS dostupan, pošaljite SMS detalje na serijski port GSM modula

AT+CMGD = 1, 4

Izbrišite sve SMS poruke pohranjene na SIM kartici

AT+CPBS = / "SM

Postavite imenik GSM modula na SIM karticu

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

Podesite vreme GSM modula na vreme mreže mobilnog telefona

Sačekajte 5 sekundi da se vreme podesi

AT+CUSD = 1

Omogućite funkciju slanja poruka putem USSD -a

Korak 8: Mikrokontroler

Mikrokontroler
Mikrokontroler
Mikrokontroler
Mikrokontroler
Mikrokontroler
Mikrokontroler

Mikro kontroler je standardni AtMega328p, isti kao i na Arduino Uno. Kod je stoga uporediv sa oba. Kako bi se omogućilo jednostavno programiranje na ploči, 6-pinsko zaglavlje za programiranje dostupno je na ploči za računare.

Različiti dijelovi jedinice povezani su s mikro procesorom i uključuju sljedeće:

  • Četiri digitalna ulaza
  • Četiri digitalna izlaza
  • Oscilator
  • Dve indikacione LED diode
  • Resetirajte krug
  • SIM800L GSM modul

Sva komunikacija do i sa GSM modula vrši se pomoću funkcije SoftwareSerial (). Ova metoda je korištena za oslobađanje glavnog serijskog porta za Arduino IDE u fazi razvoja.

Sa samo 2KB SRAM -a i 1KB EEPROM -a, nema dovoljno memorije za spremanje više od nekoliko korisnika koji se mogu povezati s jedinicom. Da biste oslobodili SRAM, svi korisnički podaci pohranjeni su na SIM kartici u GSM modulu. S ovim aranžmanom, jedinica može opskrbiti do 250 različitih korisnika.

Konfiguracijski podaci jedinice pohranjeni su u EEPROM -u, čime se međusobni podaci korisnika i sistema odvajaju.

Još je dostupno nekoliko rezervnih I/O pinova. Međutim, mogućnost dodavanja LCD zaslona i/ili tipkovnice nije bila moguća zbog velike količine SRAM -a koju koriste SoftWareSerial () međuspremnici za prijem i prijenos, Zbog nedostatka bilo koje vrste korisničkog sučelja na jedinici, sve postavke i korisnici programirani su pomoću SMS poruka.

Korak 9: Optimiziranje SRAM memorije

Optimiziranje SRAM memorije
Optimiziranje SRAM memorije

Vrlo rano u fazi razvoja, Arduino IDE je izvijestio o niskoj SRAM memoriji pri sastavljanju koda. Da bi se to prevladalo, korišteno je nekoliko metoda.

Ograničite podatke primljene na serijskom portu

GSM modul će prijaviti sve poruke mikrokontroleru preko serijskog porta. Kada primate neke SMS poruke, ukupna dužina primljene poruke može biti veća od 200 znakova. Ovo može brzo potrošiti sav SRAM dostupan na čipu AtMega i uzrokovati probleme sa stabilnošću.

da se to spriječi, bit će korišteno samo prvih 200 znakova BILO KOJE poruke primljene od GSM modula. Primjer ispod pokazuje kako se to radi brojenjem primljenih znakova u varijabli Counter.

// skeniranje podataka sa serijskog porta softvera

// ----------------------------------------------- RxString = ""; Brojač = 0; while (SSerial.available ()) {kašnjenje (1); // kratko kašnjenje za davanje vremena za postavljanje novih podataka u bafer // dobivanje novog znaka RxChar = char (SSerial.read ()); // dodamo prvih 200 znakova u niz if ((Brojač <200) {RxString.concat (RxChar); Brojač = Brojač + 1; }}

Smanjivanje koda Serial.print ()

Iako je zgodan tokom razvoja, Arduino serijski monitor može koristiti mnogo SRAM -a. Kôd je razvijen koristeći što je moguće manje koda Serial.print (). Jedan dio koda je testiran da radi, sav kod Serial.print () uklonjen je iz tog dijela koda.

Korištenje koda Serial.print (F ((""))

Mnogo informacija koje se normalno prikazuju na Arduino serijskom monitoru ima više smisla kada se dodaju opisi. Uzmite sljedeći primjer:

Serial.println ("Čekanje na određene radnje");

Niz "Čekanje na određene radnje" je fiksiran i ne može se promijeniti.

Tokom kompajliranja koda, kompajler će uključiti string "Waiting for specific actions" u FLASH memoriju.

Osim toga, kompajler vidi da je niz konstanta, koju koristi instrukcija "Serial.print" ili "Serial.println". Tokom pokretanja mikrokontrolera, ova konstanta se takođe smešta u SRAM memoriju.

Koristeći prefiks "F" u funkcijama Serial.print (), on govori kompajleru da je ovaj niz dostupan samo u FLASH memoriji. U ovom primjeru, niz sadrži 28 znakova. Ovo je 28 bajtova koje se može osloboditi u SRAM -u.

Serial.println (F ("Čekanje na određene radnje"));

Ova metoda se također odnosi na naredbe SoftwareSerial.print (). Kako GSM modul radi na AT naredbama, kod sadrži brojne naredbe SoftwareSerial.print ("xxxx"). Korištenje prefiksa "F" oslobodilo je gotovo 300 bajtova SRAM -a.

Nemojte koristiti hardverski serijski port

Nakon otklanjanja grešaka u kodu, hardverski serijski port je onemogućen uklanjanjem SVIH naredbi Serial.print (). Ovo je oslobodilo nekoliko dodatnih bajtova SRAM -a.

Bez preostalih naredbi Serial.print () u kodu, dostupno je dodatnih 128 bajtova SRAM -a. To je učinjeno uklanjanjem hardverskog serijskog porta iz koda. Ovo je osvježilo međuspremnike za prijenos od 64 bajta i za primanje 64 bajta.

// Serial.begin (9600); // hardverski serijski port onemogućen

Korištenje EEPROM -a za nizove

Za svaki ulaz i izlaz potrebno je sačuvati tri niza. To su naziv kanala, niz kada je kanal uključen i niz kada je kanal isključen.

Sa ukupno 8 I/O kanala, oni će biti

  • 8 nizova koji sadrže nazive kanala, svaki od 10 znakova
  • 8 nizova koji sadrže kanal Na opisu, svaki dugačak 10 znakova
  • 8 nizova koji sadrže opis kanala Off, svaki od 10 znakova

Oglašava do 240 bajtova SRAM -a. Umjesto spremanja ovih nizova u SRAM, oni se pohranjuju u EEPROM. Ovo je oslobodilo dodatnih 240 bajtova SRAM -a.

Deklarisanje niza sa ispravnim dužinama

Varijable se obično deklarišu na početku koda. Uobičajena greška pri deklaraciji string varijable je ta što ne deklariramo string s ispravnim brojem znakova.

Niz GSM_Nr = "";

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

Prilikom pokretanja mikrokontroler neće dodijeliti memoriju u SRAM -u za ove varijable. To kasnije može uzrokovati nestabilnost pri korištenju ovih nizova.

Da biste to spriječili, deklarirajte nizove s ispravnim brojem znakova koje će niz koristiti u softveru.

String GSM_Nr = "1000000000";

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

Primijetite kako nisam deklarirao nizove s istim znakovima. Ako ove nizove deklarirate sa "1234567890", kompajler će vidjeti isti niz u tri varijable i dodijeliti samo dovoljno memorije u SRAM -u za jedan od nizova.

Korak 10: Veličina softverskog serijskog međuspremnika

Veličina softverskog serijskog međuspremnika
Veličina softverskog serijskog međuspremnika

U sljedećem kodu primijetit ćete da se sa serijskog porta softvera može pročitati do 200 znakova.

// skeniranje podataka sa serijskog porta softvera

// ----------------------------------------------- RxString = ""; Brojač = 0; while (SSerial.available ()) {kašnjenje (1); // kratko kašnjenje za davanje vremena za postavljanje novih podataka u bafer // dobivanje novog znaka RxChar = char (SSerial.read ()); // dodamo prvih 200 znakova u niz if ((Brojač <200) {RxString.concat (RxChar); Brojač = Brojač + 1; }}

Ovo zahtijeva bafer od najmanje 200 bajtova za serijski port softvera. prema zadanim postavkama, međuspremnik serijskog porta softvera je samo 64 bajta. Da biste povećali ovaj međuspremnik, potražite sljedeću datoteku:

SoftwareSerial.h

Otvorite datoteku uređivačem teksta i promijenite veličinu međuspremnika na 200.

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

*Definicije ************************************************ ******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX veličina međuspremnika #endif

Korak 11: Izrada PC ploče

Izrada PC ploče
Izrada PC ploče

PC ploča je dizajnirana pomoću besplatne verzije Cadsoft Eagle (vjerujem da se naziv promijenio).

  • PC ploča je jednostranog dizajna.
  • Ne koriste se komponente za površinsko montiranje.
  • Sve komponente su montirane na PC ploču, uključujući i modul SIM800L.
  • Nisu potrebne vanjske komponente ili veze
  • Žičani kratkospojnici skriveni su ispod komponenti radi čišćeg izgleda.

Za izradu PC ploča koristim sljedeću metodu:

  • Slika PC ploče se štampa laserskim štampačem na Press-n-Peel-u.
  • Press-n-Peel se zatim stavlja na čist komad PC ploče i učvršćuje trakom.
  • Slika PC ploče se zatim prenosi sa Press-n-Peel-a na praznu PC ploču prolaskom ploče kroz laminator. Za mene 10 pasova najbolje funkcionira.
  • Nakon što se PC ploča ohladi na sobnu temperaturu, Press-n-Peel se polako podiže s ploče.
  • Ploča PC -a se zatim gravira pomoću kristala amonijevog perzulfata otopljenog u vrućoj vodi.
  • Nakon nagrizanja, plavi Press-n-Peel i crni toner uklanja se čišćenjem nagrizane PC ploče s malo acetona.
  • Ploča se zatim reže prema veličini pomoću Dremela
  • Rupe za sve komponente kroz rupe se buše pomoću burgije od 1 mm.
  • Terminalni vijčani priključci izbušeni su svrdlom promjera 1,2 mm.

Korak 12: Montaža PC ploče

Montaža PC ploče
Montaža PC ploče
Montaža PC ploče
Montaža PC ploče
Montaža PC ploče
Montaža PC ploče
Montaža PC ploče
Montaža PC ploče

Montaža se vrši dodavanjem najmanjih komponenti i napreduje se do najvećih komponenti.

Sve komponente korištene u ovom uputstvu, osim modula SIM800, nabavljene su od mog lokalnog dobavljača. Misli im da uvijek imaju zalihe. Pogledajte njihovu web stranicu u Južnoj Africi:

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

BILJEŠKA! Prvo lemljenje dva kratkospojnika smještena ispod ATMEGA328p IC

Redosled je sledeći:

  • Otpornici i diode
  • Dugme za poništavanje
  • IC utičnice
  • Regulator napona
  • Igle zaglavlja
  • Mali kondenzatori
  • LED diode
  • Nosač osigurača
  • Priključni blokovi
  • Releji
  • Elektrolitički kondenzatori

Prije umetanja IC -a, spojite jedinicu na 12V i provjerite jesu li svi naponi ispravni.

Konačno, pomoću prozirnog laka prekrijte bakrenu stranu PC ploče kako biste je zaštitili od elemenata.

Kad se lak osuši, umetnite IC -ove, ali ostavite GSM modul dok se AtMega ne programira.

Korak 13: Programiranje AtMega328p

Programiranje AtMega328p
Programiranje AtMega328p
Programiranje AtMega328p
Programiranje AtMega328p
Programiranje AtMega328p
Programiranje AtMega328p

# # Nadogradnja firmvera na verziju 3.02 # #

Omogućeno slanje SMS -a MASTER USER -u kada se napajanje uređaja vrati

Za programiranje jedinice koristim Arduino Uno sa programskim štitom. Za više informacija o tome kako koristiti Arduino Uno kao programer, pogledajte ovaj Instructable:

Arduino UNO kao AtMega328P programer

GSM modul je potrebno ukloniti s PC ploče da biste dobili pristup zaglavlju za programiranje. Pazite da ne oštetite antenski kabel prilikom uklanjanja GSM modula.

Spojite kabl za programiranje između programatora i jedinice pomoću zaglavlja za programiranje na matičnoj ploči., I prenesite skicu na jedinicu.

Vanjsko napajanje od 12 V nije potrebno za programiranje jedinice. PC ploča će se napajati s Arduina putem programskog kabela.

Otvorite priloženu datoteku u Arduino IDE -u i programirajte je na jedinici.

Nakon programiranja uklonite kabl za programiranje i umetnite GSM modul.

Uređaj je sada spreman za upotrebu.

Korak 14: Povezivanje jedinice

Povezivanje jedinice
Povezivanje jedinice
Povezivanje jedinice
Povezivanje jedinice
Povezivanje jedinice
Povezivanje jedinice

Svi priključci na jedinicu izvode se vijčanim stezaljkama.

Napajanje jedinice

Uverite se da ste umetnuli registrovanu SIM karticu u GSM modul i da SIM kartica može da šalje i prima SMS poruke.

Priključite 12V DC napajanje na 12V IN i bilo koji od 0V terminala. Nakon uključivanja, crvena LED lampica na PC ploči će se upaliti. Za otprilike minutu, GSM modul bi se trebao povezati s mrežom mobilnog telefona. Crvena LED lampica će se isključiti, a crvena LED na GSM modulu će brzo treptati.

Kada se dostigne ova faza, jedinica je spremna za konfiguraciju.

Ulazne veze

Digitalni ulazi rade na 12V. Za uključivanje ulaza potrebno je na ulaz priključiti 12V. Uklanjanjem 12V isključit ćete ulaz.

Izlazne veze

Svaki izlaz se sastoji od kontakta za prebacivanje. Povežite svaki kontakt prema potrebi.

Korak 15: Početno postavljanje

Početna postavka
Početna postavka

Početno postavljanje jedinice mora se izvršiti kako bi se osiguralo da su svi parametri postavljeni na tvorničke postavke, a SIM kartica konfigurirana za prihvaćanje korisničkih podataka u ispravnom formatu.

Budući da su sve naredbe zasnovane na SMS -u, za postavljanje će vam trebati drugi telefon.

Za početno postavljanje morate biti u jedinici.

Postavite telefonski broj MASTER USER

Kako samo MASTER USER može konfigurirati jedinicu, ovaj korak se mora prvo izvršiti.

  • Jedinica mora biti napajana.
  • Pritisnite i otpustite dugme Reset i sačekajte da se ugasi crvena LED lampica na PC ploči.
  • NET LED na GSM modulu će brzo treptati.
  • Uređaj je sada spreman za prihvaćanje početnih naredbi za postavljanje. To se mora izvesti u roku od 10 minuta.
  • Pošaljite SMS poruku koja sadrži MASTER, opis na telefonski broj jedinice.
  • Ako se primi, zelena LED dioda na PC ploči će zasvijetliti dva puta.
  • MASTER USER je sada programiran.

Vratite uređaj na tvorničke postavke

Nakon programiranja MASTER USER -a, postavke jedinice moraju biti postavljene na tvorničke postavke.

  • Pošaljite SMS poruku sa samo CLEARALL na telefonski broj jedinice.
  • Ako se primi, zelena i crvena LED dioda na PC ploči će naizmjenično bljeskati jednom u sekundi. Uređaj je vraćen na tvornički zadane postavke.
  • Sve postavke su vraćene na tvorničke postavke.
  • Pritisnite i otpustite dugme Reset za ponovno pokretanje uređaja.

Formatiranje SIM kartice

Posljednji korak je brisanje svih podataka pohranjenih na SIM kartici i njihovo konfiguriranje za upotrebu u ovom uređaju.

  • Pritisnite i otpustite dugme Reset i sačekajte da se ugasi crvena LED lampica na PC ploči.
  • NET LED na GSM modulu će brzo treptati.
  • Uređaj je sada spreman za prihvaćanje početnih naredbi za postavljanje. To se mora izvesti u roku od 10 minuta.
  • Pošaljite SMS poruku sa samo ERASESIM -om na telefonski broj jedinice.
  • Ako je primljena, zelena LED dioda na PC ploči će treperiti.

Uređaj je sada konfiguriran i spreman za upotrebu.

Korak 16: SMS naredbe

SMS naredbe
SMS naredbe

Uređaj koristi tri različite vrste naredbi. Sve naredbe se šalju putem SMS -a i sve su u sljedećem formatu:

KOMANDA,,,,,

  • Sve naredbe, osim naredbi NORMAL USER, razlikuju velika i mala slova.
  • Parametri ne razlikuju velika i mala slova.

Naredbe početnog postavljanja

MAJSTOR, ime

Telefonski broj pošiljatelja SMS -a koristi se kao MASTER USER telefonski broj. ovdje se može dodati opis jedinice.

CLEARALL

Vratite uređaj na tvorničke postavke

CLEARSIM

Izbrišite sve podatke sa SIM kartice

RESETOVATI

Ponovo pokrenite jedinicu

MASTER USER Naredbe za konfiguriranje jedinice

OUTMODE, c, m, t NAPOMENA! ! ! JOŠ SE NE IMPLEMENTIRA

Podesite određene kanale na izlaze PULSED, TIMED ili LATCHING. t je vrijeme trajanja u minutima za TIMED izlaze

PULS, cccc

Postavite određene kanale na PULSED izlaze. Ako nisu postavljeni, kanali će biti postavljeni kao LATCHING izlazi.

PULSETIME, t Postavlja trajanje izlaznog impulsa u sekundama (0.. 10 s)

INPUTON, cccc

Postavite kanale koji se moraju pokrenuti i pošaljite SMS poruku kada se stanje promijeni iz OFF u ON

INPUTOFF, cccc

Postavite kanale koji se moraju pokrenuti i pošaljite SMS poruku kada se stanje promijeni iz UKLJUČENO u ISKLJUČENO

INTIME, c, t

Postavlja vrijeme kašnjenja ulaza za otkrivanje promjena statusa u sekundama

INTEXT, ch, ime, uključeno, isključeno

Postavite naziv svakog ulaznog kanala, na tekst i isključen tekst

OUTTEXT, ch, ime, uključeno, isključeno

Postavite naziv svakog izlaznog kanala, na tekst i isključen tekst

Dodaj, lokacija, broj, dodatni opisi, SMS izlazi, ulazi

Dodajte korisnika na SIM karticu na memorijskoj lokaciji, sa izlaznim i ulaznim kanalima dodijeljenim korisniku

Del, lokacija

Brisanje korisnika iz lokacije SIM kartice

ChannelName

Impulsni izlaz sa imenom ChannelName

Ime kanala, onText ili Ime kanala, offText

Uključit će/isključiti izlaz s imenom ChannelName i onText/offText

Normalne korisničke komande za kontrolu jedinice

???? Zatražite ažuriranje I/O statusa. Statusni SMS će biti poslan autoru.

ChannelName

Impulsni izlaz sa imenom ChannelName

Ime kanala, onText

Uključit će izlaz s imenom ChannelName i tekstom statusa naText

ChannelName, offText Isključit će izlaz s imenom ChannelName, a statusni status offText

Za detaljniji opis naredbi, pogledajte priloženi PDF dokument.