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

Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c: 7 βήματα
Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c: 7 βήματα

Βίντεο: Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c: 7 βήματα

Βίντεο: Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c: 7 βήματα
Βίντεο: NRG-5 Ξηρά Τροφή Έκτακτης Ανάγκης 2024, Νοέμβριος
Anonim
Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c
Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c
Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c
Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c
Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c
Ανίχνευση καταστάσεων έκτακτης ανάγκης - Qualcomm Dragonboard 410c

Lookάχνοντας για συστήματα ασφαλείας που λειτουργούν για την παρακολούθηση καταστάσεων έκτακτης ανάγκης, είναι πιθανό να παρατηρήσουμε ότι είναι πολύ δύσκολο να επεξεργαστούμε όλες τις καταγεγραμμένες πληροφορίες. Σκεπτόμενοι αυτό, αποφασίσαμε να χρησιμοποιήσουμε τις γνώσεις μας στην επεξεργασία ήχου/εικόνας, αισθητήρες και ενεργοποιητές για να δημιουργήσουμε ένα ολοκληρωμένο σύστημα που να επιτρέπει την πρόβλεψη καταστάσεων όπου κινδυνεύει η ζωή των ανθρώπων.

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

Η απομακρυσμένη συσκευή είναι ένας πίνακας Arduino με μια μονάδα HC-06 που καθιστά δυνατή τη μεταφορά όλων των πληροφοριών και ένα δίκτυο χαμηλού κόστους χαμηλού κόστους, ικανό να επεξεργάζεται μεγάλο όγκο δεδομένων.

Βήμα 1: Απαιτούμενα εξαρτήματα

Πρώτα απ 'όλα, πρέπει να αποφασίσετε ποιοι αισθητήρες και ενεργοποιητές θα χρησιμοποιήσετε και να κάνετε το σκίτσο της αρχιτεκτονικής.

Στην περίπτωσή μας, χρησιμοποιούμε αυτούς τους αισθητήρες που είναι συνδεδεμένοι στο ARDUINO Pro Mini, που αναφέρονται παρακάτω:

  • PIR (Passive Infrared-Presence sensor)
  • DHT 11 (Αισθητήρας υγρασίας και θερμοκρασίας)
  • Αισθητήρας CO (αισθητήρας μονοξειδίου του άνθρακα)
  • Αισθητήρας θορύβου

Ενεργοποιητές:

  • σερβο κινητήρα
  • buzzer

Επικοινωνία:

Bluetooth Module HC-06

Στο Dragonboard 410c, θα έχουμε μερικούς αισθητήρες και λογισμικά για την επεξεργασία όλων των εισόδων δεδομένων:

Αισθητήρες:

  • DHT 11
  • Αισθητήρας ηλιακού φωτός

Ενεργοποιητές:

  • Ρελέ
  • Κατάσταση Led
  • Buzzer

Βήμα 2: Δημιουργία απομακρυσμένης συσκευής

Δημιουργία απομακρυσμένης συσκευής
Δημιουργία απομακρυσμένης συσκευής

Τώρα ήρθε η ώρα να συνδέσετε όλα τα ακόλουθα στοιχεία στον πίνακα Arduino, δημιουργώντας μια συσκευή που θα λαμβάνει τα δεδομένα από την ατμόσφαιρα (θόρυβος, υγρασία, θερμοκρασία κ.λπ.) και θα τα στέλνετε στο Dragonboard μέσω της μονάδας bluetooth HC-06.

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

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

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

Η τοπική συσκευή είναι η DragonBoard 410c, η οποία επεξεργάζεται ήχο, βίντεο, ψηφιακές και αναλογικές πληροφορίες με τον ισχυρό επεξεργαστή SnapDragon 410.

Τοποθέτηση των εξαρτημάτων (Remote Devide)

Το ένα κομμάτι έχει μερικές καρφίτσες που πρέπει να συνδεθούν στις σωστές καρφίτσες στον μίνι πίνακα arduino pro.

Η μονάδα Bluetooth HC-06 έχει 4 ακίδες:

  • TX (Transmissor) -> συνδεδεμένο στην ακίδα του RX Arduino
  • RX (Δέκτης) -> συνδεδεμένο στην καρφίτσα του TX Arduino
  • VCC -> συνδεδεμένο στο 5v
  • GND

Ο αισθητήρας DHT 11 έχει 4 ακίδες (αλλά μόνο 3 σε χρήση):

  • Σήμα -> συνδεδεμένο σε ψηφιακή ακίδα
  • VCC -> συνδεδεμένο στο 5v
  • GND

Ο αισθητήρας PIR έχει 3 ακίδες:

  • Σήμα -> συνδεδεμένο σε ψηφιακή ακίδα
  • VCC -> συνδεδεμένο στο 5v
  • GND

Ο αισθητήρας αερίου (MQ) έχει 4 ακίδες:

  • Digital OUT -> συνδεδεμένο σε ψηφιακή ακίδα (εάν θέλετε ψηφιακές πληροφορίες)
  • Analog OUT -> στην περίπτωσή μας, το χρησιμοποιούμε συνδεδεμένο σε αναλογικό pin
  • VCC -> συνδεδεμένο στο 5v
  • GND

Ο αισθητήρας θορύβου (KY-038) έχει 3 ακίδες:

  • Σήμα -> συνδεδεμένο σε αναλογικό pin
  • VCC -> συνδεδεμένο στο 5v
  • GND

Κωδικός για απομακρυσμένη συσκευή Arduino:

/ * * Το Arduino αποστέλλει δεδομένα μέσω Blutooth * * Η τιμή των αισθητήρων διαβάζεται, συνδέεται στο * String και αποστέλλεται μέσω σειριακής θύρας. */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE)? float humidaty, θερμοκρασία? boolean pir = 0; int co, μικρόφωνο; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); θερμοκρασία = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); μικρόφωνο = analogRead (A0); msg = "#;" + String (humidaty) + ";" String (θερμοκρασία)+ ";"+ String (μικρόφωνο)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); καθυστέρηση (2000). }

Επεξήγηση κώδικα:

Όλες οι ακίδες που χρησιμοποιούνται στο Arduino παρατίθενται στην αρχή του κώδικα και οι αντίστοιχες βιβλιοθήκες που απαιτούνται για τη λειτουργία των αισθητήρων αρχικοποιούνται. Όλα τα δεδομένα θα μεταβιβαστούν στις αντίστοιχες μεταβλητές οι οποίες θα λαμβάνουν τις τιμές που διαβάζονται από κάθε αισθητήρα κάθε 2000 χιλιοστά του δευτερολέπτου, στη συνέχεια όλα είναι Συνδεδεμένα σε μια συμβολοσειρά και στη συνέχεια γράφονται σε Σειρά. Από εκεί είναι πολύ εύκολο ο κώδικας pyton που υπάρχει στο DragonBoard να συλλάβει τέτοια δεδομένα.

Βήμα 3: Λογισμικά και Βιβλιοθήκες

Για την επεξεργασία όλων των δεδομένων που ελήφθησαν και τον έλεγχο του συστήματος ασφαλείας, είναι απαραίτητο να χρησιμοποιήσετε ορισμένα λογισμικά και βιβλιοθήκες στο Qualcomm DragonBoard 410c.

Σε αυτό το ειδικό έργο χρησιμοποιούμε:

Λογισμικά:

  • Πύθων
  • Arduino

Πλατφόρμες:

  • Amazon AWS -> διαδικτυακός διακομιστής
  • Phant -> Υπηρεσία δεδομένων κεντρικού υπολογιστή

Βιβλιοθήκες:

  • OpenCV-Επεξεργασία βίντεο (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Επεξεργασία ήχου (https://people.csail.mit.edu/hubert/pyaudio/)
  • Wave (https://www.physionet.org/physiotools/wave-installation.shtm)
  • AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • Numpy (https://www.numpy.org)
  • SciKit1 - Εκπαιδεύστε και προβλέψτε τη μηχανική μάθηση (https://scikit-learn.org/stable/install.html)
  • cPickle - Αποθηκεύστε τις παραμέτρους μηχανικής μάθησης (https://pymotw.com/2/pickle/)
  • MRAA - Χρησιμοποιήστε τα GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Χρησιμοποιήστε τα GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - Χρήση για σειριακή επικοινωνία με συσκευή Bluetooth (https://pythonhosted.org/pyserial/)

Βήμα 4: Χρήση SSH και εγκατάσταση Libs

Πρώτα απ 'όλα πρέπει να λάβετε τη διεύθυνση IP από το Dragonboard, για να το κάνετε αυτό, πρέπει να ενεργοποιήσετε το DragonBoard συνδεδεμένο με ποντίκι, πληκτρολόγιο και οθόνη HDMI. Όταν ενεργοποιηθεί ο πίνακας, πρέπει να συνδεθείτε σε ένα δίκτυο, μετά πηγαίνετε στο τερματικό και εκτελέστε την εντολή:

sudo ifconfig

Μετά από αυτό, μπορείτε να λάβετε τη διεύθυνση IP.

Με τη διεύθυνση IP μπορείτε να αποκτήσετε πρόσβαση στο Dragonboard μέσω SHH, για να το κάνετε αυτό, ανοίξτε ένα τερματικό σε έναν υπολογιστή συνδεδεμένο στο ίδιο δίκτυο με τον πίνακα. Στο τερματικό μπορείτε να εκτελέσετε την εντολή:

ssh linaro@{IP}

(θα πρέπει να αντικαταστήσετε το {IP} με τη διεύθυνση IP που λαμβάνετε στο Dragonboard).

Το πρώτο lib που πρέπει να εγκαταστήσετε είναι το mraa lib. Για να το κάνετε αυτό, πρέπει να εκτελέσετε την ακόλουθη εντολή στο τερματικό:

sudo add-apt-repository ppa: mraa/mraa && sudo apt-ge; t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

Για να εγκαταστήσετε το opencv για python χρειάζεται μόνο να εκτελέσετε την εντολή:

sudo apt-get install python-opencv

Για να εγκαταστήσετε το PyAudio πρέπει να εκτελέσετε την εντολή:

sudo apt-get install python-pyaudio python3-pyaudio

Τα libs WAVE και AudioOp είναι ήδη εγκατεστημένα στον πίνακα. Για να εγκαταστήσετε το numpy πρέπει να εκτελέσετε την εντολή:

sudo apt-get install python-numpy python-scipy

Το τελευταίο lib που πρέπει να εγκαταστήσετε είναι το scikit, για να το εγκαταστήσετε πρέπει να έχετε εγκαταστήσει το pip. Απλώς πρέπει να εκτελέσετε την εντολή:

pip εγκατάσταση scikit-lear

Βήμα 5: Πρωτόκολλο Bluetooth

Πρωτόκολλο Bluetooth
Πρωτόκολλο Bluetooth
Πρωτόκολλο Bluetooth
Πρωτόκολλο Bluetooth
Πρωτόκολλο Bluetooth
Πρωτόκολλο Bluetooth

Σύνδεση DragonBoard με το Arduino μέσω Bluetooth

Η μονάδα Bluetooth (HC-06) συνδέθηκε αρχικά με το Arduino Nano σύμφωνα με το ακόλουθο παράδειγμα:

Χρησιμοποιώντας τη γραφική διεπαφή Linaro (Λειτουργικό σύστημα που χρησιμοποιείται στο τρέχον έργο στο DragonBoard), στη δεξιά πλευρά της κάτω γραμμής κάντε κλικ στο σύμβολο Bluetooth και, στη συνέχεια, κάντε κλικ στο "Ρύθμιση νέας συσκευής" και ρυθμίστε τις παραμέτρους με τη μονάδα Bluetooth, αφήνοντάς τη να αντιστοιχιστεί. Βεβαιωθείτε ότι η μονάδα σας είναι πράγματι συνδεδεμένη κάνοντας ξανά κλικ στο σύμβολο Bluetooth, κάντε κλικ στο "Συσκευές …" και δείτε αν το όνομα της συσκευής σας είναι καταχωρημένο και συνδεδεμένο. Τώρα επιλέξτε τη συσκευή σας στην οθόνη "Συσκευές Bluetooth" και κάντε δεξί κλικ σε αυτήν και σημειώστε τη θύρα στην οποία είναι συνδεδεμένη η μονάδα Bluetooth (π.χ.: "rfcomm0"). Σημείωση: Το όνομα θύρας στο οποίο είναι συνδεδεμένη η συσκευή σας θα είναι σημαντικό για το επόμενο βήμα για να ενεργοποιήσετε την ανταλλαγή δεδομένων.

Δημιουργία ανταλλαγής δεδομένων DragonBoard και Bluetooth

Βασικά ακολουθούμε βήμα προς βήμα τον σύνδεσμο: https://www.uugear.com/portfolio/bluetooth-communi… αλλά δεν εκτελέσαμε το μέρος της αντιστοίχισης μόνο την εκτέλεση των κωδικών python και του Arduino. Στο python χρησιμοποιήθηκε η σειριακή βιβλιοθήκη που αρχικοποιείται στη θύρα που είναι συνδεδεμένη στο bluetooth, επομένως ο κώδικας python διαβάζει τα δεδομένα των αισθητήρων που συνδέονται με το arduino μέσω της μονάδας bluetooth.

Βήμα 6: Χρήση Mezzanine στο DragonBoard 410c

Χρήση Mezzanine στο DragonBoard 410c
Χρήση Mezzanine στο DragonBoard 410c

Για να κάνουμε τις συνδέσεις μεταξύ του dragonboard και των εξαρτημάτων, χρησιμοποιούμε έναν τύπο ασπίδας που ονομάζεται Mezannine, που αναπτύχθηκε από 96board.

Χρησιμοποιώντας αυτήν την ασπίδα, η σύνδεση περιφερειακών γίνεται πολύ πιο εύκολη.

Οι συνδετήρες που χρησιμοποιείτε προέρχονται από το κιτ ανάπτυξης του Grove, οπότε χρησιμοποιείται μόνο ένα καλώδιο especif που συνδέει και τους δύο τρόπους, Όλα τα μέρη μπορούν να βρεθούν εύκολα σε αυτόν τον ιστότοπο:

Χρησιμοποιούμε αυτά τα κιτ παρακάτω:

  • Ρελέ Grove
  • Αισθητήρας Grove Sunlight
  • Πρίζα led Grove
  • Αισθητήρας θερμοκρασίας Grove & humi
  • Grove Buzzer

Βήμα 7: Λογισμικό DragonBoard 410c

Το μέρος του προγράμματος στο DragonBoard κωδικοποιήθηκε σε Python και το πρόγραμμα που χρησιμοποιήθηκε στο Arduino αναπτύχθηκε σε C ++. Κάθε 2 λεπτά το Arduino διαβάζει όλο τον αισθητήρα που είναι προσαρτημένος σε αυτό. Από το Arduino, στείλτε την ανάγνωση στο DragonBoard μέσω Bluetooth. Το DragonBoard συνδυάζει την ανάγνωση που προήλθε από το Arduino με την ανάγνωση που κάνει από την ασπίδα Mezzanine με τα χαρακτηριστικά από τα δείγματα ήχου και βίντεο.

Με αυτά τα δεδομένα, το ΔΣ προσπαθεί να προβλέψει εάν συμβαίνει μια κατάσταση έκτακτης ανάγκης. Το Διοικητικό Συμβούλιο στέλνει στην Amazon Web Service χρησιμοποιώντας το Phant τα ακατέργαστα δεδομένα και την πρόβλεψη που έκανε. Εάν ο πίνακας προβλέψει ότι συμβαίνει μια περίεργη κατάσταση, προσπαθήστε να προειδοποιήσετε τον χρήστη που αναβοσβήνει ένα led και buzzer στο Mezzanine και εμφανίζεται στην εφαρμογή Ιστού. Στην διαδικτυακή εφαρμογή είναι επίσης δυνατό να δείτε τα ακατέργαστα δεδομένα για να καταλάβετε τι συμβαίνει σε αυτόν τον τομέα.

Συνιστάται: