Πίνακας περιεχομένων:

Σύστημα συναγερμού ανίχνευσης κίνησης: 11 βήματα (με εικόνες)
Σύστημα συναγερμού ανίχνευσης κίνησης: 11 βήματα (με εικόνες)

Βίντεο: Σύστημα συναγερμού ανίχνευσης κίνησης: 11 βήματα (με εικόνες)

Βίντεο: Σύστημα συναγερμού ανίχνευσης κίνησης: 11 βήματα (με εικόνες)
Βίντεο: Μην αγοράσεις κάμερα ασφαλείας αν δεν δεις πρώτα αυτό το βίντεο 2024, Ιούλιος
Anonim
Σύστημα συναγερμού ανίχνευσης κίνησης
Σύστημα συναγερμού ανίχνευσης κίνησης

Σημείωση! Το Reactive Blocks δεν είναι πλέον διαθέσιμο για λήψη. Μια βασική κάμερα USB μπορεί να χρησιμοποιηθεί για τον εντοπισμό κίνησης σε ένα δωμάτιο. Στα παρακάτω βήματα θα σας δείξουμε πώς μπορείτε να χρησιμοποιήσετε το Reactive Blocks για να προγραμματίσετε μια έτοιμη εφαρμογή Java που στέλνει SMS ή Email όταν εντοπιστεί κίνηση. Με το Reative Blocks δημιουργείτε εφαρμογές Java SE έτσι ώστε η εφαρμογή συναγερμού να μπορεί να αναπτυχθεί σε οποιοδήποτε μηχάνημα με Java SE και μια κάμερα προσαρτημένη ή ενσωματωμένη. Η εφαρμογή αναπτύσσεται εύκολα στο Pi αφού η έκδοση Raspbian έχει προεγκατεστημένη την Oracle Java. Το

Αυτό είναι που χρειάζεστε:

  1. Raspberry Pi Model B+ με Raspbian OS
  2. Τυπική κάμερα USB
  3. Καλώδιο Ethernet
  4. Οθόνη και πληκτρολόγιο για το Pi
  5. Υπολογιστής Windows ή MAC με JDK
  6. Σημείωση! Το Reactive Blocks δεν είναι πλέον διαθέσιμο για λήψη. Θα χρειαστείτε Reactive Blocks, ένα πρόσθετο Eclipse, για να προγραμματίσετε την εφαρμογή.

Αυτή η εφαρμογή συναγερμού είναι ένα από τα πολλά τροποποιήσιμα παραδείγματα συστημάτων που είναι προσβάσιμα μετά την εγκατάσταση των Reactive Blocks. Η εφαρμογή είναι έτοιμη να τελειώσει και δεν θα χρειαστείτε καμία ικανότητα προγραμματισμού Java για να ολοκληρώσετε το σεμινάριο. Για να δημιουργήσετε τις δικές σας εφαρμογές και δομικά στοιχεία Reactive Blocks, πρέπει να είστε ικανός προγραμματιστής Java. Κατά τη δημιουργία πιο πολύπλοκων εφαρμογών με διάφορους αισθητήρες και ενεργοποιητές, το Reactive Blocks διευκολύνει τη σωστή λογική και τη ροή δεδομένων. Το Reactive Blocks είναι δωρεάν για έργα ανοιχτού κώδικα.

Βήμα 1: Εγκατάσταση Reactive Blocks

Το Reactive Blocks έχει διακοπεί

Βήμα 2: Κατεβάστε την εφαρμογή από τις βιβλιοθήκες

Κατεβάστε την εφαρμογή από τις βιβλιοθήκες
Κατεβάστε την εφαρμογή από τις βιβλιοθήκες

Βεβαιωθείτε ότι έχετε ανοίξει την προοπτική Reactive Blocks και ότι βρίσκεστε στην προβολή Blocks. Από την προβολή Blocks επιλέξτε το κουμπί εισαγωγής και επιλέξτε εφαρμογές αναφοράς. Επιλέξτε το έργο Ανίχνευση κίνησης. Σε αυτό το σημείο θα σας ζητηθεί να εγγραφείτε με ένα αναγνωριστικό Google. Αυτό θα σας δώσει άμεση πρόσβαση στις βιβλιοθήκες των δομικών στοιχείων και στα τροποποιήσιμα συστήματα και σεμινάρια.

Το έργο ανίχνευσης κίνησης που κατεβάσατε περιλαμβάνει τρεις εφαρμογές, το SMS συστήματος συναγερμού, το ηλεκτρονικό ταχυδρομείο συστήματος συναγερμού και μια δοκιμαστική εφαρμογή την ανίχνευση κίνησης δοκιμής. Σε αυτό το σεμινάριο σας καθοδηγούμε μέσω του SMS του συστήματος συναγερμού. Εάν προτιμάτε να στέλνετε Email, μπορείτε να κάνετε τα ίδια βήματα με το Email Alarm System

Βήμα 3: Η εφαρμογή σε κορυφαίο επίπεδο

Η εφαρμογή σε κορυφαίο επίπεδο
Η εφαρμογή σε κορυφαίο επίπεδο

Αυτό το βήμα δίνει μια εξήγηση της εφαρμογής. Η πρώτη εικόνα δείχνει το διάγραμμα της εμφάνισης της πλήρους εφαρμογής στο πάνω επίπεδο. Αποτελείται από 7 οικοδομικά τετράγωνα. 5 τυπικά δομικά στοιχεία από τις βιβλιοθήκες και 2 προσαρμοσμένα μπλοκ που δημιουργήθηκαν για αυτήν την εφαρμογή.

Τα τυπικά μπλοκ από τη βιβλιοθήκη IoT είναι:

  • Grabber, αρπάζει εικόνες από την κάμερα USB
  • Ανίχνευση κίνησης, εκτελεί την πραγματική ανίχνευση εικόνας
  • Περιοδικός Χρονοδιακόπτης, ξεκινά σε ακριβείς χρονικές σφραγίδες και στέλνει ένα σήμα στην καρφίτσα τσιμπούρι κάθε περίοδο.
  • Buffer Eager, σπρώχνει αυτόματα το πρώτο στοιχείο στην ουρά. Το σφάλμα διασφαλίζει ότι μόνο ένα μήνυμα αποστέλλεται στο μπλοκ αποστολής SMS, καθώς μπορεί να επεξεργαστεί μόνο ένα μήνυμα τη φορά.
  • SMS Send Buffered, στέλνει SMS μέσω της υπηρεσίας Twilio. Τα στοιχεία που πρέπει να αποσταλούν είναι αποθηκευμένα για να διασφαλιστεί ότι αποστέλλεται μόνο ένα μήνυμα τη φορά.
  • Limiter, για να αποφύγετε πάρα πολλά SMS όταν εντοπιστεί εισβολέας.
  • Διαβάστε το αρχείο Ιδιότητες Java, διαβάζει δεδομένα διαμόρφωσης από το αρχείο εισαγωγής
  • Προβολή, προβάλλει μια εικόνα στην οθόνη.

Το μπλοκ περιοδικού χρονοδιακόπτη λειτουργεί ως κινητήρας συστήματος. Θα εκδίδει περιοδικά ένα τικ που στέλνει ένα σήμα στο μπλοκ Grabber μέσω του πείρου grab. Το μπλοκ Grabber χρησιμοποιεί την Open Intelligent Multimedia Analysis for Java, OpenIMAJ. Όταν προετοιμαστεί το μπλοκ, ξεκινά ένα ξεχωριστό νήμα για την ανάγνωση δεδομένων από την κάμερα. Το νήμα ακούει μια ουρά εντολών. Όταν το μπλοκ λάβει μια εντολή μέσω της καρφίτσας λήψης, θα τραβήξει μία φωτογραφία και θα την παραδώσει στο pin e image.

Στη συνέχεια, η εικόνα μεταφέρεται στο μπλοκ ανίχνευσης κίνησης που εκτελεί τον πραγματικό εντοπισμό εικόνας. Το μπλοκ ανίχνευσης κίνησης χρησιμοποιεί επίσης το OpenIMAJ. Μια μέθοδος σε αυτό το μπλοκ συγκρίνει δύο εικόνες και θα επισημάνει τις αλλαγές στην εικόνα όταν ανιχνευθεί κίνηση. Η μέθοδος είναι πολύ εντατική CPU και πρέπει να εκτελεστεί σε ξεχωριστό νήμα. Όταν ανιχνευτεί μια εικόνα, σηματοδοτείται στον πείρο motionDetected που θα ενεργοποιήσει τη δημιουργία ενός μηνύματος SMS.

Τα γαλάζια πλαίσια είναι όλες μέθοδοι Java ειδικά σχεδιασμένες για αυτήν την εφαρμογή. Κάνοντας κλικ σε ένα μπλοκ μεθόδων ανοίγει ο επεξεργαστής Java.

Όταν κάνετε κλικ σε ένα δομικό στοιχείο, μπορείτε να δείτε τις λεπτομέρειες της λογικής μέσα στο μπλοκ. Αν για παράδειγμα κοιτάξετε μέσα στο μπλοκ ReadConfig θα δείτε ότι είναι κατασκευασμένο συνδυάζοντας ένα υπάρχον δομικό στοιχείο και 4 μεθόδους Java.

Το Limiter θέτει ένα όριο στον αριθμό των μηνυμάτων που δημιουργούνται. Παρατηρήστε το P στη δεξιά γωνία του οικοδομικού τετραγώνου. Υποδεικνύει ότι μπορείτε να ορίσετε το μικρό διάστημα για το πόσο καιρό πρέπει να περιμένει η εφαρμογή προτού στείλει ένα νέο SMS. Η προεπιλεγμένη ρύθμιση είναι 300000ms, δηλαδή 5 λεπτά. Για να αλλάξετε την τιμή. Κάντε δεξί κλικ στο μπλοκ και επιλέξτε παραμέτρους και γενικά.

Βήμα 4: Ενεργοποίηση SMS

Ενεργοποίηση SMS
Ενεργοποίηση SMS

Αυτή η εφαρμογή συναγερμού χρησιμοποιεί το Twilio ως υπηρεσία SMS. Για να ενεργοποιήσετε το SMS πρέπει να επεξεργαστείτε το αρχείο config/alarm-system.properties. Μπορείτε να το βρείτε στην προβολή εξερεύνησης πακέτων κάτω από το br.ref.motiondetection, δείτε την εικόνα.

Αυτό το αρχείο είναι το ίδιο αρχείο που χρησιμοποιείται στο μήνυμα ηλεκτρονικού ταχυδρομείου συστήματος συναγερμού. Εάν προτιμάτε να έχετε ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου, θα χρησιμοποιήσετε αυτήν την εφαρμογή και θα επεξεργαστείτε το αρχείο με τα διαπιστευτήριά σας ηλεκτρονικού ταχυδρομείου.

Εάν δεν έχετε την υπηρεσία Twilio, μπορείτε να τροποποιήσετε την εφαρμογή για να χρησιμοποιήσετε τη δική σας υπηρεσία SMS. Έχουμε επίσης ένα έτοιμο προς χρήση δομικό στοιχείο για την υπηρεσία Clickatell. Or μπορείτε να επισυνάψετε ένα μόντεμ για αποστολή SMS.

Μπορείτε να βρείτε δομικά στοιχεία για email SMTP, AirVantage Cloud, IBM Bluemix και Xively για να αναφέρουμε μερικά.

Σημειώστε ότι για να κάνετε αλλαγές, πρέπει πρώτα να κάνετε το δικό σας έργο. Στη συνέχεια, αντιγράψτε/αντιγράψτε την εφαρμογή στο πρόσφατα δημιουργημένο έργο σας. Μπορείτε να δείτε πώς γίνεται αυτό εδώ:

Μην διστάσετε να επικοινωνήσετε μαζί μου εάν χρειάζεστε βοήθεια

Βήμα 5: Δημιουργήστε και εκτελέστε την εφαρμογή στο φορητό υπολογιστή σας

Δημιουργήστε και εκτελέστε την εφαρμογή στο φορητό σας υπολογιστή
Δημιουργήστε και εκτελέστε την εφαρμογή στο φορητό σας υπολογιστή

Πρέπει να δημιουργήσετε την εφαρμογή πριν την εκτελέσετε και να την αναπτύξετε στο Raspberry Pi. Αυτό γίνεται χρησιμοποιώντας τη γεννήτρια κώδικα Reactive Blocks που δημιουργεί ένα πλήρες έργο Java από τη δομή των δομικών στοιχείων. Ο κωδικός που αντιπροσωπεύει τα διαγράμματα είναι ο κωδικός συγχρονισμού που χειρίζεται γεγονότα με τη σωστή σειρά και τη σωστή στιγμή και συνήθως αντιπροσωπεύει περισσότερο από το 60% των γραμμών του κώδικα στο πρόγραμμά σας. Δεδομένου ότι τα δομικά στοιχεία είναι ακριβείς μαθηματικές δομές, η γεννήτρια μπορεί να μετατρέψει αυτή τη λογική σε πολύ αποδοτικό κώδικα. Αυτό είναι πολύ ωραίο χαρακτηριστικό Reactive Blocks γιατί η εγγραφή ενός τέτοιου κώδικα με το χέρι είναι κουραστική και δύσκολη. Για να δημιουργήσετε τον κώδικα, αυτό είναι το μόνο που πρέπει να κάνετε:

Κάντε δεξί κλικ στο έργο Σύστημα συναγερμού SMS στην καρτέλα Έργα και επιλέξτε Τυπική έκδοση Java. Βεβαιωθείτε ότι οι πληροφορίες καταγραφής είναι INFO. Το έργο που δημιουργείται θα ανοίξει αυτόματα στην καρτέλα Package Explorer. Δείτε το σχήμα για λεπτομέρειες.

Βήμα 6: Εκτελέστε την εφαρμογή στον υπολογιστή σας

Εκτελέστε την εφαρμογή στον υπολογιστή σας
Εκτελέστε την εφαρμογή στον υπολογιστή σας
Εκτελέστε την εφαρμογή στον υπολογιστή σας
Εκτελέστε την εφαρμογή στον υπολογιστή σας

Τώρα μπορείτε να εκτελέσετε το δημιουργημένο έργο. Στην προβολή Package Explorer κάτω από το έργο _exe που δημιουργήθηκε, κάντε δεξί κλικ στο AlarmSystemSMS. Launch και επιλέξτε RunAs και, στη συνέχεια, επιλέξτε AlarmSystemSMS.

Παρακολουθήστε το παράθυρο στην οθόνη και την προβολή κονσόλας. Θα πρέπει να μοιάζει με τη δεύτερη εικόνα.

Τερματίστε την εφαρμογή κλείνοντας το παράθυρο της κάμερας.

Για την εφαρμογή αποστολής email: Εάν εμφανιστεί σφάλμα ελέγχου ταυτότητας, βεβαιωθείτε ότι η αποστολή SMTP επιτρέπεται για το email σας. Δείτε την αντιμετώπιση προβλημάτων στο κάτω μέρος του σεμιναρίου ηλεκτρονικού ταχυδρομείου:

Βήμα 7: Εξαγωγή ως εκτελέσιμο αρχείο JAR

Εξαγωγή ως εκτελέσιμο αρχείο JAR
Εξαγωγή ως εκτελέσιμο αρχείο JAR

Εάν θέλετε να εκτελέσετε την εφαρμογή σε ένα Raspberry Pi, το επόμενο βήμα είναι να εξάγετε το δημιουργημένο έργο σε ένα τρέξιμο αρχείο JAR. Για να το κάνετε αυτό, κάντε δεξί κλικ στο εκτελέσιμο έργο στην προβολή εξερεύνησης πακέτων και επιλέξτε εξαγωγή. Στη συνέχεια, επιλέξτε την επιλογή Αρχείο JAR Runnable και πατήστε το επόμενο. Στο παρακάτω παράθυρο επιλέξτε τη σωστή διαμόρφωση εκκίνησης και προορισμό εξαγωγής. Στον προορισμό εξαγωγής, χρησιμοποιήστε το κουμπί περιήγησης, ώστε να μπορείτε να βάλετε το αρχείο.jar σε ένα μέρος όπου μπορείτε να το βρείτε.

Βήμα 8: Προετοιμάστε το Raspberry Pi σας

  • Προετοιμάστε την κάρτα SD με Raspbian (έχουμε δοκιμάσει χρησιμοποιώντας το NOOBS)
  • Τοποθετήστε την κάρτα SD στο Raspberry pi
  • Συνδέστε την κάμερα
  • Συνδέστε το δίκτυο
  • Συνδέστε μια οθόνη και ένα πληκτρολόγιο στο Pi
  • Ξεκινήστε το Raspberry pi συνδέοντας το micro USB για τροφοδοσία.
  • Μάθετε τη διεύθυνση IP του Raspberry Pi. Όταν ξεκινήσετε, το Raspberry Pi θα αναφέρει κάτι όπως "Η διεύθυνση IP μου είναι 10.10. 15.107"
  • Έχουμε δοκιμάσει με το Raspbian (προεπιλεγμένη σύνδεση: pi, κωδικός: βατόμουρο), το οποίο περιλαμβάνει Java από προεπιλογή.

Βήμα 9: Αναπτύξτε την εφαρμογή στο Raspberry Pi σας

Για να αντιγράψετε το εκτελέσιμο αρχείο jar από τον υπολογιστή σας στο Rapsberry Pi ακολουθήστε τα εξής βήματα:

  • Ανοίξτε ένα τερματικό στο μηχάνημά σας
  • Μεταβείτε στον κατάλογο όπου βρίσκεται το δημιουργημένο αρχείο JAR
  • Πληκτρολογήστε scp alarmsystem.jar [email protected]: ~/
  • Θα σας ζητηθεί ο συνδυασμός κωδικού πρόσβασης. Το "pi" είναι το προεπιλεγμένο όνομα χρήστη και "raspberry" ο προεπιλεγμένος κωδικός πρόσβασης
  • Μεταβείτε στον κατάλογο στον οποίο βρίσκεται το αρχείο ρυθμίσεων alarm_system.properties. Το πιο εύκολο για μένα είναι να αντιγράψω χειροκίνητα το αρχείο από τον επεξεργαστή Eclipse στον ίδιο κατάλογο με το αρχείο jar.
  • Πληκτρολογήστε scp motiondetection.ini [email protected]: ~/

10.10.15.107 είναι η διεύθυνση IP, αντικαταστήστε την με τη διεύθυνση IP του Raspberry Pi.

- Μπορείτε φυσικά να χρησιμοποιήσετε και ένα memory stick για να το αντιγράψετε στο Pi

Βήμα 10: Εκτελέστε την εφαρμογή στο Raspberry Pi σας

Είστε τώρα έτοιμοι να εκτελέσετε την εφαρμογή.

  • Συνδεθείτε στο Raspberry Pi είτε απευθείας είτε από απόσταση μέσω ssh.
  • Δημιουργήστε έναν νέο κατάλογο ρυθμίσεων: mkdir config
  • Ελέγξτε εάν το τρέξιμο αρχείο JAR και.ini έχουν αντιγραφεί στο Raspberry Pi
  • Μετακινήστε το αρχείο.ini στον κατάλογο config: mv alarm_system.properties config/
  • Πληκτρολογήστε sudo java -jar alarmsystem.jar
  • Παρακολουθήστε την έξοδο στην κονσόλα
  • Τερματισμός με ^C

Βήμα 11: Τροποποιήστε την αίτησή σας

Τώρα μπορείτε να τροποποιήσετε και να επεκτείνετε την εφαρμογή σας όπως θέλετε. Εάν θέλετε να επεκτείνετε ένα εισαγόμενο σύστημα όπως αυτό το σύστημα συναγερμού, πρέπει πρώτα να δημιουργήσετε το δικό σας έργο και να αντιγράψετε το σύστημα συναγερμού στο δικό σας έργο.

Σημειώστε ότι για να κάνετε αλλαγές, πρέπει πρώτα να κάνετε το δικό σας έργο. Στη συνέχεια, αντιγράψτε/αντιγράψτε την εφαρμογή στο πρόσφατα δημιουργημένο έργο σας. Μπορείτε να δείτε πώς γίνεται αυτό εδώ:

Ακολουθήστε το μονοπάτι IoT Tuturial για να λάβετε αναλυτικές περιγραφές σχετικά με τον τρόπο δημιουργίας ή τροποποίησης συγκεκριμένων εφαρμογών Reactive Blocks.

Συνιστάται: