INHOUDSOPGAWE:

Bewegingsopsporing alarmstelsel: 11 stappe (met foto's)
Bewegingsopsporing alarmstelsel: 11 stappe (met foto's)

Video: Bewegingsopsporing alarmstelsel: 11 stappe (met foto's)

Video: Bewegingsopsporing alarmstelsel: 11 stappe (met foto's)
Video: Nine Eleven, langs de lat van het 'kritisch denken' - deel 1 2024, November
Anonim
Bewegingsopsporing alarmstelsel
Bewegingsopsporing alarmstelsel

Let wel! Reactive Blocks kan nie meer afgelaai word nie. 'N Basiese USB -kamera kan gebruik word om beweging in 'n kamer op te spoor. In die volgende stappe sal ons u wys hoe u reaktiewe blokke kan gebruik om 'n gereedgemaakte Java -program te programmeer wat sms of e -pos stuur wanneer beweging opgespoor word. Met Reative Blocks maak u Java SE -toepassings, sodat die alarmprogram op elke masjien met Java SE en 'n aangehegte kamera of geïntegreerde ontplooi kan word. Die toepassing word maklik op die Pi geïmplementeer, aangesien Oracle Java vooraf geïnstalleer is in die Raspbian-weergawe..

Dit is wat jy nodig het:

  1. Raspberry Pi Model B+ met Raspbian OS
  2. Standaard USB kamera
  3. Ethernet -kabel
  4. Skerm en sleutelbord vir die Pi
  5. Windows- of MAC -rekenaar met JDK
  6. Let wel! Reactive Blocks kan nie meer afgelaai word nie. U benodig Reactive Blocks, 'n Eclipse -inprop, om die toepassing te programmeer.

Hierdie alarmtoepassing is een van die vele veranderbare voorbeeldstelsels wat toeganklik is nadat u Reactive Blocks geïnstalleer het. Die toepassing is gereed om uit die boks te loop, en u benodig geen Java -programmeervaardighede om die tutoriaal te voltooi nie. Om u eie Reactive Blocks -toepassings en boustene te maak, moet u 'n vaardige Java -programmeerder wees. By die bou van meer komplekse toepassings met verskeie sensors en aktuators, maak Reactive Blocks dit maklik om die logika en die datavloei reg te stel. Reactive Blocks is gratis vir open source -projekte.

Stap 1: Installeer reaktiewe blokke

Reaktiewe blokke is gestaak

Stap 2: Laai die toepassing van die biblioteke af

Laai die toepassing van die biblioteke af
Laai die toepassing van die biblioteke af

Maak seker dat u die perspektief van reaktiewe blokke oopgemaak het en dat u in die blokke -aansig is. Kies uit die blokke -aansig die invoerknoppie en kies Verwysingstoepassings. Kies die bewegingsopsporingsprojek. Op hierdie stadium sal u gevra word om met 'n Google ID te registreer. Dit gee u onmiddellike toegang tot die boustene -biblioteke en veranderbare stelsels en tutoriale.

Die bewegingsopsporingsprojek wat u afgelaai het, bevat drie toepassings, die alarmstelsel -sms, die e -posalarm van die alarmstelsel en 'n toetsaansoek, die toets bewegingsopsporing. In hierdie tutoriaal lei ons u deur die SMS -alarmstelsel. As u eerder e -pos wil stuur, kan u dieselfde stappe doen met die alarmstelsel -e -pos

Stap 3: Die aansoek op topvlak

Die aansoek op topvlak
Die aansoek op topvlak

Hierdie stap gee 'n verduideliking van die aansoek. Die eerste prentjie toon die diagram van hoe die volledige aansoek op die boonste vlak lyk. Dit bestaan uit 7 boustene; 5 standaard boustene uit die biblioteke en 2 op maat gemaakte blokke wat vir hierdie toepassing gemaak is.

Standaardblokke uit die IoT -biblioteek is:

  • Gryp, neem beelde van die USB -kamera
  • Bewegingsopsporing, voer die werklike beeldopsporing uit
  • Periodieke tydopnemer, begin op akkurate tydstempels en stuur elke periode 'n sein op die regmerkie.
  • Buffer gretig, stoot outomaties die eerste element in die ry uit. Die buffer verseker dat slegs een boodskap na die SMS Send -blok gestuur word, aangesien dit slegs een boodskap op 'n slag kan verwerk.
  • SMS stuur gebuffer, stuur SMS deur die Twilio diens. Die elemente wat gestuur moet word, word gebuffer om te verseker dat slegs een boodskap op 'n slag gestuur word.
  • Beperk, om te veel SMS te vermy as 'n indringer opgespoor word.
  • Lees die Java Properties -lêer, lees konfigdata uit die invoerlêer
  • Kyk, kyk na 'n beeld op die skerm.

Die Periodic Timer -blok werk as 'n stelselmotor. Dit sal periodiek 'n regmerkie uitreik wat via die gryppen 'n sein na die Grabber -blok stuur. Die Grabber -blok gebruik die Open Intelligent Multimedia Analysis vir Java, OpenIMAJ. As die blok geïnitialiseer word, word 'n aparte draad begin om data van die kamera af te lees. Die draad luister na 'n opdragrij. As die blok 'n opdrag via die gryppen ontvang, neem dit 'n foto en lewer dit op die beeldpen.

Die beeld word dan oorgedra na die bewegingsopsporingsblok wat die werklike beeldopsporing uitvoer. Die bewegingsopsporingsblok gebruik ook OpenIMAJ. 'N Metode in hierdie blok vergelyk twee beelde en sal veranderinge in die beeld aandui wanneer beweging opgespoor word. Die metode is baie CPU -intensief en moet in 'n aparte draad uitgevoer word. As 'n beeld opgespoor word, word dit aangedui op die bewegingsopspelde pen wat die opwekking van 'n SMS -boodskap sal veroorsaak.

Die ligblou bokse is almal Java -metodes wat spesifiek vir hierdie toepassing gemaak is. Deur op 'n metodeblok te klik, word die Java -redakteur oopgemaak.

As u op 'n bousteen klik, kan u die besonderhede van die logika binne die blok sien. As u byvoorbeeld in die ReadConfig -blok kyk, sal u sien dat dit gemaak word deur een bestaande boustene en 4 Java -metodes te kombineer.

Die Limiter stel 'n beperking op die hoeveelheid gegenereerde boodskappe. Let op die P in die regterhoek van die bousteen. Dit dui aan dat u die minimum waarde kan instel van hoe lank die aansoek moet wag voordat dit 'n nuwe SMS stuur. Die standaardinstelling is 300000ms, dit wil sê 5 minute. Om die waarde te verander. Klik met die rechtermuisknop op die blok en kies parameters en generieke.

Stap 4: Aktiveer SMS

Aktiveer SMS
Aktiveer SMS

Hierdie alarmprogram gebruik Twilio as 'n SMS -diens. Om SMS moontlik te maak, moet u die lêer config/alarm-system.properties wysig. U kan dit vind in die pakketverkenner -aansig onder br.ref.motiondetection, sien die prentjie.

Hierdie lêer is dieselfde lêer wat in die e -pos van die alarmstelsel gebruik word. As u eerder e -poskennisgewings wil hê, sal u hierdie toepassing gebruik en die lêer met u e -posbewyse wysig.

As u nie die Twilio -diens het nie, kan u die toepassing verander om u eie SMS -diens te gebruik. Ons het ook 'n gereed gebou -blok vir die Clickatell -diens. Of u kan 'n modem heg om SMS te stuur.

U kan boustene vind vir SMTP -e -pos, AirVantage Cloud, IBM Bluemix en Xively om maar 'n paar te noem.

Let daarop dat u eers u eie projek moet maak om veranderinge aan te bring. Kopieer/dupliseer dan die toepassing in u nuutgeskepte projek. U kan hier sien hoe dit gedoen word:

Moenie huiwer om my te kontak as u hulp nodig het nie

Stap 5: Bou en voer die toepassing op u skootrekenaar uit

Bou en voer die toepassing op u skootrekenaar uit
Bou en voer die toepassing op u skootrekenaar uit

U moet die toepassing bou voordat u dit uitvoer en dit na die Raspberry Pi implementeer. Dit word gedoen met behulp van die Reactive Blocks -kodegenerator wat 'n volledige Java -projek uit die struktuur van die boustene skep. Die kode wat die diagramme voorstel, is die sinchronisasiekode wat gebeurtenisse in die regte volgorde en op die regte tyd hanteer, en gewoonlik meer as 60% van die reëls van die kode in u program uitmaak. Aangesien die boustene presiese wiskundige strukture is, kan die kragopwekker hierdie logika in 'n baie doeltreffende kode omskep. Dit is 'n baie goeie Reactive Blocks -funksie, want dit is vervelig en moeilik om sulke kode met die hand te skryf. Dit is alles wat u hoef te doen om die kode te genereer:

Klik met die rechtermuisknop op die SMS -alarmstelsel van die projek onder die oortjie Projekte en kies die standaarduitgawe van Java. Maak seker dat aanmeldingsinligting INFO is. Die gegenereerde projek sal dan outomaties oopmaak onder die oortjie Package Explorer. Sien die figuur vir meer inligting.

Stap 6: Begin die toepassing op u rekenaar

Begin die toepassing op u rekenaar
Begin die toepassing op u rekenaar
Begin die toepassing op u rekenaar
Begin die toepassing op u rekenaar

Nou kan u die gegenereerde projek uitvoer. Klik in die Package Explorer -aansig onder die gegenereerde _exe -projek met die rechtermuisknop op AlarmSystemSMS.launch en kies RunAs en kies dan AlarmSystemSMS.

Kyk na die venster op die skerm en die konsole -aansig. Dit moet iets soos die tweede prentjie lyk.

Beëindig die aansoek deur die kamera-venster toe te maak.

Vir die stuur -e -posprogram: as u 'n verifikasiefout kry, maak seker dat SMTP -stuur vir u e -pos toegelaat word. Sien probleemoplossing onderaan die e-posstudie:

Stap 7: Uitvoer as hardloopbare JAR -lêer

Uitvoer as hardloopbare JAR -lêer
Uitvoer as hardloopbare JAR -lêer

As u die toepassing op 'n Raspberry Pi wil uitvoer, is die volgende stap om die gegenereerde projek na 'n hardloopbare JAR -lêer uit te voer. Om dit te doen, klik met die rechtermuisknop op die uitvoerbare projek in die pakketverkenningsaanwyser en kies uitvoer. Kies dan die Runnable JAR -lêeropsie en klik volgende. Kies die korrekte bekendstellingskonfigurasie en uitvoerbestemming in die volgende venster. Gebruik die blaai -knoppie in die uitvoerbestemming, sodat u die.jar -lêer 'n plek kan plaas waar u dit kan vind.

Stap 8: Berei u Framboos Pi voor

  • Berei die SD -kaart voor met Raspbian (ons het dit met NOOBS getoets)
  • Plaas die SD -kaart in die Raspberry pi
  • Koppel die kamera
  • Koppel die netwerk
  • Koppel 'n skerm en sleutelbord aan die Pi
  • Begin die Raspberry pi deur die mikro -USB vir die kragtoevoer aan te sluit.
  • Vind die IP -adres van u Raspberry Pi uit. As u dit begin, sal u Raspberry Pi iets rapporteer soos "My IP -adres is 10.10. 15.107"
  • Ons het getoets met Raspbian (standaard aanmelding: pi, wagwoord: framboos), wat Java standaard insluit.

Stap 9: Implementeer die toepassing op u Raspberry Pi

Om die loopbare jar -lêer van u rekenaar na die Rapsberry Pi te kopieer, volg die volgende stappe:

  • Maak 'n terminale op u masjien oop
  • Gaan na die gids waar die gegenereerde JAR -lêer geleë is
  • Tik scp alarmsystem.jar [email protected]: ~/
  • U sal gevra word vir die kombinasie van die wagwoord. "pi" is die standaard gebruikersnaam en "framboos" die standaard wagwoord
  • Gaan na die gids waar die konfigurasie lêer alarm_system.properties geleë is. Die maklikste vir my is om die lêer handmatig van die Eclipse -redakteur na dieselfde gids as die jar -lêer te kopieer.
  • Tik scp motiondetection.ini [email protected]: ~/

10.10.15.107 is die IP -adres, vervang dit deur die IP -adres van u Raspberry Pi.

- U kan natuurlik ook 'n geheuestokkie gebruik om dit na die Pi te kopieer

Stap 10: Begin die toepassing op u Raspberry Pi

U is nou gereed om die toepassing uit te voer.

  • Meld direk of op afstand aan by die Raspberry Pi via ssh.
  • Maak 'n nuwe config -gids: mkdir config
  • Kyk of die JAR -lêer en.ini na die Raspberry Pi gekopieer is
  • Beweeg die.ini -lêer na die config -gids: mv alarm_system.properties config/
  • Tik sudo java -jar alarmsystem.jar
  • Kyk na die uitset op die konsole
  • Beëindig met ^C

Stap 11: Verander u aansoek

U kan u aansoek nou verander en uitbrei soos u wil. As u 'n ingevoerde stelsel soos hierdie alarmstelsel wil uitbrei, moet u eers u eie projek maak en die alarmstelsel na u eie projek dupliseer.

Let daarop dat u eers u eie projek moet maak om veranderinge aan te bring. Kopieer/dupliseer dan die toepassing in u nuutgeskepte projek. U kan hier sien hoe dit gedoen word:

Volg die IoT Tuturial-roete om stap-vir-stap beskrywings te kry oor hoe om spesifieke Reactive Blocks-toepassings te bou of aan te pas.

Aanbeveel: