Indholdsfortegnelse:

Bevægelsesdetekteringsalarmsystem: 11 trin (med billeder)
Bevægelsesdetekteringsalarmsystem: 11 trin (med billeder)

Video: Bevægelsesdetekteringsalarmsystem: 11 trin (med billeder)

Video: Bevægelsesdetekteringsalarmsystem: 11 trin (med billeder)
Video: 5-ZOOM VANDAL-resistent KAMERA MED MENNESKER DETEKTION OG SPORING 2024, November
Anonim
Bevægelsesdetekterings alarmsystem
Bevægelsesdetekterings alarmsystem

Bemærk! Reactive Blocks kan ikke længere downloades. Et grundlæggende USB -kamera kan bruges til at registrere bevægelse i et rum. I de følgende trin viser vi dig, hvordan du kan bruge reaktive blokke til at programmere et klar til at køre Java -program, der sender SMS eller e -mail, når der registreres bevægelse. Med Reative Blocks laver du Java SE -applikationer, så alarmprogrammet kan implementeres på enhver maskine med Java SE og et kamera tilsluttet eller integreret. Applikationen er let implementeret på Pi, da Raspbian-versionen har Oracle Java forudinstalleret..

Dette har du brug for:

  1. Raspberry Pi Model B+ med Raspbian OS
  2. Standard USB kamera
  3. Ethernet -kabel
  4. Skærm og tastatur til Pi
  5. Windows- eller MAC -computer med JDK
  6. Bemærk! Reactive Blocks kan ikke længere downloades. Du skal bruge Reactive Blocks, et Eclipse -plugin, for at programmere applikationen.

Denne alarmapplikation er et af flere eksempler på systemer, der kan ændres, og som er tilgængelige, når du har installeret Reactive Blocks. Ansøgningen er klar til at løbe tør for boksen, og du behøver ikke nogen Java -programmeringsevner for at fuldføre selvstudiet. For at lave dine egne Reactive Blocks -applikationer og byggeklodser skal du være en dygtig Java -programmør. Når man bygger mere komplekse applikationer med flere sensorer og aktuatorer, gør Reactive Blocks det let at få logikken og datastrømmen til at passe. Reactive Blocks er gratis til open source -projekter.

Trin 1: Installer reaktive blokke

Reactive Blocks er blevet afbrudt

Trin 2: Download applikationen fra bibliotekerne

Download applikationen fra bibliotekerne
Download applikationen fra bibliotekerne

Sørg for, at du har åbnet perspektivet for reaktive blokke, og at du er i visningen Blokke. Fra blokkevisningen skal du vælge importknappen og vælge Referenceprogrammer. Vælg projektet Bevægelsesregistrering. På dette tidspunkt bliver du bedt om at registrere dig med et Google ID. Dette giver dig øjeblikkelig adgang til byggestenens biblioteker og systemer, der kan ændres og selvstudier.

Motion Detection -projektet, du downloadede, indeholder tre applikationer, alarmsystemets SMS, alarmsystemets e -mail og en testapplikation Test bevægelsesdetektering. I denne vejledning guider vi dig gennem alarmsystemets SMS. Hvis du hellere sender e -mail, kan du gøre de samme trin med alarmsystemets e -mail

Trin 3: Ansøgningen på øverste niveau

Ansøgningen på øverste niveau
Ansøgningen på øverste niveau

Dette trin giver en forklaring på applikationen. Det første billede viser diagrammet over, hvordan den komplette applikation ser ud på øverste niveau. Det består af 7 byggesten; 5 standard byggesten fra bibliotekerne og 2 specialfremstillede blokke, der blev lavet til denne applikation.

Standardblokke fra IoT -biblioteket er:

  • Grabber, tager billeder fra USB -kameraet
  • Bevægelsesregistrering, udfører den faktiske billeddetektering
  • Periodisk timer, starter med nøjagtige tidsstempler og sender et signal på flåtnålen hver periode.
  • Buffer ivrig, skubber automatisk det første element ud i køen. Bufferen sikrer, at der kun sendes en besked til SMS Send -blokken, da den kun kan behandle en besked ad gangen.
  • SMS Send Bufret, sender SMS via Twilio -tjenesten. De elementer, der skal sendes, bufferes for at sikre, at der kun sendes en besked ad gangen.
  • Begrænsning, for at undgå for mange SMS, når en ubuden gæst opdages.
  • Læs Java Properties -fil, læser konfigurationsdata fra inputfil
  • Vis, viser et billede på skærmen.

Den periodiske timerblok fungerer som en systemmotor. Det vil med jævne mellemrum udstede et kryds, der sender et signal til Grabber -blokken via grabben. Grabber -blokken bruger Open Intelligent Multimedia Analysis for Java, OpenIMAJ. Når blokken initialiseres, startes en separat tråd for at læse data fra kameraet. Tråden lytter til en kommandokø. Når blokken modtager en kommando via grabben, vil det tage et billede og levere det på billedstiften.

Billedet sendes derefter til blokken Bevægelsesregistrering, der udfører den faktiske billeddetektering. Bevægelsesdetektionsblokken bruger også OpenIMAJ. En metode inden for denne blok sammenligner to billeder og markerer ændringer i billedet, når der registreres bevægelse. Metoden er meget CPU -intensiv og skal køres i en separat tråd. Når et billede detekteres, signaleres det på motionDetected pin, som vil udløse generering af en SMS -besked.

De lyseblå bokse er alle Java -metoder specielt fremstillet til denne applikation. Klik på en metodeblok åbner Java -editoren.

Når du klikker på en byggesten, kan du se detaljerne i logikken inde i blokken. Hvis du f.eks. Kigger inde i ReadConfig -blokken, vil du se, at den er lavet ved at kombinere en eksisterende byggesten og 4 Java -metoder.

Limiter sætter en grænse for mængden af genererede meddelelser. Læg mærke til P i højre hjørne af byggesten. Det angiver, at du kan indstille minitjenesten for, hvor lang tid applikationen skal vente, før den sender en ny SMS. Standardindstillingen er 300000 ms, dvs. 5 minutter. For at ændre værdien. Højreklik på blokken, og vælg parametre og generika.

Trin 4: Aktiver SMS

Aktiver SMS
Aktiver SMS

Denne alarmapplikation bruger Twilio som SMS -service. For at aktivere SMS skal du redigere filen config/alarm-system.properties. Du kan finde det i pakkeudforskervisningen under br.ref.motiondetection, se billedet.

Denne fil er den samme fil, der bruges i alarmsystemets e -mail. Hvis du hellere har e -mail -meddelelser, vil du bruge denne applikation og redigere filen med dine e -mail -legitimationsoplysninger.

Hvis du ikke har Twilio -tjenesten, kan du ændre applikationen til at bruge din egen SMS -service. Vi har også en klar til brug byggesten til Clickatell -tjenesten. Eller du kan vedhæfte et modem for at sende SMS.

Du kan finde byggesten til SMTP -e -mail, AirVantage Cloud, IBM Bluemix og Xively for at nævne nogle få.

Bemærk, at for at foretage ændringer skal du først lave dit eget projekt. Kopier/kopier derefter applikationen til dit nyoprettede projekt. Du kan se, hvordan dette gøres her:

Tøv ikke med at kontakte mig, hvis du har brug for hjælp

Trin 5: Byg og kør programmet på din bærbare computer

Byg og kør programmet på din bærbare computer
Byg og kør programmet på din bærbare computer

Du skal bygge programmet, før du kører det, og distribuere det til Raspberry Pi. Dette gøres ved hjælp af kodegeneratoren Reactive Blocks, der skaber et komplet Java -projekt ud fra byggestenens struktur. Koden, der repræsenterer diagrammerne, er synkroniseringskoden, der håndterer begivenheder i den rigtige rækkefølge og på det rigtige tidspunkt, og typisk tegner sig for mere end 60% af linjerne af koden i dit program. Da byggestenene er præcise matematiske strukturer, kan generatoren transformere denne logik til meget effektiv kode. Dette er en meget flot Reactive Blocks -funktion, fordi det er kedeligt og svært at skrive sådan kode manuelt. For at generere koden er dette alt hvad du skal gøre:

Højreklik på projektalarmsystemet SMS under fanen Projekter og vælg Java standardudgave. Sørg for, at logningsoplysninger er INFO. Det genererede projekt åbnes derefter automatisk under fanen Package Explorer. Se figuren for detaljer.

