Innehållsförteckning:
- Steg 1: Installera reaktiva block
- Steg 2: Ladda ner programmet från biblioteken
- Steg 3: Ansökan på toppnivå
- Steg 4: Aktivera SMS
- Steg 5: Bygg och kör programmet på din bärbara dator
- Steg 6: Kör programmet på din dator
- Steg 7: Exportera som körbar JAR -fil
- Steg 8: Förbered din Raspberry Pi
- Steg 9: Distribuera programmet till din Raspberry Pi
- Steg 10: Kör programmet på din Raspberry Pi
- Steg 11: Ändra din ansökan
Video: Rörelsedetekteringslarmsystem: 11 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Notera! Reactive Blocks är inte längre tillgängligt för nedladdning. En vanlig USB -kamera kan användas för att upptäcka rörelse i ett rum. I följande steg visar vi dig hur du kan använda reaktiva block för att programmera ett Java -program som är klart att köra som skickar SMS eller e -post när rörelse detekteras. Med Reative Blocks gör du Java SE -applikationer så att larmprogrammet kan distribueras på vilken dator som helst med Java SE och en kamera ansluten eller integrerad. Programmet distribueras enkelt på Pi eftersom Raspbian-versionen har Oracle Java förinstallerat..
Detta är vad du behöver:
- Raspberry Pi Model B+ med Raspbian OS
- Standard USB -kamera
- Ethernet -kabel
- Skärm och tangentbord för Pi
- Windows- eller MAC -dator med JDK
- Notera! Reactive Blocks är inte längre tillgängligt för nedladdning. Du behöver Reactive Blocks, ett Eclipse -plugin, för att programmera programmet.
Denna larmapplikation är ett av flera modifierbara exempelsystem som är tillgängliga efter att du har installerat Reactive Block. Programmet är redo att köras ur rutan och du behöver inte några Java -programmeringskunskaper för att slutföra handledningen. För att skapa egna Reactive Blocks -applikationer och byggstenar måste du vara en skicklig Java -programmerare. När man bygger mer komplexa applikationer med flera sensorer och ställdon gör Reactive Blocks det enkelt att få logiken och dataflödet rätt. Reactive Blocks är gratis för projekt med öppen källkod.
Steg 1: Installera reaktiva block
Reactive Blocks har avbrutits
Steg 2: Ladda ner programmet från biblioteken
Se till att du har öppnat perspektivet för reaktiva block och att du är i blockvyn. Från blockvyn väljer du importknappen och väljer Referensprogram. Välj projektet Motion Detection. Vid denna tidpunkt kommer du att bli ombedd att registrera dig med ett Google ID. Detta ger dig omedelbar tillgång till byggblockens bibliotek och modifierbara system och självstudier.
Rörelsedetekteringsprojektet du laddade ner innehåller tre applikationer, larmsystemets SMS, larmsystemets e -post och en testapplikation teströrelsedetektering. I denna handledning guidar vi dig genom larmsystemets SMS. Om du hellre skickar e -post kan du göra samma steg med alarmsystemets e -post
Steg 3: Ansökan på toppnivå
Detta steg ger en förklaring av applikationen. Den första bilden visar diagrammet över hur hela applikationen ser ut på översta nivån. Den består av 7 byggstenar; 5 standard byggstenar från biblioteken och 2 skräddarsydda block som gjordes för denna applikation.
Standardblock från IoT -biblioteket är:
- Grabber, tar bilder från USB -kameran
- Rörelsedetektering, utför den faktiska bilddetekteringen
- Periodisk timer, startar med exakta tidsstämplar och skickar en signal på fästingnålen varje period.
- Buffer ivrig, skjuter ut det första elementet i kön automatiskt. Bufferten säkerställer att endast ett meddelande skickas till blocket SMS Send eftersom det bara kan behandla ett meddelande i taget.
- SMS Send Buffered, skickar SMS via Twilio -tjänsten. Elementen som ska skickas buffras för att säkerställa att endast ett meddelande skickas åt gången.
- Begränsare, för att undvika för många SMS när en inkräktare upptäcks.
- Läs Java Properties -fil, läser konfigurationsdata från indatafilen
- Visa, visar en bild på skärmen.
Periodic Timer -blocket fungerar som en systemmotor. Det kommer regelbundet att utfärda en bock som skickar en signal till Grabber -blocket via gripstiftet. Grabber -blocket använder Open Intelligent Multimedia Analysis för Java, OpenIMAJ. När blocket initieras startas en separat tråd för att läsa data från kameran. Tråden lyssnar på en kommandokö. När blocket tar emot ett kommando via gripstiftet tar det en bild och levererar det på bilden e pin.
Bilden överförs sedan till rörelsedetekteringsblocket som utför den faktiska bilddetekteringen. Rörelsedetekteringsblocket använder också OpenIMAJ. En metod inom detta block jämför två bilder och kommer att flagga ändringar i bilden när rörelse detekteras. Metoden är mycket CPU -intensiv och måste köras i en separat tråd. När en bild detekteras signaleras den på motionDetected -stiftet som kommer att utlösa generering av ett SMS -meddelande.
De ljusblå rutorna är alla Java -metoder specifikt gjorda för denna applikation. Om du klickar på ett metodblock öppnas Java -redigeraren.
När du klickar på en byggsten kan du se detaljerna i logiken inuti blocket. Om du till exempel tittar in i ReadConfig -blocket ser du att det är gjort genom att kombinera en befintlig byggsten och 4 Java -metoder.
Begränsaren sätter en gräns för mängden genererade meddelanden. Lägg märke till P i det högra hörnet av byggstenen. Det indikerar att du kan ställa in miniminivå för hur länge programmet måste vänta innan det skickar ett nytt SMS. Standardinställningen är 300000ms, dvs 5 minuter. För att ändra värdet. Högerklicka på blocket och välj parametrar och generika.
Steg 4: Aktivera SMS
Detta larmprogram använder Twilio som SMS -tjänst. För att aktivera SMS måste du redigera filen config/alarm-system.properties. Du hittar den i paketutforskaren under br.ref.motiondetection, se bilden.
Denna fil är samma fil som används i larmsystemets e -post. Om du hellre har e -postaviseringar kommer du att använda det här programmet och redigera filen med dina e -postuppgifter.
Om du inte har Twilio -tjänsten kan du ändra programmet för att använda din egen SMS -tjänst. Vi har också en färdig att använda byggsten för Clickatell -tjänsten. Eller så kan du bifoga ett modem för att skicka SMS.
Du hittar byggstenar för SMTP -e -post, AirVantage Cloud, IBM Bluemix och Xively för att nämna några.
Observera att för att göra ändringar måste du först göra ditt eget projekt. Kopiera/kopiera sedan applikationen till ditt nyskapade projekt. Du kan se hur detta görs här:
Tveka inte att kontakta mig om du behöver hjälp
Steg 5: Bygg och kör programmet på din bärbara dator
Du måste bygga programmet innan du kör det och distribuera det till Raspberry Pi. Detta görs med hjälp av Reactive Blocks -kodgeneratorn som skapar ett komplett Java -projekt från byggstenens struktur. Koden som representerar diagrammen är synkroniseringskoden som hanterar händelser i rätt ordning och vid rätt tidpunkt och som vanligtvis står för mer än 60% av raderna i koden i ditt program. Eftersom byggstenarna är exakta matematiska strukturer kan generatorn förvandla denna logik till mycket effektiv kod. Det här är en mycket bra funktion för reaktiva block eftersom det är tråkigt och svårt att skriva sådan kod manuellt. Detta är allt du behöver göra för att generera koden:
Högerklicka på projektlarmsystemet SMS under fliken Projekt och välj Java standardutgåva. Se till att loggningsinformation är INFO. Det genererade projektet öppnas sedan automatiskt under fliken Paketutforskare. Se figuren för detaljer.
Steg 6: Kör programmet på din dator
Nu kan du köra det genererade projektet. I paketutforskaren under det genererade _exe -projektet, högerklicka på AlarmSystemSMS.launch och välj RunAs och välj sedan AlarmSystemSMS.
Se fönstret på skärmen och konsolvyn. Ska se ut ungefär som den andra bilden.
Avsluta programmet genom att stänga kamerafönstret.
För programmet Skicka e -post: Om du får ett autentiseringsfel, se till att SMTP -sändning är tillåten för din e -post. Se felsökning längst ner i e-posthandledningen:
Steg 7: Exportera som körbar JAR -fil
Om du vill köra programmet på en Raspberry Pi är nästa steg att exportera det genererade projektet till en JAR -fil som kan köras. För att göra detta, högerklicka på det körbara projektet i paketutforskaren och välj exportera. Välj sedan alternativet Runnable JAR file och tryck på nästa. I det följande fönstret väljer du rätt startkonfiguration och exportdestination. I exportdestinationen använder du bläddringsknappen så att du kan placera.jar -filen på en plats där du kan hitta den.
Steg 8: Förbered din Raspberry Pi
- Förbered SD -kortet med Raspbian (vi har testat med NOOBS)
- Sätt i SD -kortet i Raspberry pi
- Anslut kameran
- Anslut nätverket
- Anslut en skärm och tangentbord till Pi
- Starta Raspberry pi genom att ansluta mikro -USB för strömförsörjning.
- Ta reda på IP -adressen för din Raspberry Pi. När den startas kommer din Raspberry Pi att rapportera något i stil med "Min IP -adress är 10.10. 15.107"
- Vi har testat med Raspbian (standardinloggning: pi, lösenord: hallon), som inkluderar Java som standard.
Steg 9: Distribuera programmet till din Raspberry Pi
Följ dessa steg för att kopiera filen som kan köras från din dator till Rapsberry Pi:
- Öppna en terminal på din maskin
- Gå till katalogen där den genererade JAR -filen finns
- Skriv scp alarmsystem.jar [email protected]: ~/
- Du kommer att bli ombedd att ange lösenordskombinationen. "pi" är standardanvändarnamnet och "hallon" standardlösenordet
- Gå till katalogen där konfigurationsfilen alarm_system.properties finns. Enklast för mig är att manuellt kopiera filen från Eclipse -redigeraren till samma katalog som burkfilen.
- Skriv scp motiondetection.ini [email protected]: ~/
10.10.15.107 är IP -adressen, ersätt den med IP -adressen till din Raspberry Pi.
- Du kan naturligtvis också använda ett minneskort för att kopiera det till Pi
Steg 10: Kör programmet på din Raspberry Pi
Du är nu redo att köra programmet.
- Logga in på Raspberry Pi antingen direkt eller på distans via ssh.
- Skapa en ny konfigurationskatalog: mkdir config
- Kontrollera om den körbara JAR -filen och.ini har kopierats till Raspberry Pi
- Flytta.ini -filen till konfigurationskatalogen: mv alarm_system.properties config/
- Skriv sudo java -jar alarmsystem.jar
- Se utgången på konsolen
- Avsluta med ^C
Steg 11: Ändra din ansökan
Du kan nu ändra och utöka din ansökan som du vill. Om du vill förlänga ett importerat system som detta larmsystem måste du först göra ditt eget projekt och kopiera larmsystemet till ditt eget projekt.
Observera att för att göra ändringar måste du först göra ditt eget projekt. Kopiera/kopiera sedan applikationen till ditt nyskapade projekt. Du kan se hur detta görs här:
Följ IoT Tuturial-spåret för att få steg-för-steg-beskrivningar om hur du bygger eller modifierar specifika Reactive Blocks-applikationer.
Rekommenderad:
Ta fantastiska bilder med en iPhone: 9 steg (med bilder)
Ta fantastiska bilder med en iPhone: De flesta av oss har en smartphone med oss överallt nuförtiden, så det är viktigt att veta hur du använder din smartphone -kamera för att ta fantastiska bilder! Jag har bara haft en smartphone i ett par år, och jag har älskat att ha en bra kamera för att dokumentera saker jag
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: 7 steg (med bilder)
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: Jag planerar att använda denna Rapsberry PI i ett gäng roliga projekt tillbaka i min blogg. Kolla gärna in det. Jag ville börja använda mitt Raspberry PI men jag hade inte ett tangentbord eller en mus på min nya plats. Det var ett tag sedan jag installerade en hallon
Hur man digitaliserar bilder och filmnegativ med en DSLR: 12 steg (med bilder)
Hur man digitaliserar diabilder och filmnegativ med en DSLR: En mångsidig och stabil inställning för digitalisering av diabilder och negativ med en DSLR eller en kamera med ett makroalternativ. Denna instruerbara är en uppdatering av Hur man digitaliserar 35 mm negativ (uppladdad juli 2011) med flera förbättringar för att utöka dess
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen