Përmbajtje:

R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis: 8 hapa (me fotografi)
R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis: 8 hapa (me fotografi)

Video: R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis: 8 hapa (me fotografi)

Video: R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis: 8 hapa (me fotografi)
Video: Revolutionize Windows System Repair: Using SFC/DISM" 2024, Nëntor
Anonim
Image
Image
R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis
R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis
R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis
R-PiAlerts: Ndërtoni një sistem sigurie të bazuar në WiFi me Raspberry Pis

Ndërsa punoni në tryezën tuaj, papritmas dëgjoni një zhurmë të largët. Sapo erdhi dikush në shtëpi? Makina ime është e parkuar para shtëpisë sime, a ka hyrë dikush në makinën time? A nuk dëshironi që të keni njoftim në telefonin tuaj ose në tryezën tuaj, në mënyrë që të vendosni nëse do të bëni apo jo? Epo mos pyet më! R-PiAlerts është këtu!

Çfarë është R-PiAlerts? R-PiAlerts është një sistem sigurie i bazuar në Raspberry Pi3 i ndërtuar rreth Cloud të Firebase. Nëse zbulohet lëvizja, sistemi do të njoftojë përdoruesin për një sulm të mundshëm me një mesazh me tekst dhe një ekran LED që pulson (alarmi i heshtur vizual i llojit). Pasi përdoruesi të marrë një njoftim, ai ose ajo mund të hetojë. Të gjitha lëvizjet e zbuluara do të regjistrohen në bazën e të dhënave Firebase. Përveç shikimit të regjistrit të lëvizjeve në një shfletues uebi, përdoruesi gjithashtu mund të hyjë në regjistrin e lëvizjes përmes një aplikacioni iOS. Vendosa ta ndërtoj këtë për shkak të rritjes së fundit të prishjeve në automjete dhe shtëpi në zonën time.

Pse Pi3? Më duhej diçka e vogël që mund të zbulojë lëvizjen dhe të mbarojë baterinë nëse është e nevojshme. Pastaj, mund ta fsheh njësinë pas një dere ose në një makinë. Gjithashtu njësia duhet të jetë në gjendje të më dërgojë njoftime ose paralajmërime. Pi3 mund t'i bëjë të gjitha këto gjëra me wifi të integruar dhe aftësinë e tij për të shkarkuar një paketë baterie USB. Arsyet e tjera pse zgjodha Pi3:

  • Pi është relativisht i lirë
  • Easyshtë e lehtë të vendoset dhe të rritet
  • Itsshtë e konfigurueshme nga pikëpamja e softuerit
  • Aftësia për të përdorur ekranet dhe sensorët. Ky projekt do të përdorë SenseHat
  • Punoni pa kokë (pa monitor, tastierë ose maus)

Si punon

  • Në mënyrë ideale përdoruesi do të ketë nevojë për 2 Raspberry Pis të lidhur me bazën e të dhënave Firebase, por një Pi i vetëm do të funksionojë gjithashtu.
  • Duke përdorur SenseHat, Pi i parë (Pi1) do të zbulojë lëvizjen me një përshpejtues, ndërsa Pi i dytë (Pi2) do të shfaqë njoftimet e lëvizjes.
  • Kur Pi1 zbulon lëvizjen, bën 3 gjëra
    • regjistroni lëvizjen në bazën e të dhënave
    • krijoni një shënim njoftimi në bazën e të dhënave që Pi2 të shfaqet
    • dërgoni përdoruesit një mesazh me tekst që njofton përdoruesin e lëvizjes.
  • Kur Pi2 zbulon një njoftim që do të shfaqet nga baza e të dhënave, dy gjëra ndodhin

    • Ekrani LED i Pi2 do të tregojë njoftimin në mënyrë të vazhdueshme
    • Përdoruesi mund ta pastrojë njoftimin duke shtypur butonin e Pi2 SenseHat. Kjo gjithashtu do të pastrojë shënimin e njoftimit në bazën e të dhënave.
  • Me aplikacionin iOS, përdoruesi mund

    • hyni në bazën e të dhënave; lexoni dhe fshini regjistrin e lëvizjeve
    • përdoruesi mund të dërgojë Pi1 për të shfaqur një mesazh në ekranin LED të Pi1.

Aplikime Praktike

  1. Nëse parkoni në makinë makinën tuaj brenda rrezes së Wi -Fi. Bashkangjitni një paketë baterie në Pi1 (shiko figurën). Fshehni Pi1 në makinën tuaj. Vendoseni Pi2 diku lehtësisht të shikueshëm, si pranë tryezës suaj (shiko foton).
  2. Një aplikim tjetër është vendosja e Pi1 në shtëpinë tuaj në anën e derës. Pi është aq i vogël saqë shumica e njerëzve nuk do ta vënë re veçanërisht nëse është prapa anës së menteshës (shiko foton). Pastaj vendoseni Pi2 tuaj në tryezën tuaj të punës.
  3. Qeni duke hyrë në një vend në shtëpi nuk mendohet? Vendosni një Pi1 në atë zonë. Sigurohuni që ta vendosni Pi në një kuti të fortë në mënyrë që qeni juaj të mos e përtypë atë.

Për sa kohë që Pis tuaj janë në intervalin wifi, ata mund t'ju lajmërojnë ose njoftojnë për lëvizjen. Nëse nuk keni Pi të dytë, thjesht mund të përdorni Pi1 për të zbuluar lëvizjen dhe për të marrë njoftime SMS përmes celularit tuaj.

Fatura e Materialeve

  • Dy (2) Raspberry Pi 3s që funksionojnë Raspbian (Raspberry Pi 2 do të funksionojë gjithashtu me një dongle wifi)
  • Dy (2) SensëHats
  • Pajisja Mac dhe iOS

Nevojitet softuer

  • Biblioteka Pyrebase (lidh me Firebase)
  • Biblioteka SenseHat (për të hyrë në akselerometër dhe ekran LED)
  • Biblioteka Twilio (për dërgimin e SMS)
  • Python 3, i ndërtuar me Raspbian më të fundit
  • Raspbian me IDLE
  • Xcode8 dhe Cocoapods në Mac tuaj
  • Gatishmëria për të mësuar dhe eksploruar

Kjo nuk është zgjidhja e vetme e sigurisë e bazuar në Pi. Nëse keni ndonjë ide, sugjerim, ose thjesht dëshironi të ndryshoni kodin tim, ju lutemi lini një koment më poshtë! =)

Hapi 1: Konfiguroni llogaritë Firebase dhe Twilio

Vendosni llogaritë Firebase dhe Twilio
Vendosni llogaritë Firebase dhe Twilio
Vendosni llogaritë Firebase dhe Twilio
Vendosni llogaritë Firebase dhe Twilio

Së pari, para se të fillojmë të merremi me Pisin tonë, duhet të konfigurojmë Firebase dhe Twilio. Firebase është mbështetësja e Google si një shërbim. Firebase përfshin veçori të tilla si baza e të dhënave, mesazhet në cloud, vërtetimin, ruajtjen, etj. Për këtë projekt, do të na duhet vetëm të përdorim bazën e të dhënave dhe vërtetimin në kohë reale të Firebase. Vërtetimi do të jetë i nevojshëm për të lexuar dhe shkruar në bazën e të dhënave të Firebase. Për të konfiguruar Firebase:

  1. Regjistrohuni për një llogari falas Firebase
  2. Shkoni në tastierë. Krijoni një projekt të ri dhe jepini një emër.
  3. Nën menunë e majtë, klikoni në "Përmbledhje"
  4. Klikoni "Shto Firebase në aplikacionin tuaj në internet", kopjoni APIKey -in tuaj dhe projektidin (jo url -në). ID -ja e projektit gjendet në URL -të e ndryshme siç është baza e të dhënave:
  5. Nën menunë e majtë, klikoni në "Authentication". Shkoni te "Metoda e hyrjes" dhe aktivizoni "Email/fjalëkalim"
  6. Nën "Përdoruesi" krijoni një llogari të re përdoruesi me email/fjalëkalim të zgjedhur nga ju. Ju do ta përdorni këtë letër kredenciale për t'u regjistruar në bazën e të dhënave.
  7. Nën menunë e majtë, shkoni te "Baza e të dhënave"
  8. Kjo është Baza e të dhënave tuaja. Isshtë bosh tani. Kur mbushet, do të jetë në formatin JSON. URL -ja duhet të jetë e njëjtë me atë që keni parë më herët.

Twilio lejon zhvilluesit të dërgojnë mesazhe te klientët e tyre. Ne do ta përdorim atë për të dërguar SMS në telefonin tuaj kur Pi zbulon lëvizjen. Twilio do t'ju japë një numër telefoni për të dërguar SMS. Për të konfiguruar Twilio:

  1. Regjistrohuni për një llogari falas në faqen e Twilio
  2. Kopjoni llogarinë tuaj SID dhe authToken
  3. Klikoni në "Kufizimet e gjykimit" dhe zgjidhni "merrni numrin tuaj të parë të telefonit Twilio"
  4. Kopjoni numrin tuaj të ri të telefonit

Hapi 2: Vendosni Pisin tuaj

Vendosni Pisin tuaj
Vendosni Pisin tuaj
Vendosni Pisin tuaj
Vendosni Pisin tuaj

Para se të fillojmë programimin e Pis, duhet të bëjmë disa konfigurime. Sigurohuni që keni një hyrje të fjalëkalimit për Pis -in tuaj. Së pari ne do të lidhim fizikisht bordet SenseHat me Pis. Tjetra, ne do të instalojmë bibliotekat e nevojshme SenseHat, Twilio dhe Pyrebase. Baza e të dhënave në kohë reale Firebase u krijua për pajisjet mobile ose faqet e internetit. Sidoqoftë, ne mund të lexojmë dhe shkruajmë bazën e të dhënave cloud përmes API -së së Rest me një bibliotekë ndihmëse si Pyrebase.

Lidhni SenseHat Sigurohuni që SenseHats janë të lidhura me Pisin tuaj. Nëse keni një rast të pazakontë, mund t'ju duhet të hiqni Pi para se të lidhni SenseHat.

Të gjitha instalimet e bibliotekës do të bëhen në Terminal

  • Ngrini Pisin tuaj nëse nuk e keni bërë tashmë.
  • Pas fillimit, ju merrni këtë ylber LED me ngjyra në SenseHat tuaj! (shiko foton)
  • Shkoni në terminal dhe përditësoni/shpërndani, shkruani:

    • përditësim sudo apt-get
    • sudo apt-get dist-upgrade
  • Pasi të bëhen azhurnimet, shtypni sa vijon për të instaluar bibliotekat SenseHat:

    sudo apt-get install sense-hat

  • Për të instaluar Pyrebase, shkruani:

    sudo pip instaloni pyrebase

  • Së fundi, instaloni Twilio

    sudo pip instaloni twilio

Hapi 3: Python Script për Pi1

Siç e përmendëm më parë, Pi1 do të jetë Pi që do të përdoret për të zbuluar lëvizjen. Vlerat e përshpejtuesit të SenseHat do të përdoren për të përcaktuar lëvizjen. Kështu, kodi për Pi1 do të jetë rreth qasjes në vlerat e forcës së përshpejtuesit g dhe regjistrimit të lëvizjeve të zbuluara në bazën e të dhënave të Firebase. Këtu është një përmbledhje e rrjedhës së procesit:

  • Nëse Pi1 zbulon lëvizjen, do t'i shtojë një hyrje fëmijës "alarmues" në DB të Firebase.
  • Pi1 gjithashtu do të përditësojë fëmijën "notifypi2" me një mesazh njoftimi në lidhje me lëvizjen.
  • Pi2, pastaj lexon "notifypi2" dhe shfaq njoftimin në ekranin e tij të matricës LED.

Unë kam përfshirë skenarin Pi1 Python që ju duhet të ndiqni. Komentet në skript shpjegojnë se çfarë po bën kodi.

Shënime dhe njohuri shtesë për shkrimin Pi1

  • Për konfigurimin e Firebase dhe Twilio. Plotësoni çelësat e duhur API, ID -të, fjalëkalimet, etj që keni kopjuar nga hapat e mëparshëm.
  • Lidhur me vërtetimin e Firebase, për siguri shtesë, mund të kërkoni të dhëna nga përdoruesi në vend që të kodoni me vështirësi këto kredenciale. Sa herë që shkruajmë ose lexojmë nga baza e të dhënave, do të na duhet të përfshijmë

    përdoruesi ['idtoken'] me th

    merrni (), shtyni (), vendosni () metodat.

  • Temperatura e CPU është e nevojshme kështu që ne mund të ndërhyjmë në rast se Pi nxehet në një makinë ose në një mjedis të mbyllur.
  • Ne gjithashtu marrim vlerën absolute të forcave G pasi nuk kemi nevojë të dimë vlera negative. Ne vetëm duhet të dimë nëse ka forca G.
  • Nëse deklarata do të kontrollojë vlerat e përshpejtuesit. Nëse forcat G janë më të mëdha se 1 në çdo drejtim, Pi1 do të regjistrojë kohën e lëvizjes dhe do të shfaqë një pikëçuditëse në ekranin e tij LED. Gjithashtu do të përditësojë fëmijën "notifypi2". Kur azhurnohet "notifypi2", Pi2 do ta lexojë dhe shfaq "!!!" në ekranin e tij LED për të njoftuar përdoruesin për lëvizjen/thyerjen e mundshme. Pi1 gjithashtu do t'i dërgojë përdoruesit një njoftim SMS për lëvizjen.
  • Kur përdorni metodën push (), Firebase do të gjenerojë një fëmijë me një hyrje të re. Kjo ishte e nevojshme kështu që të dhënat e regjistruara të lëvizjes do të jenë unike. metoda set () nga ana tjetër do të mbishkruajë të dhënat e mëparshme.
  • Lak 10 sekondash për të kontrolluar bazën e të dhënave është i nevojshëm në mënyrë që Pi juaj të mos kërkojë në mënyrë të përsëritur të dhëna nga Firebase. Nëse e spamoni vazhdimisht Firebase, Google do t'ju dalë për rreth 10 minuta.
  • Firebase gjithashtu do ta dëbojë përdoruesin çdo 60 minuta nëse shenja nuk rifreskohet. Rifreskimin e kam të vendosur në 1800 sekonda (30 minuta).

Hapi 4: Python Script për Pi2

Skenari Python për Pi2
Skenari Python për Pi2

Nëse shikoni foton, ajo është e Pi2 që shfaq një njoftim për lëvizjen e mundshme.

Skenari i Pi2 është pothuajse i njëjtë me Pi1, përveçse skripti nuk zbulon lëvizje. Pi2 shfaq ose rivendos vetëm mesazhet e njoftimit nga fëmija "notifypi2". Meqenëse ky është ndryshimi i vetëm, do ta shpjegoj më poshtë.

  • Çdo 10 sekonda, Pi2 do të kontrollojë "notifypi2" për t'u shfaqur. Nëse ka një mesazh njoftimi për t'u shfaqur, Pi2 do ta shfaqë atë vazhdimisht në mënyrë që përdoruesi ta shohë atë.
  • Vetëm ndërhyrja e përdoruesit duke shtypur butonin e levës do të pastrojë dhe rivendoset mesazhi në anën e bazës së të dhënave.

Hapi 5: Testoni Pisin

Image
Image
Testoni Pisin
Testoni Pisin

Koha për të testuar Pisin.

  • Drejtoni skriptet për përkatësisht Pis.
  • Hyni në Firebase dhe shkoni te seksioni i bazës së të dhënave të projekteve tuaja.
  • Shkundni Pi1 tuaj, duhet të shihni një pikëçuditje të kuqe në ekranin Pi1 LED. Ju gjithashtu duhet të merrni një mesazh SMS.
  • Kontrolloni bazën e të dhënave, shënimet e alarmit duhet të fillojnë të shfaqen. "notifypi2" gjithashtu duhet të përditësohet.
  • Hidhini një sy Pi2. Ju gjithashtu duhet të lëvizni "!!!" Për të pastruar këtë mesazh njoftimi, thjesht shtypni levën. "notifypi2" duhet të rivendoset. Kontrolloni Firebase -in tuaj për të konfirmuar.
  • Nëse e shihni Pi1 shumë të ndjeshëm ndaj lëvizjes, rrisni pragun në më të madh se 1G në shkrimin Pi1.

Nëse gjithçka shkon mirë, skriptet tuaja nuk do të prishen. Tani, ju keni një sistem njoftimi të punës. Pasi Pi1 të zbulojë lëvizjet ose dridhjet, do të merrni një njoftim mesazhi SMS dhe një njoftim vizual LED në Pi2.

Hapi 6: Ndërtimi i R-PiAlerts IOS App

Ndërtimi i Aplikacionit R-PiAlerts IOS
Ndërtimi i Aplikacionit R-PiAlerts IOS

Koha për të ndërtuar aplikacionin iOS! Aplikacioni do të jetë mjaft i thjeshtë. Ajo do të ketë një LoginViewController dhe një ItemsTableViewController. ItemsTableViewController do të shfaqë njoftimet e alarmit nga fëmija "alarme". Dikush gjithashtu mund të fshijë shënimet e bazës së të dhënave nga aplikacioni. Për t’ju kursyer dhimbje koke, nëse planifikoni të shikoni mësime online për Firebase, sigurohuni që të kërkoni mësime të datuara pas marsit 2016 pasi ka pasur ndryshime të mëdha vitin e kaluar në atë kohë. Çdo gjë para marsit 2016 do të jetë trashëgimi. Unë jam i interesuar për skedarët e shpejtë, ju lutemi rishikoni komentet në kod. Nëse doni një tutorial të detajuar se si të krijoni një aplikacion Firebase që lexon bazën e të dhënave, shikoni tutorialin e Ray Wunderlich.

Konfiguroni Vështrimin tuaj të Projektit iOS

  • Krijoni një projekt me një pamje të vetme iOS në Xcode.
  • Kopjoni identifikuesin e paketës
  • Shkoni në projektin tuaj Firebase në faqen e internetit dhe krijoni një skedar info.plist me identifikuesin e paketës.
  • Shtoni skedarin GoogleService-info.plist në projektin tuaj. Ky info.plist funksionon vetëm me Projektin specifik Firebase që keni krijuar.
  • Mbylleni jashtë Xcode dhe instaloni Firebase përmes Cocoapods. Sigurohuni që të instaloni Auth dhe Database.
  • Rinisni Xcode, pastaj konfiguroni AppDelegate.swift për Firebase. Duhen vetëm 2 rreshta kodi.

    Importo Firebase një

    FIRApp.configure () Me Opsionale, Firebase ka një veçori të qëndrueshmërisë që merr vetëm 1 rresht kod

    FIRDatabase.database (). PersistenceEnabled = e vërtetë

  • Hapat e detajuar të instalimit mund të gjenden në Uebfaqen e Firebase

Si ndërvepron aplikacioni me bazën e të dhënave Firebase:

  • Aplikacioni do të duhet të vërtetojë përdoruesin.
  • Pasi të vërtetohet, aplikacioni merr një fotografi të bazës së të dhënave Firebase dhe e ruan atë si një objekt "Item".
  • Objekti në fjalë do të mbushë një grup. Grupi i përmendur do të përdoret për të mbushur pamjen e tabelës.
  • Një vëzhgues do të shikojë për ndryshimet në bazën e të dhënave Firebase dhe do të krijojë një fotografi.
  • Pasi të zbulohen ndryshimet, grupi do të shtohet nga fotografia e re.
  • Pamja e tabelës do të ringarkohet për të treguar ndryshimet.

Përmbledhje e përgjithshme se si të ndërtoni aplikacionin

  • Hidhini një sy imazhit se si është vendosur aplikacioni në ndërtuesin e ndërfaqeve të Xcode.
  • Krijoni një ViewController në ndërtuesin e ndërfaqes dhe drejtojeni klasën e personalizuar te LoginViewController.swift.
  • Shtoni fusha teksti për email dhe fjalëkalim. Mos harroni të aktivizoni "Sigurimi i hyrjes së tekstit" për fushën e fjalëkalimit. Shtoni një buton identifikimi.
  • Lidhni fushat e tekstit dhe butonin me LoginViewController.swift. LoginViewController.swift do të trajtojë vërtetimin.
  • Shtoni një kontrollues navigimi në ndërtuesin e ndërfaqes. Krijoni një segë nga LoginViewController te Kontrolluesi i Navigacionit. Sigurohuni që t'i jepni segës një identifikues.
  • Vendosni klasën e personalizuar të pamjes së re të tabelës që erdhi me kontrolluesin e navigimit për të treguar ItemsTableViewController.swift. Unë gjithashtu kam 2 butona në ItemsTableViewController: Logout dhe një buton Add. Lidhni butonat me ItemsTableViewController.swift.
  • Lidhur me kodin LoginViewController.swift. Përdoruesi do të fusë kredencialet e hyrjes dhe Firebase do të kthejë një përdorues. Nëse një përdorues është i pranishëm, ai do të bëjë një zbulim me identifikuesin. (shiko kodin bashkangjitur)
  • Shto klasën Item.swift (shiko kodin e bashkangjitur)
  • Lidhur me kodin ItemsTableViewController, është një kod standard standard i shikimit të tryezës. Do të ketë një vëzhgues për të monitoruar ndryshimet në bazën tuaj të të dhënave të ruajtura si një fotografi si një objekt Item. Pastaj objekti Item do të shtojë grupin për të mbushur pamjen e tabelës. Butoni Shto vendos një hyrje në bazën e të dhënave të Firebase që Pi1 të lexojë dhe shfaqë. Për qeshje, shtova gjithashtu kodin (shiko kodin e bashkangjitur)

Hapi 7: Testoni Aplikacionin

Testoni Aplikacionin
Testoni Aplikacionin
Testoni Aplikacionin
Testoni Aplikacionin
Testoni Aplikacionin
Testoni Aplikacionin

Drejtoni aplikacionin tuaj

  • Hyni dhe shkundni Pi1 tuaj. Duhet të filloni të shihni shfaqjen e njoftimeve të reja të alarmit.
  • Prekni butonin shto dhe shikoni Pi1 tuaj të shfaq mesazhin tuaj.
  • Rrëshqit shpejt majtas, shiko se shënimet "Alerts" hiqen.
  • Po merrni shumë njoftime me radhë? rregulloni pragun e përshpejtuesit ose rrisni kohën e gjumit në shkrimin Pi1.

Hapi 8: Përfundimi

Përfundim
Përfundim
Përfundim
Përfundim

Mbresëlënës! Tani kemi Pis që mund të zbulojë lëvizjen dhe t'ju dërgojë njoftime për lëvizjet. Për më tepër, ju mund të menaxhoni në regjistrin tuaj të mesazheve të alarmit me pajisjen tuaj iOS! Koha për të vendosur Pisin. Vendoseni Pi1 pranë derës tuaj dhe Pi2 rreth zonës tuaj të punës. Herën tjetër kur dikush hyn brenda, ju mund të kontrolloni situatën! Ose më mirë akoma, përpiquni të fshiheni në Pi në makinën tuaj me një paketë baterie. Përplasni dyert disa herë, shikoni se çfarë ndodh!

Ky është vetëm një fillim për mundësitë se çfarë mund të bëni me një Raspberry Pi dhe Firebase. SenseHat gjithashtu përfshin sensorë të mjedisit, xhiros dhe një busull. Mund të konfiguroni Pisin tuaj për të regjistruar ndryshime të caktuara në mjedis. Dëshironi të rritni lojën tuaj? Kur Pi juaj zbulon lëvizjet, përdorni një aparat fotografik për të kapur imazhe dhe kërkojini që Pi të ju dërgojë fotot. Gjithashtu përpiquni të përdorni një algoritëm vizioni kompjuterik për të njohur fytyrat. nëse është fytyra e dikujt që njihni, mund të njoftoheni! Argëtohu!

Recommended: