Arduino põhine GSM/SMS kaugjuhtimispult: 16 sammu (piltidega)
Arduino põhine GSM/SMS kaugjuhtimispult: 16 sammu (piltidega)
Anonim
Arduino põhine GSM/SMS kaugjuhtimispult
Arduino põhine GSM/SMS kaugjuhtimispult

! ! ! N O T I C E!

Kuna minu piirkonnas uuendati kohalikku mobiiltelefonitorni, ei saa ma seda GSM -moodulit enam kasutada. Uuem torn ei toeta enam 2G -seadmeid. Seetõttu ei saa ma sellele projektile enam toetust anda.

Kuna harrastajale oli saadaval lai valik GSM -mooduleid, lõpetas enamik meist selle ostmise. Ostsin kohalikult SIM800L mooduli ja mängisin lõpuks mooduli erinevate käskudega.

Arduino Uno ja Arduino IDE abil suutsin oma ideed teoks teha. See ei tulnud kergelt, kuna ÜKS SUURIM KÜSIMUS oli ainult 2KB SRAM -i piirang. Pärast palju uurimistööd Internetis ja erinevatel foorumitel suutsin selle piirangu ületada.

Erinevad programmeerimistehnikad, palju parem arusaam Arduino kompilaatorist ning SIM -kaardi ja EEPROMi kasutamine täiendava mälu jaoks päästsid selle projekti. Pärast mõningaid muudatusi koodis ehitati stabiilne prototüüp ja seda testiti nädala jooksul.

Piiratud SRAM -i puuduseks oli see, et seadet ei saanud kuvari ja kasutajavõtmetega varustada. Selle tulemuseks oli koodi täielik ümberkirjutamine. Ilma kasutajaliideseta oli ainus võimalus projektiga jätkamiseks kasutada SMS -sõnumeid seadme ja kasutajate konfigureerimiseks.

See osutus põnevaks projektiks ning arendustegevuse jätkudes lisandus rohkem futuure.

Minu peamine eesmärk oli jääda Arduino Uno või antud juhul ATMEGA328p juurde ja mitte kasutada pinnapealseid komponente. Nii on üldsusel lihtsam seadet kopeerida ja ehitada.

Seadme spetsifikatsioon:

  • Seadmele saab programmeerida kuni 250 kasutajat
  • Neli digitaalset väljundit
  • Neli digitaalset sisendit
  • Iga väljundit saab konfigureerida PULSE või ON/OFF väljundina
  • Väljundimpulsi kestust saab seadistada vahemikus 0,5.. 10 sekundit
  • Iga sisendit saab konfigureerida nii, et see käivitaks muudatused VÄLJAS kuni SEES.
  • Iga sisendit saab konfigureerida nii, et see käivitaks sisse- või väljalülitamise muudatused
  • Iga sisendi viivitusaja saab seada vahemikku 0 sekundit kuni 1 tund
  • Sisendite muutmise SMS -sõnumeid saab saata 5 erinevale kasutajale
  • Kasutaja saab määrata iga sisendi nimed ja olekuteksti
  • Iga väljundi nimed ja olekuteksti saab kasutaja ise määrata
  • Seadet saab konfigureerida vastu võtma SIM -kaardi saldosõnumeid USSD -sõnumite kaudu.
  • Kõik kasutajad saavad taotleda seadme I/O oleku värskendamist
  • Kõik kasutajad saavad juhtida individuaalseid väljundeid SMS -sõnumite kaudu
  • Kõik kasutajad saavad üksikuid väljundeid seadmesse helistades juhtida

Ohutusfunktsioonid

  • Seadme esialgset seadistamist saab teha ainult seadme ajal.
  • Esmaseadistuse saab teha ainult MASTER USER
  • Esialgsed seadistuskäsud keelatakse automaatselt kümne minuti pärast.
  • Seadet saavad juhtida ainult teadaolevate kasutajate kõned ja SMS -id
  • Kasutajad saavad hallata ainult neid väljundeid, mille neile on määranud MASTER USER

Teised omadused

  • Kõned sellele seadmele on tasuta, kuna kõnele ei vastata kunagi.
  • Kui seadmele helistatakse, katkeb kõne alles 2 sekundi pärast. See on helistajale kinnitus, et seade vastas kõnele.
  • Kui SIM -kaardi teenusepakkuja toetab USSD -sõnumeid, saab MASTER USER teha tasakaalupäringuid. Saldot sisaldav USSD -teade edastatakse seejärel JUHTKASUTAJALE.

Samm: toiteallikas

Toiteallikas
Toiteallikas

Et seadet saaks ühendada standardsete turvasüsteemidega (signalisatsioonisüsteemid, elektrilised garaažiuksed, elektrilised väravamootorid), saab seadme toiteallikaks 12 V alalisvool, mis on sellistes süsteemides tavaliselt saadaval.

Toide antakse 12V IN ja 0V klemmidele ning on kaitstud 1A kaitsmega. Saadaval on ka täiendavad 12 V OUT klemmid, mis on samuti kaitstud kaitsmega.

Diood D1 kaitseb seadet 12V liinidel vastupidise polaarsusega ühenduste eest.

Kondensaatorid C1 ja C2 filtreerivad 12V toiteliinidel esineva müra. Seadme releede toiteks kasutatakse 12 V toiteallikat.

5 V toide koosneb pingeregulaatorist LM7805L ja väljundist stabiilne +5 V, mis on vajalik SIM800L GSM -mooduli ja mikroprotsessori jaoks. Kondensaatorid C3 ja C4 filtreerivad välja +5V toiteliinil esineva müra. Kasutati suhteliselt suuri elektrolüütkondensaatoreid, kuna SIM800L GSM -moodul kasutab edastamisel üsna vähe energiat.

Pingeregulaatoril pole vaja jahutusradiaatorit.

2. samm: digitaalsed sisendid

Digitaalsed sisendid
Digitaalsed sisendid
Digitaalsed sisendid
Digitaalsed sisendid

Kõik digitaalsed sisendsignaalid on 12 V ja need tuleb ühendada 5 V mikrokontrolleriga. Selleks kasutatakse optilisi sidureid 12 V signaalide eraldamiseks 5 V süsteemist.

1K sisendtakisti piirab optilise siduri sisendvoolu umbes 10 mA.

Ruumipiirangute tõttu ei olnud PC-plaadil ruumi 5V tõmbe takistite jaoks. Mikrokontroller on seadistatud võimaldama sisendtihvtide nõrku tõmbamisi.

Kui optilise siduri sisendil (LOW) puudub signaal, ei voola optoühenduse LED -i kaudu voolu. Seega lülitatakse optilise siduri transistor välja. Mikrokontrolleri nõrk tõmbe tõmbab kollektori peaaegu 5 V-ni ja seda näeb mikrokontroller loogikana KÕRGE.

Kui optilise siduri sisendile on rakendatud 12 V (HIGH), voolab läbi optilise siduri LED -i umbes 10 mA. Seega lülitatakse optilise siduri transistor sisse. See tõmbab kollektori peaaegu 0 V alla ja mikrokontroller näeb seda loogikana LOW.

Pange tähele, et mikrokontrolleri sisend on 12 V sisendiga võrreldes tagurpidi.

Tavaline kood sisendnõela lugemiseks näeb välja järgmine:

boolean Sisend = digitalRead (inputpin);

Pööratud signaali parandamiseks kasutage järgmist koodi:

boolean Sisend =! digitalRead (inputpin); // MÄRKUS! lugemise ees

Nüüd vastab mikrokontrolleri sisend 12V sisendi sisendile.

Lõplik sisendahel koosneb 4 digitaalsisendist. Iga sisend on ühendatud PC -plaadi klemmidega.

3. samm: digitaalsed väljundid

Digitaalsed väljundid
Digitaalsed väljundid
Digitaalsed väljundid
Digitaalsed väljundid
Digitaalsed väljundid
Digitaalsed väljundid

Tavaliselt, kui vooluahel juhib ainult minimaalset arvu releesid, on parim viis kasutada transistori draiveriahelat, nagu näidatud. See on lihtne, odav ja tõhus.

Takistid piiravad maapinda ja piiravad transistori baasi voolu. Transistorit kasutatakse relee juhtimiseks saadaoleva voolu suurendamiseks. Kui mikrokontrolleri tihvtist võetakse ainult 1 mA, saab transistor lülitada 100 mA koormuse. Enamiku releetüüpide jaoks enam kui piisav. Diood on tagasivoolu diood, mis kaitseb vooluahelat kõrgepinge naastude eest relee vahetamise ajal. Selle vooluahela kasutamise eeliseks on see, et relee tööpinge võib erineda mikrokontrolleri pingest. Seega saab 5 V relee asemel kasutada mis tahes alalispinget kuni 48 V.

Tutvustame ULN2803

Mida rohkem releesid projekt vajab, seda suurem on komponentide arv. See muudab PCB disaini keerulisemaks ja võib kulutada väärtuslikku PCB ruumi. Kuid transistorimassiivi, nagu ULN2803, kasutamine aitab kindlasti PCB suurust väiksena hoida. ULN2803 sobib ideaalselt 3,3 V ja 5 V sisendite jaoks mikrokontrollerist ning võib juhtida relee kuni 48 V alalisvoolu. Sellel ULN2803 -l on 8 individuaalset transistoriahelat, millest igaüks on varustatud kõigi relee lülitamiseks vajalike komponentidega.

Lõplik väljundahel koosneb ULN3803, mis juhib 4 12 V alalisvoolu releed. Iga relee kontakt on saadaval PC Boardi terminalides.

Samm: mikrokontrolleri ostsillaator

Mikrokontrolleri ostsillaator
Mikrokontrolleri ostsillaator
Mikrokontrolleri ostsillaator
Mikrokontrolleri ostsillaator
Mikrokontrolleri ostsillaator
Mikrokontrolleri ostsillaator

Ostsillaatori ahel

Mikrokontroller vajab õigesti töötamiseks ostsillaatorit. Arduino Uno disaini järgimiseks kasutab vooluring tavalist 16MHz ostsillaatorit. Saadaval on kaks võimalust:

Kristall

See meetod kasutab kristalli, mis on ühendatud kahe laadimiskondensaatoriga. See on kõige tavalisem variant.

Resonaator

Resonaator on põhimõtteliselt kristall ja kaks laadimiskondensaatorit ühes 3-kontaktilises paketis. See vähendab komponentide hulka ja suurendab PC -plaadil saadaolevat ruumi.

Komponentide arvu võimalikult madalaks hoidmiseks otsustasin kasutada 16MHz resonaatorit.

Samm: indikaator -LED -id

Indikaatorid
Indikaatorid
Indikaatorid
Indikaatorid

Milline on vooluahel ilma LED -ideta? PC -plaadil oli ette nähtud 3 mm LED -id.

1K takistit kasutatakse LED-i voolu piiramiseks alla 5 mA. 3 mm suure eredusega LED-ide kasutamisel on heledus suurepärane.

Oleku LED -ide lihtsaks tõlgendamiseks kasutatakse kahte värvi. Kombineerides kaks LED -i vilkuvate näidikutega, saab üsna palju teavet ainult kahelt LED -ilt.

Punane LED

Punast LED -i kasutatakse rikkeolude, pikkade viivituste ja valede käskude näitamiseks.

Roheline LED

Rohelist LED -i kasutatakse tervislike ja/või õigete sisendite ja käskude tähistamiseks.

6. samm: mikroprotsessori lähtestusahel

Mikroprotsessori lähtestusahel
Mikroprotsessori lähtestusahel

Turvalisuse huvides on mõned seadme funktsioonid saadaval ainult esimese 10 minuti jooksul pärast seadme sisselülitamist.

Lähtestusnupu abil ei pea seadme toiteallikat seadme väljalülitamiseks välja lülitama.

Kuidas see töötab

10K takisti hoiab RESET liini 5V lähedal. Nupu vajutamisel tõmmatakse nullimisjoon 0 V -ni, hoides seega mikrokontrolleri lähtestamisel. Nupu vabastamisel naaseb rida RESET tagasi %v, lähtestades mikrokontrolleri.

Samm 7: SIM800L moodul

SIM800L moodul
SIM800L moodul
SIM800L moodul
SIM800L moodul
SIM800L moodul
SIM800L moodul

Seadme süda on SIM800L GSM -moodul. See moodul kasutab ainult 3 I/O kontakti mikrokontrolleril.

Moodul liidestub mikrokontrolleriga tavalise jadapordi kaudu.

  • Kõik käsud seadmele saadetakse jadapordi kaudu, kasutades standardseid AT -käske.
  • Sissetuleva kõne või SMS -i vastuvõtmisel saadetakse teave jadapordi kaudu mikrokontrollerile, kasutades ASCII teksti.

Ruumi säästmiseks ühendatakse GSM-moodul PC-plaadiga 7-kontaktilise päise kaudu. See muudab GSM -mooduli eemaldamise lihtsaks. See võimaldab kasutajal ka SIM -kaardi hõlpsalt mooduli põhjas sisestada/eemaldada.

Vajalik on aktiivne SIM -kaart ning SIM -kaart peab suutma SMS -e saata ja vastu võtta.

SIM800L GSM mooduli seadistamine

Seadme sisselülitamisel tõmmatakse GSM -mooduli lähtestusnõel sekundiks madalale. See tagab, et GSM -moodul käivitub alles pärast toiteallika stabiliseerumist. GSM -mooduli taaskäivitamine võtab paar sekundit, nii et oodake 5 sekundit, enne kui saadate moodulile AT -käsud.

Tagamaks, et GSM -moodul on konfigureeritud mikrokontrolleriga õigesti suhtlema, kasutatakse käivitamisel järgmisi AT -käske:

AT

kasutatakse selleks, et teha kindlaks, kas GSM -moodul on saadaval

AT+CREG?

Küsige seda käsku, kuni GSM -moodul on mobiilivõrgus registreeritud

AT+CMGF = 1

Valige SMS -sõnumirežiimiks ASCII

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

Kui SMS on saadaval, saatke SMS -i andmed GSM -mooduli jadaporti

AT+CMGD = 1, 4

Kustutage kõik SIM -kaardile salvestatud SMS -sõnumid

AT+CPBS = / "SM

Määrake GSM -mooduli telefoniraamat SIM -kaardile

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

Määrake GSM -mooduli aeg mobiilivõrgu ajale

Oodake 5 sekundit, kuni aeg on seatud

AT+CUSD = 1

Luba USSD sõnumsidefunktsioon

Samm: mikrokontroller

Mikrokontroller
Mikrokontroller
Mikrokontroller
Mikrokontroller
Mikrokontroller
Mikrokontroller

Mikrokontroller on tavaline AtMega328p, sama mis Arduino Uno puhul. Seega on kood mõlemaga võrreldav. Lihtsa pardal programmeerimise võimaldamiseks on PC-plaadil saadaval 6-kontaktiline programmeerimispäis.

Seadme erinevad sektsioonid on ühendatud mikroprotsessoriga ja need sisaldavad järgmist:

  • Neli digitaalset sisendit
  • Neli digitaalset väljundit
  • Ostsillaator
  • Kaks märgutuld
  • Lähtestage ahel
  • SIM800L GSM -moodul

Kogu side GSM -mooduliga ja sealt tagasi toimub funktsiooni SoftwareSerial () abil. Seda meetodit kasutati Arduino IDE peamise jadapordi vabastamiseks arendusetapis.

Ainult 2 KB SRAM -i ja 1 KB EEPROM -i puhul pole piisavalt mälu, et salvestada rohkem kui paar kasutajat, keda saab seadmega ühendada. SRAM -i vabastamiseks salvestatakse kogu kasutajateave GSM -mooduli SIM -kaardile. Sellise paigutuse korral saab seade teenindada kuni 250 erinevat kasutajat.

Seadme konfiguratsiooniandmed salvestatakse EEPROM -i, eraldades nii kasutajate andmed ja süsteemi andmed üksteisest.

Saadaval on veel mitu vaba sisend-/väljundpistikut, kuid LCD -ekraani ja/või klaviatuuri lisamise võimalus ei olnud võimalik SoftWareSerial () vastuvõtu- ja edastuspuhvrite suure SRAM -i tõttu, Kuna seadmel puudub igasugune kasutajaliides, programmeeritakse kõik seaded ja kasutajad SMS -sõnumite abil.

9. samm: SRAM -mälu optimeerimine

SRAM -mälu optimeerimine
SRAM -mälu optimeerimine

Arendusetapi alguses teatas Arduino IDE koodi koostamisel vähest SRAM -mälu. Selle ületamiseks kasutati mitmeid meetodeid.

Piirake jadaporti vastuvõetud andmeid

GSM -moodul teatab kõik sõnumid mikrokontrollerile jadapordist. Mõne SMS -i vastuvõtmisel võib vastuvõetud sõnumi kogupikkus ületada 200 tähemärki. See võib kiiresti tarbida kogu AtMega kiibil saadaoleva SRAM -i ja põhjustada stabiilsusprobleeme.

Selle vältimiseks kasutatakse ainult 200 esimest tähemärki mis tahes GSM -moodulist saadetud sõnumist. Allolev näide näitab, kuidas seda tehakse, lugedes vastuvõetud märgid muutuja Loendur.

// andmete otsimine tarkvara jadapordist

// ----------------------------------------------- RxString = ""; Loendur = 0; while (SSerial.available ()) {delay (1); // lühike viivitus, et anda aega uute andmete puhverdamiseks // uue märgi saamine RxChar = char (SSerial.read ()); // lisage stringile esimesed 200 märki, kui (loendur <200) {RxString.concat (RxChar); Loendur = loendur + 1; }}

Koodi Serial.print () vähendamine

Ehkki Arduino jadamonitor on arendamise ajal käepärane, võib see kasutada palju SRAM -i. Kood töötati välja võimalikult vähe Serial.print () koodi kasutades. Ühte koodilõiku on testitud töötama, kogu Serial.print () kood eemaldati selle koodi osast.

Serial.print (F (("")) koodi kasutamine

Kirjelduste lisamisel on palju teavet, mida tavaliselt kuvatakse Arduino jadamonitoril. Võtke järgmine näide:

Serial.println ("Ootame konkreetseid toiminguid");

String "Ootame konkreetseid toiminguid" on fikseeritud ja seda ei saa muuta.

Koodi kompileerimise ajal lisab kompilaator FLASH -mällu stringi "Ootab konkreetseid toiminguid".

Lisaks näeb kompilaator, et string on konstant, mida kasutab käsk "Serial.print" või "Serial.println". Mikro käivitamisel sisestatakse see konstant ka SRAM-i mällu.

Kasutades funktsioonides Serial.print () eesliidet "F", ütleb see kompilaatorile, et see string on saadaval ainult FLASH -mälus. Selle näite puhul sisaldab string 28 tähemärki. See on 28 baiti, mida saab SRAM -is vabastada.

Serial.println (F ("Ootame konkreetseid toiminguid"));

See meetod kehtib ka käskude SoftwareSerial.print () kohta. Kuna GSM -moodul töötab AT -käskudel, sisaldab kood arvukalt SoftwareSerial.print ("xxxx") käske. F -eesliite kasutamine vabastas peaaegu 300 baiti SRAM -i.

Ärge kasutage riistvara jadapordi

Pärast koodi silumist keelati riistvara jadaport, eemaldades KÕIK Serial.print () käsud. See vabastas paar täiendavat baiti SRAM -ist.

Ilma koodita Serial.print () käskudeta saadi kättesaadavaks veel 128 baiti SRAM -i. Seda tehti, eemaldades koodist riistvara jadapordi. See suurendas 64 -baidist edastus- ja 64 -baitilist vastuvõtupuhvrit.

// Seriaal.algus (9600); // riistvara jadaport on keelatud

EEPROMi kasutamine stringide jaoks

Iga sisendi ja väljundi jaoks tuli salvestada kolm stringi. Need on kanali nimi, string, kui kanal on sisse lülitatud, ja string, kui kanal on välja lülitatud.

Kokku on 8 I/O kanalit, need on

  • 8 stringi, mis sisaldavad kanalite nimesid, igaüks 10 tähemärki pikk
  • 8 stringi, mis sisaldavad kanalit Kirjeldus, iga 10 tähemärki pikk
  • 8 stringi, mis sisaldavad kanali väljalülitatud kirjeldust, igaüks 10 tähemärki pikk

See reklaamib kuni 240 baiti SRAM -i. Selle asemel, et neid stringe SRAM -is salvestada, salvestatakse need EEPROM -i. See vabastas täiendavalt 240 baiti SRAM -i.

Õige pikkusega stringi deklareerimine

Muutuja deklareeritakse tavaliselt koodi alguses. Tavaline viga stringimuutuja deklareerimisel on see, et me ei deklareeri stringi õige tähemärkidega.

String GSM_Nr = "";

String GSM_Nimi = ""; String GSM_Msg = "";

Käivitamise ajal ei jaga mikrokontroller nende muutujate jaoks SRAM -is mälu. See võib hiljem põhjustada nende stringide kasutamisel ebastabiilsust.

Selle vältimiseks deklareerige stringid õige arvu tähemärkidega, mida string tarkvara kasutab.

String GSM_Nr = "1000000000";

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

Pange tähele, kuidas ma ei deklareerinud samade tähemärkidega stringe. Kui deklareerite need stringid kõigi sõnadega "1234567890", näeb kompilaator kolmes muutujas sama stringi ja eraldab SRAM -ile ainult ühe stringi jaoks piisavalt mälu.

Samm 10: Tarkvara jadapuhvri suurus

Tarkvara jadapuhvri suurus
Tarkvara jadapuhvri suurus

Järgmises koodis märkate, et tarkvara jadapordist saab lugeda kuni 200 tähemärki.

// andmete otsimine tarkvara jadapordist

// ----------------------------------------------- RxString = ""; Loendur = 0; while (SSerial.available ()) {delay (1); // lühike viivitus, et anda aega uute andmete puhverdamiseks // uue märgi saamine RxChar = char (SSerial.read ()); // lisage stringile esimesed 200 märki, kui (loendur <200) {RxString.concat (RxChar); Loendur = loendur + 1; }}

See nõuab ka tarkvara jadapordi jaoks vähemalt 200 baiti puhvrit. vaikimisi on tarkvara jadapordi puhver ainult 64 baiti. Selle puhvri suurendamiseks otsige järgmist faili:

SoftwareSerial.h

Avage fail tekstiredaktoriga ja muutke puhvri suurus 200 -le.

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

*Mõisted *********************************************** ******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX -puhvri suurus #endif

Samm 11: PC -plaadi valmistamine

PC -plaadi valmistamine
PC -plaadi valmistamine

Arvutitahvli kujundamisel kasutati Cadsoft Eagle'i vabavara versiooni (ma usun, et nimi on muutunud).

  • PC Board on ühepoolne disain.
  • Pinnale paigaldatavaid komponente ei kasutata.
  • Kõik komponendid on paigaldatud arvutiplaadile, sealhulgas SIM800L moodul.
  • Väliseid komponente ega ühendusi pole vaja
  • Traadist džemprid on peidetud komponentide alla puhtamaks.

PC -plaatide valmistamiseks kasutan järgmist meetodit:

  • PC-plaadi pilt trükitakse pressprinterile laserprinteriga.
  • Press-n-Peel asetatakse seejärel puhta PC-plaadi peale ja kinnitatakse mõne teibiga.
  • PC-plaadi pilt kantakse seejärel Press-n-Peelilt tühjale PC-plaadile, juhtides plaadi läbi lamineerija. Minu jaoks sobib kõige paremini 10 passi.
  • Pärast PC-plaadi jahtumist toatemperatuurini tõstetakse Press-n-Peel aeglaselt plaadilt.
  • Seejärel söövitatakse PC -plaat, kasutades kuumas vees lahustatud ammooniumpersulfaadi kristalle.
  • Pärast söövitamist eemaldatakse sinine Press-n-Peel ja must tooner, puhastades söövitatud PC-plaati mõne atsetooniga.
  • Seejärel lõigatakse plaat Dremeliga mõõtu
  • Kõigi läbivate aukude komponentide augud puuritakse 1 mm puuriga.
  • Klemmide kruvipistikud puuritakse 1,2 mm puuri abil.

12. samm: PC -plaadi kokkupanek

PC -plaadi kokkupanek
PC -plaadi kokkupanek
PC -plaadi kokkupanek
PC -plaadi kokkupanek
PC -plaadi kokkupanek
PC -plaadi kokkupanek
PC -plaadi kokkupanek
PC -plaadi kokkupanek

Kokkupanekul lisatakse kõigepealt väikseimad komponendid ja jätkatakse suurimate komponentidega.

Kõik selles juhendis kasutatud komponendid, välja arvatud SIM800 moodul, hangiti minu kohalikult tarnijalt. Mõtleb neile, et neil on alati varu. Palun vaadake nende Lõuna -Aafrika veebikülge:

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

MÄRGE! Esmalt jootke kaks ATMEGA328p IC all asuvat džemprit

Järjekord on järgmine:

  • Takistid ja diood
  • Reset-nupp
  • IC pesad
  • Pinge regulaator
  • Päise tihvtid
  • Väikesed kondensaatorid
  • LEDid
  • Kaitsmehoidik
  • Klemmliistud
  • Releed
  • Elektrolüütilised kondensaatorid

Enne IC -de sisestamist ühendage seade 12 V pingega ja kontrollige, kas kõik pinged on õiged.

Lõpuks katke läbipaistva lakiga PC -plaadi vask pool, et seda elementide eest kaitsta.

Kui lakk on kuivanud, sisestage IC -d, kuid jätke GSM -moodul alles, kuni AtMega on programmeeritud.

Samm 13: AtMega328p programmeerimine

AtMega328p programmeerimine
AtMega328p programmeerimine
AtMega328p programmeerimine
AtMega328p programmeerimine
AtMega328p programmeerimine
AtMega328p programmeerimine

# # Püsivara uuendamine versioonile 3.02 # #

Lubatud SMS -ide saatmine MASTER USER -ile, kui seadmesse toide taastatakse

Seadme programmeerimiseks kasutan programmeerimiskilbiga Arduino Unot. Arduino Uno programmeerijana kasutamise kohta lisateabe saamiseks vaadake seda juhendit:

Arduino UNO AtMega328P programmeerijana

Programmeerimispäisele juurdepääsu saamiseks tuleb GSM -moodul PC -plaadilt eemaldada. Olge GSM -mooduli eemaldamisel ettevaatlik, et mitte kahjustada antenni traati.

Ühendage programmeerimiskaabel programmeerija ja seadme vahel, kasutades PC -plaadil olevat programmeerimispäist ja laadige eskiis seadmesse üles.

Seadme programmeerimiseks pole vaja välist 12 V toiteallikat. PC -plaati toidetakse Arduino kaudu programmeerimiskaabli kaudu.

Avage lisatud fail Arduino IDE -s ja programmeerige see seadmesse.

Pärast programmeerimist eemaldage programmeerimiskaabel ja sisestage GSM -moodul.

Seade on nüüd kasutamiseks valmis.

14. samm: seadme ühendamine

Seadme ühendamine
Seadme ühendamine
Seadme ühendamine
Seadme ühendamine
Seadme ühendamine
Seadme ühendamine

Kõik ühendused seadmega tehakse kruviklemmide kaudu.

Seadme toide

Veenduge, et olete GSM -moodulisse sisestanud registreeritud SIM -kaardi ning kas SIM -kaart suudab SMS -e saata ja vastu võtta.

Ühendage 12 V alalisvoolu toide 12 V sisendisse ja ükskõik millisesse 0 V klemmi. Pärast sisselülitamist süttib PC -plaadil punane LED. Umbes minuti pärast peaks GSM -moodul olema ühendatud mobiilivõrguga. Punane LED kustub ja GSM -mooduli punane LED hakkab kiiresti vilkuma.

Kui see etapp on saavutatud, on seade seadistamiseks valmis.

Sisendühendused

Digitaalsisendid töötavad 12 V pingel. Sisendi sisselülitamiseks tuleb sisendile rakendada 12V. 12 V eemaldamine lülitab sisendi välja.

Väljundühendused

Iga väljund koosneb ümberlülituskontaktist. Ühendage iga kontakt vastavalt vajadusele.

Samm: esmane seadistamine

Esialgne seadistamine
Esialgne seadistamine

Seadme esmane seadistamine peab toimuma nii, et kõik parameetrid oleks seatud tehase vaikeseadetele ja SIM -kaart oleks konfigureeritud vastu võtma kasutajateavet õiges vormingus.

Kuna kõik käsud on SMS -põhised, vajate seadistamiseks teist telefoni.

Esmaseks seadistamiseks peate olema seadme juures.

Seadistage MASTER USER telefoninumber

Kuna seadet saab konfigureerida ainult MASTER USER, tuleb see samm kõigepealt läbi viia.

  • Seade peab olema toitega.
  • Vajutage ja vabastage nupp Lähtesta ning oodake, kuni PC -plaadil olev punane LED kustub.
  • GSM -mooduli NET -LED hakkab kiiresti vilkuma.
  • Seade on nüüd valmis esialgseid häälestuskäsklusi vastu võtma. See tuleb läbi viia 10 minuti jooksul.
  • Saatke seadme telefoninumbrile SMS -sõnum, mis sisaldab MASTERit, kirjeldust.
  • Kui see on vastu võetud, vilgub PC -plaadil roheline LED kaks korda.
  • MASTER USER on nüüd programmeeritud.

Taastage seadme tehaseseaded

Pärast MASTER USER -i programmeerimist tuleb seadme seaded tehase vaikeseadetele seada.

  • Saatke seadme telefoninumbrile SMS -sõnum ainult CLEARALL -iga.
  • Vastuvõtu korral vilgub PC -plaadil roheline ja punane LED vaheldumisi kord sekundis. Seade on taastatud tehaseseadetega.
  • Kõik seaded on taastatud tehaseseadetele.
  • Seadme taaskäivitamiseks vajutage ja vabastage lähtestusnupp.

SIM -kaardi vormindamine

Viimane samm on kustutada kogu SIM -kaardile salvestatud teave ja konfigureerida see selles seadmes kasutamiseks.

  • Vajutage ja vabastage lähtestusnupp ning oodake, kuni PC -plaadil olev punane LED kustub.
  • GSM -mooduli NET -LED hakkab kiiresti vilkuma.
  • Seade on nüüd valmis esialgseid häälestuskäsklusi vastu võtma. See tuleb läbi viia 10 minuti jooksul.
  • Saatke seadme telefoninumbrile SMS -sõnum ainult ERASESIM -iga.
  • Kui see on vastu võetud, vilgub PC -plaadil roheline valgusdiood.

Seade on nüüd konfigureeritud ja on kasutamiseks valmis.

16. samm: SMS -käsud

SMS -käsud
SMS -käsud

Üksus kasutab kolme erinevat tüüpi käske. Kõik käsud saadetakse SMS -i teel ja kõik on järgmises vormingus:

COMMAND,,,,,

  • Kõik käsud, välja arvatud käsud NORMAL USER, on tõstutundlikud.
  • Parameetrid ei ole tõstutundlikud.

Esialgse häälestamise käsud

MEISTER, nimi

SMS -i saatja telefoninumbrit kasutatakse MASTER USER telefoninumbrina. a Siin saab lisada seadme kirjelduse.

KUSTUTA KÕIK

Lähtestage seade tehaseseadetele

CLEARSIM

Kustutage kõik andmed SIM -kaardilt

NULLI

Taaskäivitage seade

MASTER USER Käsud seadme konfigureerimiseks

OUTMODE, c, m, t MÄRKUS! ! ! VEEL RAKENDAMATA

Seadke teatud kanalitele PULSED, TIMED või LATCHING väljundid. t on TIMED väljundite kestus minutites

PULSS, cccc

Määrake konkreetsed kanalid PULSED väljunditele. Kui see pole seadistatud, määratakse kanalid LATCHING väljunditeks.

PULSETIME, tSeadistab impulssväljundi kestuse sekundites (0.. 10 s)

INPUTON, cccc

Seadistage kanalid, mis peavad käivituma, ja saatke SMS -sõnum, kui olek muutub olekust OFF olekusse ON

INPUTOFF, cccc

Seadistage kanalid, mis peavad käivituma, ja saatke SMS -sõnum, kui olek muutub olekust SEES

INTIME, c, t

Määrab oleku muutuste sekundites tuvastamiseks sisendi viivituse

INTEXT, ch, nimi, sisse, välja

Määrake iga sisendkanali nimi nii teksti kui ka väljalülitatud teksti jaoks

OUTTEXT, ch, nimi, sisse, välja

Määrake iga väljundkanali nimi tekstile ja tekstile

Lisa, asukoht, arv, tähelepanulaiendid, SMS -väljundid, sisendid

Lisage kasutaja SIM -kaardile mälu „asukohas”, kusjuures kasutajale on määratud väljund- ja sisendkanalid

Del, asukoht

Kasutaja kustutamine SIM -kaardi mälust "asukoht"

Kanali nimi

Esitab impulsi nimega ChannelName

ChannelName, onText või ChannelName, offText

Lülitab väljundi sisse/välja koos nimega ChannelName ja onText/offText

Tavalised kasutaja käsud seadme juhtimiseks

???? Taotle I/O oleku värskendamist. Olek SMS saadetakse algatajale.

Kanali nimi

Esitab impulsi nimega ChannelName

Kanali nimi, onText

Lülitab väljundi sisse nimega ChannelName ja olekuteksti tekstiga

ChannelName, offText Lülitab väljundi välja, kasutades nime ChannelName ja olekuteksti välja

Käskude üksikasjalikuma kirjelduse leiate lisatud PDF -dokumendist.