Satura rādītājs:

Arduino balstīta GSM/SMS tālvadības ierīce: 16 soļi (ar attēliem)
Arduino balstīta GSM/SMS tālvadības ierīce: 16 soļi (ar attēliem)

Video: Arduino balstīta GSM/SMS tālvadības ierīce: 16 soļi (ar attēliem)

Video: Arduino balstīta GSM/SMS tālvadības ierīce: 16 soļi (ar attēliem)
Video: VL53L1X Лазерный дистанционный датчик времени полета 400 см 2024, Novembris
Anonim
Arduino balstīta GSM/SMS tālvadības ierīce
Arduino balstīta GSM/SMS tālvadības ierīce

! ! ! N O T I C E!

Tā kā manā teritorijā tiek modernizēts vietējais mobilo tālruņu tornis, es vairs nevaru izmantot šo GSM moduli. Jaunākais tornis vairs neatbalsta 2G ierīces. Tāpēc es vairs nevaru sniegt nekādu atbalstu šim projektam.

Tā kā hobijam bija pieejams tik plašs GSM moduļu klāsts, lielākā daļa no mums beidzās to iegādāties. Es lokāli iegādājos SIM800L moduli un beidzot spēlēju ar dažādām moduļa komandām.

Izmantojot Arduino Uno un Arduino IDE, es varēju savas idejas pārvērst realitātē. Tas nenāca viegli, jo VIENOTĀ LIELĀKĀ JAUTĀJUMS bija tikai 2 KB SRAM ierobežojums. Pēc daudziem pētījumiem internetā un dažādos forumos man izdevās pārvarēt šo ierobežojumu.

Šo projektu saglabāja dažādas programmēšanas metodes, daudz labāka Arduino kompilatora izpratne un SIM kartes un EEPROM izmantošana papildu atmiņai. Pēc dažām koda izmaiņām tika izveidots un nedēļas laikā pārbaudīts stabils prototips.

Ierobežotā SRAM trūkums bija tas, ka iekārtu nevarēja aprīkot ar displeju un lietotāja atslēgām. Tā rezultātā kods tika pilnībā pārrakstīts. Bez lietotāja interfeisa vienīgā iespēja turpināt projektu bija izmantot īsziņas, lai konfigurētu vienību, kā arī lietotājus.

Tas izrādījās aizraujošs projekts, un, turpinot attīstību, tika pievienoti vairāk nākotnes līgumu.

Mans galvenais mērķis bija pieturēties pie Arduino Uno vai šajā gadījumā ATMEGA328p un neizmantot nekādas virsmas montāžas sastāvdaļas. Tādējādi plašai sabiedrībai būs vieglāk kopēt un izveidot vienību.

Vienības specifikācija:

  • Ierīcē var ieprogrammēt ne vairāk kā 250 lietotājus
  • Četras digitālās izejas
  • Četras digitālās ieejas
  • Katru izeju var konfigurēt kā PULSE vai ON/OFF izeju
  • Izejas impulsa ilgumu var iestatīt starp 0,5.. 10 sekundēm
  • Katru ieeju var konfigurēt tā, lai tā aktivizētu izmaiņas no izslēgšanas līdz ieslēgšanai.
  • Katru ieeju var konfigurēt tā, lai aktivizētu ON / OFF izmaiņas
  • Katru ievades aizkaves laiku var iestatīt no 0 sekundēm līdz 1 stundai
  • Īsziņas par izmaiņām ievadēs var nosūtīt 5 dažādiem lietotājiem
  • Lietotājs var iestatīt katras ievades nosaukumus un statusa tekstu
  • Lietotājs var iestatīt katras izvades nosaukumus un statusa tekstu
  • Ierīci var konfigurēt, lai saņemtu SIM kartes atlikuma ziņas, izmantojot USSD ziņojumapmaiņu.
  • Visi lietotāji var pieprasīt ierīces I/O statusa atjauninājumus
  • Visi lietotāji var kontrolēt atsevišķus izvadus, izmantojot īsziņas
  • Visi lietotāji var kontrolēt atsevišķas izejas, zvanot uz ierīci

Drošības līdzekļi

  • Ierīces sākotnējo iestatīšanu var veikt tikai, atrodoties vienībā.
  • Sākotnējo iestatīšanu var veikt tikai MASTER USER
  • Sākotnējās iestatīšanas komandas tiek automātiski atspējotas pēc desmit minūtēm.
  • Vienību var vadīt tikai zvani un īsziņas no zināmiem lietotājiem
  • Lietotāji var darbināt tikai tos izvadus, kurus tiem ir piešķīris MASTER USER

Citas funkcijas

  • Zvani uz šo ierīci ir bezmaksas, jo uz zvanu nekad netiek atbildēts.
  • Kad ierīce tiek izsaukta, zvans tiks pārtraukts tikai pēc 2 sekundēm. Tas ir apstiprinājums zvanītājam, ka ierīce atbildēja uz zvanu.
  • Ja SIM karšu pakalpojumu sniedzējs atbalsta USSD ziņas, MASTER USER var pieprasīt atlikumu. USSD ziņojums ar atlikumu tiks pārsūtīts MASTER USER.

1. darbība: barošanas avots

Enerģijas padeve
Enerģijas padeve

Lai ierīci varētu pieslēgt standarta drošības sistēmām (signalizācijas sistēmām, elektriskām garāžas durvīm, elektriskajiem vārtu motoriem), iekārta tiks darbināta no 12 V līdzstrāvas, kas parasti ir pieejama šādās sistēmās.

Barošana tiek veikta 12V IN un 0V spailēs, un to aizsargā 1A drošinātājs. Ir pieejami papildu 12V OUT spailes, un to aizsargā arī drošinātājs.

Diods D1 aizsargā ierīci no pretējas polaritātes savienojumiem 12 V līnijās.

Kondensatori C1 un C2 filtrē 12V barošanas līniju troksni. 12 V barošana tiek izmantota ierīces releju barošanai.

5 V barošana sastāv no sprieguma regulatora LM7805L, un tā izeja ir stabila +5 V, kas nepieciešama SIM800L GSM modulim, kā arī mikroprocesoram. Kondensatori C3 un C4 filtrē jebkādu troksni, kas var rasties pie +5V barošanas līnijas. Tika izmantoti relatīvi liela izmēra elektrolītiskie kondensatori, jo SIM800L GSM modulis pārraides laikā patērē diezgan daudz enerģijas.

Sprieguma regulatoram nav nepieciešama siltuma izlietne.

2. darbība: digitālās ieejas

Digitālās ieejas
Digitālās ieejas
Digitālās ieejas
Digitālās ieejas

Visi digitālie ievades signāli ir 12 V, un tiem jābūt savienotiem ar 5 V mikrokontrolleri. Šim nolūkam tiek izmantoti opto savienotāji, lai izolētu 12 V signālus no 5 V sistēmas.

1K ieejas rezistors ierobežo ieejas strāvu līdz opto savienotājam līdz aptuveni 10 mA.

Vietas ierobežojumu dēļ PC panelī nebija vietas 5V pievilkšanas rezistoriem. Mikrokontrolleris ir iestatīts, lai iespējotu ieejas tapas ar vāju pievilkšanos.

Ja opto savienotāja ieejā (LOW) nav signāla, caur opto savienotāja gaismas diodi neplūst strāva. Tādējādi tiek izslēgts opto savienotāja tranzistors. Vājā mikrokontrollera pievilkšana savāks kolektoru līdz gandrīz 5 V, un mikrokontrolleris to uzskatīs par loģisku HIGH.

Ja opto savienotāja ieejai ir pievienots 12 V (HIGH), caur opto savienotāja gaismas diodi plūdīs aptuveni 10 mA. Tādējādi tiks ieslēgts opto savienotāja tranzistors. Tas savāks kolektoru līdz gandrīz 0 V, un mikrokontrolleris to uzskatīs par zemu loģiku.

Ņemiet vērā, ka mikrokontrollera redzamā ieeja ir apgriezta, salīdzinot ar 12 V ieeju.

Parastais kods ievades tapas lasīšanai izskatās šādi:

Būla ieeja = digitalRead (inputpin);

Lai labotu apgriezto signālu, izmantojiet šādu kodu:

Būla ieeja =! digitalRead (inputpin); // PIEZĪME! lasāmā priekšā

Tagad mikrokontrollera redzamā ieeja atbilst 12 V ieejas ieejai.

Pēdējā ievades ķēde sastāv no 4 digitālajām ieejām. Katra ieeja ir pievienota datora plates termināļiem.

3. darbība: digitālās izejas

Digitālās izejas
Digitālās izejas
Digitālās izejas
Digitālās izejas
Digitālās izejas
Digitālās izejas

Parasti, ja ķēde vada tikai minimālu releju skaitu, labākais veids ir izmantot tranzistora draivera ķēdi, kā parādīts attēlā. Tas ir vienkārši, lēti un efektīvi.

Rezistori nodrošina nolaišanos zemē un tranzistora bāzes strāvas ierobežošanu. Tranzistoru izmanto, lai palielinātu releja vadīšanai pieejamo strāvu. Ar tikai 1mA no mikro kontroliera tapas tranzistors var pārslēgt 100 mA slodzi. Vairāk nekā pietiekami lielākajai daļai releju. Diods ir atpakaļgaitas diode, kas aizsargā ķēdi no augstsprieguma tapām releja pārslēgšanas laikā. Šīs shēmas izmantošanas papildu priekšrocība ir tā, ka releja darba spriegums var atšķirties no mikrokontrollera sprieguma. Tādējādi 5V releja vietā var izmantot jebkuru līdzstrāvas spriegumu līdz 48V.

Iepazīstinām ar ULN2803

Jo vairāk releju nepieciešams projektam, jo lielāks komponentu skaits. Tas apgrūtinās PCB dizainu un var iztērēt vērtīgu PCB vietu. Bet, izmantojot tranzistoru masīvu, piemēram, ULN2803, tas noteikti palīdzēs saglabāt nelielu PCB izmēru. ULN2803 ir ideāli piemērots 3,3 V un 5 V ieejām no mikrokontrollera un var vadīt relejus līdz 48 V līdzstrāvai. Šim ULN2803 ir 8 atsevišķas tranzistora shēmas, katra ķēde ir aprīkota ar visiem komponentiem, kas nepieciešami releja pārslēgšanai.

Gala izejas ķēde sastāv no ULN3803, kas vada 4 12 V līdzstrāvas izejas relejus. Katrs releja kontakts ir pieejams PC Board terminālos.

4. solis: mikrokontrolleru oscilators

Mikro kontroliera oscilators
Mikro kontroliera oscilators
Mikro kontroliera oscilators
Mikro kontroliera oscilators
Mikro kontroliera oscilators
Mikro kontroliera oscilators

Oscilatora ķēde

Lai pareizi darbotos, mikrokontrollerim ir nepieciešams oscilators. Lai saglabātu Arduino Uno dizainu, ķēde izmantos standarta 16MHz oscilatoru. Ir pieejamas divas iespējas:

Kristāls

Šī metode izmanto kristālu, kas savienots ar diviem iekraušanas kondensatoriem. Šī ir visizplatītākā iespēja.

Rezonators

Rezonators būtībā ir kristāls un divi iekraušanas kondensatori vienā 3 kontaktu iepakojumā. Tas samazina komponentu daudzumu un palielina pieejamo vietu uz PC Board.

Lai komponentu skaits būtu pēc iespējas zemāks, es izvēlējos izmantot 16MHz rezonatoru.

5. darbība: indikācijas gaismas diodes

Indikācijas gaismas diodes
Indikācijas gaismas diodes
Indikācijas gaismas diodes
Indikācijas gaismas diodes

Kāda būs ķēde bez dažām gaismas diodēm? Uz PC dēļa tika nodrošināti 3 mm gaismas diodes.

1K rezistori tiek izmantoti, lai ierobežotu strāvu caur LED līdz mazāk nekā 5mA. Izmantojot 3 mm augstas spilgtuma gaismas diodes, spilgtums ir lielisks.

Lai viegli interpretētu statusa gaismas diodes, tiek izmantotas divas krāsas. Apvienojot abas gaismas diodes ar mirgojošām indikācijām, diezgan daudz informācijas var iegūt tikai no divām gaismas diodēm.

Sarkana gaismas diode

Sarkanā gaismas diode tiek izmantota, lai norādītu uz traucējumu apstākļiem, ilgu kavēšanos, nepareizām komandām.

Zaļā gaismas diode

Zaļā gaismas diode tiek izmantota, lai norādītu veselīgas un/vai pareizas ievades un komandas.

6. darbība: mikroprocesora atiestatīšanas ķēde

Mikroprocesora atiestatīšanas ķēde
Mikroprocesora atiestatīšanas ķēde

Drošības apsvērumu dēļ dažas ierīces funkcijas ir pieejamas tikai pirmajās 10 minūtēs pēc ierīces ieslēgšanas.

Izmantojot atiestatīšanas pogu, ierīces barošana nav jāizslēdz, lai atiestatītu ierīci.

Kā tas strādā

10K rezistors saglabās RESET līniju 5V tuvumā. Nospiežot pogu, RESET līnija tiks pavilkta uz 0V, tādējādi saglabājot mikrokontrollera atiestatīšanu. Kad poga tiek atlaista, RESET līnija atgriežas %v, atiestatot mikrokontrolleri.

7. solis: SIM800L modulis

SIM800L modulis
SIM800L modulis
SIM800L modulis
SIM800L modulis
SIM800L modulis
SIM800L modulis

Ierīces sirds ir SIM800L GSM modulis. Šis modulis izmanto tikai 3 I/O tapas mikrokontrollerī.

Modulis ir savienots ar mikrokontrolleri, izmantojot standarta seriālo portu.

  • Visas komandas ierīcei tiek nosūtītas, izmantojot seriālo portu, izmantojot standarta AT komandas.
  • Ienākoša zvana laikā vai saņemot SMS, informācija tiek nosūtīta mikrokontrolleram, izmantojot seriālo portu, izmantojot ASCII tekstu.

Lai ietaupītu vietu, GSM modulis ir savienots ar PC Board, izmantojot 7 kontaktu galveni. Tas atvieglo GSM moduļa noņemšanu. Tas arī ļauj lietotājam viegli ievietot/izņemt SIM karti moduļa apakšā.

Nepieciešama aktīva SIM karte, un SIM kartei jāspēj sūtīt un saņemt īsziņas.

SIM800L GSM moduļa uzstādīšana

Ieslēdzot iekārtu, GSM moduļa atiestatīšanas tapu uz sekundi velk zemu. Tas nodrošina, ka GSM modulis sāk darboties tikai pēc barošanas avota stabilizācijas. GSM moduļa atsāknēšana prasa pāris sekundes, tāpēc pagaidiet 5 sekundes, pirms nosūtāt modulim AT komandas.

Lai nodrošinātu, ka GSM modulis ir konfigurēts pareizi sazināties ar mikrokontrolleri, startēšanas laikā tiek izmantotas šādas AT komandas:

AT

izmanto, lai noteiktu, vai ir pieejams GSM modulis

AT+CREG?

Aptaujājiet šo komandu, līdz GSM modulis ir reģistrēts mobilo tālruņu tīklā

AT+CMGF = 1

Iestatiet īsziņu režīmu uz ASCII

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

Ja ir pieejama īsziņa, nosūtiet SMS informāciju uz GSM moduļa seriālo portu

AT+CMGD = 1, 4

Dzēsiet visas SIM kartē saglabātās īsziņas

AT+CPBS = / "SM

Iestatiet GSM moduļa tālruņu katalogā SIM karti

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

Iestatiet GSM moduļa laiku uz mobilā tīkla laiku

Pagaidiet 5 sekundes, līdz tiek iestatīts laiks

AT+CUSD = 1

Iespējot USSD ziņojumapmaiņas funkciju

8. solis: mikrokontrolleris

Mikro kontrolieris
Mikro kontrolieris
Mikro kontrolieris
Mikro kontrolieris
Mikro kontrolieris
Mikro kontrolieris

Mikro kontrolieris ir standarta AtMega328p, tāds pats kā Arduino Uno. Tādējādi kods ir salīdzināms ar abiem. Lai atvieglotu iebūvēšanu, datora panelī ir pieejama 6 kontaktu programmēšanas galvene.

Dažādas ierīces daļas ir savienotas ar mikroprocesoru, un tajās ietilpst:

  • Četras digitālās ieejas
  • Četras digitālās izejas
  • Oscilators
  • Divas indikācijas gaismas diodes
  • Atiestatīt ķēdi
  • SIM800L GSM modulis

Visa saziņa uz un no GSM moduļa tiek veikta, izmantojot funkciju SoftwareSerial (). Šī metode tika izmantota, lai izstrādes posmā atbrīvotu Arduino IDE galveno seriālo portu.

Izmantojot tikai 2 KB SRAM un 1 KB EEPROM, nav pietiekami daudz atmiņas, lai saglabātu vairāk nekā pāris lietotājus, kurus var saistīt ar ierīci. Lai atbrīvotu SRAM, visa lietotāja informācija tiek saglabāta GSM moduļa SIM kartē. Izmantojot šo izkārtojumu, iekārta var apkalpot līdz 250 dažādiem lietotājiem.

Iekārtas konfigurācijas dati tiek saglabāti EEPROM, tādējādi atdalot lietotāja datus un sistēmas datus viens no otra.

Joprojām ir pieejamas vairākas rezerves I/O tapas, tomēr LCD displeja un/vai tastatūras pievienošanas iespēja nebija iespējama, jo SoftWareSerial () uztveršanas un pārraides buferi izmantoja lielu SRAM daudzumu, Tā kā ierīcē trūkst jebkāda veida lietotāja interfeisa, visi iestatījumi un lietotāji tiek ieprogrammēti, izmantojot īsziņas.

9. solis: SRAM atmiņas optimizēšana

SRAM atmiņas optimizācija
SRAM atmiņas optimizācija

Diezgan agrīnā izstrādes stadijā Arduino IDE, apkopojot kodu, ziņoja par zemu SRAM atmiņu. Lai to pārvarētu, tika izmantotas vairākas metodes.

Ierobežojiet seriālajā portā saņemtos datus

GSM modulis ziņo visus ziņojumus mikrokontrolleram par seriālo portu. Saņemot dažas īsziņas, saņemtās ziņas kopējais garums var pārsniegt 200 rakstzīmes. Tas var ātri iztērēt visu AtMega mikroshēmā pieejamo SRAM un radīt stabilitātes problēmas.

lai to novērstu, tiks izmantotas tikai pirmās 200 rakstzīmes no jebkura GSM moduļa saņemta ziņojuma. Zemāk redzamais piemērs parāda, kā tas tiek darīts, saskaitot saņemtās rakstzīmes mainīgajā skaitītājā.

// skenējiet datus no programmatūras seriālā porta

// ----------------------------------------------- RxString = ""; Skaitītājs = 0; while (SSerial.available ()) {delay (1); // īsa aizkave, lai dotu laiku jaunu datu ievietošanai buferī // iegūt jaunu rakstzīmi RxChar = char (SSerial.read ()); // pievienojiet virknei pirmās 200 rakstzīmes, ja (skaitītājs <200) {RxString.concat (RxChar); Skaitītājs = skaitītājs + 1; }}

Serial.print () koda samazināšana

Lai gan Arduino sērijas monitors ir ērts izstrādes laikā, tas var izmantot daudz SRAM. Kods tika izstrādāts, izmantojot pēc iespējas mazāk Serial.print () koda. Viena koda sadaļa ir pārbaudīta, lai darbotos, viss Serial.print () kods tika noņemts no šīs koda daļas.

Izmantojot Serial.print (F (("")) kodu

Daudz informācijas, kas parasti tiek parādīta Arduino sērijas monitorā, ir saprātīgāka, pievienojot aprakstus. Ņemiet šādu piemēru:

Serial.println ("Gaida īpašas darbības");

Virkne "Gaida īpašas darbības" ir fiksēta, un to nevar mainīt.

Koda apkopošanas laikā kompilators FLASH atmiņā iekļaus virkni "Gaida īpašas darbības".

Turklāt kompilators redz, ka virkne ir konstante, ko izmanto instrukcija "Serial.print" vai "Serial.println". Mikro sāknēšanas laikā šī konstante tiek ievietota arī SRAM atmiņā.

Funkcijās Serial.print () izmantojot prefiksu "F", tas kompilatoram norāda, ka šī virkne ir pieejama tikai FLASH atmiņā. Šajā piemērā virknē ir 28 rakstzīmes. Tas ir 28 baiti, kurus var atbrīvot SRAM.

Serial.println (F ("Gaida īpašas darbības"));

Šī metode attiecas arī uz SoftwareSerial.print () komandām. Tā kā GSM modulis darbojas ar AT komandām, kods satur daudzas SoftwareSerial.print ("xxxx") komandas. Izmantojot prefiksu "F", tika atbrīvoti gandrīz 300 baiti SRAM.

Nelietojiet aparatūras seriālo portu

Pēc koda atkļūdošanas aparatūras seriālais ports tika atspējots, noņemot visas komandas Serial.print (). Tas atbrīvoja dažus papildu SRAM baitus.

Ja kodā nebija atstātas Serial.print () komandas, tika pieejami papildu 128 baiti SRAM. Tas tika darīts, no koda noņemot aparatūras seriālo portu. Tas palielināja 64 baitu pārraides un 64 baitu saņemšanas buferus.

// Serial.begin (9600); // aparatūras seriālais ports ir atspējots

EEPROM izmantošana stīgām

Katrai ievadei un izvadei vajadzēja saglabāt trīs virknes. Tie ir kanāla nosaukums, virkne, kad kanāls ir ieslēgts, un virkne, kad kanāls ir izslēgts.

Kopā ar 8 I/O kanāliem tie būs

  • 8 virknes ar kanālu nosaukumiem, katra 10 rakstzīmes gara
  • 8 virknes, kas satur apraksta kanālu, katra 10 rakstzīmes gara
  • 8 virknes, kas satur kanāla izslēgšanas aprakstu, katra 10 rakstzīmes gara

Šī reklāma līdz 240 baitiem SRAM. Tā vietā, lai šīs virknes saglabātu SRAM, tās tiek saglabātas EEPROM. Tas atbrīvoja papildu 240 baitus SRAM.

Deklarējošā virkne ar pareizo garumu

Mainīgie parasti tiek deklarēti koda sākumā. Izplatīta kļūda, deklarējot virknes mainīgo, ir tā, ka mēs nepaziņojam virkni ar pareizu rakstzīmju skaitu.

Virkne GSM_Nr = "";

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

Palaišanas laikā mikrokontrolleris šiem mainīgajiem nepiešķir atmiņu SRAM. Tas vēlāk var izraisīt nestabilitāti, ja tiek izmantotas šīs virknes.

Lai to novērstu, norādiet virknes ar pareizo rakstzīmju skaitu, ko virkne izmantos programmatūrā.

Virkne GSM_Nr = "1000000000";

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

Ievērojiet, kā es nedeklarēju virknes ar vienādām rakstzīmēm. Ja deklarēsit visas šīs virknes, sakot "1234567890", kompilators trīs mainīgajos redzēs vienu un to pašu virkni un SRAM piešķirs pietiekami daudz atmiņas tikai vienai no virknēm.

10. solis: programmatūras sērijas bufera lielums

Programmatūras sērijas bufera izmērs
Programmatūras sērijas bufera izmērs

Turpmākajā kodā pamanīsit, ka no programmatūras seriālā porta var nolasīt līdz 200 rakstzīmēm.

// skenējiet datus no programmatūras seriālā porta

// ----------------------------------------------- RxString = ""; Skaitītājs = 0; while (SSerial.available ()) {delay (1); // īsa aizkave, lai dotu laiku jaunu datu ievietošanai buferī // iegūt jaunu rakstzīmi RxChar = char (SSerial.read ()); // pievienojiet virknei pirmās 200 rakstzīmes, ja (skaitītājs <200) {RxString.concat (RxChar); Skaitītājs = skaitītājs + 1; }}

Tam nepieciešams arī vismaz 200 baitu buferis programmatūras seriālajam portam. pēc noklusējuma programmatūras seriālā porta buferis ir tikai 64 baiti. Lai palielinātu šo buferi, meklējiet šādu failu:

SoftwareSerial.h

Atveriet failu ar teksta redaktoru un mainiet bufera lielumu uz 200.

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

* Definīcijas ************************************************ ******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX bufera izmērs #endif

11. solis: PC plates izgatavošana

PC plates izgatavošana
PC plates izgatavošana

PC dēlis tika izstrādāts, izmantojot Cadsoft Eagle bezmaksas programmatūras versiju (es uzskatu, ka nosaukums ir mainījies).

  • PC Board ir vienpusējs dizains.
  • Netiek izmantotas virsmas montāžas sastāvdaļas.
  • Visas sastāvdaļas ir uzstādītas uz datora plates, ieskaitot SIM800L moduli.
  • Nav nepieciešami ārēji komponenti vai savienojumi
  • Stiepļu džemperi ir paslēpti zem sastāvdaļām, lai iegūtu tīrāku izskatu.

PC paneļu izgatavošanai es izmantoju šādu metodi:

  • PC Board attēls tiek izdrukāts uz Press-n-Peel, izmantojot lāzera printeri.
  • Pēc tam Press-n-Peel tiek novietots virs tīra PC Board gabala un nostiprināts ar lenti.
  • Pēc tam PC Board attēls tiek pārnests no Press-n-Peel uz tukšo PC Board, izlaižot dēli caur laminatoru. Man vislabāk der 10 piespēles.
  • Pēc tam, kad PC Board ir atdzisis līdz istabas temperatūrai, Press-n-Peel lēnām tiek noņemts no tāfeles.
  • Pēc tam PC dēli kodina, izmantojot amonija persulfāta kristālus, kas izšķīdināti karstā ūdenī.
  • Pēc kodināšanas zilais Press-n-Peel un melnais toneris tiek noņemts, notīrot iegravēto datora paneli ar nedaudz acetona.
  • Pēc tam dēlis tiek sagriezts pēc izmēra ar Dremel
  • Visiem caurumiem caurumiem tiek urbti caur 1 mm urbi.
  • Termināla skrūvju savienotāji tiek urbti, izmantojot 1,2 mm urbi.

12. solis: PC plates montāža

PC valdes montāža
PC valdes montāža
PC valdes montāža
PC valdes montāža
PC valdes montāža
PC valdes montāža
PC valdes montāža
PC valdes montāža

Montāža tiek veikta, vispirms pievienojot mazākās sastāvdaļas un strādājot pie lielākajām sastāvdaļām.

Visas šajā instrukcijā izmantotās sastāvdaļas, izņemot SIM800 moduli, tika iegūtas no mana vietējā piegādātāja. Domā, ka viņiem vienmēr ir krājumi. Lūdzu, apskatiet viņu Dienvidāfrikas tīmekļa vietni:

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

PIEZĪME! Vispirms lodējiet divus džemperus, kas atrodas zem ATMEGA328p IC

Pasūtījums ir šāds:

  • Rezistori un diodes
  • Atiestatīšanas poga
  • IC ligzdas
  • Sprieguma regulators
  • Galvenes tapas
  • Mazi kondensatori
  • Gaismas diodes
  • Drošinātāju turētājs
  • Termināla bloki
  • Releji
  • Elektrolītiskie kondensatori

Pirms IC ievietošanas pievienojiet ierīci 12 V spriegumam un pārbaudiet, vai visi spriegumi ir pareizi.

Visbeidzot, izmantojot caurspīdīgu laku, pārklājiet datora plates vara pusi, lai pasargātu to no elementiem.

Kad laka ir izžuvusi, ievietojiet IC, bet atstājiet GSM moduli, līdz AtMega ir ieprogrammēta.

13. darbība: AtMega328p programmēšana

AtMega328p programmēšana
AtMega328p programmēšana
AtMega328p programmēšana
AtMega328p programmēšana
AtMega328p programmēšana
AtMega328p programmēšana

# # Programmaparatūras jaunināšana uz versiju 3.02 # #

Iespējotās īsziņas jānosūta MASTER USER, kad ierīce tiek atjaunota

Iekārtas programmēšanai es izmantoju Arduino Uno ar programmēšanas vairogu. Lai iegūtu papildinformāciju par to, kā izmantot Arduino Uno kā programmētāju, skatiet šo pamācību:

Arduino UNO kā AtMega328P programmētājs

Lai piekļūtu programmēšanas galvenei, GSM modulis ir jānoņem no datora plates. Uzmanieties, lai, bojājot GSM moduli, nesabojātu antenas vadu.

Pievienojiet programmēšanas kabeli starp programmētāju un ierīci, izmantojot programmēšanas galveni uz PC Board., Un augšupielādējiet skici ierīcē.

Iekārtas programmēšanai nav nepieciešama ārējā 12 V barošana. PC Board tiks barots no Arduino, izmantojot programmēšanas kabeli.

Atveriet pievienoto failu Arduino IDE un ieprogrammējiet to ierīcē.

Pēc programmēšanas noņemiet programmēšanas kabeli un ievietojiet GSM moduli.

Iekārta tagad ir gatava lietošanai.

14. darbība: ierīces pievienošana

Iekārtas pievienošana
Iekārtas pievienošana
Iekārtas pievienošana
Iekārtas pievienošana
Iekārtas pievienošana
Iekārtas pievienošana

Visi savienojumi ar ierīci tiek veikti caur skrūvju spailēm.

Iekārtas barošana

Pārliecinieties, vai esat ievietojis reģistrētu SIM karti GSM modulī un vai SIM karte spēj nosūtīt un saņemt īsziņas.

Pievienojiet 12V līdzstrāvas barošanas avotu 12V IN un jebkuram 0V terminālim. Kad tas ir ieslēgts, iedegas sarkanā gaismas diode PC panelī. Apmēram pēc minūtes GSM modulim vajadzētu būt savienotam ar mobilo tālruņu tīklu. Sarkanā gaismas diode izslēgsies, un sarkanā gaismas diode uz GSM moduļa ātri mirgos.

Kad šis posms ir sasniegts, iekārta ir gatava konfigurēšanai.

Ievades savienojumi

Digitālās ieejas darbojas ar 12 V spriegumu. Lai ieslēgtu ieeju, ieejai jāpieliek 12V. Noņemot 12 V, ieeja tiks izslēgta.

Izejas savienojumi

Katra izeja sastāv no pārslēgšanas kontakta. Pievienojiet katru kontaktu pēc nepieciešamības.

15. darbība: sākotnējā iestatīšana

Sākotnējā iestatīšana
Sākotnējā iestatīšana

Ierīces sākotnējā iestatīšana jāveic, lai nodrošinātu, ka visi parametri ir iestatīti uz rūpnīcas noklusējuma iestatījumiem un SIM karte ir konfigurēta tā, lai pieņemtu lietotāja informāciju pareizā formātā.

Tā kā visas komandas ir balstītas uz īsziņām, iestatīšanai būs nepieciešams cits tālrunis.

Sākotnējai iestatīšanai jums jāatrodas vienībā.

Iestatiet MASTER USER tālruņa numuru

Tā kā ierīci var konfigurēt tikai MASTER USER, šī darbība ir jāveic vispirms.

  • Iekārtai jābūt barotai.
  • Nospiediet un atlaidiet pogu Atiestatīt un pagaidiet, līdz PC Board sarkanā gaismas diode nodziest.
  • GSM moduļa NET gaismas diode ātri mirgos.
  • Iekārta tagad ir gatava pieņemt sākotnējās iestatīšanas komandas. Tas jāveic 10 minūšu laikā.
  • Nosūtiet uz ierīces tālruņa numuru īsziņu, kas satur MASTER, aprakstu.
  • Ja saņemts, PC Board zaļā gaismas diode mirgos divas reizes.
  • MASTER USER tagad ir ieprogrammēts.

Atjaunojiet iekārtas rūpnīcas noklusējuma iestatījumus

Pēc MASTER USER ieprogrammēšanas ierīces iestatījumi ir jāiestata rūpnīcas noklusējuma iestatījumos.

  • Uz ierīces tālruņa numuru nosūtiet īsziņu tikai ar CLEARALL.
  • Ja saņemts, datora paneļa zaļā un sarkanā gaismas diode mirgo pārmaiņus reizi sekundē. Ierīce ir atjaunota, izmantojot rūpnīcas noklusējuma iestatījumus.
  • Visi iestatījumi ir atjaunoti uz rūpnīcas noklusējuma iestatījumiem.
  • Nospiediet un atlaidiet pogu Atiestatīt, lai restartētu ierīci.

SIM kartes formatēšana

Pēdējais solis ir izdzēst visu SIM kartē saglabāto informāciju un konfigurēt to lietošanai šajā ierīcē.

  • Nospiediet un atlaidiet pogu Atiestatīt un pagaidiet, līdz PC Board sarkanā gaismas diode nodziest.
  • GSM moduļa NET gaismas diode ātri mirgos.
  • Iekārta tagad ir gatava pieņemt sākotnējās iestatīšanas komandas. Tas jāveic 10 minūšu laikā.
  • Uz ierīces tālruņa numuru nosūtiet īsziņu tikai ar ERASESIM.
  • Ja saņemts, PC Board zaļā gaismas diode mirgos koku laikos.

Ierīce ir konfigurēta un ir gatava lietošanai.

16. darbība: SMS komandas

SMS komandas
SMS komandas

Vienība izmanto trīs dažādu veidu komandas. Visas komandas tiek sūtītas, izmantojot SMS, un visas ir šādā formātā:

COMMAND,,,,,

  • Visas komandas, izņemot komandas NORMAL USER, ir reģistrjutīgas.
  • Parametri nav reģistrjutīgi.

Sākotnējās iestatīšanas komandas

MEISTARS, vārds

SMS sūtītāja tālruņa numurs tiek izmantots kā MASTER USER tālruņa numurs. vienības aprakstu var pievienot šeit.

NODZĒST VISU

Atiestatiet iekārtu uz rūpnīcas noklusējuma iestatījumiem

CLEARSIM

Izdzēsiet visus datus no SIM kartes

ATiestatīt

Pārstartējiet vienību

MASTER USER Komandas ierīces konfigurēšanai

OUTMODE, c, m, t PIEZĪME! ! ! VĒL NAV ĪSTENOTS

Iestatiet konkrētus kanālus, lai tiem būtu PULSED, TIMED vai LATCHING izejas. t ir TIMED izejas laika ilgums minūtēs

PULSS, cccc

Iestatiet konkrētus kanālus uz PULSED izejām. Ja tas nav iestatīts, kanāli tiks iestatīti kā LATCHING izvadi.

PULSETIME, tIestata impulsa izejas ilgumu sekundēs (0.. 10 s)

INPUTON, cccc

Iestatiet kanālus, kuriem jāaktivizē, un nosūtiet īsziņu, kad stāvoklis mainās no OFF uz ON

INPUTOFF, cccc

Iestatiet kanālus, kuriem jāaktivizē, un nosūtiet īsziņu, kad stāvoklis mainās no IESLĒGTS uz IZSLĒGTS

INTIME, c, t

Iestata ievades aizkaves laiku statusa izmaiņu noteikšanai sekundēs

INTEXT, ch, nosaukums, ieslēgts, izslēgts

Iestatiet katra ievades kanāla nosaukumu tekstam un izslēgtam tekstam

OUTTEXT, ch, name, ieslēgts, izslēgts

Iestatiet katra izvades kanāla nosaukumu tekstam un izslēgtam tekstam

Pievienot, atrašanās vieta, skaits, Norādes, SMS izejas, ieejas

Pievienojiet lietotāju SIM kartei atmiņas “atrašanās vietā”, lietotājam piešķirot izejas un ievades kanālus

Del, atrašanās vieta

Lietotāja dzēšana no SIM kartes atmiņas “atrašanās vietas”

Kanāla nosaukums

Izvadīs impulsu ar nosaukumu ChannelName

ChannelName, onText vai ChannelName, offText

Ieslēgs/izslēgs izvadi ar nosaukumu ChannelName un onText/offText

Parastas lietotāja komandas ierīces vadīšanai

???? Pieprasīt I/O statusa atjaunināšanu. Statusa īsziņa tiks nosūtīta iniciatoram.

Kanāla nosaukums

Izvadīs impulsu ar nosaukumu ChannelName

ChannelName, onText

Ieslēgs izvadi ar nosaukumu ChannelName un statusa tekstu onText

Kanāla nosaukums, izslēgts teksts Izslēgs izvadi ar nosaukumu Kanāla nosaukums un statusa teksts izslēgts

Sīkāku komandu aprakstu skatiet pievienotajā PDF dokumentā.

Ieteicams: