Pigi GSM signalizacija su smegenimis iš Arduino. Arduino pagrindu sukurta gsm namų apsaugos sistema Signalizacija Arduino ryšys

Paskutiniame straipsnyje sužinojome, kaip naudotis SIM800L GSM moduliu ir sukūrėme paprastą dizainą, skirtą krovinio valdymui nuotoliniu būdu, šiandien padarysime ką nors įdomesnio, būtent GSM signalizaciją apie įsilaužimą SIM800L modulyje iš Aliexpress ir Arduino, kuris gali būti naudojamas saugoti butą, vasarnamį, garažą ir tt kitus objektus, o jam suveikus praneš skambučiu arba SMS žinute.

Ko mums reikia norint sukurti GSM signalizaciją:

  • GSM / GPRS modulis SIM800L;
  • Arduino Nano, UNO ar kita Arduinka;
  • DC-DC keitiklis;
  • 3,7 V baterija;
  • 10 k rezistoriai - 7 vnt;
  • Maitinimo šaltinis.

Kaip pasidaryti apsauginę GSM signalizaciją SIM800L modulyje ir Arduino, darbo aprašymas:

Sujungiame SIM800L modulį, Arduino, daviklius ir t.t pagal žemiau esančią schemą, viskas surenkama ant duonos lentos, kad būtų galima bet kada ką nors pakeisti, dedame į bet kokį tinkamą dėklą ir dėl saugumo pašaliname laidus iš korpuso jutikliuose ir ant maitinimo bloko. Į dėklą dedame ir bateriją, ji reikalinga, kad namuose dingus elektrai, įrenginys pereitų į autonominį režimą, maitinamas iš baterijos. Ant pakopinio keitiklio išvestyje nustatėme 4,2 volto, prie tokios įtampos veikia GSM SIM modulis ir tuo pačiu įkraunama baterija, o šios įtampos irgi pakanka, kad Arduino Nano veiktų.

Prie grandinės galite prijungti bet kokius 5 jutiklius, tokius kaip nendriniai jungikliai, drėgmė, dūmai, judesys ir kt. kurios palaiko relės veikimą, nes ši grandinė sukonfigūruota taip, kad suaktyvintų bet kurio iš penkių jutiklių atviros grandinės pavojaus signalą, tačiau jei pageidaujama, trumpojo jungimo eskizą galima perdaryti.

Suveikus pirmam davikliui, skambinama nurodytu numeriu, po to nutrūksta ir skambinama antruoju numeriu, tai daroma, jei pirmojo numerio šiuo metu nėra. Suveikiant kitiems 4 apsaugos jutikliams, siunčiama tik SMS žinutė, kurioje rašomas suveikusios zonos numeris arba pavadinimas, taip pat ši žinutė bus išsiųsta dviem telefono numeriais.

Eskize galite įvesti telefono numerius ir suteikti savo vardus saugomoms zonoms, o ne „Aliarmas! Zona 1 “,„ Signalizacija! 2 zona “,„ Signalizacija! Zona3 "... Galite parašyti objekto pavadinimą, kuriame įdėjote konkretų jutiklį, pavyzdžiui" Signalizacija! Okno “,„ Signalizacija! Dverj “ ir pan., zonų pavadinimus rašykite tik lotyniškai. Taip pat eskize yra nustatytas atskambinimo laikas savininkui, tai yra po kiek valandų informuoti, kad visa sistema veikia ir viskas tvarkoje, pagal nutylėjimą nustatytas skambinti kas 144 val.

Tai tiek, SIM800L ir Arduino modulyje padarėme paprastą apsauginę GSM signalizaciją, eskizą ir grandinę galima keisti, pvz SIM800L modulis palaiko galimybę prie jo prijungti garsiakalbį ir mikrofoną, kuris leis klausykite saugomos zonos, taip pat perkelkite savo balsą į garsiakalbį.

Atsisiųskite „Arduino“ eskizą.

Siekdami apsaugoti savo namus nuo nekviestų svečių, vis daugiau žmonių įsirengia signalizaciją. Jie leidžia laiku įspėti apie patekimą į kambarį. Šiandien yra įvairių tipų signalizacijų, tačiau pastaruoju metu GSM signalizacijų populiarumas pradėjo augti, nes jie leidžia gauti informaciją apie įsiskverbimą bet kokiu atstumu nuo objekto, svarbiausia, kad savininkas su savimi turėtų telefoną. tuo metu ir šis telefonas yra tinkle. Deja, šios sistemos dar nėra per pigios, kad būtų teikiama pirmenybė tik joms. Tačiau šiais laikais paprastą GSM signalizaciją galite sukurti patys. O populiarioji Arduino lenta padės šiuo klausimu.


Šis projektas – tai apsaugos (signalizacijos) sistema, perspėjanti apie į namus patenkančius įsibrovėjus. Sistema naudoja GSM technologiją.



Prie šios apsaugos sistemos mikrovaldiklio plokštės prijungtas įsilaužimo aptikimo modulis, kuris gali būti paremtas, pavyzdžiui, IR jutikliu arba ultragarsiniu artumo jutikliu. Gavus signalą iš tokio modulio, į vartotojo telefoną siunčiama SMS žinutė apie įsiskverbimą į jo namus.


Žemiau pateiktame paveikslėlyje yra blokinė apsaugos sistemos schema.



Pagrindiniai sistemos elementai yra mikrovaldiklio plokštė (pavyzdžiui, Arduino Uno) ir GSM / GPRS modulis SIM900A. Visa sistema gali būti maitinama iš vieno 12V / 2A maitinimo šaltinio.


Žemiau esančiame paveikslėlyje parodyta Arduino pagrindu veikiančios GSM namų apsaugos sistemos schema.



Sistemos veikimas yra labai paprastas ir nereikalauja jokių specialių paaiškinimų. Įjungus maitinimo įtampą, sistema pereina į budėjimo režimą. Tačiau, kai J2 sutrumpinamas, į iš anksto nustatytą mobiliojo telefono numerį automatiškai siunčiamas įspėjamasis pranešimas. Prie J2 įvesties galima prijungti bet kurį aptikimo jutiklį. Reikėtų pažymėti, kad žemas lygis J2 1 kaištyje yra aktyvus ir įjungia apsaugos sistemą.


Be to, sistema pridėjo galimybę skambinti paspaudus S2 mygtuką. S3 mygtuką galima naudoti norint iš naujo nustatyti šį skambutį.


Žemiau yra Arduino kodas.


// Prijunkite Tx kaištį prie GPS modulio D3 kaiščio // Prijunkite Rx kaištį prie GPS modulio D4 kaiščio // prijunkite SMS siuntimo signalą prie D7 kaiščio (aktyvus žemas lygis) // Prijunkite CALL skambutį signalas prie D8 kaiščio (aktyvus žemas) // Prijunkite END skambučio atstatymo signalą prie kaiščio D9 (aktyvus žemas) #include NewSoftSerial mySerial (3,4); // nustatyti RX ir TX kontaktus ryšiui su GSM moduliu #define msg_key 7 #define call_key 8 #define end_key 9 String number = "0000000000"; // Čia vietoj nulių reikia įvesti 10 skaitmenų mobiliojo telefono numerį, negaliojantį sąrankos () (Serial.begin (9600); mySerial.begin (9600); pinMode (msg_key, INPUT); pinMode (call_key, INPUT) ; pinMode (end_key, INPUT ); digitalWrite (msg_key, HIGH); digitalWrite (call_key, HIGH); digitalWrite (end_key, HIGH);) void loop () (// siųsti SMS kiekvieną kartą, kai suveikia msg_key if (digitalRead (msg_key)) = = LOW) / / Patikrinkite, ar paspaustas SMS siuntimo mygtukas (mySerial.println ("AT + CMGF = 1"); // Nustatykite režimą kaip teksto režimo delsą (150); mySerial.println ("AT + CMGS = \" + 00 "+ numeris + "\" "); // Įveskite paskirties numerį tarptautiniu formatu, pakeičiant nulius delsą (150); mySerial.print (" Įspėjimas! Įspėjimas apie įsibrovimą! "); // Įveskite pranešimo delsą (150); mySerial.write ((baitas) 0x1A); // Pranešimo pabaigos simbolis 0x1A: atitinka Ctrl + z delsą (50); mySerial.println ();) // Skambinkite, kai suaktyvina skambučio_klavišas else if ( digitalRead (call_key) == LOW) // Patikrinkite, ar skambinimo klavišas jau buvo paspaustas (mySerial.println ("ATD + 91" + numeris + ";"); // Nustatyti n numeris, kuriuo reikia skambinti (skaitmeninis skaitymas (call_key) == LOW); vėlavimas (50); ) // Iš naujo nustatykite skambutį else if (digitalRead (end_key) == LOW) // Patikrinkite, ar atstatymo mygtukas jau paspaustas (mySerial.println ("ATH"); while (digitalRead (end_key) == LOW); delsa ( 50 ;)))

Taigi, gana lengva savo rankomis sukurti GSM signalizaciją, pagrįstą „Arduino“ plokšte. Tokia signalizacija už savo kainą, žinoma, bus pigesnė už patentuotus analogus šiandieninėje rinkoje ir veiks beveik identiškai.

Pagrindiniai moduliai- GSM modulis SIM800L, Arduino Nano (galite naudoti bet-Uno ir t.t.), nuleidžiama plokštė, baterija iš mobiliojo telefono.

Ryžiai. 1. Apsaugos signalizacijos modulių išdėstymas Arduino

Signalizacijos gamyba

Ant duonos lentos montuojame per trinkeles, kurios prireikus leis pakeisti modulius. Signalizacijos įjungimas tiekiant 4,2 volto maitinimą per jungiklį į SIM800L ir Arduino Nano.



Kai suveikia pirmoji kilpa, sistema pirmiausia skambina pirmuoju numeriu, tada nutraukia skambutį ir vėl skambina antruoju numeriu. Antrasis skaičius pridedamas tik tuo atveju, jei pirmasis staiga atsijungia ir pan. Suaktyvinus antrą, trečią, ketvirtą ir penktą kilpą, SMS siunčiama su aktyvuotos zonos numeriu, taip pat dviem numeriais. Schema ir eskizas, kuriuos domina aprašymas po vaizdo įrašu.
Visą elektroniką dedame į tinkamą korpusą.



Jei jums nereikia 5 jungčių, prijunkite „Arduino“ 5 V kištuką prie jums nereikalingų įėjimų. GSM signalizacija 5 kilpoms su baterija, kuri leis įrenginiui toliau dirbti keletą dienų autonomiškai, nutrūkus elektrai. Prie jų galite prijungti bet kokius apsaugos kontaktų jutiklius, relės kontaktus ir t.t. Dėl to gauname paprastą, nebrangų kompaktišką apsaugos įrenginį, skirtą SMS siuntimui ir rinkimui 2 numeriais. Juo galima saugoti vasarnamį, butą, garažą ir kt.

Daugiau vaizdo įraše

Šiandien mes kalbėsime apie tai, kaip naudoti Arduino surinkti apsaugos sistema... Mūsų „sargas“ saugos vieną grandinę ir valdys vieną sireną.

„Arduino“ tai nėra problema, ir, kaip matysite iš programos kodo ir įrenginio diagramos, galite nesunkiai padidinti apsaugotų prieigos taškų skaičių ir įspėjimo ar indikacijos įrenginių skaičių.
Apsaugos sistema galima saugoti tiek didelius objektus (pastatus ir statinius), tiek smulkius daiktus (dėžutes, seifus), ir net nešiojamus dėklus bei lagaminus. Nors su pastaraisiais reikia būti atsargesniems, bet jeigu įdiegsite apsaugos sistemą, pavyzdžiui, ant lagamino, su kuriuo nuspręsite vykti į kelionę, o kokiame nors oro uoste suges perspėjimo sistema, tai manau, kad turėsite rimtas pokalbis su vietine apsaugos tarnyba :-)

Supaprastintu būdu įrenginio veikimo principas yra toks (1 pav.). Įjungus maitinimą, įrenginys persijungia į darbo režimą ir laukia apsaugos įjungimo. Apsaugos įjungimas ir išjungimas atliekamas vienu mygtuku. Siekiant padidinti saugumą, šį mygtuką geriau įdėti į saugomą zoną (seifą arba dėžę). Prieš įjungiant apsaugos režimą, dureles reikia šiek tiek atidaryti. Įjungus apsaugos režimą (paspaudus mygtuką), elektroninė grandinė laukia, kol uždarysite kambario duris (seifo duris, dėžės dangtį ir pan.).

Ant durų (arba durų) turi būti sumontuotas bet kokio tipo ribinis jungiklis, daugiau apie tai vėliau. Uždarydamas (arba atidarydamas), ribinis jungiklis informuos įrenginį, kad apsaugota grandinė uždaryta, o prietaisas persijungs į apsaugos režimą. Apie perėjimą į apsaugos režimą sistema praneš dviem trumpais signalais (kaip ir automobilių signalizacijose). Šiuo režimu prietaisas „pagauna“ durų atidarymą. Atidarius dureles, sistema laukia kelias sekundes (tai konfigūruojama reikšmė, kambariams apie dešimt sekundžių, dėžutei viena ar dvi) apsaugos išjungimo, jei tai neįvyksta, įsijungia sirena. Algoritmas ir grandinė suprojektuoti taip, kad išjungti sireną galėtumėte tik visiškai išardę korpusą ir išjungę maitinimą.

Įrenginys apsaugos sistema labai paprasta (2 pav.). Mokesčio esmė Arduino... Ribiniai jungikliai sujungiami kaip įprastas mygtukas per ištraukiamuosius rezistorius. Prie galinių jungiklių pakalbėsiu atskirai. Paprastai jie yra uždaryti ir paprastai atidaryti. Įprastą mygtuką galite įjungti kaip ribinį jungiklį, tik paprasto mygtuko eiga labai didelė, durų laisvumas dažniausiai didesnis. Todėl reikia sugalvoti kažkokį mygtuko stūmiklį ir jį spyruokliuoti, kad nenulaužtų mygtuko su durelėmis. Na, o jei ne tinginystė, tai galima nueiti iki parduotuvės ir nusipirkti magnetinį jungiklį (nendrinį jungiklį) (3 pav.), jis nebijo dulkių ir purvo.

Taip pat tinka automobilio signalizacijos ribinis jungiklis (4 pav.). Reikėtų pažymėti, kad programa yra parašyta nendriniam jungikliui. Kai durys uždarytos, jų kontaktas užsidaro. Jei naudosite jungiklį iš automobilio signalizacijos, tada, kai durys bus uždarytos, jos greičiausiai bus atidarytos, o atitinkamose kodo vietose turėsite pakeisti 0 į 1 ir atvirkščiai.

Kaip sireną siūlau naudoti Baltarusijoje pagamintą garso signalizatorių PKI-1 IVOLGA (5 pav.). Maitinimo įtampa 9 - 15 V, darbinė srovė 20 - 30 mA. Tai leidžia jį naudoti su akumuliatoriaus energija. Tuo pačiu „išduoda“ 95 – 105 dB.

Su tokiomis „Krona“ akumuliatoriaus savybėmis jis skambės kelias dešimtis minučių. Radau internete už 110 rublių. Ten nendrinis jungiklis su magnetu kainuoja apie 30 rublių. Automobilio signalizacijos jungiklis automobilių dalyse buvo įsigytas už 28 rublius. KT315 tranzistorius gali būti paimtas su bet kokia raide arba pakeistas bet kokiu šiuolaikiniu mažos galios silicio tranzistoriumi, turinčiu atitinkamą laidumą. Jei vienos sirenos garsumo neužtenka (kas žino, gal nori, kad būtų girdėti daug kilometrų), galima lygiagrečiai sujungti kelias sirenas arba imti galingesnę, tik tokiu atveju tranzistorių reikia pakeisti galingesnis (pavyzdžiui, pažįstamas tranzistorių mazgas ULN2003). Kaip nendrinio jungiklio ir sirenos prijungimo jungtis naudojau paprasčiausias garso / vaizdo įrenginių jungtis - kaina radijo rinkoje yra 5 rubliai. porai.

Prietaiso korpusas gali būti klijuojamas iš plastiko arba faneros; jei rimtas objektas yra saugomas, tai geriau jį padaryti metaliniu. Baterijos arba įkraunamos baterijos turi būti dedamos į dėklo vidų, kad padidintumėte patikimumą ir saugumą.

Kad būtų supaprastintas programos kodas, nebuvo naudojami jokie energiją taupantys elementai, o baterijų ilgam neužtenka. Galite optimizuoti kodą arba, dar geriau, radikaliai jį pakeisti, taikydami pertraukimo įvykių tvarkymą ir MK užmigdymo režimą. Tokiu atveju maitinimas iš dviejų nuosekliai sujungtų kvadratinių baterijų (9 V) turėtų trukti kelis mėnesius.

Dabar kodas

// konstantos
const int mygtukas = 12; // mygtuko smeigtukas
const int gerkon = 3; // kaištis nendriniam jungikliui
const int sirena = 2; // sirenos valdymas
const int led = 13; // indikatoriaus kaištis
// kintamieji
int mygtukasBūsena = 0; // mygtuko būsena
int gerkonState = 0; // nendrinio jungiklio būsena
int N = 0; // apsaugos išjungimo mygtuko skaitiklis
anuliuota sąranka () (
// sirenos ir indikatoriaus valdymas – išėjimas
pinMode (sirena, OUTPUT);
pinMode (LED, OUTPUT); // mygtukas ir nendrinis jungiklis yra įvestis
pinMode (gerkon, INPUT);
pinMode (mygtukas, INPUT);
}
tuščioji kilpa () (
digitalWrite (LED, HIGH);
while (buttonState = = 0) (// palaukite, kol paspausime mygtuką
buttonState = skaitmeninis skaitymas (mygtukas); // norėdami perjungti į saugos režimą
}
digitalWrite (LED, LOW);
mygtuko būsena = 0; // nulinę mygtuko reikšmę
while (gerkonState = = 0) (// kilpa, kol uždarysime duris
}
vėlavimas (500); // :-)
digitalWrite (sirena, HIGH); // Kodas
vėlavimas (100); // indikacijos
digitalWrite (sirena, LOW); // įtraukti
vėlavimas (70); // režimas
digitalWrite (sirena, HIGH); // apsauga
vėlavimas (100); // budrus
digitalWrite (sirena, LOW); // garsas
while (gerkonState = = 1) (// palaukite, kol atsidarys durys
gerkonState = digitalRead (gerkon);
}
už (int i = 0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = skaitmeninis skaitymas (mygtukas); // slaptas mygtukas
if (buttonState = = HIGH) (// Sekite savo – svetimą
N = N + 1;
}
vėlavimas (1500); // slapta funkcija :-)))
}
jei (N> 0) (// svarbiausia
digitalWrite (sirena, LOW); // nejunkite sirenos
}
Kitas (
digitalWrite (sirena, HIGH); // arba įjungti sireną
}
digitalWrite (LED, HIGH); // įjungti indikatorių N = 0;
mygtuko būsena = 0;
vėlavimas (15000); // priminimas manekenams, kuriems patinka
digitalWrite (LED, LOW); // paspausti mygtukus be pertraukos delsos (1000);

Tai specialios aparatinės įrangos platformos, kurių pagrindu galima sukurti įvairius elektroninius įrenginius, įskaitant ir. Šio tipo įrenginiai išsiskiria paprastu dizainu ir galimybe programuoti jų veikimo algoritmus. Dėl šios priežasties signalizacija sukurta naudojant Arduino GSM , gali būti kiek įmanoma konfigūruojamas objektui, kurį jis saugos.

Kas yra Arduino modulis?

Arduinos yra įdiegtos kaip mažos plokštės, turinčios savo mikroprocesorių ir atmintį. Plokštėje taip pat yra funkcinių kontaktų rinkinys, prie kurio galite prijungti įvairius elektrifikuotus įrenginius, įskaitant jutiklius, naudojamus apsaugos sistemoms.

Arduino procesorius leidžia įkelti vartotojo paties parašytą programą. Sukūrę savo unikalų algoritmą, galite numatyti optimalius apsaugos nuo įsilaužimo režimus skirtingiems objektams ir skirtingoms naudojimo sąlygoms bei spręstinoms užduotims.

Ar sunku dirbti su Arduino?

Arduino moduliai yra labai populiarūs tarp daugelio vartotojų. Tai įmanoma dėl jo paprastumo ir prieinamumo.

Modulių valdymo programos parašytos naudojant įprastą C ++ ir papildymus paprastų funkcijų forma, skirta valdyti įvesties / išvesties procesus modulio kaiščiuose. Be to, programavimui galima naudoti nemokamą programinę įrangą Arduino IDE, veikiančią Windows, Linux ar Mac OS.

Su Arduino moduliais įrenginių surinkimo procedūra buvo labai supaprastinta. GSM signalizaciją Arduino galima sukurti be lituoklio – surinkimas vyksta naudojant duonos lentą, trumpiklius ir laidus.

Kaip sukurti žadintuvą naudojant „Arduino“?

Pagrindiniai reikalavimai, kuriuos „Arduino“ generuojama gsm signalizacijos sistema turi atitikti savo rankomis, yra šie:

  • pranešti objekto savininkui apie įsilaužimą ar įsilaužimą;
  • išorinių sistemų, tokių kaip garso sirena, įspėjamieji žibintai, palaikymas;
  • signalizacijos valdymas SMS žinute arba skambučiu;
  • savarankiškas darbas be išorinio maitinimo šaltinio.

Norėdami sukurti žadintuvą, jums reikės:

  • Arduino modulis;
  • funkcinių jutiklių rinkinys;
  • arba modemas;
  • autonominis maitinimo šaltinis;
  • išoriniai vykdomieji įrenginiai.

Išskirtinis Arduino modulių bruožas yra specialių išplėtimo kortelių naudojimas. Jų pagalba prie „Arduino“ prijungiami visi papildomi įrenginiai, reikalingi apsaugos sistemos konfigūracijai surinkti. Tokios plokštės montuojamos ant Arduino modulio „sumuštinio“ pavidalu, o atitinkami pagalbiniai įrenginiai prijungiami prie pačių plokščių.

Kaip tai veikia?

Kai suveikia vienas iš prijungtų jutiklių, signalas perduodamas į Arduino modulio procesorių. Naudodamas įkeltą pasirinktinę programinę įrangą, mikroprocesorius ją apdoroja pagal konkretų algoritmą. Dėl to gali būti sugeneruota komanda valdyti išorinę pavarą, kuri jai perduodama per atitinkamą išplėtimo sąsajos plokštę.

Kad būtų užtikrinta galimybė saugomo namo ar buto savininkui siųsti įspėjamuosius signalus, prie Arduino modulio per išplėtimo plokštę prijungiamas specialus GSM modulis. Jis įdiegia vieno iš mobiliojo ryšio tiekėjų SIM kortelę.

Jei nėra specialaus GSM adapterio, jo vaidmenį gali atlikti paprastas mobilusis telefonas. Be SMS žinučių siuntimo su įspėjimu apie aliarmą ir rinkimą, korinio ryšio buvimas leis nuotoliniu būdu valdyti Arduino GSM signalizacijos sistemą, taip pat stebėti objekto būseną siunčiant specialius užklausas.

"Pastaba!

Norėdami susisiekti su įrenginio savininku, be GSM modulių, taip pat gali būti naudojami įprasti modemai, kurie palaiko ryšį internetu.

Tokiu atveju, suveikus jutikliui, procesoriaus apdorotas signalas per modemą perduodamas į specialų portalą ar svetainę. Ir jau iš svetainės automatiškai generuojamas įspėjamasis SMS arba siuntimas į susietą el.

išvadas

Arduino modulių naudojimas leis vartotojams savarankiškai kurti GSM signalizacijas, kurios gali dirbti su įvairiais funkciniais jutikliais ir valdyti išorinius įrenginius. Dėl galimybės panaudoti įvairius daviklius galima gerokai išplėsti signalizacijos funkcijas ir sukurti kompleksą, kuris stebės ne tik objekto saugumą, bet ir jo būklę. Pavyzdžiui, objekte bus galima reguliuoti temperatūrą, fiksuoti vandens ir dujų nuotėkį, išjungti jų tiekimą įvykus nelaimei ir daug daugiau.