Trin 6: Kør programmet på din computer

Kør programmet på din computer
Kør programmet på din computer
Kør programmet på din computer
Kør programmet på din computer

Nu kan du udføre det genererede projekt. I Package Explorer -visningen under det genererede _exe -projekt skal du højreklikke på AlarmSystemSMS.launch og vælge RunAs og derefter vælge AlarmSystemSMS.

Se vinduet på skærmen og konsolvisningen. Bør ligne det andet billede.

Afslut applikationen ved at lukke kameravinduet.

Til programmet Send e -mail: Hvis du får godkendelsesfejl, skal du sørge for, at SMTP -afsendelse er tilladt for din e -mail. Se fejlfinding nederst i e-mail-selvstudiet:

Trin 7: Eksporter som JAR -fil, der kan køre

Eksporter som JAR -fil, der kan køre
Eksporter som JAR -fil, der kan køre

Hvis du vil køre programmet på en Raspberry Pi, er det næste trin at eksportere det genererede projekt til en JAR -fil, der kan køre. For at gøre dette skal du højreklikke på det eksekverbare projekt i pakkeoversigten og vælge eksport. Vælg derefter indstillingen Runnable JAR file, og tryk på næste. Vælg den korrekte startkonfiguration og eksportdestination i det følgende vindue. I eksportdestinationen skal du bruge knappen Gennemse, så du kan placere.jar -filen et sted, hvor du kan finde den.

Trin 8: Forbered din Raspberry Pi

  • Forbered SD -kortet med Raspbian (vi har testet med NOOBS)
  • Indsæt SD -kortet i Raspberry pi
  • Tilslut kameraet
  • Tilslut netværket
  • Tilslut en skærm og et tastatur til Pi
  • Start Raspberry pi ved at tilslutte mikro -USB til strømforsyning.
  • Find ud af IP -adressen på din Raspberry Pi. Når den startes, vil din Raspberry Pi rapportere noget i retning af "Min IP -adresse er 10.10. 15.107"
  • Vi har testet med Raspbian (standard login: pi, password: hindbær), som inkluderer Java som standard.

Trin 9: Distribuer applikationen til din Raspberry Pi

Følg disse trin for at kopiere den kørerbare jar -fil fra din computer til Rapsberry Pi:

  • Åbn en terminal på din maskine
  • Gå til biblioteket, hvor den genererede JAR -fil er placeret
  • Skriv scp alarmsystem.jar [email protected]: ~/
  • Du bliver bedt om adgangskodekombinationen. "pi" er standardbrugernavnet og "hindbær" standardadgangskoden
  • Gå til biblioteket, hvor konfigurationsfilen alarm_system.properties er placeret. Nemmest for mig er at manuelt kopiere filen fra Eclipse -editoren til den samme mappe som jar -filen.
  • Skriv scp motiondetection.ini [email protected]: ~/

10.10.15.107 er IP -adressen, erstat den med IP -adressen på din Raspberry Pi.

- Du kan naturligvis også bruge en memory stick til at kopiere den over til Pi

Trin 10: Kør applikationen på din Raspberry Pi

Du er nu klar til at køre applikationen.

  • Log ind på Raspberry Pi enten direkte eller eksternt via ssh.
  • Opret en ny konfigurationsmappe: mkdir config
  • Kontroller, om den JAR -fil, der kan køre, og.ini er blevet kopieret til Raspberry Pi
  • Flyt.ini -filen til config -biblioteket: mv alarm_system.properties config/
  • Skriv sudo java -jar alarmsystem.jar
  • Se output på konsollen
  • Afslut med ^C

Trin 11: Rediger din ansøgning

Du kan nu ændre og udvide din ansøgning, som du vil. Hvis du vil udvide et importeret system som dette alarmsystem, skal du først lave dit eget projekt og kopiere alarmsystemet til dit eget projekt.

Bemærk, at for at foretage ændringer skal du først lave dit eget projekt. Kopier/kopier derefter applikationen til dit nyoprettede projekt. Du kan se, hvordan dette gøres her:

Følg IoT Tuturial-sporet for at få trin-for-trin beskrivelser af, hvordan du opbygger eller ændrer specifikke Reactive Blocks-applikationer.

Anbefalede: