Sadržaj:

Alarmni sistem za otkrivanje pokreta: 11 koraka (sa slikama)
Alarmni sistem za otkrivanje pokreta: 11 koraka (sa slikama)

Video: Alarmni sistem za otkrivanje pokreta: 11 koraka (sa slikama)

Video: Alarmni sistem za otkrivanje pokreta: 11 koraka (sa slikama)
Video: Быстрая укладка плитки на стены в санузле. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #27 2024, Novembar
Anonim
Alarmni sistem za otkrivanje pokreta
Alarmni sistem za otkrivanje pokreta

Bilješka! Reactive Blocks više nije dostupan za preuzimanje. Osnovna USB kamera može se koristiti za otkrivanje pokreta u prostoriji. U sljedećim koracima pokazat ćemo vam kako možete koristiti reaktivne blokove za programiranje gotove Java aplikacije koja šalje SMS ili e -poštu kada se detektira pokret. Pomoću reaktivnih blokova stvarate Java SE aplikacije tako da se aplikacija za alarm može primijeniti na bilo kojoj mašini sa Java SE -om i kamerom priključenom ili integriranom. Aplikacija se lako postavlja na Pi jer Raspbian izdanje ima unaprijed instaliran Oracle Java..

Ovo vam je potrebno:

  1. Raspberry Pi Model B+ sa Raspbian OS
  2. Standardna USB kamera
  3. Ethernet kabel
  4. Ekran i tastatura za Pi
  5. Windows ili MAC računar sa JDK -om
  6. Bilješka! Reactive Blocks više nije dostupan za preuzimanje. Za programiranje aplikacije trebat će vam Reactive Blocks, Eclipse dodatak.

Ova aplikacija za alarm jedan je od nekoliko primjera sistema koji se mogu mijenjati i koji su dostupni nakon instaliranja reaktivnih blokova. Aplikacija je spremna za rad i neće vam trebati vještine programiranja Java da biste dovršili vodič. Da biste napravili vlastite aplikacije i gradivne blokove reaktivnih blokova, morate biti vješt Java programer. Prilikom izgradnje složenijih aplikacija s nekoliko senzora i aktuatora, reaktivni blokovi olakšavaju ispravnu logiku i protok podataka. Reactive Blocks je besplatan za projekte otvorenog koda.

Korak 1: Instalirajte reaktivne blokove

Reaktivni blokovi su prekinuti

Korak 2: Preuzmite aplikaciju iz biblioteka

Preuzmite aplikaciju iz biblioteka
Preuzmite aplikaciju iz biblioteka

Provjerite jeste li otvorili perspektivu reaktivnih blokova i jeste li u prikazu blokova. U prikazu blokova odaberite gumb za uvoz i odaberite Referentne aplikacije. Odaberite projekt Detekcija pokreta. U ovom trenutku od vas će se tražiti da se registrirate s google ID -om. Ovo će vam omogućiti trenutni pristup bibliotekama gradivnih blokova i sistemima i vodičima koji se mogu mijenjati.

Projekt otkrivanja pokreta koji ste preuzeli uključuje tri aplikacije, SMS alarmnog sistema, e -poštu alarmnog sistema i testnu aplikaciju Test detekcije pokreta. U ovom vodiču vodimo vas kroz SMS alarmnog sistema. Ako radije šaljete e -poštu, možete učiniti iste korake sa e -poštom sistema za alarm

Korak 3: Aplikacija na najvišem nivou

Aplikacija na najvišem nivou
Aplikacija na najvišem nivou

Ovaj korak daje objašnjenje aplikacije. Prva slika prikazuje dijagram kako kompletna aplikacija izgleda na najvišem nivou. Sastoji se od 7 građevnih blokova; 5 standardnih građevnih blokova iz biblioteka i 2 prilagođena bloka izrađena za ovu aplikaciju.

Standardni blokovi iz IoT biblioteke su:

  • Grabber, hvatanje slika s USB kamere
  • Detekcija pokreta, vrši otkrivanje stvarne slike
  • Periodični mjerač vremena, pokreće se s tačnim vremenskim oznakama i šalje signal na kvačicu svaki put.
  • Buffer Eager, automatski gura prvi element u redu. Međuspremnik osigurava da se samo jedna poruka šalje u blok za slanje SMS -a jer može obraditi samo jednu poruku odjednom.
  • SMS Send Buffered, šalje SMS putem Twilio usluge. Elementi koje treba poslati su međuspremnici kako bi se osiguralo da se šalje samo jedna poruka odjednom.
  • Ograničivač, kako biste izbjegli previše SMS -a kada se otkrije uljez.
  • Čita datoteku Java Properties, čita konfiguracijske podatke iz ulazne datoteke
  • Prikaži, prikazuje sliku na ekranu.

Blok periodičnog tajmera radi kao sistemski motor. Povremeno će izdavati kvačicu koja šalje signal bloku Grabber preko hvataljke. Blok Grabber koristi OpenIME Intelligent Multimedia Analysis za Javu, OpenIMAJ. Kada se blok inicijalizira, pokreće se zasebna nit za čitanje podataka s kamere. Nit sluša red naredbi. Kada blok primi naredbu putem hvataljke, snimit će jednu sliku i dostaviti je na pin za prikaz.

Slika se zatim prosljeđuje u blok za otkrivanje pokreta koji vrši otkrivanje stvarne slike. Blok za otkrivanje pokreta također koristi OpenIMAJ. Metoda unutar ovog bloka uspoređuje dvije slike i označit će promjene na slici kada se detektira pokret. Metoda je vrlo intenzivna za CPU i mora se izvoditi u zasebnoj niti. Kad se slika detektira, signalizira se na pin -u MotionDetected koji će pokrenuti generiranje SMS poruke.

Svijetloplave kutije su sve Java metode posebno izrađene za ovu aplikaciju. Klikom na blok metode otvara se Java editor.

Kada kliknete na građevinski blok, možete vidjeti detalje logike unutar bloka. Ako, na primjer, pogledate unutar bloka ReadConfig, vidjet ćete da je napravljen kombiniranjem jednog postojećeg gradivnog bloka i 4 Java metode.

Ograničavač postavlja ograničenje na količinu generiranih poruka. Obratite pažnju na P u desnom uglu građevinskog bloka. Označava da možete postaviti miniterval koliko aplikacija mora čekati prije nego što pošalje novi SMS. Zadana postavka je 300000 ms, odnosno 5 minuta. Za promjenu vrijednosti. Desnom tipkom miša kliknite blok i odaberite parametre i generičke podatke.

Korak 4: Omogućite SMS

Omogući SMS
Omogući SMS

Ova alarmna aplikacija koristi Twilio kao SMS uslugu. Da biste omogućili SMS, morate urediti datoteku config/alarm-system.properties. Možete ga pronaći u prikazu istraživača paketa pod br.ref.motiondetection, pogledajte sliku.

Ova datoteka je ista datoteka koja se koristi u e -pošti alarmnog sistema. Ako radije imate obavijesti putem e -pošte, upotrijebit ćete ovu aplikaciju i urediti datoteku sa svojim vjerodajnicama za e -poštu.

Ako nemate uslugu Twilio, možete izmijeniti aplikaciju tako da koristi vlastitu SMS uslugu. Također imamo spreman blok za upotrebu za uslugu Clickatell. Ili možete priključiti modem za slanje SMS -a.

Možete pronaći sastavne dijelove za SMTP e -poštu, AirVantage Cloud, IBM Bluemix i Xively da nabrojimo samo neke.

Imajte na umu da za izmjene morate prvo napraviti vlastiti projekt. Zatim kopirajte/duplicirajte aplikaciju u novostvoreni projekt. Kako se to radi možete vidjeti ovdje:

Ne ustručavajte se kontaktirati me ako vam je potrebna pomoć

Korak 5: Napravite i pokrenite aplikaciju na svom prijenosnom računaru

Napravite i pokrenite aplikaciju na svom prijenosnom računaru
Napravite i pokrenite aplikaciju na svom prijenosnom računaru

Prije pokretanja morate sastaviti aplikaciju i postaviti je na Raspberry Pi. To se radi pomoću generatora koda Reactive Blocks koji stvara kompletan Java projekt iz strukture gradivnih blokova. Kôd koji predstavlja dijagrame je sinhronizacijski kôd koji obrađuje događaje pravim redoslijedom i u pravo vrijeme i obično čini više od 60% redova koda u vašem programu. Budući da su gradivni blokovi precizne matematičke strukture, generator može pretvoriti ovu logiku u vrlo efikasan kod. Ovo je vrlo lijepa funkcija reaktivnih blokova jer je pisanje takvog koda ručno dosadno i teško. Da biste generirali kôd, ovo je sve što trebate učiniti:

Desnom tipkom miša kliknite projektni alarmni SMS na kartici Projekti i odaberite Standardno izdanje Java. Uvjerite se da su podaci za prijavljivanje INFO. Generirani projekt tada će se automatski otvoriti na kartici Istraživač paketa. Za detalje pogledajte sliku.

Korak 6: Pokrenite aplikaciju na računaru

Pokrenite aplikaciju na računaru
Pokrenite aplikaciju na računaru
Pokrenite aplikaciju na računaru
Pokrenite aplikaciju na računaru

Sada možete izvršiti generirani projekt. U prikazu Explorera paketa u generiranom projektu _exe desnom tipkom miša kliknite AlarmSystemSMS.launch i odaberite RunAs, a zatim odaberite AlarmSystemSMS.

Gledajte prozor na ekranu i prikaz konzole. Trebalo bi da izgleda kao druga slika.

Zatvorite aplikaciju zatvaranjem prozora kamere.

Za aplikaciju za slanje e -pošte: Ako dobijete grešku autentifikacije, provjerite je li SMTP slanje dozvoljeno za vašu e -poštu. Pogledajte rješavanje problema na dnu vodiča za e-poštu:

Korak 7: Izvezite kao JAR datoteku koja se može pokrenuti

Izvezi kao JAR datoteku koja se može pokrenuti
Izvezi kao JAR datoteku koja se može pokrenuti

Ako želite pokrenuti aplikaciju na Raspberry Pi, sljedeći korak je izvoz generiranog projekta u JAR datoteku koja se može pokrenuti. Da biste to učinili, desnom tipkom miša kliknite izvršni projekt u prikazu istraživača paketa i odaberite izvoz. Zatim odaberite opciju JAR datoteke koja se može pokrenuti i pritisnite sljedeće. U sljedećem prozoru odaberite odgovarajuću konfiguraciju pokretanja i odredište izvoza. U odredištu za izvoz upotrijebite gumb za pretraživanje da biste mogli postaviti.jar datoteku na mjesto gdje je možete pronaći.

Korak 8: Pripremite svoj Raspberry Pi

  • Pripremite SD karticu s Raspbian -om (testirali smo pomoću NOOBS -a)
  • Umetnite SD karticu u Raspberry pi
  • Povežite kameru
  • Povežite mrežu
  • Povežite ekran i tastaturu sa Pi
  • Pokrenite Raspberry pi povezivanjem mikro USB -a za napajanje.
  • Saznajte IP adresu vašeg Raspberry Pi. Kada se pokrene, vaš Raspberry Pi će prijaviti nešto poput "Moja IP adresa je 10.10. 15.107"
  • Testirali smo sa Raspbian -om (zadana prijava: pi, lozinka: malina), koji podrazumevano uključuje Javu.

Korak 9: Postavite aplikaciju na svoj Raspberry Pi

Da biste kopirali pokrenutu jar datoteku sa svog računara na Rapsberry Pi, slijedite ove korake:

  • Otvorite terminal na svom računaru
  • Idite u direktorij u kojem se nalazi generirana JAR datoteka
  • Upišite scp alarmsystem.jar [email protected]: ~/
  • Od vas će se tražiti kombinacija lozinke. "pi" je zadano korisničko ime, a "raspberry" zadana lozinka
  • Idite u direktorij u kojem se nalazi konfiguracijska datoteka alarm_system.properties. Najlakše mi je ručno kopirati datoteku iz uređivača Eclipse u isti direktorij kao i jar datoteka.
  • Upišite scp motiondetection.ini [email protected]: ~/

10.10.15.107 je IP adresa, zamijenite je IP adresom vašeg Raspberry Pi.

- Naravno, možete koristiti i memorijski štapić za kopiranje na Pi

Korak 10: Pokrenite aplikaciju na svom Raspberry Pi

Sada ste spremni za pokretanje aplikacije.

  • Prijavite se na Raspberry Pi izravno ili daljinski putem ssh -a.
  • Napravite novi direktorij za konfiguraciju: mkdir config
  • Proverite da li je pokrenuta JAR datoteka i.ini kopirana na Raspberry Pi
  • Premjestite.ini datoteku u direktorij konfiguracije: mv alarm_system.properties config/
  • Upišite sudo java -jar alarmsystem.jar
  • Gledajte izlaz na konzoli
  • Prekinite sa ^C

Korak 11: Izmijenite svoju aplikaciju

Sada možete izmijeniti i proširiti svoju aplikaciju kako želite. Ako želite proširiti uvezeni sistem poput ovog alarmnog sistema, prvo morate napraviti vlastiti projekt i duplicirati alarmni sistem u svoj vlastiti projekt.

Imajte na umu da za izmjene morate prvo napraviti vlastiti projekt. Zatim kopirajte/duplicirajte aplikaciju u novostvoreni projekt. Kako se to radi možete vidjeti ovdje:

Slijedite IoT Tuturial trag da biste dobili detaljne opise o tome kako izgraditi ili izmijeniti određene aplikacije Reactive Blocks.

Preporučuje se: