Paloturvallisuuden tietosanakirja

Langaton Arduino-pohjainen hälytin. Murtohälyttimen luominen Arduinoon perustuvalla liiketunnistimella ja infrapunasensorilla Murtohälytin arduinoon

Ne ovat erityisiä laitteistoalustoja, joiden pohjalta voit luoda erilaisia ​​elektronisia laitteita, mukaan lukien ja. Tämän tyyppisille laitteille on ominaista yksinkertainen rakenne ja kyky ohjelmoida toiminta-algoritmit. Tämän ansiosta, luotu Arduinolla GSM-hälytys, voidaan säätää maksimaalisesti suojattavan kohteen mukaan.

Mikä on Arduino-moduuli?

Arduinot toteutetaan pieninä levyinä, joissa on oma mikroprosessori ja muisti. Levy sisältää myös joukon toiminnallisia koskettimia, joihin voidaan kytkeä erilaisia ​​sähköistettyjä laitteita, mukaan lukien turvajärjestelmissä käytettävät anturit.

Arduino-prosessorin avulla voit ladata käyttäjän itse kirjoittaman ohjelman. Luomalla oman ainutlaatuisen algoritmin voit tarjota optimaaliset toimintatavat turvahälyttimet eri kohteille ja eri kohteille erilaiset olosuhteet käyttöä ja ratkaistavia tehtäviä.

Onko Arduinon kanssa työskentely vaikeaa?

Arduino-moduulit ovat erittäin suosittuja monien käyttäjien keskuudessa. Tämä oli mahdollista sen yksinkertaisuuden ja saavutettavuuden ansiosta.

Moduulien ohjauksen ohjelmat on kirjoitettu käyttämällä tavallista C++:aa ja lisäyksiä yksinkertaisten toimintojen muodossa moduulin koskettimien tulo-/lähtöprosessien ohjaamiseksi. Lisäksi ohjelmointiin voidaan käyttää ilmaista ohjelmistoympäristöä Arduino IDE, joka toimii Windows-, Linux- tai Mac OS -käyttöjärjestelmässä.

Arduino-moduuleilla laitteiden kokoaminen yksinkertaistuu huomattavasti. GSM-hälytin Arduinoon voidaan luoda ilman juotoskolvia - kokoonpano tapahtuu koepalautan, jumpperien ja johtojen avulla.

Kuinka luoda hälytys Arduinolla?

Tärkeimmät vaatimukset, jotka Arduinoon luodun tee-se-itse-gsm-hälytysjärjestelmän on täytettävä, ovat:

  • ilmoittaa esineen omistajalle murtamisesta tai sisäänpääsystä;
  • tuki ulkoisille järjestelmille, kuten sireeni, merkkivalo;
  • hälytyksen ohjaus tekstiviestillä tai soittamalla;
  • Autonominen toiminta ilman ulkoista virtalähdettä.

Hälytyksen luomiseen tarvitset:

  • Arduino-moduuli;
  • joukko toiminnallisia antureita;
  • tai modeemi;
  • autonominen virtalähde;
  • ulkoiset toimeenpanolaitteet.

Arduino-moduulien erottuva piirre on erityisten laajennuslevyjen käyttö. Heidän avullaan kaikki lisälaitteet yhdistetään Arduinoon, joita tarvitaan kokoonpanon rakentamiseen. turvallisuusjärjestelmä. Tällaiset levyt asennetaan Arduino-moduulin päälle "sandwich" muodossa ja vastaavat apulaitteet on kytketty itse levyihin.

Kuinka se toimii?

Kun jokin liitetyistä antureista laukeaa, signaali lähetetään Arduino-moduulin prosessorille. Ladatun käyttäjäohjelmiston avulla mikroprosessori käsittelee sen tietyn algoritmin mukaisesti. Tuloksena voidaan muodostaa komento ulkoisen toimilaitteen käynnistämiseksi, joka välitetään sille vastaavan laajennusliitäntäkortin kautta.

Jotta vartioitavan talon tai asunnon omistajalle olisi mahdollista lähettää varoitussignaaleja, erityinen GSM-moduuli on kytketty Arduino-moduuliin laajennuskortin kautta. Se asentaa SIM-kortin yhdeltä palveluntarjoajalta matkapuhelinviestintä.

Erityisen GSM-sovittimen puuttuessa myös tavallinen matkapuhelin voi toimia tehtävässään. Hälytyksistä ja soittoon liittyvistä tekstiviestivaroituksista lähettämisen lisäksi matkapuhelinyhteyden avulla voit ohjata GSM-hälytystä Arduinossa etäältä sekä seurata kohteen tilaa lähettämällä erityispyyntöjä.

"Merkintä!

Kommunikoimaan kohteen omistajan kanssa voidaan GSM-moduulien lisäksi käyttää myös perinteisiä modeemeja, jotka tarjoavat yhteyden Internetin kautta.

Tässä tapauksessa, kun anturi laukeaa, prosessorin käsittelemä signaali lähetetään modeemin kautta erityiseen portaaliin tai sivustoon. Ja jo sivustolta luodaan automaattinen varoitustekstiviesti tai sähköpostiviesti liitteenä olevaan sähköpostiin.

johtopäätöksiä

Arduino-moduulien avulla käyttäjät voivat itsenäisesti suunnitella GSM-hälytyksiä, jotka voivat toimia erilaisten toiminnallisten antureiden kanssa ja ohjata ulkoisia laitteita. Erilaisten antureiden käyttömahdollisuuden ansiosta hälytystoimintoja voidaan laajentaa merkittävästi ja luoda kompleksi, joka valvoo paitsi kohteen turvallisuutta myös sen kuntoa. On esimerkiksi mahdollista valvoa laitoksen lämpötilaa, havaita vesi- ja kaasuvuodot, katkaista niiden syöttö onnettomuuden sattuessa ja paljon muuta.

Kuluneen vuosikymmenen aikana autovarkaudet ovat olleet yksi tärkeimmistä paikoista maailmassa tehtyjen rikosten rakenteessa. Tämä ei johdu niinkään tämän varkausluokan ominaispainosta suhteessa rikosten kokonaismäärään, vaan autojen korkeista kustannuksista aiheutuneiden vahinkojen merkityksestä. Moottoriajoneuvojen varkauksien torjunnassa toteutettujen toimenpiteiden heikko tehokkuus 1990-luvun lopulla johti vakiintuneiden ryhmien syntymiseen, jotka ovat erikoistuneet näiden rikosten tekemiseen ja joilla on järjestäytyneen rikollisuuden tunnusmerkkejä. olet luultavasti kuullut termin "mustan auton bisnes". Euroopan valtioiden pysäköintialueelta puuttuu vuosittain ≈ 2 % autoista, jotka joutuvat rikosten kohteeksi. Joten sain idean tehdä autooni gsm-hälytin Arduino Uno -pohjaisena.

Aloitetaan!

Mistä keräämme?

Meidän on valittava järjestelmämme sydän. Mielestäni tällaiselle signaloinnille ei ole mitään parempaa kuin Arduino Uno. Pääkriteeri on riittävä määrä "neuloja" ja hinta.


Arduino Unon tärkeimmät ominaisuudet

Mikro-ohjain - ATmega328
Käyttöjännite - 5 V
Tulojännite (suositus) - 7-12 V
Tulojännite (raja) - 6-20 V
Digitaalinen I/O - 14 (joista 6:ta voidaan käyttää PWM-lähtöinä)
Analogiset tulot - 6
Tasavirta tulon/lähdön kautta - 40 mA
Tasavirta ulostulolle 3,3V - 50mA
Flash-muisti - 32 kt (ATmega328), josta 0,5 kt käytetään käynnistyslataimeen
RAM - 2 kt (ATmega328)
EEPROM – 1 kt (ATmega328)
Kellotaajuus - 16 MHz


Sopii!

Nyt sinun on valittava gsm-moduuli, koska hälytysjärjestelmämme pitäisi pystyä ilmoittamaan auton omistajalle. Joten, sinun täytyy "googlettaa" ... Tässä erinomainen anturi on SIM800L, koko on aivan ihana.


Ajattelin ja tilasin sen Kiinasta. Kaikki ei kuitenkaan ollut niin ruusuista. Anturi vain kieltäytyi rekisteröimästä SIM-korttia verkkoon. Kaikki mahdollinen kokeiltiin - tulos on nolla.
löytyi ystävälliset ihmiset, joka tarjosi minulle siistimmän asian - Sim900 Shieldin. Tämä on nyt vakava asia. Shieldissä on sekä mikrofoni- että kuulokeliitäntä, täysi puhelin.


Sim900 Shieldin tärkeimmät ominaisuudet

4 toimintataajuusstandardia 850/ 900/ 1800/ 1900 MHz
GPRS-monipaikkaluokka 10/8
GPRS-matkaviestin luokka B
Yhteensopiva GSM-vaiheen 2/2+ kanssa
Luokka 4 (2 W @ 850/900 MHz)
Luokka 1 (1 W @ 1800/1900 MHz)
Ohjaus AT-komennoilla (GSM 07.07, 07.05 ja SIMCOM-laajennetut AT-komennot)
Alhainen virrankulutus: 1,5 mA (lepotila)
Käyttölämpötila-alue: -40°C - +85°C


Sopii!

Ok, mutta sinun on otettava lukemat joistakin antureista ilmoittaaksesi omistajalle. Yhtäkkiä auto evakuoidaan, jolloin auton sijainti ilmeisesti muuttuu avaruudessa. Ota kiihtyvyysanturi ja gyroskooppi. Erinomainen. Taksi, nyt etsitään anturia.

Uskon, että GY-521 MPU6050 sopii ehdottomasti. Kävi ilmi, että siinä on myös lämpötila-anturi. Sitä olisi pakko käyttää, tulee sellainen "tappajaominaisuus". Oletetaan, että auton omistaja laittoi sen talon alle ja lähti. Lämpötila auton sisällä muuttuu "tasaisesti". Mitä tapahtuu, jos tunkeilija yrittää päästä autoon? Hän pystyy esimerkiksi avaamaan oven. Auton lämpötila alkaa muuttua nopeasti, kun matkustamon ilma alkaa sekoittua ilman kanssa ympäristöön. Luulen, että se toimii.


GY-521 MPU6050:n tärkeimmät ominaisuudet

Moduuli 3-akselinen gyroskooppi + 3-akselinen kiihtyvyysanturi GY-521 sirulla MPU-6050. Voit määrittää kohteen sijainnin ja liikkeen avaruudessa, kulmanopeuden pyörimisen aikana. Siinä on myös sisäänrakennettu lämpötila-anturi. Sitä käytetään erilaisissa koptereissa ja lentokonemalleissa, ja näiden antureiden perusteella voit koota liikkeensieppausjärjestelmän.

Siru - MPU-6050
Syöttöjännite - 3,5 V - 6 V (DC);
Gyron kantama - ± 250 500 1000 2000 ° / s
Kiihtyvyysmittarin alue - ± 2 ± 4 ± 8 ± 16g
Tiedonsiirtoliitäntä - I2C
Koko - 15x20 mm.
Paino - 5 g


Sopii!

Tärinäanturi on myös hyödyllinen. Yhtäkkiä he yrittävät avata auton "raaalla voimalla", tai parkkipaikalla toinen auto koskettaa autoasi. Otetaan värähtelyanturi SW-420 (säädettävä).


SW-420:n tärkeimmät ominaisuudet

Syöttöjännite - 3,3 - 5V
Lähtösignaali - digitaalinen High/Low (normaalisti suljettu)
Käytetty anturi - SW-420
Käytetty vertailulaite - LM393
Mitat - 32x14 mm
Lisäksi - On säätövastus.


Sopii!

Ruuvaa SD-muistikorttimoduuli. Kirjoitetaan lokitiedosto.


SD-muistikorttimoduulin tärkeimmät ominaisuudet

Moduulin avulla voit tallentaa, lukea ja kirjoittaa SD-kortille tietoja, joita tarvitaan mikrokontrolleriin perustuvan laitteen toimintaan. Laitteen käyttö on merkityksellistä tallennettaessa tiedostoja kymmenistä megatavuista kahteen gigatavuun. Levy sisältää SD-korttikotelon, kortin virran stabilisaattorin, liittimen liitäntää ja voimalinjoja varten. Jos haluat työskennellä äänen, videon tai muun volyymidatan, kuten tapahtumien kirjaamisen, anturitietojen tai verkkopalvelimen tietojen tallentamisen, kanssa, Arduinon SD-muistikorttimoduuli mahdollistaa SD-kortin käytön näihin tarkoituksiin. Moduulia käyttämällä voit tutkia SD-kortin ominaisuuksia.
Syöttöjännite - 5 tai 3,3 V
SD-kortin muistikapasiteetti - jopa 2 Gt
Mitat - 46 x 30 mm


Sopii!

Ja lisää servokäyttö, kun anturit laukeavat, servokäyttö DVR:llä kääntyy ja kuvaa tapahtumasta videon. Ota MG996R servo.


MG996R servon tärkeimmät ominaisuudet

vakaa ja luotettava suoja vaurioilta
- Metallikäyttö
- Kaksirivinen kuulalaakeri
- Langan pituus 300 mm
- Mitat 40x19x43mm
- Paino 55 gr
- Kääntökulma: 120 astetta
- Toimintanopeus: 0,17 s/60 astetta (4,8 V ilman kuormitusta)
- Toimintanopeus: 0,13 s/60 astetta (6 V ilman kuormaa)
- Käynnistysmomentti: 9,4 kg/cm 4,8 V jännitteellä
- Käynnistysmomentti: 11kg/cm 6V jännitteellä
- Käyttöjännite: 4,8 - 7,2 V
- Kaikki käyttöosat ovat metallia


Sopii!

Kerätä

Googlessa on valtava määrä artikkeleita kunkin anturin yhdistämisestä. Ja minulla ei ole halua keksiä uusia polkupyöriä, joten jätän linkkejä yksinkertaisiin ja toimiviin vaihtoehtoihin.

Infrapuna-antureita (IR) käytetään yleensä etäisyyksien mittaamiseen, mutta niitä voidaan käyttää myös kohteiden havaitsemiseen. Yhdistämällä useita IR-antureita Arduinoon, voimme luoda murtohälytyksen.

Arvostelu

Infrapuna-antureita (IR) käytetään yleensä etäisyyksien mittaamiseen, mutta niitä voidaan käyttää myös kohteiden havaitsemiseen. IR-anturit koostuvat infrapunalähettimestä ja infrapunavastaanottimesta. Lähetin lähettää infrapunasäteilypulsseja, kun taas vastaanotin havaitsee mahdolliset heijastukset. Jos vastaanotin havaitsee heijastuksen, se tarkoittaa, että anturin edessä on jokin esine jollain etäisyydellä. Jos ei ole heijastusta, ei ole esinettä.

IR-anturi, jota käytämme tässä projektissa, havaitsee heijastukset tietyllä alueella. Näissä antureissa on pieni lineaarinen varauskytkentälaite (CCD), joka havaitsee kulman, jossa infrapunasäteily palaa anturiin. Kuten alla olevasta kuvasta näkyy, anturi lähettää infrapunapulssin avaruuteen, ja kun esine ilmestyy anturin eteen, pulssi heijastuu takaisin anturiin kulmassa, joka on verrannollinen kohteen ja anturin väliseen etäisyyteen. Anturin vastaanotin havaitsee ja tulostaa kulman, ja tämän arvon avulla voit laskea etäisyyden.

Yhdistämällä pari IR-anturia Arduinoon, voimme tehdä yksinkertaisen murtohälytyksen. Asennamme antureita oven karmiin, ja kohdistamalla anturit oikein pystymme havaitsemaan, kun joku kävelee oven läpi. Kun näin tapahtuu, IR-anturin lähtö muuttuu, ja havaitsemme tämän muutoksen lukemalla jatkuvasti anturien lähtöjä Arduinolla. Tässä esimerkissä tiedämme, että esine kulkee oven läpi, kun IR-anturin lähtö ylittää 400. Kun näin tapahtuu, Arduino laukaisee hälytyksen. Nollataksesi hälytyksen käyttäjä voi painaa painiketta.

Lisätarvikkeet

  • 2 x IR-etäisyysanturi;
  • 1 x Arduino Mega 2560
  • 1 x summeri;
  • 1 x painike;
  • 1 x 470 ohmin vastus;
  • 1 x NPN-transistori;
  • puseroita.

Kytkentäkaavio

Tämän projektin piiri on esitetty alla olevassa kuvassa. Kahden IR-anturin lähdöt on kytketty nastoihin A0 ja A1. Kaksi muuta nastaa on kytketty 5V- ja GND-nastoihin. 12 voltin summeri on kytketty nastan 3 transistorin kautta ja painike, jolla hälytin kytketään pois päältä, on kytketty nastaan ​​4.


Alla oleva kuva näyttää, kuinka liimasimme anturit oven karmiin tätä koetta varten. Tietenkin jatkuvassa käytössä anturit asennetaan eri tavalla.


Asennus

  1. Liitä Arduino-levyn 5V- ja GND-nastat antureiden virta- ja GND-nastoihin. Voit myös syöttää niille ulkoista virtaa.
  2. Liitä anturien lähtönastat Arduino-levyn nastoihin A0 ja A1.
  3. Liitä Arduinon nasta 3 transistorin pohjaan 1K vastuksen kautta.
  4. Kytke 12V jännite transistorin kollektoriin.
  5. Kytke 12 V:n summerin positiivinen johto emitteriin ja negatiivinen johto maadoituskiskoon.
  6. Yhdistä nasta 4 nastaan ​​5V painikkeella. Turvallisuussyistä on aina parasta tehdä tämä pienen lisävastuksen kautta suuren virran välttämiseksi.
  7. Liitä Arduino-kortti tietokoneeseesi USB-kaapelilla ja lataa ohjelma mikro-ohjaimeen Arduino IDE:n avulla.
  8. Käynnistä Arduino-levy virtalähteellä, akulla tai USB-kaapelilla.

Koodi

const int summeri=3; // pin 3 on lähtö summerille const int pushbutton=4; // nasta 4 on painikkeen tulo void setup() ( pinMode(summeri, OUTPUT); // aseta pin 3 lähtöön pinMode(pushbutton,INPUT); // aseta nasta 4 tuloksi ) void loop() ( // lue molempien antureiden lähtö ja vertaa tulosta kynnysarvoon int sensor1_value = analogRead(A0); int sensor2_value = analogRead(A1); if (sensor1_value > 400 || sensor2_value > 400) ( while(true) (digitalWrite( summeri,HIGH) ; // ota hälytys käyttöön if(digitalRead(pushbutton) == HIGH) tauko; ) ) else ( digitalWrite(summeri,LOW); // poista hälytys käytöstä ) )

Video

Hyvää iltapäivää! Jälleen kerran moniarvostelu kiinalaisista elektronisista komponenteista, kuten tavallista, vähän kaikesta, yritän olla lyhyempi, mutta toimiiko se? Joten, tapaa, GSM-hälytysjärjestelmä, joka maksaa jopa 700 ₽. Mielenkiintoista? Ole hyvä ja "leikkaa" alla!

Aloitetaan! Ennen kuin aloitat, suosittelen tutkimaan tätä, vähemmän komponentteja ja suurempaa autonomiaa. Joten "toimeksiantoehdot", signaloinnin perusvaatimukset:

1) Ilmoita, kun anturit laukeavat.
2) Sähkökatkon sattuessa on oltava jonkin verran autonomiaa.
3) Hälytysten hallinta tekstiviestillä ja puheluilla.

Koska hälytyksen luonti viivästyi useita kuukausia ja jotkut myyjät eivät enää myy heiltä ostettuja komponentteja, linkit päivitetään muiden myyjien tuotteisiin, joilla on maksimi tai lähellä enimmäismäärää. tavaroiden myyntien määrä ja paras hinta. Arvostelun hinnat ovat voimassa kirjoituspäivänä.

Lista mitä tarvitset:

Luettelo muutoksista

GSM_03_12_2016-14-38.hex- Kiinteä laitteen toiminta M590-modeemilla.
GSM_05_12_2016-13-45.hex- lisätty konsolin komento memtest, RAM-käytön optimointi.
GSM_2016_12_06-15-43.hex- Lisätty komentotulosten ulostulo konsoliin, muistin optimointi. Varattu: 49% SRAM.
GSM_2016_12_07-10-59.hex- nyt puhelinnumerot lisätään ja poistetaan oikein. Varattu: 49 % SRAM, 74 % Flash-muisti.
GSM_2016_12_07-15-38.hex- lisätty mahdollisuus liittää liiketunnistin, liitetään nastaan ​​A0 (tässä tapauksessa nastaa A0 käytetään digitaalisena). Lisätty tekstiviestikomennot PIRON, PIR pois päältä. Varattu: 48 % SRAM, 76 % Flash-muisti.
GSM_2016_12_08-13-53.hex- Nyt kun komento, joka ei lähetä tekstiviestiä vastauksena, on suoritettu onnistuneesti, laite välähtää kerran sinistä LED-valoa. Nyt kun komento, joka ei lähetä tekstiviestiä vastauksena, on suoritettu väärin, laite välähtää kahdesti sinisellä LED-valolla. Nyt, laitteen parametrien alustuksen jälkeen, jos "hiljainen"-tila on käytössä (SendSms = 0), laite vilkkuu nopeasti sinisellä LED-valolla 2 sekunnin ajan. Korjattu virhe, jonka vuoksi numeroa ei aina poistettu muistista DeletePhone-komennolla. Varattu: 48 % SRAM, 78 % Flash-muisti.
GSM_2016_12_11-09-12.hex- Lisätty konsolikomennot AddPhone ja DeletePhone, syntaksi on samanlainen kuin SMS-komennot. Muistin optimointi. Varattu: 43 % SRAM, 79 % Flash-muisti.
GSM_2017_01_03-22-51.hex- Toteutettu tuki samankaltaisille I / O-portin laajentimille PCF8574-sirulle 8 lisäanturin liittämiseen, mukaan lukien reed-kytkimet. Automaattinen haku osoitteet ja automaattinen moduulikonfigurointi. Antureiden vakionimet ja niiden toiminnan looginen taso muutetaan EditSensor-komennolla. Pääanturin (nasta D0) hälytystekstiviestin sisältö muutettu ”Hälytys! pääanturi! ja liiketunnistin (nasta A0) “Hälytys! PIR anturi! Lisätty EditSensor- ja I2CScan-komennot. Varattu: 66 % SRAM, 92 % Flash-muisti.
GSM_2017_01_15-23-26.hex- Tuki A6_Mini-modeemille. Ulkoisen virtalähteen olemassaolon ohjaus (nasta D7). Lisätty tekstiviestikomennot WatchPowerOn, WatchPowerOff. Lisätty konsolikomennot ListConfig, ListSensor. Nyt EditSensor sms -komento toimii oikein. Vianetsintätietojen ulostuloa porttimonitorille on hieman "leikattu". Varattu: 66 % SRAM, 95 % Flash-muisti.
GSM_2017_01_16-23-54.hex- Nyt vastausviestissä SMS-komentoon "Info" ilmoitetaan myös liiketunnistimen tila. Korjattu virhe, jonka vuoksi välillä lähetettiin tyhjiä vastaustekstiviestejä. Nyt laite ei ilmoita vain sammutuksesta, vaan myös ulkoisen virran palautumisesta. Kaikki modeemit alkoivat "puhua vähemmän", nyt porttimonitori on tullut hieman puhtaammaksi. Varattu: 66 % SRAM, 95 % Flash-muisti.
GSM_2017_02_04-20-23.hex- Korjattu "Katso virta päällä" -virhe. Nyt, virityksen poistamisen jälkeen, "hälytysnasta" on kytketty pois päältä. Nyt, kun numero on poistettu, oikeat tiedot näkyvät konsolissa. Ehkä on korjattu bugi, jonka vuoksi välillä lähetettiin tyhjiä vastaustekstiviestejä. Varattu: 66 % SRAM, 90 % Flash-muisti.
GSM_2017_02_14-00-03.hex- Nyt oletusarvoisesti tekstiviestejä lähetetään, SendSms-parametri on jälleen yhtä suuri kuin 1. Nyt kun pääkiekkokytkimen koskettimet ovat kiinni (ovi on kiinni), laite vilkkuu sinistä LED-valoa 2 sekuntia ilmoittaen anturin normaali toiminta. Varattu: 66 % SRAM, 90 % Flash-muisti.
GSM_2017_03_01-23-37.hex- WatchPowerOn-komento on poistettu. Lisätty konsolikomento WatchPowerOff, sama kuin SMS-komento. Lisätty komennot WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 - ulkoinen virranvalvonta on käytössä, jos hälytys on viritetty, WatchPowerOn2 - ulkoinen tehonvalvonta on aina käytössä. Viritys- ja poiskytkentätoiminto ulkoisilla laitteilla on toteutettu, tähän tarkoitukseen käytetään liittimiä A1(D15) ja A2(D16). Hälytin kytkeytyy päälle/pois päältä, kun se näkyy lähdössä A1(D15) korkeatasoinen+5V tai nastassa A2(D16) matala GND. Nasta A1(D15) vedetään GND:hen asti, nasta A2(D16) vedetään +5V:iin 20 (10) kOhm vastuksen kautta. Lisätty GuardButtonOn- ja GuardButtonOff-komennot. Nyt, virityksen jälkeen, punainen LED vilkkuu, kunnes pääkiekon anturipiirin eheys on tarkistettu. Jos piiri on valmis, punainen LED syttyy. Varattu: 66 % SRAM, 95 % Flash-muisti.
GSM_2017_03_12-20-04.hex- Nyt konsoli on entistä puhtaampi, mutta jos "TestOn"-testitila on käytössä, konsolissa näkyy lisätietoja. "Sent!"-virhe on korjattu, nyt viestien lähettäminen näkyy oikein konsolissa. Korjattu bugi "toistui valepuhelu". Nyt saldopyynnön pitäisi toimia oikein kaikissa modeemeissa. Varattu: 67 % SRAM, 95 % Flash-muisti.
GSM_2017_04_16-12-00.hex- Korjattu. Nyt Info- ja Money-komennot lähettävät aina vastaustekstiviestin. GuardButtonOn-komento on korvattu GuardButtonOn1- ja GuardButtonOn2-komennoilla. Varattu: 67 % SRAM, 99 % Flash-muisti.
GSM_2017_04_21-09-43.hex - ei suositella käytettäväksi, vain koekäyttöön, kiitos löydetyistä virheistä :) - Nyt sendsms-parametri ei vaikuta sähköverkon valvontaa varten tarkoitettujen tekstiviestien lähettämiseen. Lisätty tekstiviestikomento DelayBeforeGuard, joka vastaa virityksen viiveestä, arvo ei saa ylittää 255 sekuntia. Lisätty tekstiviestikomento DelayBeforeAlarm, joka vastaa ilmoitusten lähettämisen viivästyksestä ja "hälytysnastan" kytkemisestä päälle, kun anturit laukeavat, arvo ei saa ylittää 255 sekuntia. ClearSMS-komennot poistettu, nyt viestit poistetaan automaattisesti vastaanotettaessa. Varattu: 68 % SRAM, 100 % Flash-muisti.
GSM_2017_04_22-20-42.hex- Korjattu useita bugeja. ClearSMS-komennot ovat palanneet laiteohjelmistoon. Muistin optimointi. Varattu: 68 % SRAM, 98 % Flash-muisti.
GSM_2017_04_23-17-50.hex- Nyt saldopyynnön pitäisi toimia oikein kaikissa modeemeissa. Ulkoisten laitteiden virittäminen ja purkaminen toimii nyt oikein. Info-komento Tekstiviestivastausviestit eivät saa olla tyhjiä. Muistin optimointi. Varattu: 68 % SRAM, 98 % Flash-muisti.
GSM_2017_04_24-13-22.hex- Nyt välitetään konsolikomentoja GSM-moduuli suoritetaan vain, jos testitila on käytössä. Nyt ei ole jakoa SMS-komentoihin ja konsolikomentoihin, kaikki olemassa olevat komennot voidaan lähettää sekä tekstiviestillä että konsolin kautta. Mahdollisesti korjattu bugi Info-komennolla. Muistin optimointi. Varattu: 68 % SRAM, 94 % Flash-muisti.
GSM_2017_04_25-20-54.hex- Korjattu virhe, jossa ListConfig-komento muutti viimeisen tapahtuman arvoa. Nyt kun annat komentoja konsolin kautta, tarpeettomia tekstiviestejä ei lähetetä. Mahdollisesti korjattu bugi Info-komennolla. Muistin optimointi. Varattu: 66 % SRAM, 94 % Flash-muisti.
GSM_2017_04_30-12-57.hex- Tilapäisesti käytössä oleva lähtö lisäinformaatio konsoliin, kun lähetät tekstiviestejä ja muodostat vastauksen Info-komentoon. Mahdollisesti korjattu bugi Info-komennolla. Muistin optimointi. Varattu: 66 % SRAM, 92 % Flash-muisti.
GSM_2017_05_06-11-52.hex- Korjattu DelayBeforeAlarm-toiminnolla. Varattu: 66 % SRAM, 93 % Flash-muisti.
GSM_2017_05_23-21-27.hex- Muutettu hieman konsoliin tulevan tiedon ulostuloa. Lisätty tuki PCF8574A:n portin laajennusmoduuleille, joiden osoitteet ovat 0x38–0x3f. Korjattu c bugi. Nyt laite käynnistyy automaattisesti uudelleen FullReset-, ResetConfig-, ResetPhone-komentojen jälkeen ja jos MemTest-komennon suorittaminen onnistuu. Lisätty WatchPowerTime-komento. Nyt on mahdollista asettaa aika, jonka jälkeen lähetetään tekstiviesti ulkoisen virransyötön katkeamisesta. Varattu: 67 % SRAM, 94 % Flash-muisti.
GSM_2017_05_26-20-22.hex- Korjattu laajennuskortin anturimuistin alustus. AddPhone-komennon syntaksia on muutettu. Lisätty EditMainPhone-komento. Ilmoitusjärjestelmän toimintaperiaate on muuttunut, kun anturin laukeaa, lähetetään ensin tekstiviestit, jonka jälkeen soitetaan äänipuheluita. Hälytystekstiviestit lähetetään S:llä merkittyihin puhelinnumeroihin (SMS). Äänipuhelut soitetaan numeroihin, joissa on merkki "R" (Ring). Viestit ulkoisen virtalähteen sammuttamisesta/päälle kytkemisestä lähetetään puhelinnumeroihin, joissa on merkki "P" (virta). Lisätty RingTime-komento. Nyt on mahdollista asettaa hälytyksen kesto, parametrin arvo voi olla 10 - 255 sekuntia. Nyt RingOn/RingOff-komento maailmanlaajuisesti ottaa käyttöön/poistaa ilmoitukset äänipuheluista. Lisätty ResetSensor-komento. Varattu: 68 % SRAM, 99 % Flash-muisti.
GSM_2017_06_02-17-43.hex- AddPhone- ja EditMainPhone-komentoihin on lisätty "I" (Info) -parametri, joka vastaa sms-ilmoituksesta laitteen virityksestä tai poiskytkemisestä. Nyt päänumeron lisäämisen jälkeen laite käynnistyy automaattisesti uudelleen. Nyt voit syöttää samat numerot laitteen muistiin. Kun lisäät toisen ja sitä seuraavat kaksoisnumerot, määritteet "M", "S", "P" ja "I" poistetaan niistä automaattisesti. Näitä numeroita käytetään toistuviin äänipuheluihin, kun anturit laukeavat. Korjattu virhe konsoliin wry-lähdöstä AddPhone-komennon suorittamisen jälkeen, nyt tietoja ei näytetä automaattisesti numeron lisäämisen jälkeen. Lisätty Reboot-komento. Varattu: 69 % SRAM, 99 % Flash-muisti.
GSM_2017_06_11-00-07.hex- Nyt taas, kun pääkiekkokytkimen koskettimet ovat kiinni (ovi on kiinni), laite vilkkuu sinisellä LED-valolla 2 sekuntia ilmoittaen anturin normaalista toiminnasta, kun taas laitetta ei oteta huomioon, kun laite on viritetty tai pois päältä. RingOn/RingOff-komennot on poistettu. Nyt laite voidaan kytkeä pois päältä hälytyssoiton aikana, nyt ne tehdään taustalla. Varattu: 69 % SRAM, 99 % Flash-muisti.
GSM_2017_07_04-21-52.hex- Nyt Tauko-komento ei lähetä vastaustekstiviestiä. TestOn ja TestOff komennot poistettu. Kaikista numeroista on poistettu Hallinta-merkki. Varattu: 68 % SRAM, 96 % Flash-muisti.
GSM_2017_07_24-12-02.hex- Lisätty ReedSwitchOn/ReedSwitchOff-komennot pääkiekon valvontaan, nyt se voidaan ottaa käyttöön/poistaa käytöstä samalla tavalla kuin liiketunnistin. Korjattu Info-komentovirhe. TestOn- ja TestOff-komennot ovat palanneet laiteohjelmistoon. Varattu: 68 % SRAM, 96 % Flash-muisti.
GSM_2017_07_26-10-03.hex- Lisätty ModemID-komento. Modeemi tunnistetaan automaattisesti vain, jos tämän parametrin arvo on 0. Kun parametrin arvoksi on asetettu 0, laite käynnistetään automaattisesti uudelleen. Varattu: 68 % SRAM, 98 % Flash-muisti.
GSM_2017_08_03-22-03.hex- Nyt hälytin voi ohjata ulkoisia laitteita. Analogista lähtöä A3 käytetään ohjaukseen (D17 digitaalisena). Lähtölogiikkatasoa (+5V tai GND) voidaan muuttaa, kun tasoa on muutettu asetuskomennolla, laite käynnistyy automaattisesti uudelleen. Ulkoisen laitteen ohjaussignaalin kestoa voidaan muuttaa. Lisätty komennot ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Muutamia muutoksia ohjauskomentojen logiikkaan. Muistin optimointi. Varattu: 68 % SRAM, 99 % Flash-muisti.
GSM_2017_08_10-12-17.hex- Poistettu komennot SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff ja kaikki niihin liittyvä. DelayBeforeAlarm-komento on korvattu laajennetuilla komennoilla. Muutti Info-komennon lähtöä. Optimoitu ListConfig-komennon tulos konsoliin. Nyt kaikki korkean tai matalan tason digitaaliset anturit, mukaan lukien kielikytkimet, voidaan kytkeä nastoihin D6 ja A0. Nastat D6 ja A0 on vedettävä maahan (GND) 10 (20) kOhmin resistanssilla. Jos anturi on asetettu alhaiselle toimintatasolle (käytössä reed-kytkintilassa), piirin eheys tarkistetaan. Tulojen D6 ja A0 (+5V tai GND) logiikkatasoa voidaan muuttaa, logiikkatason muuttamisen jälkeen laite käynnistyy automaattisesti uudelleen. Jokaiselle anturille (pää-, toinen, PCF-laajennuskortit) voidaan liipaistuessaan asettaa tietty aika, jonka jälkeen lähetetään ilmoitus (tekstiviesti ja/tai äänipuhelu). "PIR-anturi" nimettiin uudelleen "Toiseksi anturiksi". Korjattu laajennuskortin toiminta, virhe, jonka vuoksi laite ilmoitti aina antureiden toiminnasta riippumatta siitä, oliko laite viritetty vai ei. Nyt voit valita käyttötilan, jossa laite voi valvoa laajennuskortin antureita sekä viritettynä (GuardOn) että estettynä (GuardOff). Lisätty komennot PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, SecondDelayBeforeAlarm. Varattu: 68 % SRAM, 99 % Flash-muisti.

*Myöhemmät laiteohjelmistoversiot sisältävät muutoksia aikaisempiin versioihin.


Käytetyt Arduino Nano v3 -portit

D4- "hälytys"-nastan lähtö, kun anturi laukeaa, korkean tason signaali asetetaan tälle nastalle
D5- "hälytys"-nastan käänteinen lähtö, kun anturi laukeaa, tälle nastalle asetetaan matalan tason signaali

D6- ruokoanturi. GSM_2017_08_10-12-17.hex-versiosta alkaen kaikki digitaaliset anturit, joilla on korkea tai matala vastetaso, mukaan lukien kielikytkimet, voidaan kytkeä nastan D6. Pin D6 on vedettävä maahan (GND) 10 (20) kOhmin resistanssilla.
D7- kytketty jännitteenjakajaan ulkoisesta +5V virtalähteestä. Ylävarsi 2,2 kΩ, alavarsi 3,3 kΩ.

Jännitteen jakaja


D8- TX-modeemi
D9- RX-modeemi

D10- punainen LED
D11- sininen LED
D12- vihreä LED

Oheisliitäntä:
A0- Liiketunnistin . GSM_2017_08_10-12-17.hex-versiosta alkaen kaikki digitaaliset anturit, joilla on korkea tai matala vastetaso, mukaan lukien reed-kytkimet, voidaan kytkeä nastan A0. Pin A0 on vedettävä maahan (GND) 10 (20) kOhmin resistanssilla.

A1- Tulo ulkoista ohjausta varten. Hälytin kytkeytyy päälle/pois päältä, kun tuloon tulee korkea +5V taso.
A2- Käänteinen tulo ulkoista ohjausta varten. Hälytys kytkeytyy päälle/pois päältä, kun tulossa näkyy matala GND-taso.

A3- Konfiguroitava (+5V tai GND) lähtö ulkoisten laitteiden ohjaamiseen. Kun ohjauskomento vastaanotetaan, tämän lähdön arvo muuttuu riippuen siitä, mikä on asetettu asetetulle ajanjaksolle.

A4- SDA I2C
A5- SLC I2C
, liittääksesi 8 lisäanturia.


Hex-laiteohjelmiston ohjauskomennot

Huomio! Komennot korostettuina lihavoituna voidaan suorittaa vain päänumerosta, koska he ovat vastuussa laitteen konfiguroinnista. Loput komennot voidaan suorittaa numeroista "Management"-attribuutilla.

SMS - ohjauskomennot eivät erota isot ja pienet kirjaimet:
Lisää puhelin- Lisää puhelinnumero. Yhteensä enintään 9 numeroa voidaan lisätä + 1 päänumero, joka tallentuu automaattisesti muistiin, kun soitat laitteeseen ensimmäisen kerran tehdasasetusten palauttamisen jälkeen komennoilla nollaa puhelin tai Täysi nollaus. Nuo. Se, joka soitti laitteeseen ensimmäisenä tehdasasetusten palauttamisen jälkeen, on "pää", tämä numero syötetään ensimmäiseen muistisoluun eikä sitä voi muuttaa tai poistaa tekstiviestillä. Ei ole mahdollista lisätä kahta identtistä numeroa.
Esimerkki komennosta:



Komentosyntaksi:

Lisää puhelin- tiimi
: - erotin
5 - kirjoittaa viidenteen muistisoluun
+71234567890 - puhelinnumero
Versioon GSM_2017_05_26-20-22.hex asti:
a - "Hälytys" -parametri - SMS-viestejä lähetetään numeroihin, joissa on tämä parametri - hälytysviestit ja viestit virittämistä tai poiskytkentää varten.
Alkaen versiosta GSM_2017_05_26-20-22.hex:
m - "Hallinta" -parametri - hälytysten hallinta on sallittu
s - "SMS"-parametri - SMS-viesti lähetetään, kun anturit laukeavat
r - "Ring"-parametri - äänipuhelu soitetaan, kun anturit laukeavat
p - "Virta"-parametri - SMS-viesti lähetetään, kun ulkoinen virta kytketään päälle / pois päältä
i - "Info" -parametri - SMS-viesti lähetetään virityksen tai poiskytkennän yhteydessä
Parametrien "m", "s", "r", "p", "i" puuttuessa puhelin tallennetaan muistiin, mutta sitä ei käytetä millään tavalla.


PoistaPuhelin- Poista puhelinnumero.
Esimerkki komennosta:

Komentosyntaksi:

DeletePhone -komento
: - erotin
+71234567891 - puhelinnumero


EditMainPhone- Muuta pääpuhelimen parametreja "s", "r", "p", "i", tämä numero syötetään ensimmäiseen muistisoluun.
Esimerkki komennosta:

Komentosyntaksi:

EditMainPhone-komento
: - erotin
srpi - parametrit


SaldoNum- Saldopyynnön numeron muuttaminen ja pyyntövastauksen pituuden käsittely. Beeline-oletusarvo: #100#L22.
Esimerkki komennosta:

Komentosyntaksi:

BalanceNum - joukkue
: - erotin
#103# - saldopyynnön numero
L24 - Välitetyn vastauksen pituus (len) on 24 merkkiä, poistimme roskapostin saldopyynnöstä.


EditSensor- Muuta anturin nimeä ja loogista toimintatasoa. Ylimääräisiä antureita voi olla yhteensä enintään 8. Asetusten muuttamisen jälkeen laite on käynnistettävä uudelleen.
Esimerkki komennosta:
EditSensor:1+Datchik dvizheniya v koridore#h

Komentosyntaksi:

EditSensor - komento
: - erotin
1 - kirjoittaa ensimmäiseen muistisoluun
+ - erotin
Datchik dvizheniya v koridore - anturin nimi, ei saa ylittää 36 merkkiä välilyönnit mukaan lukien.
#h - Merkki korkeasta logiikkatasosta anturilta, jonka vastaanotettuaan hälytys laukeaa. Jos "#h" puuttuu, hälytys laukeaa, kun anturilta vastaanotetaan alhainen logiikkataso.


Nukkumaanmenoaika- Hälytyksen "nukahtamisen" aika tekstiviestiä vastaanotettaessa - "Tauko"-komento näytetään minuutteina. Oletusarvo: 15, ei voi olla pienempi kuin 1 ja suurempi kuin 60.
Esimerkki komennosta:

Komentosyntaksi:

SleepTime - tiimi
: - erotin
20-20 minuuttia "nukkua".


AlarmPinTime- Aika, jolle hälytys / käänteinen nasta on kytketty päälle / pois päältä, näytetään sekunteina. Oletusarvo: 60, ei saa olla alle 1 sekunti ja yli 43200 sekuntia (12 tuntia).
Esimerkki komennosta:

Komentosyntaksi:

AlarmPinTime - komento
: - erotin
30 - 30 sekuntia ottaaksesi käyttöön/poistaaksesi hälytysnastan.


DelayBeforeGuard- Aika, jonka jälkeen laite on viritetty asianmukaisen komennon vastaanottamisen jälkeen.
Esimerkki komennosta:

Komentosyntaksi:

DelayBeforeGuard-komento
: - erotin
25 - 25 sekuntia ennen viritystä


DelayBeforeAlarm- Aika, jonka jälkeen "hälyttävä" SMS-ilmoitus lähetetään, jos hälytystä ei ole kytketty pois päältä tänä aikana. Korvattu laajennetuilla komennoilla alkaen versiosta GSM_2017_08_10-12-17.hex
Esimerkki komennosta:

Komentosyntaksi:

DelayBeforeAlarm - komento
: - erotin
40 - 40 sekuntia ennen "hälytys"-ilmoituksen lähettämistä


WatchPowerTime- Aika minuutteina, jonka jälkeen lähetetään tekstiviesti ulkoisen virransyötön katkaisemisesta. Jos ulkoinen virta palautetaan ennen kuin asetettu aika on kulunut, viestiä ei lähetetä.
Esimerkki komennosta:

Komentosyntaksi:

WatchPowerTime - tiimi
: - erotin
5-5 minuuttia ennen tekstiviestin lähettämistä


Soittoaika- Hälytyksen äänipuhelun kesto, parametrin arvo voi olla 10 - 255 sekuntia.
Esimerkki komennosta:

Komentosyntaksi:

RingTime - komento
: - erotin
40 - 40 puhelun kesto on 40 sekuntia, jonka jälkeen soitetaan seuraavalle tilaajalle.


ModeemiID- Käytetyn modeemin mallin pakkoasennus. Mahdolliset arvot: 0 - modeemin automaattinen tunnistus, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Esimerkki komennosta:

Komentosyntaksi:

ModemID - komento
: - erotin
2 - modeemin tunnus.


ExtDeviceTime- Sekuntien lukumäärä, jonka signaalitaso ulkoisen laitteen ohjauslähdössä muuttuu.
Esimerkki komennosta:

Komentosyntaksi:

ExtDeviceTime-komento
: - erotin
5-5 sekuntia


ExtDeviceLevelLow- Lähtöön A3 kytketty ulkoinen laite on ajettu matalaksi (GND). Oletuslähtö on korkea +5 V, kunnes ulkoisen laitteen ohjauskomento vastaanotetaan.
ExtDeviceLevelHigh- Lähtöön A3 kytkettyä ulkoista laitetta ohjataan korkealla signaalitasolla (+5V). Lähtö on oletuksena GND low, kunnes vastaanotetaan ulkoisen laitteen ohjauskomento.

ResetSensor- nollaa porttilaajentimen anturien parametrit

resetconfig- tehdasasetusten palautus

nollaa puhelin- kaikkien puhelinnumeroiden poistaminen muistista

Täysi nollaus- Palauta asetukset, poista kaikki puhelinnumerot muistista, palauta BalanceNum-komennon oletusarvo.

Soitto päällä- mahdollistaa ilmoituksen soittamalla "pää"numeroon, joka on tallennettu ensimmäiseen muistisoluun, kun anturi laukeaa. Poistettu version GSM_2017_06_11-00-07.hex jälkeen
Lopettaa puhelu- sammuta ilmoitus puhelulla, kun anturi laukeaa. Poistettu version GSM_2017_06_11-00-07.hex jälkeen

SMSOn- Ota käyttöön tekstiviesti-ilmoitus, kun anturi laukeaa. Poistettu versiosta GSM_2017_08_10-12-17.hex
sms pois- sammuta tekstiviesti-ilmoitus, kun anturi laukeaa. Poistettu versiosta GSM_2017_08_10-12-17.hex

PIRON- Salli liiketunnistimen käsittely
PIR pois päältä- Poista liiketunnistimen käsittely käytöstä

ReedSwitchOn- mahdollistaa pääkiekon anturin käsittelyn
ReedSwitchOff- sammuta pääkiekon anturin käsittely

WatchPowerOn- kytke ulkoinen virranhallinta päälle, ulkoisesta sähkökatkosta lähetetään tekstiviesti, mikäli hälytysjärjestelmä on viritetty. Poistettu version GSM_2017_03_01-23-37 jälkeen.

WatchPowerOn1- kytke ulkoinen virranhallinta päälle, ulkoisesta sähkökatkosta lähetetään tekstiviesti, mikäli hälytysjärjestelmä on viritetty.
WatchPowerOn2- kytke ulkoinen virranhallinta päälle, tekstiviesti ulkoisesta sähkökatkosta lähetetään joka tapauksessa

Kellon virta pois päältä- sammuta ulkoinen virranhallinta

GuardButtonOn- hälytyksen ohjaus ulkoisilla laitteilla tai painikkeella on käytössä Poistettu versiosta GSM_2017_04_16-12-00 alkaen.
GuardButtonOn1-toiminto sijoittaminen tai poistaminen suojaus ulkoisilla laitteilla tai painike on päällä
GuardButtonOn2-toiminto vain esityksiä viritetty ulkoisilla laitteilla tai painikkeella on kytketty päälle, poiskytkentä suoritetaan soittamalla laitteeseen tai käyttämällä SMS-komentoa.
Guard Button Off- Hälytysohjaus ulkoisilla laitteilla tai painikkeella on poistettu käytöstä

PCFForceOn- laajennusmoduulin kaikkien antureiden ryhmän jatkuva valvonta
PCFForceOff- laajentimen kaikkien antureiden ryhmän valvonta vain laitteen ollessa viritetty

MainSensorLevelHigh- hälytys lähetetään, kun anturin tuloon (D6) tulee korkea signaali (+5 V)
MainSensorLevelLow- hälytys lähetetään, kun anturin tuloon (D6) ilmestyy matalan tason signaali (GND)
MainSensorLevelOff- tuloanturin käsittely (D6) pois käytöstä

SecondSensorLevelHigh- hälytys lähetetään, kun anturin tuloon (A0) tulee korkea signaali (+5 V)
SecondSensorLevelLow- hälytys lähetetään, kun anturin tuloon (A0) ilmestyy matalan tason signaali (GND)
SecondSensorLevelOff- tuloanturin käsittely (A0) pois käytöstä

MainDelayBeforeAlarm- aika, jonka jälkeen "hälytys" SMS-ilmoitus lähetetään, kun pääanturi (D6) laukeaa, jos hälytystä ei ole kytketty pois päältä tänä aikana. Syntaksi on sama kuin DelayBeforeAlarm-komennon.
SecondDelayBeforeAlarm- aika, jonka jälkeen "hälyttävä" SMS-ilmoitus lähetetään, kun se laukeaa ylimääräinen anturi(A0), jos hälytintä ei ole kytketty pois päältä tämän ajan kuluessa. Syntaksi on sama kuin DelayBeforeAlarm-komennon.
PCFDelayBeforeAlarm- aika, jonka jälkeen "hälytys" SMS-ilmoitus lähetetään, kun laajennuskortin (PCF8574) anturit laukeavat, jos hälytystä ei ole kytketty pois päältä tänä aikana. Syntaksi on sama kuin DelayBeforeAlarm-komennon.

GuardOn - käsivarsi
GuardOff - poista suojaus

Open - ulkoisen laitteen ohjauskomento

Info - tarkista tila, vastauksena tähän viestiin lähetetään tekstiviesti, jossa on tiedot numerosta, josta suojaus laitettiin päälle / pois päältä

Tauko - keskeyttää järjestelmän nukkumisajan komennon määrittämäksi ajaksi minuuteissa, järjestelmä ei reagoi anturin liipaisuihin.

TestOn - testitila on päällä, sininen LED vilkkuu.
TestOff - testitila on kytketty pois päältä.

LedOff - sammuttaa valmiustilan LED-valon.
LedOn - sytyttää valmiustilan LED-valon.

Raha - saldopyyntö.

ClearSms - Poista kaikki tekstiviestit muistista

Konsolikomennot (versioon GSM_2017_04_24-13-22.hex asti) - syötetään Arduino IDE -porttimonitoriin:

AddPhone - samanlainen kuin AddPhone sms-komento

DeletePhone - samanlainen kuin DeletePhone-sms-komento

EditSensor - samanlainen kuin EditSensor sms-komento

ListPhone - tulostaa porttimonitorille luettelon muistiin tallennetuista puhelimista

ResetConfig - samanlainen kuin ResetConfig sms -komento

ResetPhone - samanlainen kuin ResetPhone sms -komento

FullReset - samanlainen kuin SMS-komento FullReset

ClearSms - samanlainen kuin ClearSms sms -komento

WatchPowerOn1 - samanlainen kuin WatchPowerOn1 SMS-komento
WatchPowerOn2 - samanlainen kuin WatchPowerOn2 sms-komento
WatchPowerOff - samanlainen kuin WatchPowerOff sms-komento

GuardButtonOn - samanlainen kuin GuardButtonOn sms-komento. Poistettu version GSM_2017_04_16-12-00 jälkeen
GuardButtonOn1 - samanlainen kuin GuardButtonOn1 SMS-komento
GuardButtonOn2 - samanlainen kuin GuardButtonOn2 SMS-komento
GuardButtonOff - samanlainen kuin GuardButtonOff sms-komento

Memtest - laitteen haihtumattoman muistin testi, kaikki laitteen asetukset nollataan, kuten FullReset-komento.

I2CScan - tuettujen laitteiden haku ja alustus I2C-väylällä.

ListConfig - laitteen nykyisen konfiguraation lähtö porttimonitoriin.

ListSensor - lähtö nykyisen anturin kokoonpanon porttimonitoriin.

UPD. Käytettäessä liiketunnistinta, jotta vältytään vääriltä positiivisilta modeemin käytön aikana, on välttämätöntä välillä nastat GND ja A0 Arduino laittaa vastusta Kiitos ystävä
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") - Numerot, joilla on lupa hallita suojausta.
AlarmPhone = ("70001234501", "70001234502") - Numerot, joilla lähetetään tekstiviesti-ilmoituksia, kun anturi laukeaa, ja ilmoitukset virityksen poistamisesta tai virityksestä. Luettelon ensimmäistä numeroa kutsutaan, kun anturi laukeaa, jos RingOn-komento suoritetaan, oletusarvoisesti tämä vaihtoehto on käytössä. Tämä johtuu siitä, että tekstiviestit voivat saapua hieman viiveellä ja puhelun pitäisi mennä perille välittömästi.

Jos puhelu vastaanotetaan valtuutetusta numerosta tai SMS-viesti GuardOn/GuardOff-komennolla, niin nykyisestä suojaustilasta riippuen lähetetään SMS-viesti virittämisestä tai poiskytkemisestä AlarmPhone-ryhmässä lueteltuihin numeroihin, Myös tekstiviesti lähetetään numeroon, josta puhelu tuli.

Kun anturi laukeaa Tekstiviestit lähetetään kaikkiin AlarmPhone-ryhmän (luettelon) numeroihin ja ensimmäiseen tämän ryhmän numeroon soitetaan äänipuhelu.

Valoilmaisin:
LED palaa punaisena - viritetty.
LED syttyy vihreässä- pois päältä, päälle/pois päältä tekstiviestikomennolla LedOn/LedOff.
LED-valo vilkkuu jatkuvasti sinisenä - se osoittaa, että kaikki on kunnossa Arduinon kanssa, kortti ei ole roikkunut, sitä käytetään yksinomaan virheenkorjaukseen, se otetaan käyttöön / poistetaan käytöstä TestOn / TestOff sms-komennolla.
* LedTest()-toiminto on koodissa, se vilkkuu sinisellä LEDillä, se on tehty vain valvomaan Arduinoa, se vilkkuu - se tarkoittaa, että se toimii, se ei vilku - se on jäässä. En ole vielä katkaissut puhelinta :)

Ei oleellista!

Kahden tai useamman anturin liittäminen avoimeen laiteohjelmistoon (koskee vain tätä laiteohjelmistoa sketch_02_12_2016.ino)
Ylimääräisten reed-anturien liittämiseen käytämme ilmaisia ​​digitaalisia nastoja D2, D3, D5 tai D7. Kytkentäkaavio lisäanturilla D7:ssä.

Tarvittavat laiteohjelmiston muutokset
... #define DoorPin 6 // Pääanturiin kytketty tulonumero int8_t DoorState = 0; // Muuttuja pääanturin tilan tallentamiseen int8_t DoorFlag = 1; // Muuttuja pääanturin tilan tallentamiseen #define BackDoorPin 7 // Lisäanturiin kytketyn tulon numero int8_t BackDoorState = 0; // Muuttuja lisäanturin tilan tallentamiseksi int8_t BackDoorFlag = 1; // Muuttuja lisäanturin tilan tallentamiseen...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackOorPin, INPUT); ...
... void Detect() ( // Arvojen lukeminen antureista DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); //Pääanturia käsitellään, jos (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; viive(100); if (LedOn == 1) digitalWrite(GLed, LOW); Hälytys(); ) if (Ovitila == KORKEA && OviLippu == 1)( DoorFlag = 0; viive(100); ) //Käsittele lisäanturi if (BackDoorState == LOW && BackOorFlag == 0) ( BackOorFlag = 1; viive (100); if (LedOn == 1) digitalWrite(GLed, LOW); Hälytys(); ) if (BackDoorState = = KORKEA && Takaovenlippu == 1)( Takaoven lippu = 0; viive(100); ) ) ...

Ja vielä yksi asia:
1. On parempi käyttää 2 A:n virralle suunniteltuja diodeja, koska moduuli saastuttaa 1 A:n virralla ja meidän on silti syötettävä Arduinoa ja modeemia jollakin. Tässä tapauksessa käytetään 1N4007 diodeja, jos ne epäonnistuvat, vaihdan ne 2 A: lla.
2. Käytin LEDin kaikki vastukset 20 kOhmilla, jotta en valaisi koko käytävää yöllä.
3. Ripustin myös 20 kOhm vastuksen reed-anturiin GND-nastan ja D6-nastan väliin.

Tässä kaikki tältä erää. Kiitos huomiostasi! :)

Aion ostaa +207 Lisää suosikkeihin Tykkäs arvostelusta +112 +243

Hei kaikki, tänään tarkastelemme laitetta, jota kutsutaan liiketunnistimeksi. Monet meistä ovat kuulleet tästä asiasta, joku on jopa käsitellyt tätä laitetta. Mikä on liiketunnistin? Yritetään selvittää asia, joten:

Liiketunnistin tai siirtymätunnistin - laite (laite), joka havaitsee minkä tahansa esineen liikkeen. Hyvin usein näitä laitteita käytetään turva-, hälytys- ja valvontajärjestelmissä. Näillä antureilla on monia muototekijöitä, mutta harkitsemme liiketunnistinmoduulia liitettäväksi levyihin arduino,ja yhtiöltä RobotDyn. Miksi juuri tämä yritys? En halua mainostaa tätä kauppaa ja sen tuotteita, mutta juuri tämän kaupan tuotteet valittiin laboratorionäytteiksi niiden tuotteiden laadukkaan esittelyn vuoksi loppukuluttajalle. Joten, tapaa - liiketunnistin(PIR-anturi) RobotDynistä:


Nämä anturit ovat kooltaan pieniä, kuluttavat vähän virtaa ja ovat helppokäyttöisiä. Lisäksi RobotDyn-liiketunnistimissa on myös silkkipainatuksella merkityt kontaktit, tämä on tietysti pikku juttu, mutta erittäin miellyttävä. No, niille, jotka käyttävät samoja antureita, mutta vain muilta yrityksiltä, ​​älä huoli - niillä kaikilla on samat toiminnot, ja vaikka kontakteja ei ole merkitty, tällaisten antureiden pinout on helppo löytää Internetistä.

Main tekniset tiedot liiketunnistin (PIR-anturi):

Anturin työskentelyalue: 3 - 7 metriä

Seurantakulma: jopa 110 o

Käyttöjännite: 4,5...6 volttia

Virrankulutus: jopa 50uA

merkintä: Anturin vakiotoiminnallisuutta voidaan laajentaa kytkemällä valoanturi IN- ja GND-nastoihin, jolloin liiketunnistin toimii vain pimeässä.

Laitteen alustus.

Kun anturi on päällä, sen käynnistyminen kestää lähes minuutin. Tänä aikana anturi voi antaa vääriä signaaleja, tämä tulee ottaa huomioon ohjelmoitaessa mikro-ohjainta siihen kytketyllä anturilla tai toimilaitteiden piireissä, jos kytkentä tehdään ilman mikro-ohjainta.

Kulma ja tunnistusalue.

Tunnistus (seuranta) kulma on 110 astetta, tunnistusetäisyys on 3-7 metriä, alla oleva kuva näyttää kaiken:

Herkkyyden (tunnistusetäisyyden) ja aikaviiveen säätö.

Alla oleva taulukko näyttää liiketunnistimen tärkeimmät säädöt, vasemmalla on vastaavasti aikaviiveen säädin, vasemmassa sarakkeessa on kuvaus mahdollisista asetuksista. Oikea sarake kuvaa tunnistusetäisyyden säädöt.


Anturin liitäntä:

  • PIR-anturi - Arduino Nano
  • PIR-anturi - Arduino Nano
  • PIR-anturi - Arduino Nano
  • PIR-anturi - valoanturiin
  • PIR-anturi - valoanturiin

Tyypillinen kytkentäkaavio on esitetty alla olevassa kaaviossa, meidän tapauksessamme anturi on esitetty ehdollisesti takapuolelta ja on kytketty Arduino Nano -korttiin.

Luonnos, joka esittelee liiketunnistimen toimintaa (käytämme ohjelmaa):

/* * PIR-anturi -> Arduino Nano * PIR-anturi -> Arduino Nano * PIR-anturi -> Arduino Nano */ void setup() ( //Ota yhteys porttimonitoriin Serial.begin(9600); ) void loop () ( //Lue kynnysarvo portista A0 //yleensä se on suurempi kuin 500, jos on signaali if(analogRead(A0) > 500) ( //Signaali liiketunnistimesta Serial.println("Liikettä on !!!"); ) else ( / /Ei signaalia Serial.println("Kaikki on hiljaista..."); ) )

Luonnos on liiketunnistimen normaali testi, siinä on monia puutteita, kuten:

  1. Mahdollisia vääriä hälytyksiä, anturi tarvitsee itsensä alustavan minuutin sisällä.
  2. Jäykkä kiinnitys porttimonitoriin, ei lähtötoimilaitteita (rele, sireeni, LED)
  3. Signaaliaika anturin lähdössä on liian lyhyt, kun liikettä havaitaan, signaalia on ohjelmallisesti viivästettävä pidemmäksi ajaksi.

Monimutkaisemalla piiriä ja laajentamalla anturin toiminnallisuutta edellä mainitut haitat voidaan välttää. Tätä varten sinun on täydennettävä piiriä relemoduulilla ja kytkettävä tavallinen 220 voltin lamppu tämän moduulin kautta. Itse relemoduuli liitetään Arduino Nano -levyn nastaan ​​3. Konsepti on siis:

Nyt on aika parantaa hieman liiketunnistinta testannutta luonnosta. Luonnoksessa toteutetaan releen sammumisviive, koska itse liiketunnistimella on liian lyhyt lähtösignaaliaika liipaistuessaan. Ohjelma toteuttaa 10 sekunnin viiveen, kun anturi laukeaa. Haluttaessa tätä aikaa voidaan lisätä tai lyhentää muuttamalla muuttujan arvoa DelayValue. Alla luonnos ja video kokonaisuuden työstä koottu piiri:

/* * PIR-anturi -> Arduino Nano * PIR-anturi -> Arduino Nano * PIR-anturi -> Arduino Nano * Relemoduuli -> Arduino Nano */ //relout - nasta (lähtösignaali) relemoduulille const int relout = 3 ; //prevMillis - muuttuja edellisen ohjelman skannausjakson ajan tallentamiseen //intervalli - aikaväli sekuntien laskentaan, kunnes rele kytketään pois päältä etumerkitön pitkä prevMillis = 0; int intervalli = 1000; //DelayValue - aika, jonka aikana rele pidetään int DelayValue = 10; //initSecond - Alustussilmukan iteraatiomuuttuja int initSecond = 60; //countDelayOff - aikavälilaskuri staattinen int countDelayOff = 0; //liipaisu - liiketunnistimen aktivointilippu staattinen bool trigger = false; void setup() ( //Vakiomenettely sen portin alustamiseksi, johon relemoduuli on kytketty //TÄRKEÄÄ!!! - jotta relemoduuli pysyy alun perin pois päältä //eikä toimi alustuksen aikana, sinun on kirjoittaaksesi arvon HIGH tulo-/lähtöporttiin // , tämä välttää vääriä "räpäyksiä" ja säilyttää // releen tilan sellaisena kuin se oli ennen koko piirin käyttöönottoa pinMode(relout, OUTPUT); digitalWrite(relout, HIGH); // Täällä kaikki on yksinkertaista - odotamme 60 syklin loppua (muuttuja initSecond) //1 sekunnin kesto, tänä aikana anturi "alustautuu itsestään" arvolle (int i = 0; i< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) ( //Aseta liiketunnistimen liipaisinlippu if(!trigger) ( trigger = true; ) ) //Kun liiketunnistimen liipaisinlippu on asetettu while(trigger) ( //Suorita seuraavien ohjeiden mukaan//Tallenna muuttujaan currMillis //millisekuntien arvo, joka on kulunut //ohjelman suorituksen alkamisesta allekirjoittamaton pitkä currMillis = millis(); //Vertaa aikaisempaan millisekuntien arvoon //jos ero on suurempi kuin määritetty aikaväli, niin: if(currMillis - prevMillis > interval) ( //Tallenna millisekuntien nykyinen arvo muuttujaan prevMillis prevMillis = currMillis; // Tarkista viivelaskuri vertaamalla sitä sen jakson arvoon / /jonka aikana rele on pidettävä päällä -tilassa if(countDelayOff >= DelayValue) (//Jos arvo on sama, niin: //nollaa lippu liiketunnistimen liipaisun laukaisemiseksi = false; //Nollaa viivelaskurin countDelayOff = 0; // Sammuta rele digitalWrite(relout, HIGH); //Keskeytä silmukan katkaisu; ) else ( //Jos arvo on edelleen vähemmän, sitten //Kasvata viivelaskuria yhdellä countDelayOff ++; //Pidä rele DigitalWrite-tilassa(relout, LOW ); ) ) ) )

Ohjelma sisältää seuraavan rakenteen:

etumerkitön pitkä prevMillis = 0;

int intervalli = 1000;

...

etumerkitön pitkä currMillis = millis();

if(currMillis - prevMillis > interval)

{

prevMillis = currMillis;

....

// Toimintamme rakenteen rungossa

....

}

Selvyyden vuoksi tätä rakentamista päätettiin kommentoida erikseen. Joten tämän rakenteen avulla voit suorittaa ikään kuin rinnakkaisen tehtävän ohjelmassa. Rakenteen runko syttyy noin kerran sekunnissa, tätä helpottaa muuttuja intervalli. Ensinnäkin muuttuva currMillis arvo, joka palautetaan, kun funktiota kutsutaan, annetaan millis(). Toiminto millis() palauttaa ohjelman alusta kuluneiden millisekuntien määrän. Jos ero currMillis-prevMillis suurempi kuin muuttujan arvo intervalli tämä tarkoittaa, että yli sekunti on jo kulunut ohjelman suorittamisen alusta ja sinun on tallennettava muuttujan arvo currMillis muuttujaksi prevMillis suorita sitten rakenteen runkoon suljetut toiminnot. Jos ero currMillis-prevMillis pienempi kuin muuttujan arvo intervalli, silloin sekuntia ei ole vielä kulunut ohjelman skannausjaksojen välillä ja rakenteen rungon sisältämät toiminnot ohitetaan.

No, artikkelin lopussa video kirjoittajalta:

Ota javascript käyttöön, jotta kommentit toimivat.

Samanlaisia ​​viestejä