Költségvetés GSM riasztás az Arduino agyával. Otthoni riasztás vagy mozgásérzékelő és LCD monitor használata Arduino-val, amit gyűjtünk össze

Jó nap! Ismét több felülvizsgálatát kínai elektronikus alkatrészek, mint mindig, mi mindent fokozatosan, megpróbálom rövidebb, de fog ez működni? Tehát találkozunk, GSM riasztás 700 ₽ költségig. Érdekes? Kérek "Cut"!

Baister! A megkezdése előtt azt javaslom, hogy megvizsgálja ezt, kevesebb komponenseket és nagy autonómiát. Tehát "Műszaki oktatás", alapvető riasztási követelmények:

1) Értesítse, ha az érzékelők aktiválódnak.
2) A kikapcsolás esetén bizonyos autonómiát kell biztosítani.
3) Riasztáskezelés SMS-ben és hívásokon keresztül.

Ennek köszönhetően, hogy a riasztási létrehozási folyamat több hónapig késleltette, és egyes eladók már nem értékesítették a megvásárolt komponenseket, a linkeket frissítik más eladók árukról, akiknek maximális vagy közel állnak az értékesítés maximális számához áruk és legjobb ár. A felülvizsgálat árai az írás időpontjában relevánsak.

A szükségesek listája:

A változások listája

GSM_03_12_2016-14-38.HEX - rögzítette az eszköz működését az M590 modemmel.
GSM_05_12_2016-13-45.HEX - Hozzáadott MEMTEST CONSOLE parancs, RAM optimalizálása.
GSM_2016_12_06-15-43.HEX - Hozzáadta a parancs eredményeinek kimenetét a konzolhoz, a memóriaoptimalizáláshoz. Foglalt: 49% SRAM.
GSM_2016_12_07-10-59.HEX - Most a telefonszámokat hozzáadják és helyesen eltávolítjuk. Foglalt: 49% SRAM, 74% flash memória.
GSM_2016_12_07-15-38.HEX - Új képes kapcsolódni a mozgásérzékelő, akkor csatlakozik a Pin A0 (ebben az esetben, a PIN-A0 használunk digitális). Hozzáadott SMS - parancsok Piron., Piroff.. Foglalt: 48% SRAM, 76% flash memória.
GSM_2016_12_08-13-53.HEX - Most a parancs sikeres végrehajtása után, amely válaszként nem küld SMS-üzenetet, az eszköz egy kék LED-t villog. Most, a parancs helytelen végrehajtása után, amely válaszul nem küld SMS-üzenetet, az eszköz villog a kék LED kétszer. Most inicializálása után az eszköz paramétereit, ha a „csendes” üzemmód engedélyezve van (sendsms \u003d 0), akkor a készülék gyakran villog egy kék LED 2 másodpercig. Rögzített egy hibát, amely miatt a számot nem mindig törölte a Delbetephone parancsról. Foglalt: 48% SRAM, 78% flash memória.
GSM_2016_12_11-09-12.HEX - Hozzáadva konzolcsapatok Addphone és Delbetephone, a szintaxis hasonló az SMS parancsokhoz. Memória optimalizálás. Foglalt: 43% SRAM, 79% flash memória.
GSM_2017_01_03-22-51.HEX - Megvalósult támogatás és a hasonló bemeneti / kimeneti bővítő extensorok a PCF8574 chip, csatlakoztathat további 8 érzékelő, beleértve gerks. Automatikus címkeresés és automatikus modul beállítás. A szabványos érzékelő nevek és a válaszuk logikai szintje az editsensor parancs segítségével változik. Megváltoztatta a riasztási SMS tartalmát a fő érzékelő (PIN d0) "riasztás! Fő érzékelő! " és Motion Sensor (IDU A0) "riasztás! PIR érzékelő! ". Hozzáadott editsensor és i2cscan parancsok. Foglalt: 66% SRAM, 92% flash memória.
GSM_2017_01_15-23-26.HEX - támogatja a modemet A6_MINI. A külső tápegység vezérlése (d7 pólus). Hozzáadott SMS Watchpoweron, Watchpoweroff parancsok. Hozzáadott listconfig, listsensor konzol parancsok. Most az SMS parancs az editsensor megfelelően működik. Kissé "vágott", hibakeresési információkkal a kikötői monitorba. Foglalt: 66% SRAM, 95% flash memória.
GSM_2017_01_16-23-54.HEX - Most a válaszüzenet az SMS parancs "info" szintén a mozgásérzékelő állapotából áll. Rögzített egy hibát, amely miatt az üres válasz SMS üzenetek küldtek. Most az eszköz nem csak a leállításról, hanem a külső táplálkozás újraindításáról is. Minden modem kevésbé vált, mint a csevegés, most a kikötői monitoron, kicsit tisztább lett. Foglalt: 66% SRAM, 95% flash memória.
GSM_2017_02_04-20-23.HEX - Fix "Nézze meg a bekapcsolás" hibát. Most a védelem eltávolítása után a "riasztócsap" kikapcsol. Most, miután törölte a számot a konzolban, megjelenik a helyes információ. Lehet, hogy rögzíthető egy hiba, amely miatt üres válasz SMS üzeneteket küldtek. Foglalt: 66% SRAM, 90% flash memória.
GSM_2017_02_14-00-03.HEX - Most az SMS-üzeneteket alapértelmezés szerint elküldjük, a Sendsms paramétere ismét megegyezik az 1. ponttal. az érzékelő normál működése. Foglalt: 66% SRAM, 90% flash memória.
GSM_2017_03_01-23-37.HEX. - A Watchpoweron parancs eltávolításra kerül. Hozzáadott WatchPoweroff konzol parancs, azonos az SMS parancsával. Hozzáadott parancsok Watchpoweron1, Watchpoweron2. WatchPowerOn1 - Külső erőfelügyelet van engedélyezve, ha a riasztó élesítve van, Watchpoweron2 - külső áramforráshoz felügyelet mindig be van kapcsolva. Az élesítés és a hatástalanítás külső eszközökkel való végrehajtása, ehhez az A1 (D15) és A2 (D16) következtetések alkalmazhatók. Riasztás beállítása / eltávolítja a védelmet, ha az A1 (D15) megjelenik a kimeneten magas szint + 5 V vagy az alacsony szintű GND alacsony szintű A2 (D16) kimenetén. Az A1 (D15) kimenetet a GND-hez húzzuk meg, az A2 (D16) kimenetet + 5V-ig húzzuk fel a 20 (10) COM-on keresztül. Hozzáadta a GuardButtonon és a Guardbuttonoff parancsokat. Most, a védelem után, a piros LED villog, amíg a fő generikus érzékelő hurok integritását ellenőrzik. Ha a vázlat világít a piros LED-et. Foglalt: 66% SRAM, 95% flash memória.
GSM_2017_03_12-20-04.HEX - Most a konzol még tisztább, de ha a Teston teszt üzemmód engedélyezve van, további információ jelenik meg a konzolon. Rögzítette az "küldött!" Hibát, most az üzenetek küldésével kapcsolatos információk megfelelően jelennek meg. Rögzített egy hiba "újra hamis hívás". Most az egyenlegkérelemnek megfelelően kell működnie minden modemen. Foglalt: 67% SRAM, 95% flash memória.
GSM_2017_04_16-12-00.HEX - Rögzített. Most az információs és pénzparancsok mindig válaszolnak SMS-t. A Guardbuttonon parancsot a GuardButtonon1 és a GuardButtonon2 parancsok helyettesíti. Foglalt: 67% SRAM, 99% flash memória.
GSM_2017_04_21-09-43.Hex - Nem ajánlott, csak a tesztelés, kösz a feltárt hibák :) - Most a SENDSMS paraméter nem befolyásolja a küldő egy villamos hálózat ellenőrzése üzeneteket. Hozzáadott SMS csapat késleltetésért az élesítés során az érték nem haladhatja meg a 255 másodpercet. Hozzáadott SMS parancs késlelteti a késleltetett küldési értesítésekért és a "riasztás fenyő" felvételéért felelős értesítések és felvételért Az érzékelők aktiválásakor az érték nem haladhatja meg a 255 másodpercet. A ClearSMS parancsok törlődnek, most az üzenetek automatikusan eltávolításra kerülnek. Foglalt: 68% SRAM, 100% flash memória.
GSM_2017_04_22-20-42.HEX - Rögzített több hiba. A ClearSMS parancsok ismét jelen vannak a firmware-ben. Memória optimalizálás. Foglalt: 68% SRAM, 98% flash memória.
GSM_2017_04_23-17-50.HEX - Most az egyenlegkérelemnek megfelelően kell működnie minden modemen. A külső eszközökkel való elrendezés és hatástalanítás most már megfelelően működik. Válaszüzenetek SMS parancsinformáció nem lehet üres. Memória optimalizálás. Foglalt: 68% SRAM, 98% flash memória.
GSM_2017_04_24-13-22.HEX - Most a Console parancsok továbbítása a GSM modulban csak akkor történik, ha a teszt üzemmód engedélyezve van. Most nincs különválás az SMS parancsok és a konzolparancsoknál, az összes meglévő parancsot SMS-ben és a konzolon keresztül továbbíthatja. Talán rögzített hiba az információs parancssal. Memória optimalizálás. Foglalt: 68% SRAM, 94% flash memória.
GSM_2017_04_25-20-54.HEX - Rögzített hiba, amelyben a ListConfig parancs megváltoztatta az utolsó esemény értékét. Most, amikor parancsokat ad meg a sapkán keresztül, a felesleges SMS-üzenetek küldése. Talán rögzített hiba az információs parancssal. Memória optimalizálás. Foglalt: 66% SRAM, 94% flash memória.
GSM_2017_04_30-12-57.HEX - Ideiglenesen engedélyezte a további információk kimenetét a konzolba SMS-üzenetek küldése során, és válaszoljon az információs parancsra. Talán rögzített hiba az információs parancssal. Memória optimalizálás. Foglalt: 66% SRAM, 92% flash memória.
GSM_2017_05_06-11-52.hex - A késleltetéssel rögzített. Foglalt: 66% SRAM, 93% flash memória.
GSM_2017_05_23-21-27.HEX - kissé megváltoztatta az információ kimenetét a konzolba. Hozzáadott támogatása port bővítő modulok PCF8574A származó címekkel 0x38 a 0x3F beleértve. Fix hiba c. Most a készülék automatikusan újraindul a FullReset parancsok, Resetconfig, ResetPhone és a Memtest parancs sikeres végrehajtása után. Hozzáadott óriási parancs. Most lehet beállítani az időtartamot, amely után az SMS-t elküldi a külső áramforrás leválasztásához. Foglalt: 67% SRAM, 94% flash memória.
GSM_2017_05_26-20-22.HEX - A hosszabbító tábla memóriaérzékelőinek fix inicializálása. Az Addphone parancs szintaxis megváltozik. Hozzáadott EditMainphone parancs. Az értesítési rendszer működésének elvét megváltoztatják, amikor az érzékelőt kiváltják, az SMS-t először elküldjük, majd a hanghívások végrehajtása után. Riasztási SMS üzeneteket küldünk telefonszámokhoz egy "S" jelzéssel (SMS). A hanghívásokat a "R" jelzéssel fogják elvégezni a számokkal (gyűrű). Az üzenetek adagolási / engedélyezése a "P" funkcióval (Power) telefonszámra kerül. Hozzáadott parancs csengetési idő. Most lehet beállítani a riasztási hanghívás időtartamát, a paraméter 10-250 másodperc lehet. Most a Ringon / Ringoff parancs globálisan magában foglalja / letiltja a hanghívási figyelmeztetést. Hozzáadott parancs ReseSenssor. Foglalt: 68% SRAM, 99% flash memória.
GSM_2017_06_02-17-43.HEX - AddPhone és Editmainphone parancsok Hozzáadott paraméter „I” (INFO), amely felelős az SMS értesítés A készítmény vagy deregisztráció a készülék. Most a főszám hozzáadása után a készülék automatikusan újraindul. Most ugyanazt a számot lehet az eszközön. A második és az azt követő ismétlődő számok hozzáadásával az "M", "S", "P" és "I" attribútumok automatikusan eltávolításra kerülnek. Ezeket a számokat a hanghívás ismétléséhez használják, ha az érzékelők aktiválódnak. Rögzítette a kimeneti görbe hibáját a konzolhoz, miután végrehajtotta az addephone parancs végrehajtását, az információ nem jelenik meg automatikusan a szám hozzáadása után. Hozzáadott újraindítási parancsot. Foglalt: 69% SRAM, 99% flash memória.
GSM_2017_06_11-00-07.HEX - Most ismét, amikor kapcsolatba az érintkezők a fő generikus érzékelőt (az ajtó becsukása), a készülék villog egy kék LED 2 másodpercig, jelezve mintegy a normál működés az érzékelő, és a készülék nem veszik figyelembe, vagy eltávolítjuk. A Ringon / Ringoff parancsok eltávolításra kerülnek. Most a készülék eltávolítható a védelemből riasztási hívás közben, most a háttérben történik. Foglalt: 69% SRAM, 99% flash memória.
GSM_2017_07_04-21-52.hex - Most a szünet parancs nem küld válasz SMS-t. Törölt teston és testoff parancsok. Minden szám eltávolította a menedzsment jelét. Foglalt: 68% SRAM, 96% flash memória.
GSM_2017_07_24-12-02.HEX - Hozzáadott ReeDSWITCHON / REEDSWITCHOFF parancs ellenőrzi a fő germovgo érzékelő, most már lehet be / ki, ugyanúgy, mint a mozgásérzékelő. Rögzített az információs csapat hibájában. A Teston és a Testoff parancsok jelen vannak a firmware-ben. Foglalt: 68% SRAM, 96% flash memória.
GSM_2017_07_26-10-03.HEX - Hozzáadott parancsmodemid. Az automatikus modem definíció csak akkor történik, ha a paraméter értéke 0. A 0 paraméterérték beállítása után a készülék automatikusan újraindul. Foglalt: 68% SRAM, 98% flash memória.
GSM_2017_08_03-22-03.HEX - Most a riasztás vezérelheti a külső eszközöket. A vezérléshez egy A3 analóg kimenetet alkalmazunk (D17 - digitálisként használják). A kimenet (+ 5V vagy GND) logikai szintje megváltoztatható, miután megváltoztatta a szintet a beállítási parancson keresztül, a készülék automatikusan újraindul. A külső vezérlőjel időtartama megváltoztatható. Hozzáadott extdevicelevellow, extdevicelevelhigh, extdevicetime, nyitott parancsok. Néhány változás a vezetési parancsok logikájában. Memória optimalizálás. Foglalt: 68% SRAM, 99% flash memória.
GSM_2017_08_10-12-17.HEX - SMSON / SMSOFF, ReeDSWITCHON / REEDSWITCHOFF, Piron / Piroff parancsokat eltávolítjuk, és minden velük kapcsolatos. A DelaybeforeAlarm csapatot fejlett parancsok váltják fel. Megváltoztatta az információs parancs kimenetét. Optimalizált ListConfig parancs kimenet a konzolba. Most minden olyan digitális érzékelő, akinek magas vagy alacsony válaszolása van csatlakoztatva a D6 és A0 csapokhoz, beleértve herkákat is. A D6 és A0 csapokat vonzza a földre (GND) a 10 (20) com rezisztencián keresztül. Ha az érzékelő alacsony válaszszintre van konfigurálva (Herrock módban engedélyezve), a lánc integritását ellenőrizzük. A D6 és A0 (+ 5V vagy GND) bemenetek logikai válaszszintje megváltoztatható a logikai szint megváltoztatása után a készülék automatikusan újraindul. Mindegyik érzékelő (fő, második, PCF kiterjesztésű kártyák), ha aktiválható, akkor telepíthető, amelyre értesítést kap (SMS és / vagy Hanghívás). A "PIR érzékelő" átnevezi a második érzékelőt. Rögzítette a hosszabbító tábla működését, a hibát, amely miatt az eszköz mindig értesítette az érzékelők kiváltását, függetlenül attól, hogy az eszköz szállítása vagy sem. Most kiválaszthatja a működési mód, amelynek során a készülék ellenőrzi a bővítőkártya érzékelők mind a guardon üzemmódban, amikor a GuardOff) ki van kapcsolva. Hozzáadott PCFFORCEON / PCFFORCEFF parancsok, Mainsensorlevelhigh / MainsensorLevellow / Mainsensorleveloff, Secondensorlevelhigh / Secondensorlevellow / SecondensorLevelloff, MainDelayBeforeAlleveloff, SecondelayBeforeAlarm, secondDelayBeforeAlarm, PCFDelayBeforeAlarm. Foglalt: 68% SRAM, 99% flash memória.

* A firmware későbbi verziói közé tartozik a korábbi verziók változásai.


Használt portok Arduino Nano V3

D4. - A "riasztás" Pina kimenete, amikor az érzékelő aktiválódik, a magas szintű jel a PIN-kódon van felszerelve.
D5. - Inverz kimenet "riasztás" Pina, ha az érzékelő aktiválódik, alacsony szintű jel van telepítve erre a PIN-kódra.

D6. - Herkeless érzékelő. Kezdve a változat GSM_2017_08_10-12-17.Hex Pin D6, bármilyen digitális érzékelők magas vagy alacsony szintű válasz lehet csatlakoztatni, beleértve a házigazdák. A d6 tűzetet a földre (GND) vonzza az ellenállás 10 (20) com.
D7 - A külső áramforrás + 5V-os feszültségosztóhoz csatlakozik. Felső váll 2.2 com, az alsó 3,3 com.

Feszültségosztó


D8. - TX modem
D9 - Modem RX.

D10 - Piros LED
D11 - Kék LED
D12. - Zöld LED

A periféria csatlakoztatása:
A0. - Mozgásérzékelő . A GSM_2017_08_10-12-17.HEX verzióból kiindulva minden magas vagy alacsony válaszszintű digitális érzékelő csatlakoztatható az A0 pinhoz, beleértve a németül. Az A0 csapot a földre (GND) vonzza az ellenállás 10 (20) com.

A1. - külső ellenőrzésre való belépés. A riasztás beállítása / eltávolítja a védelmet, ha a magas szint megjelenik a bemeneten + 5V.
A2. - Inverz bemenet külső vezérléshez. Riasztáskészletek / eltávolítások védelme, ha a GND alacsony szintje megjelenik a bemeneten.

A3. - testreszabható (+ 5V vagy GND) Kilépés a külső eszközök kezeléséhez. Amikor a vezérlési parancs beérkezik, a kimenet értéke attól függően változik, hogy melyiket állítsa be a beállított időintervallumban.

A4. - SDA I2C.
A5. - SLC I2C.
, További 8 érzékelő csatlakoztatásához.


Vezérlési parancsok a hexához - firmware

Figyelem! Bajba jutott csapatok kiemelten Csak a főszámból lehet elvégezni, mivel felelősek a készülék konfigurációjáért. A fennmaradó parancsok a "menedzsment" funkcióval rendelkező számokból készülhetnek.

SMS-vezérlési parancsok nem érzékenyek a regisztrációra:
Addphone - Telefonszám hozzáadása. Legfeljebb 9 szám hozzáadható + 1 A legfontosabb szám, amely automatikusan mentésre kerül a memóriában, amikor az első hívás a készülék visszaállítása után a gyári beállítások parancsok Resetphone. vagy FullReset.. Azok. Ki hívta először az eszközt a gyári beállítások mentesítése után, ugyanaz és a "Main", ezt a számot az első memóriacellába írja be, és SMS-en keresztül lehet megváltoztatni vagy eltávolítani. Két azonos számot lehet hozzáadni, de akkor a Duplicate szám automatikusan csak egy "R" jel - kizárólag egy ismétlődő hanghívás esetén.
Minta csapat:



Csapat szintaxis:

Addphone - Csapat
: - határoló
5 - Írja be az ötödik memóriacellát
+71234567890 - Telefonszám
A GSM_2017_05_26-20-22.HEX előtt:
A - az „Ébresztő” paraméter - a számok ezt a paramétert meg kell küldeni az SMS üzeneteket a riasztó és az üzenet üzenetküldő üzenetekkel, vagy.
A GSM_2017_05_26-20-22.HEX verzióval kezdődően:
M - "Menedzsment" paraméter - Riasztáskezelés megengedett
S - "SMS" paraméter - SMS üzenet kerül elküldésre, ha az érzékelők aktiválódnak
R - A "gyűrű" paraméter - a hanghívás akkor történik, amikor az érzékelők aktiválódnak
P - Power Paraméter - SMS üzenet kerül elküldésre, ha / leválasztja a külső teljesítményt
I - paraméter "Info" - SMS üzenet kerül elküldésre, ha beállítja vagy hatástalanítás
Az "M", "S", "R", "P", "I" paraméterek hiányában a telefon a memóriába kerül, de nem használható.


Delbetephone - Telefonszám törlése.
Minta csapat:

Csapat szintaxis:

Delbetephone - Csapat
: - határoló
+71234567891 - Telefonszám


EditMainphone - Módosítsa az "S", az "S", az "R", "P", "P", "I" paramétereket a fő telefon, ez a szám az első memóriacellába kerül.
Minta csapat:

Csapat szintaxis:

EditMainphone - Csapat
: - határoló
SRPI - Paraméterek


Balancenum. - A mérleg lekérdezési számának megváltoztatása és a lekérdezési válasz hossza feldolgozása. Alapértelmezett érték a Beeline: # 100 # L22.
Minta csapat:

Csapat szintaxis:

Balancenum - Csapat
: - határoló
# 103 # - Mérleg kérés száma
A válasz válasz L24 - hossza (LEN) 24 szimbólum, vágja le a spamet a mérleg lekérdezéséről.


Editsensor - Módosítsa az érzékelő nevét és a kiváltás logikus szintjét. Lehet, hogy legfeljebb 8 további érzékelő lehet. A paraméterek megváltoztatása után a készülék újraindítása szükséges.
Minta csapat:
Editsensor: 1 + Datchik Dvizheniya v Koridore # h

Csapat szintaxis:

Editsensor - Csapat
: - határoló
1 - Írja be az első memóriacellát
+ - elválasztó
Datchik Dvizheniya V Koridore - Az érzékelő neve nem haladhatja meg a 36 karaktert, beleértve a szóközöket is.
#h - egy magas logikai szint jele az érzékelőtől, amikor a riasztás meg fog működni. Ha nincs "#h", akkor a riasztás az alacsony logikai szintérzékelőtől való átváltás után indul.


Alvási idő. - Az "elalvás" riasztás ideje, amikor SMS "szünet" parancsot kap, percekben. Az alapértelmezett érték: 15 nem lehet kevesebb, mint 1 vagy több, mint 60.
Minta csapat:

Csapat szintaxis:

Sleeptime - Team
: - határoló
20-20 perc "alvás".


ALARMPINTIME. - Az idő, amelyre a riasztás / inverz pin be van kapcsolva / ki van kapcsolva másodpercek alatt. Az alapértelmezett érték: 60, nem lehet kevesebb, mint 1 másodperc és 43200 másodperc (12 óra).
Minta csapat:

Csapat szintaxis:

ALARMPINTIME - CSATLAK
: - határoló
30 - 30 másodperc bekapcsolása / kikapcsolása riasztás.


Késlekedő - az eszköz védelmének beállítása, az érintett csapat beérkezése után.
Minta csapat:

Csapat szintaxis:

Késleltetési csapat
: - határoló
25 - 25 másodperc az élesítés előtt


Késleltetés. - Az az idő, ami után meg kell küldeni „riasztás” SMS értesítést, ha ez alatt az idő alatt a riasztás nem távolították el a védelmet. A GSM_2017_08_10-12-17.HEX verzióból kiindulva fejlett parancsokkal helyettesítve
Minta csapat:

Csapat szintaxis:

DelingbeforeAlarm - Csapat
: - határoló
40-40 másodperccel a "riasztó" figyelmeztetés küldése előtt


Watchpowertime. - Az időpontokban az idő, amely után az SMS-üzenet elküldi a külső tápegységet. Ha a külső tápellátás helyreáll, mielőtt a beállított idő lejárt, az üzenet nem kerül elküldésre.
Minta csapat:

Csapat szintaxis:

Watchpowertime - Csapat
: - határoló
5 - 5 perccel az SMS üzenet küldése előtt


Gyűrűim - A riasztási hanghívás időtartama, a paraméter 10 és 255 másodperc között lehet.
Minta csapat:

Csapat szintaxis:

Ringtime - Team
: - határoló
40 - 40 Hívás időtartama 40 másodperc, amely után a következő előfizető fog hívni.


Modemid. - A Modem által használt modell kényszerített telepítése. Lehetséges értékek: 0 - Modem automatikus érzékelés, 1 - M590, 2 - SIM800L, 3 - A6_MINI.
Minta csapat:

Csapat szintaxis:

Modemid - csapat
: - határoló
2 - ID modem.


Extdevicetime. - A jelszint, amelyre a jelszint a külső eszköz kimenetén változik.
Minta csapat:

Csapat szintaxis:

Extdevicetime- csapat
: - határoló
5 - 5 másodperc


Extdevicelevlow. - Az A3 kimenethez csatlakoztatott külső eszközt alacsony jelszint (GND) vezérli. Az alapértelmezett kimeneten magas szint + 5V lesz, amíg a külső vezérlő parancs beérkezik.
Extdevicelevelhigh - Az A3 kimenethez csatlakoztatott külső eszközt magas szintű jel (+ 5V) szabályozza. Az alapértelmezett kimenetnél alacsony GND-szint lesz, amíg a külső vezérlő parancs beérkezik.

Resetensenzor - állítsa vissza a Port Expander érzékelő paramétereit

Resetconfig - A gyári beállítások beállításainak visszaállítása

Resetphone. - Törölje az összes emlékét telefonszámok

FullReset. - Állítsa vissza a beállításokat, törölje az összes telefonszámot a memóriából, állítsa vissza a Balancenum parancs alapértelmezett értékét.

Ringon - Engedélyezze a hívás értesítését az első memóriacellában rögzített "fő" számra, amikor az érzékelő aktiválódik. Távirányító a GSM_2017_06_11-00-07.HEX verzióból
Csengőhang - Kapcsolja ki a hívásjelentést, ha az érzékelő indul. Távirányító a GSM_2017_06_11-00-07.HEX verzióból

SMSON. - Az SMS-értesítés engedélyezése az érzékelő bekapcsolásakor. Távoli a GSM_2017_08_10-12-17.HEX verzióból
SMSOFF. - Kapcsolja ki az SMS-értesítést, amikor az érzékelő aktiválódik. Távoli a GSM_2017_08_10-12-17.HEX verzióból

Piron. - Mozgásérzékelő feldolgozásának engedélyezése
Piroff. - Kapcsolja ki a mozgásérzékelő feldolgozását

Reedswitchon - Engedélyezze a fő generikus érzékelő feldolgozását
Reedswitchoff - Kapcsolja ki a fő generikus érzékelő feldolgozását

Figyelő - lehetővé teszi a külső Power Control, SMS Teljesítmény letiltása teljesítmény SMS elküldésre kerül a feltétellel, hogy a rendszer élesítve van. Eltávolítva a GSM_2017_03_01-23-37 verzióból.

Watchpoweron1 - lehetővé teszi a külső Power Control, SMS Teljesítmény letiltása teljesítmény SMS elküldésre kerül a feltétellel, hogy a rendszer élesítve van.
Watchpoweron2. - Külső teljesítményvezérlés engedélyezése, SMS üzenet a külső kikapcsolásról bármilyen esetben lesz elküldve

Watchpoweroff - Kapcsolja ki a külső teljesítményszabályozást

Guardbuttonon - A külső eszközökkel vagy a gomb jelzésével be van kapcsolva, a GSM_2017_04_16-12-00 verzióból.
GuardButtonon1 - Funkció beállítása vagy eltávolítása A külső eszközök védelme vagy a gomb engedélyezve van
Guardbuttonon2. - Funkció csak beállítások A külső eszközök védelme vagy a gomb engedélyezve van, a biztonságból történő eltávolítás a készülék hívása vagy SMS parancs használatával történik.
Guardbuttonoff - Vezérlési jelzés külső eszközökkel vagy kikapcsolt gombokkal

PCFFORCEON. - az összes bővítőmodulérzékelő csoportjának állandó ellenőrzése
Pcfforceoff - A bővítőmodul összes érzékelőjének egy csoportjának ellenőrzése csak a biztonság eszközeinek beállításakor

Mainsensorlevelhigh - A riasztási értesítés akkor kerül elküldésre, ha a magas szintű jel (+5 V) megjelenik a bemeneten (D6) az érzékelőtől
Mainsensorlevelow. - A riasztási értesítés akkor kerül elküldésre, amikor az alacsony szintű jel megjelenik (GND) az érzékelő bemenetén (D6)
Mainsensorleveloff - az érzékelő feldolgozása a bemeneten (D6) le van tiltva

Secondensorlevelhigh - A riasztási értesítés akkor kerül elküldésre, ha a magas szintű jel (+5 V) megjelenik az érzékelő bemenetén (+5 V)
Secondensorlevelow. - A riasztási értesítés akkor kerül elküldésre, ha alacsony szintű jel jelenik meg (GND) az érzékelő bemenetén (A0)
SUCKSENSORLEVELOFF - az érzékelő feldolgozása a bemeneten (A0) le van tiltva

Maindelaybeforealarm. - Az az idő, ami után meg kell küldeni „riasztás” SMS értesítés, ha a fő érzékelő működésbe lép (D6), ha erre az időszakra, amíg a riasztás nem távolították el a védelmet. A szintaxis hasonló a DelingbeforeAlarm parancshoz.
SeconddelaybeforeAlarm. - Az az idő, ami után meg kell küldeni „riasztás” SMS értesítés, ha a kiegészítő érzékelő működésbe lép (A0), ha ez alatt az idő alatt a riasztás nem távolították el a védelmet. A szintaxis hasonló a DelingbeforeAlarm parancshoz.
PcfdelaybeforeAlarm. - Az idő, amely után "riasztás" SMS értesítés, amikor a bővítési díj érzékelők indulnak (PCF8574), ha ebben az idő alatt a riasztást nem távolították el a védelemből. A szintaxis hasonló a DelingbeforeAlarm parancshoz.

Guardon - Tegye az őrséget
Guardoff - távolítsa el az őrséget

Nyílt - külső eszközkezelő csapat

Info - Ellenőrizze az állapotot, válaszul erre az üzenetre válaszul SMS-t küldünk arról, hogy melyik számot be- és kikapcsolta

Szünet - felfüggeszti a rendszer rendszerét az Sleeptime parancs percében meghatározott időre, a rendszer nem válaszol az érzékelő válaszára.

Teston - teszt üzemmód bekapcsol, villog egy kék LED.
A Testoff - teszt üzemmód ki van kapcsolva.

Ledoff - kikapcsolja a készenléti led.
Ledon - magában foglalja a készenléti led.

Pénz - egyenleg kérése.

CLEARSMS - Az összes SMS törlése a memóriából

Konzolparancsok (akár verzióig GSM_2017_04_24-13-22.hex) - beírt az ARDUINO IDE Port Monitor:

Addphone - Addphone SMS SMS

DELETEPHONE - Hasonló az SMS parancshoz Delbetephone

Editsensor - hasonló az editsensor SMS-hez

Listphone - kimenet a telefon memóriájába mentett lista listájának listájához

Resetconfig - hasonló a resetconfig sms parancshoz

ResetPhone - hasonló a ResetPhone SMS parancsához

FullReset - FullReset SMS SMS

CLEARSMS - Hasonló az SMS parancs Clearsms-hez

Watchpoweron1 - hasonló a Watchpoweron1 SMS parancsához
Watchpoweron2 - hasonló a Watchpoweron2 SMS parancshoz
Watchpoweroff - hasonló a Watchpoweroff SMS-hez

A GuardButtonon hasonló a GuardButtonon SMS parancshoz. Távirányító a GSM_2017_04_16-12-00 verzióból
GuardButtonon1 - hasonló az SMS csapat Guardbuttonon1-hez
GuardButtonon2 - A GuardButtonon2 SMS parancs
Guardbuttonoff - hasonló az SMS csapat Guardbuttonoff

A memtest a nem illékony eszközmemória tesztje, az összes eszközbeállítás visszaáll, hasonlóan a FullReset parancshoz.

I2CSCAN - A támogatott eszközök keresése és inicializálása az I2C buszon.

Listconfig - kimenet az aktuális eszközkonfiguráció kikötői monitorához.

ListSensor - kimenet az aktuális érzékelő konfigurációjának portmérőjéhez.

UPD. Mozgásérzékelő használata esetén, Hogy megszüntesse a hamis pozitívumokat, amikor működő modem, szüksége van között Pina GND. és A0. Arduino. ellenállást tesz, köszönöm beszélni egy barátommal
Engedélyezés \u003d ("70001234501", "70001234503", "70001234504", "70001234505") - számok, amelyek lehetővé teszik a védelmet.
ALARMPHOW \u003d ("70001234501", "70001234502") - Számok SMS-értesítések küldéséhez, ha az érzékelőt kiváltják és értesítik az eltávolításra vagy az élesítésre. A lista első számát akkor hívják meg, ha az érzékelő akkor indul, ha a Ringon parancs végrehajtásra kerül, az alapértelmezett beállítás engedélyezve van. Ez azért történik, mert az SMS üzenetek késleltethetők, és a hívásnak azonnal el kell mennie.

Ha meghívást kapott egy megengedett számból vagy SMS-üzenetről a Guardon / Guardoff parancsra, akkor a jelenlegi biztonsági állapottól függően az SMS üzenet a színpadon vagy a biztonságtól az alighajtási tömbben szereplő számokig küldje el az SMS-üzenetnek a számra, ahonnan hívást kapott.

Amikor kiváltotta az érzékelőt Az SMS üzeneteket az ALARMFOUT MASSIF (LIST) összes számára küldi, és ebből a tömbben az első számra hívják az első számot.

Fényjelzés:
A LED vörösre ragyog - az őrségre.
LED ragyog zöld szín - A biztonsággal letiltott, bekapcsolja a Ledon / Ledoff SMS parancsát.
A LED folyamatosan villog a kék - jelekkel, hogy a C Arduino rendben van, a díj nem függ, kizárólag hibakeresésre kerül, bekapcsolja a / testoff SMS parancsot.
* A kód jelen van a LEDTEST-os kódban (), villog a kék LED-t, csak az Arduino nyomon követésére készül, villog - ez azt jelenti, hogy nem villog - lógott. Még nem lógott :)

Nem releváns!

Csatlakoztatás 2 vagy több érzékelő a nyílt firmware-hez (csak a firmware sketch_02_12_2016.ino)
További generikus érzékelők csatlakoztatásához használjon ingyenes D2, D3, D5 vagy D7-es digitális csapokat. Kapcsolat diagram további érzékelővel a D7-en.

Szükséges változások a firmware-ben
... #define DoorPin 6 // bemeneti szám, amely a fő érzékelőhöz csatlakozik INT8_T ajtóstate \u003d 0; // változó a fő érzékelő állapotának tárolására int8_t ajtóflag \u003d 1; // változó a fő érzékelő állapotának tárolására #define backdoorpin 7 // bemeneti szám, amely további int8_t backdoorstate \u003d 0; // változó a további érzékelő int8_t backdoorflag \u003d 1 állapotának tárolására; // változó a további érzékelő állapotának tárolására ...
Void Setup () (... Pinmode (ajtó, bemenet); Pinmode (backdoorpin, bemenet); ...
... Void Detect () () () (// Olvassa el az értékeket a küszöbérték \u003d digitalread érzékelők; BackdoorState \u003d DigitalRead; // A fő érzékelő feldolgozása, ha (Készek \u003d\u003d Low && Doorflag \u003d\u003d 0) (ajtóflag \u003d 1; (100); ha (Ledon \u003d\u003d 1) Digitalwrite (Gled, Low); riasztás ();), ha (Készek \u003d\u003d High && Doorflag \u003d\u003d 1) (ajtóflag \u003d 0, késleltetés (100);) // Ha az érzékelő (backdoorstate \u003d\u003d low && backdoorflag \u003d\u003d 0) (backdoorflag \u003d 1, késleltetés (100); ha (Ledon \u003d\u003d 1) digitalwrite (Gled, alacsony); riasztás ();), ha (backdoorstate \u003d\u003d high && backdoorflag) \u003d\u003d 1) (backdoorflag \u003d 0, késleltetés (100);)) ...

És még egy dolog:
1. A diódák jobbak a 2 áramerősség használatához, mivel a modul megfertőzi az áramot 1 A-nél, és még mindig meg kell adnunk az Arduino-t és a modemet. Ez az esetben 1N4007 diódákat használ, ha nem helyettesítjük a 2 A-t.
2. Minden ellenállás a LED-hez, amelyet 20 COM-on használtak, annak érdekében, hogy ne világítsák az egész folyosót éjjel.
3. A GND-pólus és a d6 tűzet közötti karmatlan érzékelőn 20 COM-on is lógott az ellenállást.

Ez minden. Kösz a figyelmet! :)

Azt tervezem vásárolni +207 Hozzáadás a kedvencekhez Tetszett a felülvizsgálat +112 +243

Az ARDUINO UNO otthoni egyszerű biztonsági riasztás a felülvizsgálat témája. Annak ellenére, hogy ennek a ténynek a ténye, hogy a család mikrokontrollerjeit eredetileg úgy tervezték, hogy tanítják a diákokat, meglehetősen realisztikus, hogy valóban hasznos projekt az Arduino-nál. Biztonsági riasztások otthoni vagy kerti telek A PE tulajdonosa fogja figyelmeztetni, és üzenetet küld az érzékelőkről egy okostelefonra.

Riasztás otthon Arduino-n

Fontolja meg, hogyan készítsen Arduino Uno vagy Nano riasztást otthoni, vidéki kertre vagy garázsra. A projektben a mozgásérzékelőt használtuk, a vízérzékelő és a hőmérséklet egy alapérzékelő készlet a legegyszerűbb riasztási rendszerhez. Meg fogja tanulni a vízellátás áttöréséről, csökkentve a házat a házban vagy a külföldi emberek behatolását a szobában bármikor és bárhol.

Arduino érzékelők a biztonsági riasztáshoz

Ebben a projektben egy régi okostelefont használtunk az interneten történő információ átviteléhez. Ennek megfelelően az Ön tulajdonának helyén GPRS jelnek kell lennie, és bármely mobilszolgáltató csatlakozik az internet-hozzáférés legegyszerűbb tarifájához. Ha ezek a feltételek nem kerülnek végrehajtásra, akkor a biztonsági rendszerben egy hangsziren található, amely a rablók is kérte.

A projekt a legegyszerűbb érzékelőket használja - a DHT11 hőmérsékletérzékelő, a vízszivárgás érzékelő, amely lehet, valamint a mozgásérzékelőt. Ha úgy dönt, hogy összetettebb jelzést készít - javasoljuk, hogy lássa a projektet tűzjelző Vagy riasztás a GSM-en. A kérelmet az okostelefonra is telepítenie kell, és két Twitter-fiókot kell regisztrálnia.

Hogyan készítsünk Arduino riasztást

Ehhez a projekthez szükségünk lesz:

  • arduino UNO / Arduino Nano / Arduino Mega díj;
  • okostelefon internet-hozzáféréssel;
  • hőmérséklet és páratartalom szenzor DHT11;
  • vízszivárgás érzékelő (vízérzékelő);
  • mozgásérzékelő és gomb (kapcsoló);
  • lED, ellenállások, vezetékek stb.


Kihúzható jelzés, az összes szükséges könyvtár és az okostelefon alkalmazás letölthető egy archívum. Ne feledje, hogy lehetetlen távolról kezelni az Arduino-t, mivel a projekt a lehető legegyszerűbb. A házban telepített érzékelők olvasása csak egy meghatározott időtartam után, vagy ha az érzékelő indul.

Skatch biztonsági riasztás az Arduino Uno / Nano-on

#Inlude. // a softwareserial.h könyvtár csatlakoztatása SoftwareSerial myserial (2, 3); // jelezze az RX és TX csapokat #Inlude. // Csatlakoztassa az érzékelő könyvtárát DHT DHT (16, DHT11); // tájékoztatjuk, hogy melyik port lesz az érzékelő Int tmp; #Define PIR 5. // kikötő a mozgásérzékelő csatlakoztatásához INT PIR; #Define knp 7. // kikötő a kapcsoló csatlakoztatásához INT KNP; #Define wtr 19. // kikötő a vízérzékelő csatlakoztatásához int wtr; #Define led 11. // a LED-ek csatlakoztatásához #Define buz 9. // port csatlakoztatásához piezodinamika // sorok az okostelefonon kapott információk azonosításához String stringt \u003d string (* "); String stringp \u003d string ("^"); String stringw \u003d string ("-"); String hingh \u003d string ("#"); // Változók számlálók, számlálási ciklusok stb. Aláíratlan hosszú mozgás; Aláíratlan hosszú óra; Byte m, s1, s2, s3, c \u003d 10; Void Setup () () () (myserial.begin (9600); soros .begin (9600); dht.begin (); Pinmode (PIR, bemenet); analogwrite (PIR, LOW); PINMODE (KNP, INPUT); analogwrite (KNP, Alacsony); Pinmode (Wtr, bemenet); analógwrite (wtr, alacsony); // A LED-ek és a cookie-k ellenőrzése Ha az áramellátás be van kapcsolva Pinmode (BUZ, kimenet); Pinmode (LED, kimenet); Analogwrite (LED, 255); Hang (BUZ, 100); Késedelem (1000); Analogwrite (LED, 0); NOTONE (BUZ); Késedelem (1000); ) void hurok () (TMP \u003d dht.readtemperature (); PIR \u003d digitalread (PIR); KNP \u003d DigitalRead (KNP); WRT \u003d Analogread (Wtr); // futtassa a számlálót Óra \u003d malom (); // 3600000 milliszekundum - Ez 1 óra, 10800.000 - 3 óra // Ha 3 óra eltelt - Adatokat küldünk az okostelefonra // ha szükséges, tegye az értékeit 10800000 helyett ha (Millis () - Óra\u003e 10800000) (MYSERIAL.PRINTLN (TMP + Stringt); MySerial.printLN (Stringh); // küldjön egy jelet, hogy 3 óra telt el } // elvégezzük a ciklusokat, mindegyik tizedik ciklusban adatokat küldünk az okostelefonra C-; Soros .print (c); Soros .mintln ("- ciklus"); Soros .println (""); Késedelem (1000); NOTONE (BUZ); ha (c\u003e 10) (c \u003d 10;), ha (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // Hőmérséklet küldése Myserial.println (PIR + STRINGP); // küldje el a mozgás jelenlétét a házban Myserial.println (Wtr + StringW); // Adatok küldése a vízérzékelőktől // Mozgásérzékelő működött, és a gomb ki van kapcsolva - Kapcsolja be a fényt Ha (PIR \u003d\u003d high && knp \u003d\u003d alacsony) (analógwrite (LED, 255);) // A mozgásszenzor kikapcsolt állapotban van, és a gomb ki van kapcsolva - Kapcsolja ki a fényt ha (PIR \u003d\u003d LOW && KNP \u003d\u003d LOW) (Motion \u003d Millis (); Míg (PIR \u003d\u003d LOW) (TMP \u003d DHT.Readtemperature (); PIR \u003d Digitalread (PIR); KNP \u003d Digitalread (KNP); WTR \u003d Analogread (Wtr); C-, soros .print (c); soros .println ("ciklus"); soros .println (""); késleltetés (1000); ha (c\u003e 10); ) (C \u003d 10;), ha (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // Hőmérséklet küldése Myserial.println (PIR + STRINGP); // küldje el a mozgás jelenlétét a házban Myserial.println (Wtr + StringW); // Adatok küldése a vízérzékelőktől // megjeleníti a monitor számának számát az érzékelők összes adatait Soros .print ("tmp \u003d"); Soros .println (TMP); Soros .Print ("PIR \u003d"); Soros .println (PIR); Soros .print ("knp \u003d"); Soros .println (KNP); Soros .Print ("wtr \u003d"); Soros .println (Wtr); Soros .println (""); ) // fény leállási intervallum milliszekundumban Ha (Millis () - Mozgás\u003e 5000) (analógírás (LED, 0), szünet;), ha (PIR \u003d\u003d magas) (analógírás (LED, 255); szünet;)) // Mozgó érzékelő működött, és a gomb be van kapcsolva - Futtassa az időzítőt ha (PIR \u003d\u003d HIGH && KNP \u003d\u003d HIGH) (Motion \u003d Millis (); Delay (1000); AnalogWrite (LED, 255); Soros .printLN ( "Érzékelő dolgozott"); Soros .println (""); Késedelem (1000); Míg (knp \u003d\u003d magas) (tmp \u003d dht.readtemperature (); PIR \u003d digitalread (PIR); KNP \u003d DigitalRead (KNP); WRT \u003d analógad (Wtr); C-; soros. Println ("- ciklus"); soros .println (""); késleltetés (1000); NOTONE (BUZ); ha (C\u003e 10) (c \u003d 10;), ha (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // Hőmérséklet küldése Myserial.println (PIR + STRINGP); // küldje el a mozgás jelenlétét a házban Myserial.println (Wtr + StringW); // Adatokat küldünk a vízérzékelőkről // A kijelzőn megjelenik a Port Monitor Number Minden adat az érzékelőktől Soros .print ("tmp \u003d"); Soros .println (TMP); Soros .Print ("PIR \u003d"); Soros .println (PIR); Soros .print ("knp \u003d"); Soros .println (KNP); Soros .Print ("wtr \u003d"); Soros .println (Wtr); Soros .println (""); ) // Ha a mozgásérzékelő le van tiltva - Üzenet küldése a Bluetooth-nak ha (knp \u003d\u003d alacsony) (soros .println ( "A riasztás le van tiltva"); Soros .println (""); Késedelem (1000); ) // Ha több mint 10 másodperc eltelt - üzenet küldése Bluetooth-nak ha (Millis () - mozgás\u003e 10000 && s1! \u003d 1) (m \u003d 1, goto üzenet1,) késleltetés (1000); ))))))))) // Ha vízszivárgás történt - üzenet küldése a Bluetooth-nak Ha (Wtr\u003e 500 && S2! \u003d 2) (m \u003d 2, goto üzenet2,), ha (Wtr\u003e 500) (hang (BUZ, 400);), ha (WRT<= 500) { noTone (BUZ); } // Ha a hőmérséklet csökken - az üzenet elküldése Bluetooth-nak Ha (TMP.< 20 && s3 != 3) { m = 3; goto message3; } if (tmp < 20) { tone (BUZ, 200); } if (tmp >\u003d 20) (NOTONE (BUZ);) Üzenet1: míg (m \u003d\u003d 1) (Serial .println ( "A Bluetooth-ba küldött riasztási jel" // Hőmérséklet küldése myserial.println (1 + sztring); // küldje el a mozgás jelenlétét a házban Myserial.println (Wtr + StringW); // Adatok küldése a vízérzékelőktől S1 \u003d 1; m \u003d 0; Szünet; ) Message2: míg (m \u003d\u003d 2) (soros .println ( "A Bluetoothba küldött vízzáró jel"); Soros .println (""); Késedelem (1000); Myserial.println (tmp + sztring); // Hőmérséklet küldése Myserial.println (PIR + STRINGP); // küldje el a mozgás jelenlétét a házban Myserial.println (500 + sztring); // Adatok küldése a vízérzékelőktől S2 \u003d 2; m \u003d 0; Szünet; ) Message3: míg (m \u003d\u003d 3) (Serial .println ( "A Bluetooth-be küldött hőmérsékleti jel"); Soros .println (""); Késedelem (1000); myserial.println (20 + sztring); // Hőmérséklet küldése Myserial.println (PIR + STRINGP); // küldje el a mozgás jelenlétét a házban Myserial.println (Wtr + StringW); // Adatok küldése a vízérzékelőktől S3 \u003d 3; m \u003d 0; Szünet; )))))))))

A kód magyarázata:

Első pillantásra a rendszer nehéznek tűnhet, de ez nem. A riasztás bármely fedélzeten összegyűjthető, beleértve az Arduino Uno-t is. A LED-ek helyett a LED szalagot használhatja, de a tábla tápellátása 12 voltra van szüksége, és csatlakoztassa a LED-szal nem 5V-ig, hanem a Vin Arduino-t. LED-lemezekkel rendszeres töltési rajzot használhat egy 5 voltos telefonról.

Alkalmazás telepítése okostelefonra a jelzéshez

Az alkalmazás telepítéséhez töltse le a HOME_TWIT.APK fájlt az USB-kábellel az USB-vezetéken keresztül, keresse meg a telefon memóriájába, és kattintson a "Set" gombra. Ez a telefon mindig a Bluethoth Arduino jelzónában kell lennie. Telepítés után nyissa meg az alkalmazást, és kattintson a "Konfigurálás" gombra. Itt meg kell adnia a minimális és maximális hőmérsékletértéket, amelyen az üzenet elküldésre kerül.

És most a legnehezebb a Twitter számlák konfigurálása. Adja meg a felhasználó bejelentkezési beállításait a Twitteren, akinek üzenetet küld. Szintén meg kell adni a bejelentkezést, API kulcs. és API titkos kulcs. Kinek az arcáról beszámolnak. A legújabb innovációk miatt a spam elleni, és nem gyűjt információkat a felhasználók a szociális háló. Hogyan juthat el a kulcs API és API titok - olvassa el ezt a véleményt.

A telefonon, amely mindig veled lesz, és üzeneteket fog kapni, telepítenie kell a hivatalos Twitter alkalmazást a Playmarket-rel, és jelentkezzen be a bejelentkezés alatt. Ennek eredményeképpen a Hangban található Signalizaciya.apk alkalmazás az Arduino szenzorokból származó adatokat gyűjt, és személyes üzenetre küldi őket a Twitteren keresztül a felhasználóhoz, amelynek bejelentkezése telepítette a Twitter alkalmazást.

Ha bármilyen problémája van az Arduino riasztási beállításokkal - írja meg kérdéseit a megjegyzésekben a felülvizsgálathoz.

Ezek speciális hardverplatformok, amelyek alapján különböző elektronikus eszközöket hozhat létre, beleértve. Az ilyen típusú eszközöket egy egyszerű kialakítás és a munkájuk algoritmusainak programozásának képessége jellemzi. Ennek köszönhetően az Arduino GSM riasztással készült , Maximálisan beállítható egy olyan objektumhoz, amelyet őrzi.

Mi az Arduino modul?

Az Arduino kis lapok formájában valósul meg, amelyek saját mikroprocesszorral és memóriával rendelkeznek. A fórum tartalmaz egy olyan funkcionális kapcsolatot is, amelyhez különböző villamosított eszközök csatlakoztathatók, beleértve a biztonsági rendszerekhez használt érzékelőket is.

Az Arduino processzor lehetővé teszi, hogy töltsön fel egy programot a felhasználó által. Saját egyedi algoritmus létrehozása, a különböző objektumok biztonsági riasztásainak optimális működési módjait és a különböző felhasználási és megoldott feladatokra vonatkozó különböző feltételeket biztosítja.

Nehéz dolgozni Arduino-val?

Az Arduino modulok sok felhasználó között nagyon népszerűek. Ez az egyszerűség és a hozzáférhetőség miatt lehetséges.

A modulok kezelésére szolgáló programokat a szokásos C ++ és a kiegészítők segítségével írják le az egyszerű bemeneti / kimeneti folyamatkezelési funkciók formájában a modul érintkezők. Ezenkívül a programozás az Arduino IDE ingyenes szoftver környezetet is használhatja a Windows, Linux vagy a Mac operációs rendszer alatt.

Az Arduino modulok jelentősen egyszerűsítik az eszközök összeszerelésére szolgáló eljárást. A GSM riasztás az ARDUINO-n lehet létrehozni, forrasztóplakát, dömpbolt, jumpers és vezetékek használatával.

Hogyan készítsünk riasztást az Arduino-val?

Ahhoz, hogy az alapvető követelményeket, hogy a GSM létre a riasztás Arduino kell tartalmaznia:

  • Értesítse a hackelés vagy behatolás tárgyát;
  • támogatja a külső rendszereket, például a hangsziren, jelzőlámpák;
  • vezérlőjelzés SMS-ben vagy híváson keresztül;
  • offline munka külső élelmiszer nélkül.

Riasztás létrehozásához szüksége lesz:

  • arduino modul;
  • funkcionális érzékelők készlete;
  • vagy modem;
  • offline tápegység;
  • külső végrehajtó eszközök.

Az Arduino modulok megkülönböztető jellemzője a speciális hosszabbító táblák használata. Segítségük segítségével csatlakoztassa az összes további eszközt az Arduino-hoz, amelyek szükségesek a konfiguráció kialakításához. biztonsági rendszer. Az ilyen kártyákat az Arduino modul tetejére helyezik el a "szendvics" formájában, és a megfelelő segédeszközök magukhoz kapcsolódnak.

Hogyan működik?

Ha az egyik csatlakoztatott érzékelő aktiválódik, a jel továbbítódik az ARDUINO modul processzorhoz. A letöltött felhasználói szoftvert használva a mikroprocesszor egy adott algoritmuson dolgozik. Ennek eredményeképpen egy külső működtető működésén alapulhat egy parancs, amelyet a megfelelő párosítási díjon keresztül továbbítanak.

Annak érdekében, hogy a figyelmeztető jelzések lehetősége a ház tulajdonosához vagy lakás tulajdonosához, amelyet őrzött, az Arduino modulhoz, a kiterjesztési díj segítségével, speciális gSM modul.. Ez létrehoz egy SIM kártyát az egyik szolgáltatónak celluláris kommunikáció.

Különleges GSM-adapter hiányában szerepét rendszeres mobiltelefon is elvégezheti. Az SMS-üzenetek riasztási figyelmeztető és tárcsázásával történő küldése mellett a celluláris jelenlét lehetővé teszi, hogy a GSM jelátvitelt vonatosan távolítsa el távolról, valamint ellenőrizze az objektum állapotát speciális kérések küldésével.

"Jegyzet!

Az objektum tulajdonosával való kommunikáció, a GSM modulok mellett a hagyományos modulok, amelyek kommunikálnak az interneten keresztül történő kommunikációt. "

Ebben az esetben, ha a processzor által feldolgozott jel által feldolgozott érzékelő modemen keresztül egy speciális portálra vagy helyre kerül. És már a webhelyről automatikusan generál figyelmeztető SMS-t vagy levelezést egy kötött e-mailre.

következtetések

Az Arduino modulok használata lehetővé teszi a felhasználók számára, hogy önállóan tervezzék a GSM riasztókat, amelyek különböző funkcióérzékelőkkel dolgozhatnak és külső eszközök kezelhetők. A különböző érzékelők használatának lehetősége miatt a riasztási funkció jelentősen bővíthető és létrehozhat egy komplexet, amely nemcsak az objektum biztonságát figyeli, hanem az állapotát. Például lehetõvé válik az objektum hőmérsékletének szabályozására, a víz és a gáz szivárgásának rögzítésére, átfedésben, baleset esetén és még sok más.

Az infravörös (IR, IR) érzékelőket általában a távolságok mérésére használják, de az objektumok kimutatására is használhatók. Több infravörös érzékelő csatlakoztatása Arduino-hoz, létrehozhatunk biztonsági riasztás.

Áttekintés

Az infravörös (IR, IR) érzékelőket általában a távolságok mérésére használják, de az objektumok kimutatására is használhatók. Az IR érzékelők infravörös adóból és infravörös vevőkészülékből állnak. Az adó infravörös sugárzási impulzusokat jelent, míg a vevő észleli a gondolatokat. Ha a vevő észlel egy tükröződést, ez azt jelenti, hogy az érzékelő előtt valamilyen távolságban van valamiféle tárgy. Ha nincsenek tükröződés, nincs objektum.

Az IR érzékelő, amelyet ebben a projektben fogunk használni, észlel egy reflexiót egy adott tartományban. Ezeknek az érzékelőknek van egy kis lineáris eszköz A töltési link (CCD), amely észleli a szöget, amellyel az IR sugárzás visszatér az érzékelőre. Amint az az alábbi ábrán látható, az érzékelő az infravörös impulzust a térbe továbbítja, és amikor egy objektum megjelenik az érzékelő előtt, az impulzus az érzékelőre visszavezethető az objektum és az érzékelő közötti távolságig arányos szögben. Az érzékelő vevő észleli és megjeleníti a szöget, és ezt az értéket használja, kiszámíthatja a távolságot.

Egy pár infravörös érzékelő csatlakoztatásával az Arduino-hoz egyszerű biztonsági riasztást végezhetünk. Megállapítjuk az érzékelőket az ajtó Jamb, és helyesen illeszkedünk az érzékelők, tudjuk észlelni, ha valaki áthalad az ajtón. Amikor ez megtörténik, az infravörös érzékelő kimeneti jelet fog változni, és érzékelni fogja ezt a változást, folyamatosan olvassa a jelet az érzékelők segítségével Arduino. Ebben a példában tudjuk, hogy az objektum áthalad az ajtón, amikor az IR érzékelő kimenetén olvasott olvasás meghaladja a 400-at. A riasztás kiváltásának visszaállításához a felhasználó rákattinthat a gombra.

kiegészítők

  • 2 x IR távérzékelő;
  • 1 x Arduino Mega 2560;
  • 1 x hangjelző;
  • 1 x gomb;
  • 1 x ellenállás 470 ohm;
  • 1 x NPN tranzisztor;
  • jumpers.

Kapcsolati rendszer

A projektre vonatkozó rendszer az alábbi ábrán látható. A két IR érzékelő kimenetei az A0 és A1 következtetésekhez kapcsolódnak. Két másik kimenet csatlakozik az 5V-os és GND következtetésekhez. A 12 voltos hangjelző a 3. kimenethez van csatlakoztatva a tranzisztoron keresztül, és a riasztás kikapcsolásához használt gomb a kimenethez van csatlakoztatva.


Az alábbi kép megmutatja, hogyan ragasztottuk az érzékelőket az ajtó Jamb erre a kísérletre. Természetesen állandó használat esetén más módon telepítette az érzékelőket.


Telepítés

  1. Csatlakoztassa az 5V és a GND Arduino táblákat a teljesítmény kimenetekhez és a GND érzékelőkhöz. Külső ételeket is szolgálhat.
  2. Csatlakoztassa az érzékelők kimeneti kimeneteit az A0 és A1 következtetései az Arduino kártya.
  3. Csatlakoztassa a 3. kimeneti Arduino-t a tranzisztorba egy 1 COM ellenálláson keresztül.
  4. A tranzisztor gyűjtőjének 12 V-os feszültség.
  5. Csatlakoztassa a 12 voltos hangjelző pozitív teljesítményét a kibocsátóhoz, és negatív a szárazföldi buszra.
  6. Csatlakoztassa a 4 kimenetet az 5V kimenethez a gombon keresztül. Biztonsági okokból, hogy elkerüljék a nagy áramlási áramlást, mindig jobb, ha egy további kis ellenállást végez.
  7. Csatlakoztassa az Arduino táblát a számítógéphez USB kábelen keresztül, és töltse le a programot a mikrokontrollerrel az Arduino IDE használatával.
  8. Alkalmazza az Arduino táblát, a tápegység, akkumulátor vagy USB kábel /

A kód

CONST IN BUZZER \u003d 3; // A 3. következtetés a Buzzer CONST INT Pushbutton \u003d 4 kimenete; // Következtetés 4 - Ez a beviteli a Void Setup () gomb (Pinmode (buzder, kimenet); // konfigurálja a 3. kimenetet a PINMODE kimenethez; Olvassa el mindkét érzékelő kimeneti jelét, és hasonlítsa össze az eredményt a küszöbértékkel INT SENSOR1_VALUE \u003d Analogread (A0); int Sensor2_Value \u003d analógad (A1); ha (Sensor1_Value\u003e 400 || Sensor2_Value\u003e 400) (míg (true) (digitalwrite, magas); // Engedélyezze, ha (DigitalDalread) \u003d \u003d Magas) szünet;)))) más (digitalwrite (zümmer, alacsony); // kapcsolja ki a riasztást))

Videó

Az otthonod védelme ésszerűtlen vendégek több ember Telepítse a riasztást. Lehetővé teszik, hogy azonnal megakadályozzák a szobába való behatolást. Ma létezik különböző típusok Riasztások, de a közelmúltban megkezdték a GSM riasztások népszerűségének növekedését, mivel lehetővé teszik, hogy információt kapjon a behatolásról az objektumtól eltérő távolságra, a fő dolog az, hogy a tulajdonosnak van egy telefonja, és ez a telefon van a hálózat. Sajnos ezek a rendszerek még mindig nem túl olcsóak, hogy csak nekik előnyben részesítsék. De az időnkben lehetséges, hogy egy egyszerű GSM jelzi magát. És a népszerű Arduino díj segít ebben a kérdésben.


Ez a projekt biztonsági rendszer (riasztás), hogy figyelmeztesse a ház behatolók behatolását. A rendszer GSM technológiát használ.



A biztonsági rendszer mikrokontroller kártyája csatlakozik a behatolási érzékelő modulhoz, amely például IR érzékelőn vagy ultrahangos közelítő érzékelőn alapulhat. Ha egy ilyen modulból származó jelet kap, egy SMS-üzenet a lakásba való behatolásról a felhasználónak küldhető.


Az alábbi ábra egy biztonsági blokkdiagramot mutat be.



A rendszer fő elemei mikrokontroller (például Arduino UNO) és a GSM / GPRS SIM900A modul. Az egész rendszer egy 12V / 2A áramforrásból származhat.


Az alábbi kép mutatja sématikus rendszer Otthoni biztonsági rendszer Arduino-alapú GSM-vel.



A rendszer működése nagyon egyszerű, és nem igényel különleges magyarázatokat. A tápegység táplálásakor a rendszer készenléti állapotra vált. Azonban, amikor a J2 bezárul, a figyelmeztető üzenet automatikusan továbbít egy előre meghatározott mobiltelefonszámot. Bármely érzékelő érzékelő csatlakoztatható a J2 bemeneti csatlakozóhoz. Meg kell jegyezni, hogy a J2 csatlakozó 1 kimenetének alacsony szintje aktív, és tartalmazza a biztonsági rendszert.


Ezenkívül a hívás kezdeményezése az S2 gomb megnyomásával. Az S3 gomb segítségével visszaállíthatja ezt a hívást.


Az alábbiakban az Arduino kódja.


// Csatlakoztassa a TX kimenetet a GPS modul D3 kimenetével // Csatlakoztassa az RX kimenetet a GPS modul D4 kimenetével // SMS küldési jelzéssel a D7 kimenethez (aktív szint alacsony) // hívásjelzéssel Csatlakoztassa a D8 kimenethez (aktív alacsony szint) // Hívás visszaállítási vége Csatlakozás a D9 kimenethez (aktív alacsony) #include NewsoftSerial myserial (3,4); // Következtetések RX és TX Csatlakoztassa a kapcsolatot a GSM #define msg_key 7 #define call_key 8 #define end_key 9 string szám \u003d "0000000000"; // a nullák helyett 10 számjegyű mobilszámot kell beírnia () (serial.begin (9600), myserial.begin (9600); Pinmode (msg_key, bemenet); pinmode (call_key, bemenet); Pinmode (end_key) , input); digitalwrite (msg_key, magas); digitalwrite (call_key, magas); digitalwrite (end_key, magas);) Void hurok () (// SMS küldése minden alkalommal Msg_Key, ha (digitalread (Msg_Key) \u003d\u003d alacsony) / / Ellenőrizze, hogy megnyomja-e a Küldés gombot ("myserial.println (" at + cmgf \u003d 1 "); // Állítsa be a módot szöveges üzemmód késleltetésként (150); myserial.println (" AT + CMGS \u003d \\ "+ 00" + Szám + "\\" "); // Adja meg a címzett számát nemzetközi formátumban, a nullák késleltetésének helyettesítése (150); myserial.print (" Figyelmeztetés! Intruder riasztás! "); // Adja meg az üzenet késleltetését (150) ; Myserial.write ((byte) 0x1a); // a 0x1a üzenet végének szimbóluma: ekvivalens Ctrl + Z késleltetés (50); myserial.println (););););) // Hívás kezdeményezése, amikor Call_key Más (Call_key) \u003d\u003d alacsony) // Ellenőrizze, hogy megnyomja-e a call_key-t (myserial.println ("ATD + 91" + szám + ";"); Omer, hogy hívja a míg (digitalread (call_key) \u003d\u003d alacsony); Késedelem (50); ) // A hívás más, ha (digitaldalread (end_key) \u003d\u003d alacsony) // A hívás reset gombja már megnyomva van (MySerial.println ("ATH); míg (digitalread (end_key) \u003d\u003d alacsony); késleltetés (50 );))

Így lehetséges, hogy könnyen hozzon létre egy GSM jelátvitelt az Arduino táblákon alapuló saját kezével. Az ilyen riasztás költségeiben természetesen minden bizonnyal olcsóbb lesz, mint a piacon bemutatott márkás analógok, és szinte azonos lesz.

mob_info.