Kazalo:

Arduino GSM/SMS daljinska upravljalna enota: 16 korakov (s slikami)
Arduino GSM/SMS daljinska upravljalna enota: 16 korakov (s slikami)

Video: Arduino GSM/SMS daljinska upravljalna enota: 16 korakov (s slikami)

Video: Arduino GSM/SMS daljinska upravljalna enota: 16 korakov (s slikami)
Video: CL2 GSM 2024, November
Anonim
Arduino enota za daljinsko upravljanje GSM/SMS
Arduino enota za daljinsko upravljanje GSM/SMS

! ! ! OPAZITI ! !

Zaradi nadgradnje lokalnega stolpa mobilnega telefona na mojem območju tega modula GSM ne morem več uporabljati. Novejši stolp ne podpira več naprav 2G. Zato ne morem več podpirati tega projekta.

S tako široko paleto GSM modulov, ki so na voljo za ljubitelje, nas je večina končala z nakupom. Modul SIM800L sem kupil lokalno in se na koncu igral z različnimi ukazi modula.

S pomočjo Arduino Uno in Arduino IDE sem lahko svoje ideje uresničil. To ni šlo zlahka, saj je SAMO NAJVEČJA ZADEVA omejevanje samo 2KB SRAM -a. Po številnih raziskavah na internetu in različnih forumih sem to omejitev premagal.

Različne tehnike programiranja, veliko boljše razumevanje prevajalnika Arduino ter uporaba kartice SIM in EEPROM za dodaten pomnilnik so rešile ta projekt. Po nekaj spremembah kode je bil v enem tednu izdelan in preizkušen stabilen prototip.

Pomanjkljivost omejenega SRAM -a je bila, da enote ni bilo mogoče opremiti z zaslonom in uporabniškimi tipkami. To je povzročilo popolno prepisovanje kode. Brez uporabniškega vmesnika je bila edina možnost za nadaljevanje projekta uporaba sporočil SMS za konfiguracijo enote in uporabnikov.

To se je izkazal za razburljiv projekt in ob nadaljevanju razvoja je bilo dodanih več prihodnosti.

Moj glavni cilj je bil, da se držim Arduino Uno ali v tem primeru ATMEGA328p in ne uporabljam nobenih komponent za površinsko montažo. To bo širši javnosti olajšalo kopiranje in izdelavo enote.

Specifikacije enote:

  • Na enoti je mogoče programirati največ 250 uporabnikov
  • Štirje digitalni izhodi
  • Štirje digitalni vhodi
  • Vsak izhod je mogoče konfigurirati kot PULSE ali ON/OFF izhod
  • Trajanje izhodnega impulza lahko nastavite med 0,5.. 10 sekund
  • Vsak vhod je mogoče konfigurirati tako, da se sproži na OFF in ON.
  • Vsak vhod je mogoče konfigurirati tako, da sproži spremembe ON in OFF
  • Vsak vhodni čas zakasnitve lahko nastavite med 0 sekundami in 1 uro
  • Sporočila SMS za spremembe na vhodih lahko pošljete 5 različnim uporabnikom
  • Imena in besedilo stanja za vsak vnos lahko nastavi uporabnik
  • Imena in besedilo stanja za vsak izhod lahko nastavi uporabnik
  • Enoto lahko konfigurirate za sprejemanje sporočil o stanju kartice SIM prek sporočil USSD.
  • Vsi uporabniki lahko zahtevajo posodobitve stanja V/I enote
  • Vsi uporabniki lahko nadzorujejo posamezne izhode prek SMS sporočil
  • Vsak uporabnik lahko nadzoruje posamezne izhode s klicem na enoto

Varnostne lastnosti

  • Začetno nastavitev enote je mogoče izvesti le, ko je na njej.
  • Začetno nastavitev lahko izvede samo MASTER UPORABNIK
  • Ukazi za začetno nastavitev se samodejno onemogočijo po desetih minutah.
  • Enoto lahko nadzorujejo samo klici in sporočila SMS znanih uporabnikov
  • Uporabniki lahko upravljajo samo z izhodi, ki jim jih dodeli MASTER UPORABNIK

Druge funkcije

  • Klici na to enoto so brezplačni, saj se na klic nikoli ne odgovori.
  • Ko pokličete enoto, se klic prekine šele po 2 sekundah. To je klicatelju potrditev, da se je enota odzvala na klic.
  • Če ponudnik storitev SIM kartice podpira sporočila USSD, lahko MASTER UPORABNIK poizveduje o stanju. Sporočilo USSD, ki vsebuje stanje, bo nato posredovano MASTER USER.

1. korak: Napajanje

Napajanje
Napajanje

Za zagotovitev, da je enoto mogoče priključiti na standardne varnostne sisteme (alarmne sisteme, električna garažna vrata, motorje na električnih vratih), se bo enota napajala iz 12V DC, ki je običajno na voljo v takih sistemih.

Napajanje poteka na priključkih 12V IN in 0V in je zaščiteno z varovalko 1A. Na voljo so dodatni priključki 12 V OUT, zaščiteni pa so tudi z varovalko.

Dioda D1 ščiti enoto pred priključki za povratno polarnost na 12V vodih.

Kondenzatorji C1 in C2 odstranijo ves hrup, ki je prisoten na 12V napajalnih vodih. 12V napajanje se uporablja za napajanje relejev enote.

Napajanje 5V je sestavljeno iz regulatorja napetosti LM7805L in oddaja stabilnih +5V, potrebnih za GSM modul SIM800L, pa tudi za mikro procesor. Kondenzatorji C3 in C4 odstranijo vsak hrup, ki je lahko prisoten na napajalnem vodu +5V. Uporabljeni so bili relativno veliki elektrolitski kondenzatorji, saj modul SIM800L GSM pri oddajanju porabi precej energije.

Na regulatorju napetosti ni potreben hladilnik.

Korak: Digitalni vhodi

Digitalni vhodi
Digitalni vhodi
Digitalni vhodi
Digitalni vhodi

Vsi digitalni vhodni signali so 12V in morajo biti povezani s 5V mikro krmilnikom. V ta namen se opto sklopke uporabljajo za izolacijo 12V signalov iz 5V sistema.

Vhodni upor 1K omeji vhodni tok na optični sklopnik na približno 10 mA.

Zaradi omejenega prostora na plošči PC-ja ni bilo prostora za 5V vlečne upore. Mikro krmilnik je nastavljen tako, da vhodnim zatičem omogoča šibke vleke.

Brez signala na vhodu (LOW) optičnega spenjača, tok ne bo tekel skozi LED opto sprejemnika. Tako se tranzistor opto sklopnika izklopi. Šibko vlečenje mikro krmilnika bo kolektor dvignilo na skoraj 5 V, mikrokrmilnik pa ga bo videl kot VISOKO logiko.

Ko je na vhodu optičnega spenjača priključen 12V (VISOKO), bo skozi LED opto sklopnika teklo okoli 10 mA. Tako bo vklopljen tranzistor opto sklopnika. To bo kolektor znižalo na skoraj 0V, mikrokrmilnik pa ga bo videl kot NIZKO logiko.

Upoštevajte, da je vhod, ki ga vidi mikrokrmilnik, obrnjen v primerjavi z vhodom 12V.

Običajna koda za branje vhodnega zatiča izgleda takole:

boolean Input = digitalRead (inputpin);

Če želite popraviti obrnjeni signal, uporabite naslednjo kodo:

logični vhod =! digitalRead (inputpin); // OPOMBA! pred prebranim

Zdaj bo vhod, ki ga vidi mikro krmilnik, ustrezal vhodu na 12V vhodu.

Končni vhodni tokokrog je sestavljen iz 4 digitalnih vhodov. Vsak vhod je priključen na sponke na plošči računalnika.

Korak: Digitalni izhodi

Digitalni izhodi
Digitalni izhodi
Digitalni izhodi
Digitalni izhodi
Digitalni izhodi
Digitalni izhodi

Običajno je pri vezju, ki poganja le minimalno število relejev, najboljši način, da uporabite gonilnik tranzistorja, kot je prikazano. Je preprost, poceni in učinkovit.

Upori zagotavljajo omejitev toka tranzistorja na tleh. Tranzistor se uporablja za povečanje toka, ki je na voljo za pogon releja. S samo 1mA, izvlečenim iz zatiča mikrokrmilnika, lahko tranzistor preklopi obremenitev 100mA. Več kot dovolj za večino vrst relejev. Dioda je povratna dioda, ki ščiti vezje pred visokonapetostnimi trni med preklopom releja. Dodatna prednost uporabe tega vezja je, da se lahko delovna napetost releja razlikuje od napetosti mikro krmilnika. Tako lahko namesto releja 5V uporabite katero koli enosmerno napetost do 48V.

Predstavljamo ULN2803

Več relejev, ki jih projekt potrebuje, večje je število komponent. To bo otežilo oblikovanje tiskanega vezja in lahko porabilo dragocen prostor na tiskanem vezju. Toda uporaba tranzistorskega niza, kot je ULN2803, bo zagotovo pripomogla k ohranitvi majhne velikosti tiskanega vezja. ULN2803 je idealno primeren za vhode 3.3V in 5V iz mikro krmilnika in lahko poganja releje do 48V DC. Ta ULN2803 ima 8 posameznih tranzistorskih vezij, od katerih je vsako vezje opremljeno z vsemi komponentami, potrebnimi za preklop releja.

Končni izhodni tokokrog je sestavljen iz ULN3803, ki poganja 4 12V DC izhodna releja. Vsak stik releja je na voljo na naslovu PC Board.

4. korak: Oscilator mikro krmilnika

Oscilator mikro krmilnika
Oscilator mikro krmilnika
Oscilator mikro krmilnika
Oscilator mikro krmilnika
Oscilator mikro krmilnika
Oscilator mikro krmilnika

Oscilatorno vezje

Za pravilno delovanje mikro krmilnika je potreben oscilator. Za ohranitev zasnove Arduino Uno bo vezje uporabljalo standardni 16MHz oscilator. Na voljo sta dve možnosti:

Kristal

Ta metoda uporablja kristal, povezan z dvema polnilnima kondenzatorjema. To je najpogostejša možnost.

Resonator

Resonator je v bistvu kristal in dva polnilna kondenzatorja v enem samem 3-polnem paketu. S tem se zmanjša količina komponent in poveča razpoložljiv prostor na plošči računalnika.

Da bi bilo število komponent čim manjše, sem se odločil za uporabo 16MHz resonatorja.

5. korak: LED indikacije

LED indikacije
LED indikacije
LED indikacije
LED indikacije

Kakšno bo vezje brez nekaj LED? Na PC plošči so bile predvidene 3 mm LED diode.

1K upori se uporabljajo za omejevanje toka skozi LED na manj kot 5 mA. Pri uporabi 3 mm visoko svetlečih LED je svetlost odlična.

Za lažjo interpretacijo statusnih LED se uporabljata dve barvi. S kombinacijo dveh LED z utripajočimi indikacijami je mogoče dobiti le veliko informacij le iz dveh LED.

Rdeča LED

Rdeča LED se uporablja za prikaz napak, dolgih zamud in morebitnih napačnih ukazov.

Zelena LED

Zelena LED se uporablja za prikaz zdravih in/ali pravilnih vhodov in ukazov.

Korak 6: Vezje za ponastavitev mikro procesorja

Vezje za ponastavitev mikro procesorja
Vezje za ponastavitev mikro procesorja

Iz varnostnih razlogov so nekatere funkcije enote na voljo le v prvih 10 minutah po vklopu enote.

Z gumbom za ponastavitev ni treba izklopiti napajanja enote, da ponastavite enoto.

Kako deluje

10K upor bo vodil RESET blizu 5V. Ko pritisnete gumb, se linija RESET potegne na 0V, s čimer se mikro krmilnik obnovi. Ko gumb spustite, se vrstica RESET vrne na %v in znova zažene mikro krmilnik.

7. korak: Modul SIM800L

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

Srce enote je modul SIM800L GSM. Ta modul uporablja samo 3 V/I zatiče na mikro krmilniku.

Modul se povezuje z mikro krmilnikom prek standardnih serijskih vrat.

  • Vsi ukazi na enoto se pošiljajo prek serijskih vrat z uporabo standardnih ukazov AT.
  • Pri dohodnem klicu ali ob prejemu SMS -a se informacije pošljejo mikrokrmilniku prek zaporednih vrat z uporabo besedila ASCII.

Zaradi prihranka prostora je modul GSM priključen na PC-ploščo prek 7-polne glave. To olajša odstranitev GSM modula. To uporabniku omogoča tudi enostavno vstavljanje/odstranjevanje kartice SIM na dnu modula.

Potrebna je aktivna kartica SIM, kartica SIM pa mora biti sposobna pošiljati in prejemati sporočila SMS.

Namestitev GSM modula SIM800L

Ko vklopite enoto, se zatič za ponastavitev modula GSM za sekundo spusti. To zagotavlja, da se GSM modul zažene šele po stabilizaciji napajanja. Modul GSM traja nekaj sekund za ponovni zagon, zato počakajte 5 sekund, preden pošljete ukaze AT v modul.

Za zagotovitev, da je modul GSM konfiguriran za pravilno komunikacijo z mikro krmilnikom, se med zagonom uporabijo naslednji ukazi AT:

AT

se uporablja za ugotavljanje, ali je na voljo GSM modul

AT+CREG?

Izbiranje tega ukaza, dokler modul GSM ni registriran v omrežju mobilnega telefona

AT+CMGF = 1

Način SMS sporočila nastavite na ASCII

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

Če je na voljo SMS, pošljite podrobnosti SMS na serijska vrata modula GSM

AT+CMGD = 1,4

Izbrišite vsa sporočila SMS, shranjena na kartici SIM

AT+CPBS = / "SM

Imenik modula GSM nastavite na kartico SIM

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

Čas modula GSM nastavite na čas omrežja mobilnega telefona

Počakajte 5 sekund, da se čas nastavi

AT+CUSD = 1

Omogočite funkcijo sporočanja USSD

8. korak: Mikro krmilnik

Mikro krmilnik
Mikro krmilnik
Mikro krmilnik
Mikro krmilnik
Mikro krmilnik
Mikro krmilnik

Mikro krmilnik je standardni AtMega328p, enak kot pri Arduino Uno. Koda je tako primerljiva z obema. Za lažje programiranje na plošči je na matični plošči za računalnike na voljo 6-polna programska glava.

Različni deli enote so povezani z mikro procesorjem in vključujejo naslednje:

  • Štirje digitalni vhodi
  • Štirje digitalni izhodi
  • Oscilator
  • Dve indikacijski LED
  • Ponastavi vezje
  • SIM800L GSM modul

Vsa komunikacija z modulom GSM in z njega poteka s funkcijo SoftwareSerial (). Ta metoda je bila uporabljena za sprostitev glavnih zaporednih vrat za Arduino IDE v fazi razvoja.

S samo 2 KB RAM -a in 1 KB EEPROM -a ni dovolj pomnilnika za shranjevanje več kot nekaj uporabnikov, ki jih je mogoče povezati z enoto. Za sprostitev pomnilnika SRAM so vsi uporabniški podatki shranjeni na kartici SIM v modulu GSM. S to ureditvijo lahko enota sprejme do 250 različnih uporabnikov.

Konfiguracijski podatki enote so shranjeni v EEPROM -u, s čimer se med seboj ločijo uporabniški in sistemski podatki.

Na voljo je še nekaj rezervnih vhodno -izhodnih zatičev, vendar možnost dodajanja LCD zaslona in/ali tipkovnice ni bila mogoča zaradi velike količine SRAM -a, ki ga uporablja vmesni pomnilnik SoftWareSerial (), Zaradi pomanjkanja kakršnega koli uporabniškega vmesnika na enoti so vse nastavitve in uporabniki programirani s sporočili SMS.

9. korak: Optimiziranje pomnilnika SRAM

Optimiziranje pomnilnika SRAM
Optimiziranje pomnilnika SRAM

Že precej na začetku razvoja je Arduino IDE pri sestavljanju kode poročal o nizkem pomnilniku SRAM. Za premagovanje tega je bilo uporabljenih več metod.

Omejite podatke, prejete na serijska vrata

Modul GSM bo vsa sporočila mikrokrmilniku sporočil preko serijskih vrat. Pri prejemu nekaterih sporočil SMS je lahko skupna dolžina prejetega sporočila več kot 200 znakov. To lahko hitro porabi ves SRAM, ki je na voljo na čipu AtMega, in povzroči težave s stabilnostjo.

da bi to preprečili, bo uporabljenih le prvih 200 znakov KOTER koli sporočila, ki ga prejme od modula GSM. Spodnji primer prikazuje, kako se to izvede s štetjem prejetih znakov v spremenljivki Counter.

// skeniranje podatkov s serijskih vrat programske opreme

// ----------------------------------------------- RxString = ""; Števec = 0; while (SSerial.available ()) {zakasnitev (1); // kratka zamuda za dajanje časa za vnos novih podatkov v medpomnilnik // dobimo nov znak RxChar = char (SSerial.read ()); // v niz dodamo prvih 200 znakov if (Counter <200) {RxString.concat (RxChar); Števec = Števec + 1; }}

Zmanjšanje kode Serial.print ()

Čeprav je med razvojem priročen, lahko serijski monitor Arduino porabi veliko SRAM -a. Koda je bila razvita z uporabo čim manj kode Serial.print (). En del kode je bil preizkušen za delo, vsa koda Serial.print () je bila odstranjena iz tega dela kode.

Uporaba kode Serial.print (F ((""))

Veliko informacij, ki so običajno prikazane na serijskem monitorju Arduino, je bolj smiselno, če dodamo opise. Vzemite naslednji primer:

Serial.println ("Čakanje na določena dejanja");

Niz »Čakanje na določena dejanja« je določen in ga ni mogoče spremeniti.

Med sestavljanjem kode bo prevajalnik v pomnilnik FLASH vključil niz "Čakanje na določena dejanja".

Poleg tega prevajalnik vidi, da je niz konstanta, ki jo uporabljajo navodila "Serial.print" ali "Serial.println". Med zagonom mikro se ta konstanta shrani tudi v pomnilnik SRAM.

Z uporabo predpone "F" v funkcijah Serial.print () pove prevajalniku, da je ta niz na voljo samo v pomnilniku FLASH. V tem primeru niz vsebuje 28 znakov. To je 28 bajtov, ki jih je mogoče sprostiti v SRAM -u.

Serial.println (F ("Čakanje na določena dejanja"));

Ta metoda velja tudi za ukaze SoftwareSerial.print (). Ker modul GSM deluje na ukazih AT, koda vsebuje številne ukaze SoftwareSerial.print ("xxxx"). Uporaba predpone "F" je sprostila skoraj 300 bajtov pomnilnika SRAM.

Ne uporabljajte serijskih vrat strojne opreme

Po odpravljanju napak v kodi so bila serijska vrata strojne opreme onemogočena z odstranitvijo VSIH ukazov Serial.print (). To je sprostilo nekaj dodatnih bajtov SRAM -a.

Brez ukazov Serial.print () v kodi je bilo na voljo dodatnih 128 bajtov pomnilnika SRAM. To je bilo storjeno z odstranitvijo serijskih vrat strojne opreme iz kode. To je popestrilo 64 -bajtne medpomnilnike in 64 -bajtne sprejemnike.

// Serial.begin (9600); // serijska vrata strojne opreme onemogočena

Uporaba nizov EEPROM za nize

Za vsak vhod in izhod je bilo treba shraniti tri nize. To so ime kanala, niz, ko je kanal vklopljen, in niz, ko je kanal izklopljen.

S skupno 8 V/I kanali bodo

  • 8 nizov, ki vsebujejo imena kanalov, vsak dolg 10 znakov
  • 8 nizov, ki vsebujejo kanal Na opisu, vsak dolg 10 znakov
  • 8 nizov, ki vsebujejo opis kanala Off, vsak po 10 znakov

Ta oglas prikazuje do 240 bajtov pomnilnika SRAM. Namesto da bi te nize shranili v SRAM, so shranjeni v EEPROM -u. S tem se je osvobodilo dodatnih 240 bajtov pomnilnika SRAM.

Razglasitev niza s pravilnimi dolžinami

Spremenljivke so običajno deklarirane na začetku kode. Pogosta napaka pri razglasitvi nizovne spremenljivke je, da ne razglasimo niza s pravilnim številom znakov.

Niz GSM_Nr = "";

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

Med zagonom mikro krmilnik ne bo dodelil pomnilnika v SRAM za te spremenljivke. To lahko kasneje povzroči nestabilnost pri uporabi teh nizov.

Da bi to preprečili, navedite nize s pravilnim številom znakov, ki jih bo niz uporabil v programski opremi.

Niz GSM_Nr = "1000000000";

Niz GSM_Name = "2000000000"; Niz GSM_Msg = "3000000000";

Upoštevajte, da nizov z istimi znaki nisem razglasil. Če vse te nize deklarirate z "1234567890", bo prevajalnik videl isti niz v treh spremenljivkah in v SRAM -u namenil le dovolj pomnilnika za enega od nizov.

10. korak: Velikost serijskega vmesnika programske opreme

Velikost programskega zaporednega vmesnika
Velikost programskega zaporednega vmesnika

V naslednji kodi boste opazili, da je mogoče iz serijskih vrat programske opreme prebrati do 200 znakov.

// skeniranje podatkov s serijskih vrat programske opreme

// ----------------------------------------------- RxString = ""; Števec = 0; while (SSerial.available ()) {zakasnitev (1); // kratka zamuda za dajanje časa za vnos novih podatkov v medpomnilnik // pridobivanje novega znaka RxChar = char (SSerial.read ()); // v niz dodamo prvih 200 znakov if (Counter <200) {RxString.concat (RxChar); Števec = Števec + 1; }}

To zahteva tudi vmesni pomnilnik najmanj 200 bajtov za serijska vrata programske opreme. privzeto je medpomnilnik programskih zaporednih vrat le 64 bajtov. Če želite povečati ta medpomnilnik, poiščite naslednjo datoteko:

SoftwareSerial.h

Odprite datoteko z urejevalnikom besedil in spremenite velikost medpomnilnika na 200.

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

*Opredelitve ********************************************** ****************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // Velikost vmesnika RX #endif

11. korak: Izdelava PC plošče

Izdelava PC plošče
Izdelava PC plošče

PC Board je bil zasnovan z brezplačno različico Cadsoft Eagle (mislim, da se je ime spremenilo).

  • PC Board je enostranska oblika.
  • Ne uporabljajo se sestavni deli za površinsko montažo.
  • Vse komponente so nameščene na ploščo PC, vključno z modulom SIM800L.
  • Nobene zunanje komponente ali povezave niso potrebne
  • Žični mostički so skriti pod komponentami za čistejši videz.

Za izdelavo PC plošč uporabljam naslednjo metodo:

  • Slika računalniške plošče je natisnjena na Press-n-Peel z laserskim tiskalnikom.
  • Press-n-Peel nato položimo na čisti kos PC plošče in ga pritrdimo s trakom.
  • Slika računalniške plošče se nato prenese s tiskalnika Press-n-Peel na prazno PC ploščo, tako da se plošča prenese skozi laminator. Meni najbolj ustreza 10 prehodov.
  • Ko se PC-plošča ohladi na sobno temperaturo, se Press-n-Peel počasi dvigne s plošče.
  • PC ploščo nato jedkamo s kristali amonijevega sulfata, raztopljenimi v vroči vodi.
  • Po jedkanju odstranimo modri tiskalnik s črnim tiskalnikom z nekaj acetona.
  • Ploščo nato razrežemo na velikost z Dremelom
  • Luknje za vse sestavne dele skozi luknje se izvrtajo s svedrom 1 mm.
  • Terminalne vijačne konektorje izvrtate s svedrom 1,2 mm.

12. korak: Sestavljanje 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

Sestavljanje se izvede tako, da najprej dodate najmanjše komponente in napredujete do največjih komponent.

Vse komponente, uporabljene v tem navodilu za uporabo, razen modula SIM800, so bile pridobljene pri mojem lokalnem dobavitelju. Misli jim, da imajo vedno zalogo. Oglejte si njihovo južnoafriško spletno stran:

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

OPOMBA! Najprej spajkamo dva mostička, ki se nahajata pod ATMEGA328p IC

Vrstni red je naslednji:

  • Upori in diode
  • Gumb za ponastavitev
  • IC vtičnice
  • Regulator napetosti
  • Zatiči glave
  • Majhni kondenzatorji
  • LED
  • Nosilec varovalk
  • Terminalni bloki
  • Releji
  • Elektrolitski kondenzatorji

Preden vstavite IC, priključite enoto na 12V in preverite, ali so vse napetosti pravilne.

Nazadnje, z nekaj prozornega laka, pokrijte bakreno stran tiskane plošče, da jo zaščitite pred elementi.

Ko se lak posuši, vstavite IC -je, a modul GSM pustite, dokler AtMega ni programirana.

13. korak: Programiranje AtMega328p

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

# # Nadgradnja vdelane programske opreme na različico 3.02 # #

Omogočeno pošiljanje sporočil SMS MASTER USER ob ponovni vzpostavitvi napajanja v napravi

Za programiranje enote uporabljam Arduino Uno s programskim ščitom. Za več informacij o tem, kako uporabljati Arduino Uno kot programer, glejte ta navodila:

Arduino UNO kot programer AtMega328P

Za dostop do glave za programiranje je treba modul GSM odstraniti s plošče računalnika. Pri odstranjevanju GSM modula pazite, da ne poškodujete antenskega kabla.

Priključite programski kabel med programerjem in enoto s pomočjo glave za programiranje na plošči računalnika. In naložite skico na enoto.

Zunanji 12V napajalnik ni potreben za programiranje enote. PC -plošča se bo napajala iz Arduina prek programskega kabla.

Odprite priloženo datoteko v Arduino IDE in jo programirajte na enoto.

Po programiranju odstranite programski kabel in vstavite modul GSM.

Enota je zdaj pripravljena za uporabo.

14. korak: Priključitev enote

Priključitev enote
Priključitev enote
Priključitev enote
Priključitev enote
Priključitev enote
Priključitev enote

Vse povezave z enoto so izvedene preko vijačnih sponk.

Napajanje enote

Prepričajte se, da ste v modul GSM vstavili registrirano kartico SIM in da kartica SIM lahko pošilja in prejema sporočila SMS.

Priključite 12V DC napajanje na 12V IN in katero koli od 0V priključkov. Ko se vklopi, se vklopi rdeča LED na plošči računalnika. Čez kakšno minuto bi se moral GSM modul povezati z omrežjem mobilnega telefona. Rdeča LED se bo ugasnila, rdeča LED na modulu GSM pa bo hitro utripala.

Ko je ta stopnja dosežena, je enota pripravljena za konfiguracijo.

Vhodne povezave

Digitalni vhodi delujejo na 12V. Za vklop vhoda je treba na vhod priključiti 12V. Če odstranite 12V, se vhod izklopi.

Izhodne povezave

Vsak izhod je sestavljen iz stikala za preklop. Po potrebi povežite vsak kontakt.

Korak 15: Začetna nastavitev

Začetna nastavitev
Začetna nastavitev

Začetne nastavitve enote je treba izvesti, da se zagotovi, da so vsi parametri nastavljeni na tovarniške nastavitve, kartica SIM pa konfigurirana tako, da sprejema podatke o uporabniku v pravilni obliki.

Ker vsi ukazi temeljijo na SMS -u, boste za nastavitev potrebovali drug telefon.

Za začetno nastavitev morate biti v enoti.

Nastavite telefonsko številko MASTER USER

Ker lahko samo MASTER UPORABNIK konfigurira enoto, je treba ta korak najprej izvesti.

  • Enota mora biti napajana.
  • Pritisnite in spustite gumb za ponastavitev ter počakajte, da se rdeča LED na plošči računalnika izklopi.
  • LED NET na modulu GSM bo hitro utripal.
  • Enota je zdaj pripravljena sprejeti začetne ukaze za nastavitev. To je treba izvesti v 10 minutah.
  • Pošljite SMS sporočilo z opisom MASTER na telefonsko številko enote.
  • Če ga prejmete, bo zelena LED na plošči računalnika dvakrat utripala.
  • MASTER USER je zdaj programiran.

Obnovite enoto na tovarniške nastavitve

Ko je MASTER USER programiran, je treba nastavitve enote nastaviti na tovarniške privzete vrednosti.

  • Na telefonsko številko enote pošljite sporočilo SMS samo CLEARALL.
  • Če ga prejmete, zelena in rdeča LED na plošči PC -ja enkrat na sekundo utripata. Enota je bila obnovljena s tovarniško privzetimi nastavitvami.
  • Vse nastavitve so bile obnovljene na tovarniške privzete vrednosti.
  • Pritisnite in spustite gumb za ponastavitev, da znova zaženete enoto.

Formatiranje kartice SIM

Zadnji korak je izbrisati vse podatke, shranjene na kartici SIM, in jih konfigurirati za uporabo v tej enoti.

  • Pritisnite in spustite gumb za ponastavitev ter počakajte, da se rdeča LED na plošči računalnika izklopi.
  • LED NET na modulu GSM bo hitro utripal.
  • Enota je zdaj pripravljena sprejeti začetne ukaze za nastavitev. To je treba izvesti v 10 minutah.
  • Na telefonsko številko enote pošljite SMS z samo ERASESIM.
  • Če ga prejmete, bo zelena LED na plošči računalnika utripala.

Enota je zdaj konfigurirana in pripravljena za uporabo.

Korak 16: Ukazi SMS

Ukazi SMS
Ukazi SMS

Enota uporablja tri različne vrste ukazov. Vsi ukazi, ki jih lahko pošljete po SMS -u, so v naslednji obliki:

UKAZ,,,,,

  • Vsi ukazi, razen ukazov NORMAL USER, razlikujejo med velikimi in malimi črkami.
  • Parametri ne razlikujejo med velikimi in malimi črkami.

Ukazi za začetno nastavitev

MAJSTOR, ime

Telefonska številka pošiljatelja SMS se uporablja kot telefonska številka MASTER USER. tukaj lahko dodate opis enote.

POČISTI VSE

Ponastavite enoto na tovarniške nastavitve

JASNO

Izbrišite vse podatke s kartice SIM

PONASTAVITI

Znova zaženite enoto

MASTER USER Ukazi za konfiguracijo enote

OUTMODE, c, m, t OPOMBA! ! ! SE NE IZVEDI

Za določene kanale nastavite izhode PULSED, TIMED ali LATCHING. t je časovno trajanje v minutah za TIMED izhode

PULS, cccc

Nastavite posebne kanale na PULSED izhode. Če ni nastavljeno, bodo kanali nastavljeni kot izhodi LATCHING.

PULSETIME, t Nastavi trajanje impulznega izhoda v sekundah (0.. 10 s)

INPUTON, cccc

Nastavite kanale, ki se morajo sprožiti, in pošljite sporočilo SMS, ko se stanje spremeni iz OFF v ON

INPUTOFF, cccc

Nastavite kanale, ki se morajo sprožiti, in pošljite sporočilo SMS, ko se stanje spremeni iz VKLJUČENO v IZKLOPLJENO

INTIME, c, t

Nastavi vhodni čas zakasnitve za zaznavanje sprememb stanja v sekundah

INTEXT, ch, ime, vklop, izklop

Nastavite ime vsakega vhodnega kanala, na besedilo in izklopljeno besedilo

OUTTEXT, ch, ime, vklop, izklop

Nastavite ime vsakega izhodnega kanala, na besedilo in izklopljeno besedilo

Dodaj, lokacija, številka, oblački, izhodi SMS, vhodi

Dodajte uporabnika na kartico SIM na pomnilniški lokaciji, pri čemer so uporabniku dodeljeni izhodni in vhodni kanali

Del, lokacija

Brisanje uporabnika iz 'lokacije' pomnilnika kartice SIM

Ime kanala

Utripa izhod z imenom ChannelName

ChannelName, onText ali ChannelName, offText

Vklopi/izklopi izhod z imenom ChannelName in onText/offText

Običajni uporabniški ukazi za nadzor enote

???? Zahtevajte posodobitev stanja V/I. Stanje SMS bo poslano avtorju.

Ime kanala

Utripa izhod z imenom ChannelName

Ime kanala, onText

Vklopi izhod z imenom ChannelName in besedilom stanja naText

ChannelName, offText Izklopi izhod z imenom ChannelName in besedilom stanja offText

Za podrobnejši opis ukazov si oglejte priloženi dokument PDF.

Priporočena: