Sadržaj:

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

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

Video: Alarmni sustav za otkrivanje pokreta: 11 koraka (sa slikama)
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Srpanj
Anonim
Alarmni sustav za otkrivanje pokreta
Alarmni sustav za otkrivanje pokreta

Bilješka! Reactive Blocks više nije dostupan za preuzimanje. Osnovna USB kamera može se koristiti za detekciju 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. S reaktivnim blokovima izrađujete Java SE aplikacije tako da se aplikacija za alarm može postaviti na bilo koji stroj s Java SE -om i kamerom priključenom ili integriranom. Aplikacija se lako postavlja na Pi budući da Raspbian izdanje ima unaprijed instaliran Oracle Java..

Ovo vam je potrebno:

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

Ova je alarmna aplikacija jedan od nekoliko primjerivih sustava koji se mogu mijenjati i dostupni su nakon što instalirate reaktivne blokove. 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 sastavne dijelove reaktivnih blokova, morate biti vješt Java programer. Pri izgradnji 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 knjižnica

Preuzmite aplikaciju iz knjižnica
Preuzmite aplikaciju iz knjižnica

Provjerite jeste li otvorili perspektivu reaktivnih blokova i jeste li u prikazu blokova. Iz prikaza 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. To će vam omogućiti trenutni pristup bibliotekama gradivnih blokova i promjenjivim sustavima i vodičima.

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

Korak 3: Aplikacija na najvišoj razini

Aplikacija na najvišoj razini
Aplikacija na najvišoj razini

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

Standardni blokovi iz IoT biblioteke su:

  • Grabber, hvatanje slika s USB kamere
  • Otkrivanje pokreta, vrši otkrivanje stvarne slike
  • Periodični mjerač vremena, počinje s točnim vremenskim oznakama i šalje signal na kvačicu svaki trenutak.
  • 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 obrađivati samo jednu poruku odjednom.
  • SMS Slanje u međuspremniku, šalje SMS putem usluge Twilio. Elementi koje treba poslati su međuspremnici kako bi se osiguralo da se šalje samo jedna poruka odjednom.
  • Ograničavač, kako biste izbjegli previše SMS -a kada se otkrije uljez.
  • Čita datoteku Java Properties, čita konfiguracijske podatke iz ulazne datoteke
  • Prikaz, prikaz slike na ekranu.

Blok Periodic Timer radi kao sustav motora. Povremeno će izdavati kvačicu koja šalje signal bloku Grabber putem hvataljke. Blok Grabber koristi Open Intelligent Multimedia Analysis for Java, OpenIMAJ. Kad se blok inicijalizira, pokreće se zasebna nit za čitanje podataka s kamere. Nit sluša red naredbi. Kad blok primi naredbu putem hvataljke, snimit će jednu sliku i dostaviti je na slikovnu iglu.

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 kretanje. Metoda je jako 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. Primijetite P u desnom kutu građevnog bloka. Označava da možete postaviti minimalni interval 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 aplikacija za alarm 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 je datoteka ista datoteka koja se koristi u e -pošti alarmnog sustava. Ako želite radije 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 prilož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 promjene morate prvo napraviti vlastiti projekt. Zatim kopirajte/duplicirajte aplikaciju u svoj novostvoreni projekt. Kako se to radi možete vidjeti ovdje:

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

Korak 5: Izgradite i pokrenite aplikaciju na prijenosnom računalu

Izradite i pokrenite aplikaciju na prijenosnom računalu
Izradite i pokrenite aplikaciju na prijenosnom računalu

Prije pokretanja morate izraditi aplikaciju i postaviti je na Raspberry Pi. To se radi pomoću generatora koda Reactive Blocks koji stvara cjelovit Java projekt iz strukture gradivnih blokova. Kôd koji predstavlja dijagrame je kôd za sinkronizaciju koji obrađuje događaje pravim redoslijedom i u pravo vrijeme i obično čini više od 60% redaka koda u vašem programu. Budući da su građevni blokovi precizne matematičke strukture, generator ovu logiku može pretvoriti u vrlo učinkovit kod. Ovo je jako lijepa značajka 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 SMS alarmnog sustava projekta na kartici Projekti i odaberite Standardno izdanje Java. Provjerite jesu li podaci za prijavu INFO. Generirani projekt tada će se automatski otvoriti na kartici Istraživač paketa. Za detalje pogledajte sliku.

Korak 6: Pokrenite aplikaciju na računalu

Pokrenite aplikaciju na svom računalu
Pokrenite aplikaciju na svom računalu
Pokrenite aplikaciju na svom računalu
Pokrenite aplikaciju na svom računalu

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 izgledati nešto poput druge slike.

Zatvorite aplikaciju zatvaranjem prozora kamere.

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

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 Runnable JAR file i pritisnite next. U sljedećem prozoru odaberite odgovarajuću konfiguraciju pokretanja i odredište izvoza. U odredištu izvoza upotrijebite gumb za pretraživanje kako biste datoteku.jar mogli postaviti na mjesto na kojem 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
  • Spojite kameru
  • Povežite mrežu
  • Spojite zaslon i tipkovnicu na Pi
  • Pokrenite Raspberry pi spajanjem mikro USB -a za napajanje.
  • Saznajte IP adresu vašeg Raspberry Pi. Kada se pokrene, vaš Raspberry Pi prijavit će nešto poput "Moja IP adresa je 10.10. 15.107"
  • Testirali smo s Raspbian -om (zadana prijava: pi, lozinka: malina), koji prema zadanim postavkama uključuje Javu.

Korak 9: Postavite aplikaciju na svoj Raspberry Pi

Da biste kopirali pokrenutu jar datoteku s računala na Rapsberry Pi, slijedite ove korake:

  • Otvorite terminal na svom računalu
  • 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 "malina" 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

10. korak: 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
  • Provjerite jesu li pokrenuta JAR datoteka i.ini kopirane na Raspberry Pi
  • Premjestite.ini datoteku u direktorij config: mv alarm_system.properties config/
  • Upišite sudo java -jar alarmsystem.jar
  • Gledajte izlaz na konzoli
  • Prekinite sa ^C

11. korak: Izmijenite svoju prijavu

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

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

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

Preporučeni: