Obsah:

Diaľkové ovládanie GSM/SMS na báze Arduino: 16 krokov (s obrázkami)
Diaľkové ovládanie GSM/SMS na báze Arduino: 16 krokov (s obrázkami)

Video: Diaľkové ovládanie GSM/SMS na báze Arduino: 16 krokov (s obrázkami)

Video: Diaľkové ovládanie GSM/SMS na báze Arduino: 16 krokov (s obrázkami)
Video: Remote Control Arduino Door Lock 2024, November
Anonim
Diaľkové ovládanie GSM/SMS na báze Arduino
Diaľkové ovládanie GSM/SMS na báze Arduino

! ! ! N O T I C E! !

Vzhľadom na to, že v mojej oblasti sa aktualizuje miestna mobilná veža, už nemôžem používať tento modul GSM. Novšia veža už nepodporuje zariadenia 2G. Preto už nemôžem tomuto projektu poskytnúť žiadnu podporu.

S tak širokou škálou GSM modulov, ktoré sú k dispozícii pre domácich majstrov, väčšina z nás skončila s kúpou jedného. Kúpil som si modul SIM800L lokálne a skončil som sa s rôznymi príkazmi modulu.

Pomocou Arduino Uno a Arduino IDE som dokázal svoje nápady premeniť na skutočnosť. To nebolo jednoduché, pretože SINGLE BIGGEST ISSUE je obmedzenie iba na 2 kB SRAM. Po mnohých výskumoch na internete a rôznych fórach som dokázal toto obmedzenie prekonať.

Tento projekt zachránili rôzne programovacie techniky, oveľa lepšie porozumenie kompilátoru Arduino a použitie SIM karty a EEPROM na dodatočnú pamäť. Po niekoľkých zmenách v kóde bol stabilný prototyp zostavený a testovaný počas jedného týždňa.

Nevýhodou obmedzeného SRAM bolo, že jednotka nemohla byť vybavená displejom a užívateľskými klávesmi. Výsledkom bolo úplné prepísanie kódu. Bez používateľského rozhrania zostala jedinou možnosťou, ako pokračovať v projekte, použitie správ SMS na konfiguráciu jednotky a tiež používateľov.

Ukázalo sa, že je to vzrušujúci projekt a ako vývoj pokračoval, pribudli ďalšie futures.

Mojím hlavným cieľom bolo držať sa Arduino Uno, alebo v tomto prípade ATMEGA328p, a nepoužívať žiadne komponenty pre povrchovú montáž. Široká verejnosť tak bude jednoduchšie kopírovať a stavať jednotku.

Špecifikácia jednotky:

  • Na jednotke je možné naprogramovať maximálne 250 používateľov
  • Štyri digitálne výstupy
  • Štyri digitálne vstupy
  • Každý výstup môže byť nakonfigurovaný ako výstup PULSE alebo ON/OFF
  • Trvanie výstupného impulzu je možné nastaviť medzi 0,5 … 10 sekundami
  • Každý vstup je možné nakonfigurovať tak, aby spúšťal zmeny VYPNUTÉ a ZAPNUTÉ.
  • Každý vstup je možné nakonfigurovať tak, aby spúšťal zmeny ON a OFF
  • Každý čas oneskorenia vstupu je možné nastaviť od 0 sekúnd do 1 hodiny
  • SMS správy o zmenách na vstupoch je možné odoslať 5 rôznym používateľom
  • Názvy a stavový text pre každý vstup môže nastaviť používateľ
  • Názvy a stavový text pre každý výstup môže nastaviť užívateľ
  • Jednotku je možné nakonfigurovať na príjem správ o zostatku na karte SIM prostredníctvom správ USSD.
  • Všetci používatelia môžu požadovať aktualizácie stavu I/O jednotky
  • Všetci používatelia môžu ovládať jednotlivé výstupy prostredníctvom správ SMS
  • Každý užívateľ môže ovládať jednotlivé výstupy volaním jednotky

Bezpečnostné prvky

  • Počiatočné nastavenie jednotky je možné vykonať iba vtedy, keď ste v jednotke.
  • Počiatočné nastavenie môže vykonať iba MASTER USER
  • Príkazy na počiatočné nastavenie sa automaticky deaktivujú po desiatich minútach.
  • Jednotku môžu ovládať iba hovory a správy SMS od známych používateľov
  • Používatelia môžu obsluhovať iba výstupy, ktoré im priradil MASTER USER

Ďalšie vlastnosti

  • Hovory na toto zariadenie sú bezplatné, pretože na tento hovor nikto neprijme.
  • Po zavolaní jednotky sa hovor preruší až po 2 sekundách. Toto je potvrdenie volajúcemu, že jednotka reagovala na volanie.
  • Ak poskytovateľ služieb SIM karty podporuje správy USSD, zisťovanie zostatku môže vykonať MASTER USER. Správa USSD obsahujúca zostatok bude potom preposlaná MASTER USER.

Krok 1: Napájanie

Zdroj
Zdroj

Aby bolo možné jednotku pripojiť k štandardným bezpečnostným systémom (poplašné systémy, elektrické garážové brány, motory elektrických brán), bude jednotka napájaná z 12 V DC, ktoré je v týchto systémoch bežne k dispozícii.

Napájanie je dodávané na svorkách 12V IN a 0V a je chránené poistkou 1A. K dispozícii sú ďalšie svorky 12V OUT, ktoré sú tiež chránené poistkou.

Dióda D1 chráni jednotku pred zapojením opačnej polarity na 12 V linkách.

Kondenzátory C1 a C2 filtrujú všetok hluk prítomný na napájacích vedeniach 12V. Napájanie 12 V slúži na napájanie relé jednotky.

Napájanie 5 V pozostáva z regulátora napätia LM7805L a stabilného výstupu +5 V je potrebných pre modul GSM SIM800L a mikroprocesor. Kondenzátory C3 a C4 filtrujú všetok hluk, ktorý môže byť prítomný na napájacom vedení +5V. Použili sa relatívne veľké elektrolytické kondenzátory, pretože modul GSM800800 používa pri prenose dosť energie.

Na regulátore napätia nie je potrebný žiadny chladič.

Krok 2: Digitálne vstupy

Digitálne vstupy
Digitálne vstupy
Digitálne vstupy
Digitálne vstupy

Všetky digitálne vstupné signály sú 12 V a musia byť prepojené s 5 V mikroradičom. Na tento účel sa používajú optické spojky na izoláciu 12 V signálov zo systému 5 V.

Vstupný odpor 1 kB obmedzuje vstupný prúd do optočlenu na približne 10 mA.

Vzhľadom na priestorové obmedzenia nebol na doske PC k dispozícii žiadny priestor pre 5V výsuvné odpory. Mikroprocesor je nastavený tak, aby umožňoval slabým vyťahovaniam vstupných pinov.

Bez signálu na vstupe (NÍZKY) optočlenu nebude cez diódu LED optočlena prechádzať žiadny prúd. Preto je tranzistor opto spojky vypnutý. Slabé vytiahnutie mikroovládača vytiahne kolektor takmer na 5 V a bude ho mikrořadič považovať za logický VYSOKÝ.

Pri použití 12 V (HIGH) na vstup optočlenu prejde LED diódou opto spojky približne 10 mA. Preto bude tranzistor opto spojky zapnutý. Tým sa kolektor stiahne na takmer 0 V a mikrokontrolér ho bude považovať za logický NÍZKY.

Všimnite si toho, že vstup videný mikrokontrolérom je obrátený v porovnaní so vstupom 12V.

Normálny kód na čítanie vstupného kolíka vyzerá takto:

booleovský vstup = digitalRead (vstupný kolík);

Na opravu invertovaného signálu použite nasledujúci kód:

booleovský vstup =! digitalRead (vstupný kolík); // POZOR! pred čítaním

Teraz vstup videný mikrokontrolérom bude zodpovedať vstupu na vstupe 12V.

Konečný vstupný obvod pozostáva zo 4 digitálnych vstupov. Každý vstup je pripojený k svorkám na doske PC.

Krok 3: Digitálne výstupy

Digitálne výstupy
Digitálne výstupy
Digitálne výstupy
Digitálne výstupy
Digitálne výstupy
Digitálne výstupy

Za normálnych okolností, keď obvod poháňa iba minimálny počet relé, je najlepším spôsobom použiť obvod budiča tranzistora, ako je to znázornené. Je to jednoduché, lacné a efektívne.

Rezistory poskytujú obmedzenie prúdu na zem a obmedzenie prúdu tranzistora. Tranzistor sa používa na zvýšenie prúdu dostupného na pohon relé. Tranzistor, ktorý odoberá z kolíka mikroovládača iba 1 mA, dokáže prepnúť záťaž 100 mA. Viac ako dosť pre väčšinu typov relé. Dióda je fly-back dióda, ktorá chráni obvod pred špičkami vysokého napätia počas reléového spínania. Ďalšou výhodou použitia tohto obvodu je, že prevádzkové napätie relé sa môže líšiť od napätia mikrokontroléra. Namiesto použitia 5V relé je teda možné použiť akékoľvek jednosmerné napätie až do 48V.

Predstavujeme ULN2803

Čím viac relé projekt požaduje, tým vyšší je počet komponentov. To sťaží návrh DPS a môže zaberať cenný priestor na DPS. Použitie tranzistorového poľa, ako je ULN2803, však určite pomôže udržať malú veľkosť dosky plošných spojov. ULN2803 je ideálne vhodný pre vstupy 3,3 V a 5 V z mikrokontroléra a môže napájať relé až do 48 V DC. Tento ULN2803 má 8 samostatných tranzistorových obvodov, každý obvod je vybavený všetkými komponentmi potrebnými na spínanie relé.

Konečný výstupný obvod pozostáva z ULN3803, poháňajúceho 4 výstupné relé 12V. Každý kontakt relé je k dispozícii na svorkách dosky PC.

Krok 4: Oscilátor mikroovládača

Mikroovládací oscilátor
Mikroovládací oscilátor
Mikroovládací oscilátor
Mikroovládací oscilátor
Mikroovládací oscilátor
Mikroovládací oscilátor

Obvod oscilátora

Mikroprocesor potrebuje na správnu funkciu oscilátor. Aby sa dodržal dizajn Arduino Uno, obvod bude využívať štandardný 16MHz oscilátor. K dispozícii sú dve možnosti:

Kryštál

Táto metóda používa kryštál pripojený k dvom zaťažovacím kondenzátorom. Toto je najbežnejšia možnosť.

Rezonátor

Rezonátor je v zásade kryštál a dva zaťažovacie kondenzátory v jednom 3-kolíkovom balení. To znižuje množstvo komponentov a zvyšuje dostupný priestor na doske PC.

Aby bol počet komponentov čo najmenší, rozhodol som sa použiť 16MHz rezonátor.

Krok 5: Indikačné LED diódy

Indikačné LED diódy
Indikačné LED diódy
Indikačné LED diódy
Indikačné LED diódy

Čo bude akýkoľvek obvod bez niektorých diód LED? Na doske PC boli zaistené 3 mm diódy LED.

Rezistory 1K sa používajú na obmedzenie prúdu LED diódami na menej ako 5 mA. Pri použití 3 mm vysoko jasných diód LED je jas vynikajúci.

Na jednoduchú interpretáciu stavových LED diód sa používajú dve farby. Kombináciou dvoch diód LED s blikajúcimi indikáciami je možné získať veľa informácií iba z dvoch diód LED.

Červená LED

Červená LED dióda slúži na označenie poruchových stavov, dlhých oneskorení alebo nesprávnych príkazov.

Zelená LED

Zelená LED dióda sa používa na označenie zdravých a/alebo správnych vstupov a príkazov.

Krok 6: Obvod resetovania mikroprocesora

Obvod resetovania mikroprocesora
Obvod resetovania mikroprocesora

Z bezpečnostných dôvodov sú niektoré funkcie jednotky dostupné iba počas prvých 10 minút po zapnutí jednotky.

Na resetovanie jednotky pomocou tlačidla reset nie je potrebné vypnúť napájanie jednotky.

Ako to funguje

Rezistor 10K udrží líniu RESET blízko 5V. Keď je tlačidlo stlačené, linka RESET bude vytiahnutá na 0V, čím sa mikroprocesor resetuje. Po uvoľnení tlačidla sa riadok RESET vráti do %v, čím sa obnoví mikroovládač.

Krok 7: Modul SIM800L

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

Srdcom jednotky je GSM modul SIM800L. Tento modul používa iba 3 I/O piny na mikroovládači.

Modul je prepojený s mikroprocesorom prostredníctvom štandardného sériového portu.

  • Všetky príkazy do jednotky sa odosielajú cez sériový port pomocou štandardných príkazov AT.
  • Pri prichádzajúcom hovore alebo pri prijatí SMS sa informácie odošlú do mikrokontroléra cez sériový port pomocou textu ASCII.

Aby sa ušetril priestor, modul GSM je k doske PC pripojený pomocou 7-kolíkového konektora. Demontáž modulu GSM je tak jednoduchá. Užívateľovi to tiež umožní ľahko vložiť/vybrať SIM kartu v spodnej časti modulu.

Vyžaduje sa aktívna SIM karta a SIM karta musí byť schopná odosielať a prijímať SMS správy.

Nastavenie GSM modulu SIM800L

Pri zapnutí jednotky sa resetovací kolík modulu GSM na sekundu stiahne nadol. To zaisťuje, že sa modul GSM spustí až po stabilizácii napájania. Reštartovanie modulu GSM trvá niekoľko sekúnd, takže pred odoslaním akýchkoľvek AT príkazov do modulu počkajte 5 sekúnd.

Aby sa zabezpečilo, že modul GSM je nakonfigurovaný tak, aby správne komunikoval s mikroradičom, počas spustenia sa používajú nasledujúce AT príkazy:

AT

slúži na zistenie, či je k dispozícii modul GSM

AT+CREG?

Polling tento príkaz, kým nie je modul GSM zaregistrovaný v mobilnej sieti

AT+CMGF = 1

Nastavte režim správ SMS na ASCII

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

Ak je k dispozícii SMS, pošlite podrobnosti o SMS na sériový port modulu GSM

AT+CMGD = 1, 4

Odstráňte všetky správy SMS uložené na karte SIM

AT+CPBS = / "SM

Telefónny zoznam modulu GSM nastavte na kartu SIM

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

Nastaviť čas modulu GSM na čas mobilnej siete

Počkajte 5 sekúnd, kým sa nastaví čas

AT+CUSD = 1

Povoliť funkciu správ USSD

Krok 8: Mikroprocesor

Mikroprocesor
Mikroprocesor
Mikroprocesor
Mikroprocesor
Mikroprocesor
Mikroprocesor

Mikroprocesor je štandardný AtMega328p, rovnaký ako je použitý na Arduino Uno. Kód je teda porovnateľný s oboma. Na umožnenie jednoduchého programovania na doske je na doske PC k dispozícii 6-pólová programovacia hlavička.

Rôzne sekcie jednotky sú pripojené k mikroprocesoru a obsahujú nasledujúce položky:

  • Štyri digitálne vstupy
  • Štyri digitálne výstupy
  • Oscilátor
  • Dve indikačné LED diódy
  • Resetovací obvod
  • GSM modul SIM800L

Všetka komunikácia do a z modulu GSM sa vykonáva pomocou funkcie SoftwareSerial (). Táto metóda bola použitá na uvoľnenie hlavného sériového portu pre Arduino IDE vo fáze vývoja.

S iba 2 kB SRAM a 1 kB EEPROM nie je dostatok pamäte na uloženie viac ako niekoľkých používateľov, ktorých je možné pripojiť k jednotke. Na uvoľnenie pamäte SRAM sú všetky informácie o používateľovi uložené na karte SIM v module GSM. S týmto usporiadaním môže jednotka uspokojiť až 250 rôznych používateľov.

Konfiguračné údaje jednotky sú uložené do EEPROM, čím sa navzájom oddelia užívateľské a systémové údaje.

K dispozícii je ešte niekoľko náhradných I/O pinov, možnosť pridania LCD displeja a/alebo klávesnice však nebola možná kvôli veľkému množstvu pamäte SRAM, ktoré prijímacia a vysielacia vyrovnávacia pamäť SoftWareSerial () používa, Pretože v jednotke chýba akýkoľvek typ používateľského rozhrania, všetky nastavenia a používatelia sú naprogramovaní pomocou správ SMS.

Krok 9: Optimalizácia pamäte SRAM

Optimalizácia pamäte SRAM
Optimalizácia pamäte SRAM

Celkom na začiatku vývojovej fázy Arduino IDE hlásilo pri zostavovaní kódu nízku pamäť SRAM. Na prekonanie tohto problému bolo použitých niekoľko spôsobov.

Obmedzte údaje prijaté na sériovom porte

Modul GSM nahlási všetky správy sériovému portu mikroovládača. Pri prijatí niektorých správ SMS môže celková dĺžka prijatej správy presiahnuť 200 znakov. To môže rýchlo spotrebovať všetok SRAM dostupný na čipe AtMega a spôsobí to problémy so stabilitou.

aby sa tomu zabránilo, použije sa iba prvých 200 znakov AKEJKOĽVEK správy prijatej z modulu GSM. Nasledujúci príklad ukazuje, ako sa to robí počítaním prijatých znakov v premennej Počítadlo.

// skenovanie údajov zo sériového portu softvéru

// ----------------------------------------------- RxString = ""; Počítadlo = 0; while (SSerial.available ()) {delay (1); // krátke oneskorenie na poskytnutie času na umiestnenie nových údajov do vyrovnávacej pamäte // získanie nového znaku RxChar = char (SSerial.read ()); // pridanie prvých 200 znakov do reťazca if (Counter <200) {RxString.concat (RxChar); Počítadlo = počítadlo + 1; }}

Znižovanie kódu Serial.print ()

Napriek tomu, že je sériový monitor Arduino pri vývoji praktický, môže využiť veľa pamäte SRAM. Kód bol vyvinutý s čo najmenším počtom kódov Serial.print (). Jedna časť kódu bola testovaná, aby fungovala, všetok kód Serial.print () bol odstránený z tejto časti kódu.

Použitie kódu Serial.print (F ((""))

Mnoho informácií, ktoré sa bežne zobrazujú na sériovom monitore Arduino, dáva zmysel, keď sú pridané popisy. Vezmite si nasledujúci príklad:

Serial.println ("Čakanie na konkrétne akcie");

Reťazec „Čakanie na konkrétne akcie“je pevný a nemožno ho zmeniť.

Pri kompilácii kódu kompilátor vloží do pamäte FLASH reťazec „Čakanie na konkrétne akcie“.

Kompilátor navyše vidí, že reťazec je konštanta, ktorý používa inštrukcia „Serial.print“alebo „Serial.println“. Pri bootovaní mikro je táto konštanta umiestnená aj do pamäte SRAM.

Použitím predpony „F“vo funkciách Serial.print () hovorí kompilátoru, že tento reťazec je k dispozícii iba v pamäti FLASH. V tomto prípade reťazec obsahuje 28 znakov. To je 28 bajtov, ktoré je možné uvoľniť v SRAM.

Serial.println (F ("Čakanie na konkrétne akcie"));

Táto metóda platí aj pre príkazy SoftwareSerial.print (). Pretože modul GSM pracuje na príkazoch AT, kód obsahuje množstvo príkazov SoftwareSerial.print („xxxx“). Použitím predpony „F“sa uvoľnilo takmer 300 bajtov pamäte SRAM.

Nepoužívajte hardvérový sériový port

Po ladení kódu bol hardvérový sériový port deaktivovaný odstránením VŠETKÝCH príkazov Serial.print (). Tým sa uvoľnilo niekoľko ďalších bajtov pamäte SRAM.

Bez toho, aby v kóde zostali akékoľvek príkazy Serial.print (), bolo sprístupnených ďalších 128 bajtov pamäte SRAM. To sa uskutočnilo odstránením hardvérového sériového portu z kódu. Tým sa zvýšili nárazníkové vyrovnávacie pamäte pre prenos 64 a 64 bajtov.

// Serial.begin (9600); // hardvérový sériový port deaktivovaný

Použitie EEPROM na reťazce

Pre každý vstup a výstup bolo potrebné uložiť tri reťazce. Sú to názov kanála, reťazec, keď je kanál zapnutý, a reťazec, keď je kanál vypnutý.

S celkom 8 I/O kanálmi budú ich

  • 8 reťazcov obsahujúcich názvy kanálov, z ktorých každý má 10 znakov
  • 8 reťazcov obsahujúcich kanál v popise, každý o dĺžke 10 znakov
  • 8 reťazcov obsahujúcich popis vypnutého kanála, z ktorých každý má 10 znakov

Toto inzeruje až 240 bajtov pamäte SRAM. Namiesto ukladania týchto reťazcov do pamäte SRAM sa ukladajú do pamäte EEPROM. Tým sa uvoľnilo ďalších 240 bajtov pamäte SRAM.

Deklarujúci reťazec so správnou dĺžkou

Premenné sú obvykle uvedené na začiatku kódu. Bežnou chybou pri deklarovaní reťazcovej premennej je, že reťazec nedeklarujeme so správnym počtom znakov.

Reťazec GSM_Nr = "";

Reťazec GSM_Name = ""; Reťazec GSM_Msg = "";

Počas spustenia nebude mikroprocesor alokovať pamäť v SRAM pre tieto premenné. To môže neskôr spôsobiť nestabilitu pri použití týchto reťazcov.

Aby ste tomu zabránili, deklarujte reťazce so správnym počtom znakov, ktoré reťazec použije v softvéri.

Reťazec GSM_Nr = "1000000000";

Reťazec GSM_Name = "2000000000"; Reťazec GSM_Msg = "3000000000";

Všimnite si, ako som nedeklaroval reťazce s rovnakými znakmi. Ak deklarujete všetky tieto reťazce povedzme „1234567890“, kompilátor uvidí rovnaký reťazec v troch premenných a vyhradí dostatok pamäte v SRAM iba pre jeden z reťazcov.

Krok 10: Veľkosť sériovej vyrovnávacej pamäte softvéru

Veľkosť sériovej vyrovnávacej pamäte softvéru
Veľkosť sériovej vyrovnávacej pamäte softvéru

V nasledujúcom kóde si všimnete, že zo sériového portu softvéru je možné prečítať až 200 znakov.

// skenovanie údajov zo sériového portu softvéru

// ----------------------------------------------- RxString = ""; Počítadlo = 0; while (SSerial.available ()) {delay (1); // krátke oneskorenie na poskytnutie času na umiestnenie nových údajov do vyrovnávacej pamäte // získanie nového znaku RxChar = char (SSerial.read ()); // pridanie prvých 200 znakov do reťazca if (Counter <200) {RxString.concat (RxChar); Počítadlo = počítadlo + 1; }}

To vyžaduje vyrovnávaciu pamäť najmenej 200 bajtov aj pre sériový port softvéru. v predvolenom nastavení je vyrovnávacia pamäť softvérového sériového portu iba 64 bajtov. Ak chcete zväčšiť túto vyrovnávaciu pamäť, vyhľadajte nasledujúci súbor:

SoftwareSerial.h

Otvorte súbor v textovom editore a zmeňte veľkosť vyrovnávacej pamäte na 200.

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

*Definície ************************************** ******************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // veľkosť vyrovnávacej pamäte RX #endif

Krok 11: Výroba dosky PC

Výroba dosky PC
Výroba dosky PC

Doska PC bola navrhnutá pomocou bezplatnej verzie softvéru Cadsoft Eagle (domnievam sa, že názov sa zmenil).

  • Doska PC je jednostranný dizajn.
  • Nie sú použité žiadne súčiastky pre povrchovú montáž.
  • Všetky komponenty sú namontované na doske PC, vrátane modulu SIM800L.
  • Nie sú potrebné žiadne externé komponenty alebo pripojenia
  • Drátové prepojky sú ukryté pod komponentmi pre čistejší vzhľad.

Na výrobu dosiek pre PC používam nasledujúcu metódu:

  • Obraz PC Board je vytlačený na Press-n-Peel pomocou laserovej tlačiarne.
  • Press-n-Peel sa potom položí na čistý kus dosky PC a zaistí sa páskou.
  • Obraz dosky PC sa potom prenesie z Press-n-Peel na prázdnu dosku PC prechodom dosky cez laminátor. Mne najlepšie funguje 10 priechodov.
  • Potom, čo sa doska PC ochladí na izbovú teplotu, sa Press-n-Peel pomaly zdvihne z dosky.
  • Doska PC sa potom leptá pomocou kryštálov síranu amónneho rozpusteného v horúcej vode.
  • Po leptaní sa modrý Press-n-Peel a čierny toner odstránia očistením leptanej dosky PC trochou acetónu.
  • Doska sa potom rozreže na veľkosť pomocou Dremelu
  • Otvory pre všetky diely priechodných otvorov sú vyvŕtané pomocou vrtáka s priemerom 1 mm.
  • Skrutkové konektory svoriek sa vŕtajú pomocou 1,2 mm vrtáka.

Krok 12: Montáž dosky PC

Zostavenie dosky PC
Zostavenie dosky PC
Zostavenie dosky PC
Zostavenie dosky PC
Zostavenie dosky PC
Zostavenie dosky PC
Zostavenie dosky PC
Zostavenie dosky PC

Montáž prebieha tak, že najskôr pridáte najmenšie súčiastky a prepracujete sa k tým najväčším.

Všetky komponenty použité v tomto návode, okrem modulu SIM800, pochádzajú od môjho miestneho dodávateľa. Myslí si, že majú vždy zásoby. Pozrite sa na ich juhoafrického webového servera:

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

POZNÁMKA! Prvé spájkovanie dvoch prepojok umiestnených pod integrovaným obvodom ATMEGA328p

Poradie je nasledovné:

  • Rezistory a dióda
  • Tlačidlo reštart
  • IC zásuvky
  • Regulátor napätia
  • Kolíky hlavičky
  • Malé kondenzátory
  • LED diódy
  • Držiak poistky
  • Svorkovnice
  • Relé
  • Elektrolytické kondenzátory

Pred vložením integrovaných obvodov zapojte jednotku na 12 V a skontrolujte, či sú všetky napätia správne.

Nakoniec pomocou nejakého číreho laku zakryte medenú stranu dosky PC, aby ste ju chránili pred živlami.

Keď lak zaschne, vložte integrované obvody, ale modul GSM nechajte, kým sa nenaprogramuje AtMega.

Krok 13: Programovanie AtMega328p

Programovanie AtMega328p
Programovanie AtMega328p
Programovanie AtMega328p
Programovanie AtMega328p
Programovanie AtMega328p
Programovanie AtMega328p

# # Aktualizácia firmvéru na verziu 3.02 # #

Povolené odosielanie SMS správam MASTER USER po obnovení napájania zariadenia

Na programovanie jednotky používam Arduino Uno s programovacím štítom. Ďalšie informácie o tom, ako používať Arduino Uno ako programátora, nájdete v tomto návode:

Arduino UNO ako programátor AtMega328P

Na získanie prístupu k programovacej hlavičke je potrebné odstrániť modul GSM z dosky PC. Pri vyberaní modulu GSM dávajte pozor, aby ste nepoškodili kábel antény.

Pripojte programovací kábel medzi programátor a jednotku pomocou programovacej hlavičky na doske PC a nahrajte náčrt do jednotky.

Externé napájanie 12V nie je potrebné na programovanie jednotky. Doska PC bude napájaná z Arduina pomocou programovacieho kábla.

Otvorte priložený súbor v Arduino IDE a naprogramujte ho do jednotky.

Po programovaní odpojte programovací kábel a vložte modul GSM.

Zariadenie je teraz pripravené na použitie.

Krok 14: Pripojenie jednotky

Pripojenie jednotky
Pripojenie jednotky
Pripojenie jednotky
Pripojenie jednotky
Pripojenie jednotky
Pripojenie jednotky

Všetky pripojenia k jednotke sa vykonávajú pomocou skrutkových svoriek.

Napájanie jednotky

Uistite sa, že ste do modulu GSM vložili zaregistrovanú SIM kartu a že karta SIM dokáže odosielať a prijímať správy SMS.

Pripojte napájanie 12 V DC na vstup 12 V a na ktorýkoľvek z 0V terminálov. Po zapnutí sa rozsvieti červená LED dióda na doske PC. Asi do minúty by sa mal modul GSM pripojiť k mobilnej sieti. Červená LED dióda zhasne a červená LED dióda na GSM module bude rýchlo blikať.

Akonáhle je táto fáza dosiahnutá, jednotka je pripravená na konfiguráciu.

Vstupné pripojenia

Digitálne vstupy fungujú na 12V. Na zapnutie vstupu je potrebné na vstup použiť napätie 12V. Odstránením 12V sa vstup vypne.

Výstupné pripojenia

Každý výstup pozostáva z prepínacieho kontaktu. Zapojte každý kontakt podľa potreby.

Krok 15: Počiatočné nastavenie

Pôvodné nastavenie
Pôvodné nastavenie

Počiatočné nastavenie jednotky je potrebné vykonať, aby sa zaistilo, že všetky parametre sú nastavené na predvolené výrobné hodnoty a že karta SIM je nakonfigurovaná tak, aby prijímala informácie o používateľovi v správnom formáte.

Pretože všetky príkazy sú založené na SMS, budete na vykonanie nastavenia potrebovať ďalší telefón.

Na úvodné nastavenie musíte byť pri jednotke.

Nastavte telefónne číslo MASTER USER

Pretože jednotku môže konfigurovať iba MASTER USER, tento krok je potrebné vykonať ako prvý.

  • Jednotka musí byť napájaná.
  • Stlačte a uvoľnite tlačidlo Reset a počkajte, kým červená kontrolka LED na doske PC nezhasne.
  • LED NET na GSM module bude rýchlo blikať.
  • Jednotka je teraz pripravená prijať príkazy úvodného nastavenia. To sa musí vykonať do 10 minút.
  • Na telefónne číslo jednotky odošlite SMS správu obsahujúcu MASTER, popis.
  • Ak je LED dióda na doske prijatá, dvakrát zabliká.
  • MASTER USER je teraz naprogramovaný.

Obnovte výrobné nastavenia jednotky

Po naprogramovaní MASTER USER je potrebné, aby boli nastavenia jednotky nastavené na predvolené hodnoty od výroby.

  • Na telefónne číslo jednotky odošlite SMS správu s iba CLEARALL.
  • V prípade prijatia bude zelená a červená dióda LED na doske PC striedavo blikať raz za sekundu. Zariadenie bolo obnovené s predvolenými výrobnými nastaveniami.
  • Všetky nastavenia boli obnovené na predvolené výrobné nastavenia.
  • Reštartujte jednotku stlačením a uvoľnením tlačidla Reset.

Formátovanie SIM karty

Posledným krokom je vymazanie všetkých informácií uložených na karte SIM a konfigurácia na použitie v tomto zariadení.

  • Stlačte a uvoľnite tlačidlo Reset a počkajte, kým červená kontrolka LED na doske PC nezhasne.
  • LED NET na GSM module bude rýchlo blikať.
  • Jednotka je teraz pripravená prijať príkazy úvodného nastavenia. To sa musí vykonať do 10 minút.
  • Na telefónne číslo jednotky odošlite SMS správu iba s ERASESIM.
  • V prípade prijatia zelená LED dióda na doske PC bliká stromom.

Jednotka je teraz nakonfigurovaná a je pripravená na použitie.

Krok 16: Príkazy SMS

SMS príkazy
SMS príkazy

Jednotka používa tri rôzne typy príkazov. Všetky príkazy sú odosielané prostredníctvom SMS a sú v nasledujúcom formáte:

PRÍKAZ,,,,,

  • Všetky príkazy, okrem príkazov NORMAL USER, rozlišujú veľké a malé písmena.
  • V parametroch sa nerozlišujú malé a veľké písmená.

Príkazy na počiatočné nastavenie

MASTER, meno

Telefónne číslo odosielateľa SMS sa používa ako telefónne číslo MASTER USER. Tu je možné pridať popis jednotky.

ZMAZAŤ VŠETKO

Obnovte výrobné nastavenia jednotky

CLEARSIM

Vymažte všetky údaje zo SIM karty

RESET

Reštartujte jednotku

MASTER USER Príkazy na konfiguráciu jednotky

OUTMODE, c, m, t POZNÁMKA! ! ! NIE JE IMPLEMENTOVANÉ

Nastavte konkrétne kanály tak, aby mali PULSED, TIMED alebo LATCHING výstupy. t je časové trvanie v minútach pre TIMED výstupy

PULSE, cccc

Nastavte konkrétne kanály na PULSED výstupy. Ak nie je nastavený, kanály budú nastavené ako LATCHING výstupy.

PULSETIME, tNastaví trvanie impulzného výstupu v sekundách (0.. 10 s)

INPUTON, cccc

Nastavte kanály, ktoré sa musia spustiť, a pošlite SMS správu, keď sa stav zmení z VYPNUTÉ na ZAPNUTÉ

INPUTOFF, cccc

Nastavte kanály, ktoré sa musia spustiť, a pošlite SMS správu, keď sa stav zmení zo ZAPNUTÉ na VYPNUTÉ

INTIME, c, t

Nastavuje čas oneskorenia vstupu na detekciu zmien stavu v sekundách

INTEXT, ch, meno, zapnuté, vypnuté

Nastavte názov každého vstupného kanála, na text aj mimo text

OUTTEXT, ch, meno, zapnuté, vypnuté

Nastavte názov každého výstupného kanála na text a mimo text

Pridajte, umiestnenie, číslo, popisy, výstupy SMS, vstupy

Pridajte používateľa na kartu SIM na „miesto“pamäte s výstupnými a vstupnými kanálmi priradenými používateľovi

Del, umiestnenie

Odstrániť používateľa z „umiestnenia“pamäte SIM karty

ChannelName

Bude pulzovať výstup s názvom ChannelName

ChannelName, onText alebo ChannelName, offText

Zapne/vypne výstup s názvom ChannelName a onText/offText

Normálne užívateľské príkazy na ovládanie jednotky

???? Požiadať o aktualizáciu stavu I/O. Stavová SMS bude odoslaná pôvodcovi.

ChannelName

Bude pulzovať výstup s názvom ChannelName

ChannelName, onText

Zapne výstup s názvom ChannelName a stavovým textom v texte

ChannelName, offText Vypne výstup s názvom ChannelName a stavovým textom offText

Podrobnejší popis príkazov nájdete v priloženom dokumente PDF.

Odporúča: