Turinys:

Gaukite el. Pašto įspėjimus iš savo namų apsaugos sistemos naudodami „Arduino“: 3 veiksmai
Gaukite el. Pašto įspėjimus iš savo namų apsaugos sistemos naudodami „Arduino“: 3 veiksmai
Anonim
Gaukite el. Pašto įspėjimus iš savo namų apsaugos sistemos naudodami „Arduino“
Gaukite el. Pašto įspėjimus iš savo namų apsaugos sistemos naudodami „Arduino“

Naudodami „Arduino“, mes galime lengvai pritaikyti pagrindines el. Pašto funkcijas praktiškai į bet kurį esamą apsaugos sistemos diegimą. Tai ypač tinka senesnėms sistemoms, kurios greičiausiai jau seniai buvo atjungtos nuo stebėjimo paslaugos ir priešingu atveju jų naudingumas būtų ribotas. Tai nepakeičia stebėjimo paslaugos.

Yra komerciškai prieinamų produktų, pvz., „Envisalink“, kurie papildo ryšių ir valdymo funkcijas, tačiau jie nėra nebrangūs.

Šis projektas gali būti baigtas už mažiau nei 10 USD.

Ko tau reikia:

  • „Arduino“- pageidautina „Uno“arba „Mega“
  • W5100 Ethernet skydas
  • Apsaugos sistema - čia naudojama „DSC Power 832 PC5010“, tačiau galima naudoti beveik bet kokį modelį su programuojamu kaiščiu (arba bet kokiu kaiščiu, kurio būsena pasikeičia).
  • Diegimo vadovas ir programavimo darbalapiai - jums taip pat reikės diegimo kodo, kad atliktumėte reikiamus pakeitimus.
  • Tvirtos vielos ilgio viela, tinkama prijungti prie „Arduino“antgalių kaiščių.
  • 10k rezistorius, skirtas arduino įvesties kaiščiui patraukti į žemę.
  • 1,5 k rezistorius, skirtas apriboti srovę, patenkančią į optinio jungiklio LED pusę. Vertė priklauso nuo optinio jungiklio įėjimo įtampos ir maksimalios srovės.
  • Optocoupler - Aš naudojau FOD817, bet tai yra labai paprasta grandinė su plačiais reikalavimais, todėl pažodžiui yra šimtai kitų, kurie veiks su nuotoliniu būdu panašiomis specifikacijomis.
  • Ethernet kabelis.

1 veiksmas: užprogramuokite saugos sistemą

Užprogramuokite apsaugos sistemą
Užprogramuokite apsaugos sistemą

Atsargumo žodis:

  • Prieiga prie saugos skydo arba diegimo konfigūracijos pakeitimai gali išjungti įspėjimą apie klastojimą, jei šiuo metu esate užsisakę stebėjimo paslaugą.
  • Taip pat būtinai stebėkite kiekvieną atliktą pakeitimą, kad vėliau prireikus galėtumėte jį grąžinti.

Tai, ką mes bandome pasiekti, yra nuskaityti būsenos pasikeitimą iš sistemos, kai suveikia aliarmas. Dauguma sistemų turi programuojamą išvesties kaištį, kuriuo galime signalizuoti „Arduino“. Taip pat galima naudoti sirenos signalą (nekeičiant sistemos), tačiau reikės papildomų grandinių ir modifikuoti „Arduino“kodą - nepasirinkau šiuo keliu, nes pagrindinis mano tikslas buvo išspręsti problemą kodą, todėl vis tiek keisčiau konfigūraciją.

Tikslus programavimo būdas skirtinguose modeliuose skiriasi, tačiau pagrindinė koncepcija yra ta pati - žr. Sistemos diegimo vadovą. DSC sistemoje naudoju:

  • Nustatiau PGM1 kaištį, kad jis įsijungtų, kai suveikia aliarmas. Skyrius [009], [01] variantas.
  • Šioje sistemoje taip pat nustatote atributus, kaip ir kokiomis sąlygomis kaištis veikia - Skyrius [141]:

    • Nustatykite 3 atributą į ON, kad kaištis paprastai būtų atidarytas ir įjungtas į žemę, kai įjungiamas aliarmas. Visada būkite atsargūs, kad „Arduino“įvesties kaiščiai negautų daugiau kaip 5 V (kai kurie yra tik 3,3 V tolerancijos).
    • Visi kiti atributai yra išjungti.

Dauguma apsaugos sistemų turi įmontuotą modemą, skirtą pirmiausia bendrauti su centrine stebėjimo stotimi per telefono linijas. Jei jie nuolat negauna patvirtinimo, kad siunčiami duomenys yra gauti, bus rodomas gedimo kodas. Kai kurie gali būti nustatyti siųsti pranešimus žinutėmis arba skambinti asmenine linija, sistemai neieškant atsakymo (taigi nerodomas gedimo kodas), taigi, jei jūsų ir jūs turite fiksuotojo ryšio telefoną, galite užprogramuoti, kad jis skambintų jūsų telefonu) ne tik el. laiško siuntimas įvykio metu.

Jei nesinaudojate stebėjimo paslauga ir (arba) jūsų sistema negali būti užprogramuota skambinti įprastu telefono numeriu, neišmesdama gedimo kodo, konfigūracijoje išjunkite komunikatorių ir telefono linijos monitorių (tlm).

2 veiksmas: užprogramuokite „Arduino“

Programa „Arduino“
Programa „Arduino“

Pirmiausia turime užsiregistruoti paslaugai, iš kurios atsiųsime el.

Paslauga, kurią naudojau, yra „smtp2go“, kuri yra nemokama ir veikia su „Arduino“- čia naudojamas šaltinio kodas yra pagrįstas sąrankos kodu iš jų svetainės.

www.smtp2go.com/

Kai prisiregistruojate, turite „base64“koduoti vartotojo vardą ir slaptažodį (rasti skiltyje „Nustatymai“> „Vartotojai“), kad jie būtų naudojami eskize.

www.base64encode.org/

Pirminis kodas:

github.com/hzmeister/arduino_alarm_email

Konfigūruokite skyrius su // komentarais pagal savo reikalavimus.

Įkelti į „Arduino“.

Atnaujinimas:

„smtp2go“el. laiškai po kurio laiko patenka į šlamšto aplanką (net jei nenustatėte jų). Aš išbandžiau temboo, kuris buvo patikimesnis (nes jame naudojamas „Gmail“), tačiau profiliai baigiasi po mėnesio, todėl tai taip pat nėra perspektyvi galimybė. Įtraukiau siuntimo iš „Gmail“kodą naudojant „temboo“, naudojant „w5100“skydą, jei kam nors to reikia (jų kodas reikalauja, kad naudotumėte nutrauktą ir brangų „yun“).

Šioje versijoje naudojamas temboo gmailv2, kuris autentifikuojamas naudojant patikimesnį „OAuth“su atnaujinimo prieigos raktu, o ne programos slaptažodis, naudojamas „gmailv1“.

Šaltinis:

github.com/hzmeister/temboo-gmailv2

Galiausiai nusprendžiau naudoti savo ISP pateiktą el. Pašto adresą, kuriame atidarytas 25 prievadas. Galite naudoti bet kurį „smtp“el. Pašto serverį/prievadą, jei jo nereikia užšifruoti (nes „w5100“jo nepalaiko). Naudojimasis ISP pranašumu yra tas, kad „Google“nepažymi jo kaip šlamšto. „Arduino“kodas yra beveik toks pat kaip ir „smtp2go“, tačiau su keliais nedideliais pakeitimais/atnaujinimais.

Šaltinis:

github.com/hzmeister/arduino_alarm_emailV2

3 žingsnis: Įdiekite aparatūrą ir išbandykite

Įdiekite aparatinę įrangą ir išbandykite
Įdiekite aparatinę įrangą ir išbandykite
Įdiekite aparatinę įrangą ir išbandykite
Įdiekite aparatinę įrangą ir išbandykite

Įdiekite „w5100“skydą ant „Arduino“ir pritvirtinkite jį korpuse. Velcro juosta veikia gerai, nes yra nelaidi ir nuimama.

Aš naudoju fotokombinatorių, norėdamas izoliuoti 13.7v pgm1 signalą nuo 5v arduino įvesties ir įžeminimo. Tai „neinvertuojančio optinio jungiklio“grandinė.

Kai įjungiamas aliarmas, pgm1 pereina iš atviros į žemę ir užbaigia grandinę.

Išbandykite sistemą.

Norėdami pamatyti išvesties būseną, naudokite „Arduino IDE“serijinį monitorių.

Patikrinkite šlamšto aplanką, jei serijinis monitorius rodo, kad el. Laiškas buvo išsiųstas sėkmingai, bet negaunate jo gautuosiuose.

Rekomenduojamas: