Sommario:
- Passaggio 1: installa i blocchi reattivi
- Passaggio 2: scarica l'applicazione dalle biblioteche
- Passaggio 3: l'applicazione al massimo livello
- Passaggio 4: abilita gli SMS
- Passaggio 5: crea ed esegui l'applicazione sul tuo laptop
- Passaggio 6: esegui l'applicazione sul tuo computer
- Passaggio 7: esporta come file JAR eseguibile
- Passaggio 8: prepara il tuo Raspberry Pi
- Passaggio 9: distribuire l'applicazione sul tuo Raspberry Pi
- Passaggio 10: esegui l'applicazione sul tuo Raspberry Pi
- Passaggio 11: modifica la tua applicazione
Video: Sistema di allarme di rilevamento del movimento: 11 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Nota! Reactive Blocks non è più disponibile per il download. Una fotocamera USB di base può essere utilizzata per rilevare il movimento in una stanza. Nei passaggi seguenti ti mostreremo come utilizzare Reactive Blocks per programmare un'applicazione Java pronta per l'esecuzione che invia SMS o e-mail quando viene rilevato un movimento. Con Reative Blocks crei applicazioni Java SE in modo che l'applicazione di allarme possa essere distribuita su qualsiasi macchina con Java SE e una telecamera collegata o integrata. L'applicazione è facilmente implementabile sul Pi poiché la versione Raspbian ha Oracle Java preinstallato..
Questo è quello di cui hai bisogno:
- Raspberry Pi Modello B+ con sistema operativo Raspbian
- Fotocamera USB standard
- cavo Ethernet
- Schermo e tastiera per il Pi
- Computer Windows o MAC con JDK
- Nota! Reactive Blocks non è più disponibile per il download. Avrai bisogno di Reactive Blocks, un plugin Eclipse, per programmare l'applicazione.
Questa applicazione di allarme è uno dei numerosi sistemi di esempio modificabili accessibili dopo l'installazione di Reactive Blocks. L'applicazione è pronta per l'esecuzione e non avrai bisogno di alcuna competenza di programmazione Java per completare il tutorial. Per creare le tue applicazioni e blocchi predefiniti Reactive Blocks, devi essere un abile programmatore Java. Quando si creano applicazioni più complesse con diversi sensori e attuatori, Reactive Blocks rende facile ottenere la logica e il flusso di dati corretti. Reactive Blocks è gratuito per i progetti open source.
Passaggio 1: installa i blocchi reattivi
Reactive Blocks è stato interrotto
Passaggio 2: scarica l'applicazione dalle biblioteche
Assicurati di aver aperto la prospettiva Blocchi reattivi e di essere nella vista Blocchi. Dalla vista Blocchi seleziona il pulsante di importazione e scegli Applicazioni di riferimento. Seleziona il progetto Motion Detection. A questo punto ti verrà chiesto di registrarti con un google ID. Questo ti darà accesso immediato alle librerie di blocchi predefiniti e ai sistemi e tutorial modificabili.
Il progetto Motion Detection che hai scaricato include tre applicazioni, Alarm System SMS, Alarm System Email e un'applicazione di test Test motion detection. In questo tutorial ti guidiamo attraverso gli SMS del sistema di allarme. Se preferisci inviare e-mail, puoi eseguire gli stessi passaggi con l'e-mail del sistema di allarme
Passaggio 3: l'applicazione al massimo livello
Questo passaggio fornisce una spiegazione dell'applicazione. La prima immagine mostra il diagramma di come appare l'applicazione completa al livello superiore. È composto da 7 blocchi di costruzione; 5 blocchi standard dalle librerie e 2 blocchi personalizzati creati per questa applicazione.
I blocchi standard della libreria IoT sono:
- Grabber, cattura le immagini dalla fotocamera USB
- Rilevamento del movimento, esegue l'effettivo rilevamento dell'immagine
- Timer periodico, si avvia con timestamp precisi e invia un segnale sul segno di spunta ogni periodo.
- Buffer Eager, espelle automaticamente il primo elemento nella coda. Il buffer assicura che venga inviato un solo messaggio al blocco di invio SMS poiché può elaborare solo un messaggio alla volta.
- SMS Send Buffered, invia SMS tramite il servizio Twilio. Gli elementi da inviare sono bufferizzati per garantire che venga inviato un solo messaggio alla volta.
- Limiter, per evitare troppi SMS quando viene rilevato un intruso.
- Leggi il file delle proprietà Java, legge i dati di configurazione dal file di input
- Visualizza, visualizza un'immagine sullo schermo.
Il blocco Timer periodico funziona come motore di sistema. Emetterà periodicamente un segno di spunta che invia un segnale al blocco Grabber tramite il pin di acquisizione. Il blocco Grabber utilizza l'analisi Open Intelligent Multimedia per Java, OpenIMAJ. Quando il blocco viene inizializzato, viene avviato un thread separato per leggere i dati dalla telecamera. Il thread ascolta una coda di comandi. Quando il blocco riceve un comando tramite il pin di acquisizione, scatterà una foto e la consegnerà sul pin dell'immagine.
L'immagine viene quindi passata al blocco Motion Detection che esegue l'effettivo rilevamento dell'immagine. Anche il blocco di rilevamento del movimento utilizza OpenIMAJ. Un metodo all'interno di questo blocco confronta due immagini e contrassegnerà i cambiamenti nell'immagine quando viene rilevato un movimento. Il metodo è molto impegnativo per la CPU e deve essere eseguito in un thread separato. Quando viene rilevata un'immagine, viene segnalata sul pin motionDetected che attiverà la generazione di un messaggio SMS.
Le caselle azzurre sono tutti metodi Java creati appositamente per questa applicazione. Facendo clic su un blocco di metodo si apre l'editor Java.
Quando fai clic su un blocco predefinito puoi vedere i dettagli della logica all'interno del blocco. Se, ad esempio, guardi all'interno del blocco ReadConfig vedrai che è stato creato combinando uno dei blocchi predefiniti esistenti e 4 metodi Java.
Il Limiter pone un limite alla quantità di messaggi generati. Notare la P nell'angolo destro del blocco costitutivo. Indica che è possibile impostare il miniintervallo di tempo che l'applicazione deve attendere prima di inviare un nuovo SMS. L'impostazione predefinita è 300000 ms, ovvero 5 minuti. Per modificare il valore. Fare clic con il pulsante destro del mouse sul blocco e scegliere parametri e generici.
Passaggio 4: abilita gli SMS
Questa applicazione di allarme utilizza Twilio come servizio SMS. Per abilitare gli SMS è necessario modificare il file config/alarm-system.properties. Puoi trovarlo nella vista di Esplora pacchetti sotto br.ref.motiondetection, guarda l'immagine.
Questo file è lo stesso file utilizzato nell'e-mail del sistema di allarme. Se preferisci ricevere notifiche e-mail, utilizzerai questa applicazione e modificherai il file con le tue credenziali e-mail.
Se non disponi del servizio Twilio, puoi modificare l'applicazione per utilizzare il tuo servizio SMS. Abbiamo anche un blocco di costruzione pronto per l'uso per il servizio Clickatell. Oppure puoi collegare un modem per inviare SMS.
Puoi trovare elementi costitutivi per e-mail SMTP, AirVantage Cloud, IBM Bluemix e Xively per citarne alcuni.
Nota che per apportare modifiche, devi prima creare il tuo progetto. Quindi copia/duplica l'applicazione nel progetto appena creato. Puoi vedere come si fa qui:
Non esitare a contattarmi se hai bisogno di aiuto
Passaggio 5: crea ed esegui l'applicazione sul tuo laptop
Devi creare l'applicazione prima di eseguirla e distribuirla sul Raspberry Pi. Questo viene fatto utilizzando il generatore di codice Reactive Blocks che crea un progetto Java completo dalla struttura dei building block. Il codice che rappresenta i diagrammi è il codice di sincronizzazione che gestisce gli eventi nell'ordine giusto e al momento giusto e in genere rappresenta più del 60% delle righe del codice nel programma. Poiché gli elementi costitutivi sono strutture matematiche precise, il generatore può trasformare questa logica in un codice molto efficiente. Questa è una funzionalità molto interessante di Reactive Blocks perché scrivere tale codice manualmente è noioso e difficile. Per generare il codice, questo è tutto ciò che devi fare:
Fare clic con il pulsante destro del mouse sull'SMS del sistema di allarme del progetto nella scheda Progetti e selezionare l'edizione standard Java. Assicurati che le informazioni di registrazione siano INFO. Il progetto generato verrà quindi aperto automaticamente nella scheda Package Explorer. Vedere la figura per i dettagli.
Passaggio 6: esegui l'applicazione sul tuo computer
Ora puoi eseguire il progetto generato. Nella vista Package Explorer sotto il progetto _exe generato, fare clic con il pulsante destro del mouse su AlarmSystemSMS.launch e selezionare RunAs, quindi scegliere AlarmSystemSMS.
Guarda la finestra sullo schermo e la vista Console. Dovrebbe assomigliare alla seconda immagine.
Termina l'applicazione chiudendo la finestra della fotocamera.
Per l'applicazione di invio e-mail: se ricevi un errore di autenticazione, assicurati che l'invio SMTP sia consentito per la tua e-mail. Vedere la risoluzione dei problemi in fondo al tutorial e-mail:
Passaggio 7: esporta come file JAR eseguibile
Se desideri eseguire l'applicazione su un Raspberry Pi, il passaggio successivo consiste nell'esportare il progetto generato in un file JAR eseguibile. Per fare ciò, fai clic con il pulsante destro del mouse sul progetto eseguibile nella vista Esplora pacchetti e scegli Esporta. Quindi seleziona l'opzione File JAR eseguibile e premi Avanti. Nella finestra seguente selezionare la configurazione di avvio corretta e la destinazione di esportazione. Nella destinazione di esportazione, usa il pulsante Sfoglia in modo da poter inserire il file.jar in un posto dove puoi trovarlo.
Passaggio 8: prepara il tuo Raspberry Pi
- Prepara la scheda SD con Raspbian (abbiamo testato usando NOOBS)
- Inserisci la scheda SD nel Raspberry pi
- Collega la fotocamera
- Connetti la rete
- Collega uno schermo e una tastiera al Pi
- Avvia il Raspberry pi collegando la micro USB per l'alimentazione.
- Scopri l'indirizzo IP del tuo Raspberry Pi. All'avvio, il tuo Raspberry Pi riporterà qualcosa come "Il mio indirizzo IP è 10.10. 15.107"
- Abbiamo testato con Raspbian (accesso predefinito: pi, password: raspberry), che include Java per impostazione predefinita.
Passaggio 9: distribuire l'applicazione sul tuo Raspberry Pi
Per copiare il file jar eseguibile dal tuo computer sul Rapsberry Pi segui questi passaggi:
- Apri un terminale sulla tua macchina
- Vai alla directory in cui si trova il file JAR generato
- Digita scp alarmsystem.jar [email protected]:~/
- Ti verrà chiesta la combinazione della password. "pi" è il nome utente predefinito e "raspberry" la password predefinita
- Passare alla directory in cui si trova il file di configurazione alarm_system.properties. La cosa più semplice per me è copiare manualmente il file dall'editor Eclipse nella stessa directory del file jar.
- Digita scp motiondetection.ini [email protected]:~/
10.10.15.107 è l'indirizzo IP, sostituiscilo con l'indirizzo IP del tuo Raspberry Pi.
- Ovviamente puoi anche usare una memory stick per copiarlo sul Pi
Passaggio 10: esegui l'applicazione sul tuo Raspberry Pi
Ora sei pronto per eseguire l'applicazione.
- Accedi al Raspberry Pi direttamente o in remoto tramite ssh.
- Crea una nuova directory di configurazione: mkdir config
- Controlla se il file JAR eseguibile e.ini è stato copiato sul Raspberry Pi
- Sposta il file.ini nella directory config: mv alarm_system.properties config/
- Digita sudo java -jar alarmsystem.jar
- Guarda l'output sulla console
- Termina con ^C
Passaggio 11: modifica la tua applicazione
Ora puoi modificare ed estendere la tua applicazione come preferisci. Se vuoi estendere un sistema importato come questo sistema di allarme, devi prima creare il tuo progetto e duplicare il sistema di allarme nel tuo progetto.
Nota che per apportare modifiche, devi prima creare il tuo progetto. Quindi copia/duplica l'applicazione nel progetto appena creato. Puoi vedere come si fa qui:
Segui il percorso IoT Tuturial per ottenere descrizioni dettagliate su come creare o modificare applicazioni Reactive Blocks specifiche.
Consigliato:
Sistema di allarme SMS di rilevamento del movimento fai-da-te: 5 passaggi (con immagini)
Sistema di allarme SMS di rilevamento del movimento fai-da-te: in questo progetto combinerò un sensore di movimento PIR economico con un modulo GSM TC35 per costruire un sistema di allarme che ti invii un "ALLARME INTRUSO" SMS ogni volta che qualcuno cerca di rubare le tue cose. Iniziamo
Robot di Halloween con rilevamento del volto e rilevamento del sorriso: 8 passaggi (con immagini)
Monitoraggio del viso e rilevamento del sorriso Robot di Halloween: Halloween sta arrivando! Abbiamo deciso di costruire qualcosa di interessante. Incontra i robot Ghosty e Skully. Possono seguire il tuo viso e sanno quando sorridi per ridere con te! Questo progetto è un altro esempio dell'utilizzo dell'app iRobbie che converte l'iPhone in
Trasforma il vaso autoirrigante fai-da-te con WiFi in un allarme di rilevamento del movimento fai-da-te e fioriera: 17 passaggi
Aggiorna il vaso autoirrigante fai-da-te con WiFi in un allarme sentinella fai-da-te con rilevamento del movimento fioriera: in questo articolo ti mostreremo come aggiornare il tuo vaso autoirrigante fai-da-te con WiFi in un vaso autoirrigante fai-da-te con WiFi e allarme sentinella rilevatore di movimento.Se non hai letto l'articolo su come costruire un vaso per l'irrigazione fai-da-te con WiFi, puoi trovare
Allarme di sicurezza del movimento con PIR: 4 passaggi (con immagini)
Motion Security Alarm con PIR: hai mai desiderato realizzare un progetto che potesse rilevare la presenza di una persona in una stanza? In tal caso, puoi farlo molto facilmente utilizzando il sensore di movimento PIR (Passive Infra Red). Questo sensore di movimento può rilevare la presenza di una persona in un ro
Presa controllata dal movimento - Da una luce di rilevamento del movimento: 6 passaggi
Presa controllata dal movimento - Da una luce di rilevamento del movimento: Immagina di essere un dolcetto o scherzetto che va nella casa più spaventosa del quartiere. Dopo aver superato tutti i ghoul, i fantasmi e i cimiteri, arrivi finalmente all'ultimo percorso. Puoi vedere le caramelle in una ciotola davanti a te! Ma poi improvvisamente un gho