Cuprins:

Sistem de alarmă de detectare a mișcării: 11 pași (cu imagini)
Sistem de alarmă de detectare a mișcării: 11 pași (cu imagini)

Video: Sistem de alarmă de detectare a mișcării: 11 pași (cu imagini)

Video: Sistem de alarmă de detectare a mișcării: 11 pași (cu imagini)
Video: SISTEM DE ALARMA WIRELESS TRI-X HIKVISION AX PRO CU GSM 3G/4G, LAN SIMPLU DE INSTALAT SI CONFIGURAT 2024, Noiembrie
Anonim
Sistem de alarmă pentru detectarea mișcării
Sistem de alarmă pentru detectarea mișcării

Notă! Reactive Blocks nu mai este disponibil pentru descărcare. O cameră USB de bază poate fi utilizată pentru a detecta mișcarea într-o cameră. În pașii următori vă vom arăta cum puteți utiliza blocurile reactive pentru a programa o aplicație Java gata de rulat care trimite SMS sau e-mail atunci când este detectată mișcarea. Cu Reative Blocks creați aplicații Java SE, astfel încât aplicația de alarmă să poată fi implementată pe orice mașină cu Java SE și o cameră atașată sau integrată. Aplicația este ușor de implementat pe Pi, deoarece versiunea Raspbian are Oracle Java preinstalat..

De asta aveți nevoie:

  1. Raspberry Pi Model B + cu Raspbian OS
  2. Cameră USB standard
  3. cablu Ethernet
  4. Ecran și tastatură pentru Pi
  5. Computer Windows sau MAC cu JDK
  6. Notă! Reactive Blocks nu mai este disponibil pentru descărcare. Veți avea nevoie de Reactive Blocks, un plugin Eclipse, pentru a programa aplicația.

Această aplicație de alarmă este unul dintre câteva exemple de sisteme modificabile care sunt accesibile după instalarea blocurilor reactive. Aplicația este gata să se termine și nu veți avea nevoie de abilități de programare Java pentru a finaliza tutorialul. Pentru a vă crea propriile aplicații și blocuri Reactive Blocks, trebuie să fiți un programator Java competent. Când construiți aplicații mai complexe cu mai mulți senzori și actuatori, Reactive Blocks face mai ușor să obțineți corect logica și fluxul de date. Reactive Blocks este gratuit pentru proiectele open source.

Pasul 1: Instalați blocuri reactive

Blocurile reactive au fost întrerupte

Pasul 2: Descărcați aplicația din biblioteci

Descărcați aplicația din biblioteci
Descărcați aplicația din biblioteci

Asigurați-vă că ați deschis perspectiva Blocuri reactive și că vă aflați în vizualizarea Blocuri. Din vizualizarea Blocuri selectați butonul de import și alegeți Aplicații de referință. Selectați proiectul Motion Detection. În acest moment vi se va cere să vă înregistrați cu un ID Google. Acest lucru vă va oferi acces imediat la bibliotecile blocurilor de construcții și la sistemele și tutoriale modificabile.

Proiectul de detectare a mișcării pe care l-ați descărcat include trei aplicații, Alarm System SMS, Alarm System Email și o aplicație de testare Test motion detectare. În acest tutorial vă ghidăm prin SMS-ul sistemului de alarmă. Dacă preferați să trimiteți e-mail, puteți face aceiași pași cu e-mailul sistemului de alarmă

Pasul 3: Aplicația la nivel superior

Aplicația la nivel superior
Aplicația la nivel superior

Acest pas oferă o explicație a aplicației. Prima imagine prezintă diagrama a aspectului aplicației complete la nivelul superior. Este compus din 7 blocuri; 5 blocuri de construcții standard din biblioteci și 2 blocuri personalizate care au fost realizate pentru această aplicație.

Blocurile standard din biblioteca IoT sunt:

  • Grabber, apucă imagini de pe camera USB
  • Detectarea mișcării, efectuează detectarea reală a imaginii
  • Temporizator periodic, începe cu timbre precise și trimite un semnal pe bifă în fiecare perioadă.
  • Buffer Eager, împinge automat primul element din coadă. Tamponul asigură că un singur mesaj este trimis către blocul SMS Trimite, deoarece poate procesa un singur mesaj la un moment dat.
  • SMS Send Buffered, trimite SMS prin serviciul Twilio. Elementele care urmează să fie trimise sunt tamponate pentru a se asigura că este trimis un singur mesaj la un moment dat.
  • Limitator, pentru a evita prea multe SMS-uri atunci când este detectat un intrus.
  • Citiți fișierul Java Properties, citește datele de configurare din fișierul de intrare
  • Vizualizare, vizualizează o imagine pe ecran.

Blocul Periodic Timer funcționează ca un motor de sistem. Acesta va emite periodic o bifă care trimite un semnal către blocul Grabber prin intermediul știftului de blocare. Blocul Grabber utilizează Analiza multimedia inteligentă deschisă pentru Java, OpenIMAJ. Când blocul este inițializat, se începe un fir separat pentru a citi datele de pe cameră. Firul ascultă o coadă de comandă. Când blocul primește o comandă prin intermediul știftului de prindere, acesta va face o fotografie și o va livra pe pinul de imagine.

Imaginea este apoi transmisă blocului de detectare a mișcării care efectuează detectarea reală a imaginii. Blocul de detectare a mișcării folosește și OpenIMAJ. O metodă din acest bloc compară două imagini și va semnaliza modificările imaginii atunci când este detectată mișcarea. Metoda este foarte intensă în procesor și trebuie rulată într-un fir separat. Când este detectată o imagine, aceasta este semnalizată pe pinul MotionDetected care va declanșa generarea unui mesaj SMS.

Căsuțele de culoare albastru deschis sunt toate metode Java create special pentru această aplicație. Dând clic pe un bloc metodă se deschide editorul Java.

Când faceți clic pe un bloc de construcție, puteți vedea detaliile logicii din interiorul blocului. De exemplu, dacă vă uitați în blocul ReadConfig, veți vedea că este realizat prin combinarea unui bloc de construcție existent și a 4 metode Java.

Limiterul pune o limită asupra cantității de mesaje generate. Observați P în colțul din dreapta al blocului de construcție. Acesta indică faptul că puteți seta minitervalul cât timp trebuie să aștepte aplicația înainte de a trimite un nou SMS. Setarea implicită este 300000ms, adică 5 minute. Pentru a schimba valoarea. Faceți clic dreapta pe bloc și alegeți parametri și generice.

Pasul 4: Activați SMS

Activați SMS
Activați SMS

Această aplicație de alarmă folosește Twilio ca serviciu SMS. Pentru a activa SMS-ul, trebuie să editați fișierul config / alarm-system.properties. Puteți să-l găsiți în vizualizarea exploratorului de pachete sub br.ref.motiondetection, consultați imaginea.

Acest fișier este același fișier folosit în e-mailul sistemului de alarmă. Dacă preferați să primiți notificări prin e-mail, veți utiliza această aplicație și veți edita fișierul cu acreditările dvs. de e-mail.

Dacă nu aveți serviciul Twilio, puteți modifica aplicația pentru a utiliza propriul serviciu SMS. De asemenea, avem un element de construcție gata de utilizare pentru serviciul Clickatell. Sau puteți atașa un modem pentru a trimite SMS.

Puteți găsi elemente de bază pentru e-mailul SMTP, AirVantage Cloud, IBM Bluemix și Xively pentru a numi câteva.

Rețineți că pentru a face modificări, trebuie mai întâi să vă faceți propriul proiect. Apoi copiați / copiați aplicația în proiectul dvs. nou creat. Puteți vedea cum se face acest lucru aici:

Nu ezitați să mă contactați dacă aveți nevoie de ajutor

Pasul 5: Construiți și rulați aplicația pe laptop

Construiți și rulați aplicația pe laptop
Construiți și rulați aplicația pe laptop

Trebuie să construiți aplicația înainte de a o rula și să o implementați pe Raspberry Pi. Acest lucru se face folosind generatorul de cod Reactive Blocks care creează un proiect Java complet din structura blocurilor de construcție. Codul care reprezintă diagramele este codul de sincronizare care tratează evenimentele în ordinea corectă și la momentul potrivit și, de obicei, reprezintă mai mult de 60% din liniile codului din programul dvs. Deoarece blocurile de construcție sunt structuri matematice precise, generatorul poate transforma această logică într-un cod foarte eficient. Aceasta este o caracteristică foarte frumoasă a blocurilor reactive, deoarece scrierea manuală a unui astfel de cod este dificilă și dificilă. Pentru a genera codul, acesta este tot ce trebuie să faceți:

Faceți clic dreapta pe proiectul Sistem de alarmă SMS din fila Proiecte și selectați ediția standard Java. Asigurați-vă că informațiile de înregistrare sunt INFO. Proiectul generat se va deschide apoi automat în fila Explorer pachet. Vedeți figura pentru detalii.

Pasul 6: Rulați aplicația pe computer

Rulați aplicația pe computer
Rulați aplicația pe computer
Rulați aplicația pe computer
Rulați aplicația pe computer

Acum puteți executa proiectul generat. În vizualizarea Package Explorer din proiectul generat _exe, faceți clic dreapta pe AlarmSystemSMS.launch și selectați RunAs și apoi alegeți AlarmSystemSMS.

Urmăriți fereastra de pe ecran și vizualizarea Consolă. Ar trebui să arate ceva ca a doua imagine.

Terminați aplicația închizând fereastra camerei.

Pentru aplicația de e-mail de trimitere: Dacă primiți o eroare de autentificare, asigurați-vă că este permisă trimiterea SMTP pentru e-mailul dvs. Consultați soluționarea problemelor în partea de jos a tutorialului de e-mail:

Pasul 7: Exportați ca fișier JAR executabil

Exportați ca fișier JAR executabil
Exportați ca fișier JAR executabil

Dacă doriți să rulați aplicația pe un Raspberry Pi, următorul pas este să exportați proiectul generat într-un fișier JAR rulabil. Pentru a face acest lucru, faceți clic dreapta pe proiectul executabil din vizualizarea exploratorului de pachete și alegeți export. Apoi selectați opțiunea Runnable file JAR și apăsați următoarea. În următoarea fereastră, selectați configurația de lansare și destinația de export corespunzătoare. În destinația de export, utilizați butonul de navigare pentru a putea plasa fișierul.jar într-un loc unde îl puteți găsi.

Pasul 8: Pregătiți-vă Raspberry Pi

  • Pregătiți cardul SD cu Raspbian (am testat folosind NOOBS)
  • Introduceți cardul SD în Raspberry pi
  • Conectați camera
  • Conectați rețeaua
  • Conectați un ecran și tastatură la Pi
  • Porniți Raspberry pi conectând micro USB pentru alimentare.
  • Aflați adresa IP a Raspberry Pi. La pornire, Raspberry Pi va raporta ceva de genul „Adresa mea IP este 10.10. 15.107”
  • Am testat cu Raspbian (autentificare implicită: pi, parolă: zmeură), care include Java implicit.

Pasul 9: Implementați aplicația pe Raspberry Pi

Pentru a copia fișierul jar rulabil de pe computer pe Rapsberry Pi, urmați acești pași:

  • Deschideți un terminal pe mașină
  • Mergeți la directorul în care se află fișierul JAR generat
  • Tastați scp alarmsystem.jar [email protected]: ~ /
  • Vi se va cere combinația de parole. „pi” este numele de utilizator implicit și „raspberry” parola implicită
  • Mergeți la directorul în care se află fișierul de configurare alarm_system.properties. Cel mai ușor pentru mine este să copiez manual fișierul din editorul Eclipse în același director cu fișierul jar.
  • Tastați scp motiondetection.ini [email protected]: ~ /

10.10.15.107 este adresa IP, înlocuiți-o cu adresa IP a Raspberry Pi.

- Puteți, desigur, utiliza și un stick de memorie pentru al copia pe Pi

Pasul 10: Rulați aplicația pe Raspberry Pi

Acum sunteți gata să rulați aplicația.

  • Conectați-vă la Raspberry Pi direct sau de la distanță prin ssh.
  • Creați un nou director de configurare: mkdir config
  • Verificați dacă fișierul JAR rulabil și.ini au fost copiate pe Raspberry Pi
  • Mutați fișierul.ini în directorul de configurare: mv alarm_system.properties config /
  • Tastați sudo java -jar alarmsystem.jar
  • Urmăriți ieșirea de pe consolă
  • Terminați cu ^ C

Pasul 11: Modificați aplicația

Acum puteți modifica și extinde aplicația după cum doriți. Dacă doriți să extindeți un sistem importat precum acest sistem de alarmă, trebuie mai întâi să vă creați propriul proiect și să duplicați sistemul de alarmă în propriul dvs. proiect.

Rețineți că pentru a face modificări, trebuie mai întâi să vă faceți propriul proiect. Apoi copiați / copiați aplicația în proiectul dvs. nou creat. Puteți vedea cum se face acest lucru aici:

Urmați traseul Tutorial IoT pentru a obține descrieri pas cu pas despre cum să construiți sau să modificați aplicații specifice Reactive Blocks.

Recomandat: