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

Τηλεχειριστήριο και παρακολούθηση φωτογραφιών μέσω MQTT: 8 βήματα
Τηλεχειριστήριο και παρακολούθηση φωτογραφιών μέσω MQTT: 8 βήματα

Βίντεο: Τηλεχειριστήριο και παρακολούθηση φωτογραφιών μέσω MQTT: 8 βήματα

Βίντεο: Τηλεχειριστήριο και παρακολούθηση φωτογραφιών μέσω MQTT: 8 βήματα
Βίντεο: Παρακολουθήστε το μίνι ηλιακό σύστημα εξ αποστάσεως με #wifi, δοκιμή εγκατάστασης HOOTS Battery APP 2024, Νοέμβριος
Anonim
Τηλεχειριστήριο και παρακολούθηση φωτογραφιών μέσω MQTT
Τηλεχειριστήριο και παρακολούθηση φωτογραφιών μέσω MQTT

Γεια σας.

Σήμερα θα ήθελα να μιλήσω για το πώς να φτιάξετε ένα τηλεχειριστήριο και σύστημα παρακολούθησης που μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τον έλεγχο των θυρών γκαράζ, του φωτισμού, της θέρμανσης, του ελέγχου της πίεσης, της θερμοκρασίας και πολλών άλλων παραμέτρων. Αλλά το κύριο χαρακτηριστικό αυτού του συστήματος είναι ότι μπορείτε να λαμβάνετε από απόσταση φωτογραφίες από απομακρυσμένο αντικείμενο. Πριν ξεκινήσετε την ιστορία, ένας σύντομος πρόλογος. Μια φορά ήθελα να φτιάξω ένα σύστημα παρακολούθησης φωτογραφιών χρησιμοποιώντας συμβατό πίνακα Arduino M0-SD, κάμερα VC0706 και ασπίδα 3G/GPRS/GSM/GPS για το Arduino. Ο συμβατός πίνακας Arduino M0 -SD επιλέχθηκε από τις συνθήκες που είναι πολύ εύκολο να προγραμματιστεί (όπως και το Arduino UNO), η τάση λειτουργίας είναι 3,3V - αυτό είναι πολύ βολικό για εργασία με την κάμερα VC0706, μεγάλη ποσότητα ROM και RAM, πολλές θύρες του UART, μια ξεχωριστή εικονική θύρα USB, αλλά το κύριο πλεονέκτημα είναι η παρουσία μιας υποδοχής micro SD απευθείας στον πίνακα (Είναι πολύ βολικό να αποθηκεύετε μεγάλες ποσότητες δεδομένων, όπως εικόνες).

Η ασπίδα 3G/GPRS/GSM/GPS για το Arduino είναι πολύ βολική για χρήση με συμβατή πλακέτα Arduino M0-SD. Υπάρχουν αρκετές βιβλιοθήκες στο Διαδίκτυο, καθώς και πολλά παραδείγματα για την εργασία με αυτήν την ασπίδα. Ο ρυθμός μεταφοράς δεδομένων (3G) είναι πολύ υψηλότερος από αυτόν των συμβατικών ασπίδων GPRS (ιδιαίτερα βολικό για τη μετάδοση εικόνων). Η διαθεσιμότητα της μονάδας GPS είναι ένα επιπλέον πλεονέκτημα.

Επέλεξα ένα χαμηλό κόστος από έναν φορέα κινητής τηλεφωνίας για μετάδοση δεδομένων (φωτογραφιών) μέσω Διαδικτύου. Αλλά προέκυψε το ερώτημα: πώς να μεταφέρετε δεδομένα; MMS; FTP; Πώς να λάβετε μια ειδοποίηση σχετικά με τη λήψη δεδομένων (φωτογραφία); Ως αποτέλεσμα, κατέληξα στην απόφαση να στείλω δεδομένα (φωτογραφίες) στο e-mail και να δω επιστολές μέσω της εφαρμογής που είναι εγκατεστημένη σε ένα κινητό τηλέφωνο. Αποδείχθηκε πολύ βολικό!:-) Το τελικό έργο μπορείτε να το δείτε σε αυτόν τον σύνδεσμο.

Υπάρχει επίσης ένα παρόμοιο έργο για το Arduino UNO με αναφορά.

Τότε αποφάσισα να επεκτείνω τη λειτουργικότητα της συσκευής μου. Για παράδειγμα, προσθέστε τη δυνατότητα ελέγχου των LED (αν και στην πραγματικότητα οι δυνατότητες είναι πολύ ευρύτερες). Το ηλεκτρονικό ταχυδρομείο για αυτό δεν είναι πολύ κατάλληλο. Η επιλογή SMS είναι ακριβή και άβολη. Και έμαθα για το MQTT. Δεν θα περιγράψω τι είναι. Επιτρέψτε μου να πω μόνο: Αυτό είναι πολύ ωραίο πράγμα!:-) Με τη βοήθεια του MQTT, μπορείτε να ανταλλάξετε όχι μόνο μηνύματα, αλλά και δυαδικά αρχεία (εικόνες). Στην εφαρμογή για το τηλέφωνο, μπορείτε εύκολα να δημιουργήσετε τη δική σας διεπαφή.

Έψαξα για παραδείγματα εφαρμογής του πρωτοκόλλου MQTT για την ασπίδα 3G/GPRS/GSM/GPS (SIM5320) και, δυστυχώς, δεν βρήκα την εφαρμογή που χρειαζόμουν. Αλλά αυτό δεν με άφησε ήσυχο. Αποφάσισα να εφαρμόσω ανεξάρτητα την απαραίτητη λειτουργικότητα. Ως αποτέλεσμα, κατάφερα να δημιουργήσω μια συσκευή που ελέγχεται (υποδεικνύεται από τρεις λυχνίες LED) μέσω MQTT από μια εφαρμογή εγκατεστημένη σε κινητό τηλέφωνο και επίσης στέλνει μια φωτογραφία στο τηλέφωνο κατόπιν εντολής από το τηλέφωνο. (Θα σας πω ένα μυστικό ότι δεν έχω δει παραδείγματα αποστολής εικόνων μέσω του μεσίτη MQTT στο παρελθόν και το έκανα για πρώτη φορά. Και όταν κατάφερα να μεταφέρω την πρώτη εικόνα ήμουν εξαιρετικά χαρούμενος!:-)) Και Έτσι, προτείνω να περάσω κατευθείαν στο πρώτο βήμα - μια λίστα με τα απαραίτητα συστατικά.

Βήμα 1: Λίστα στοιχείων

Κατάλογος στοιχείων
Κατάλογος στοιχείων
Κατάλογος στοιχείων
Κατάλογος στοιχείων
Κατάλογος στοιχείων
Κατάλογος στοιχείων
Κατάλογος στοιχείων
Κατάλογος στοιχείων

Χρειαζόμαστε τα ακόλουθα συστατικά:

1) Συμβατό με Arduino M0-SD.

2) κάμερα TTL VC0706.

3) 3G/GPRS/GSM/GPS ασπίδα για Arduino.

4) Κόκκινες, πράσινες, κίτρινες λυχνίες LED, 3 αντιστάσεις (100-500 Ohm), σύρματα, σύνδεσμος γωνίας ακίδων με βήμα 2,54 mm.

5) Τροφοδοτικό AC-DC (6V 1A), κεραία 3G κ.λπ.

Βήμα 2: Προετοιμασία κάμερας

Προετοιμασία κάμερας
Προετοιμασία κάμερας
Προετοιμασία κάμερας
Προετοιμασία κάμερας
Προετοιμασία κάμερας
Προετοιμασία κάμερας

Η κάμερα διαθέτει έξοδο RS-232 για άμεση σύνδεση με υπολογιστή. Είναι απαραίτητο να αφαιρέσετε το MAX232 (μετατροπέας RS-232) και να κλείσετε τα μαξιλάρια επαφής μεταξύ των αντίστοιχων ακίδων 7-10 (TX), 8-9 (RX).

Το καλώδιο των έξι καλωδίων που συνοδεύει την κάμερα πρέπει να τροποποιηθεί ελαφρώς:

  • Αφαιρέστε τα δύο καλώδια από τη φίσα.
  • Αναδιατάξτε τα κόκκινα (+ 5V) και τα μαύρα καλώδια (GND) όπως φαίνεται στο σχήμα.

Στα γυμνά άκρα των καλωδίων πρέπει να είναι κολλημένες άκρες όπως "θηλυκό".

Βήμα 3: Προετοιμασία συμβατού Arduino M0-SD

Προετοιμασία συμβατού Arduino M0-SD
Προετοιμασία συμβατού Arduino M0-SD
Προετοιμασία συμβατού Arduino M0-SD
Προετοιμασία συμβατού Arduino M0-SD
Προετοιμασία συμβατού Arduino M0-SD
Προετοιμασία συμβατού Arduino M0-SD

Όπως ήδη αναφέρθηκε, το συμβατό Arduino M0-SD είναι υλικό και λογισμικό συμβατό με το αρχικό Arduino M0, αλλά διαθέτει επίσης ενσωματωμένη υποδοχή microSD για σύνδεση κάρτας μνήμης.

Για να συνδέσετε τη φωτογραφική μηχανή με το συμβατό Arduino M0-SD στην πλακέτα, είναι απαραίτητο να κολλήσετε τη γωνιακή σύνδεση στους ακροδέκτες TXD, RXD (σύνδεσμος X6) όπως φαίνεται στο σχήμα. Αυτή η θύρα ταιριάζει με το "Serial".

Λευκά (Camera RX) και κίτρινα (Camera TX) καλώδια από τη φωτογραφική μηχανή πρέπει να συνδέονται αντίστοιχα στους ακροδέκτες των TXD και RXD (σύνδεσμος X6) όπως φαίνεται στο σχήμα.

Βήμα 4: Προετοιμασία 3G/GPRS/GSM/GPS Shield SIM5320

Προετοιμασία 3G/GPRS/GSM/GPS Shield SIM5320
Προετοιμασία 3G/GPRS/GSM/GPS Shield SIM5320
Προετοιμασία 3G/GPRS/GSM/GPS Shield SIM5320
Προετοιμασία 3G/GPRS/GSM/GPS Shield SIM5320
Προετοιμασία 3G/GPRS/GSM/GPS Shield SIM5320
Προετοιμασία 3G/GPRS/GSM/GPS Shield SIM5320

Πριν εγκαταστήσετε μια κάρτα SIM στην υποδοχή, πρέπει να απενεργοποιήσετε το αίτημα κωδικού PIN. Στη συνέχεια, εγκαταστήστε την κάρτα SIM στην υποδοχή στην κάτω πλευρά του πίνακα, όπως φαίνεται στο σχήμα. Δύο άλτες πρέπει να εγκατασταθούν στη θέση RX-1 (D1), TX-0 (D0).

Βήμα 5: Συναρμολόγηση υλικού

Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού

Η συναρμολόγηση υλικού αποτελείται από πολλές απλές λειτουργίες:

  • Για να ελέγξετε τα LED, πρέπει πρώτα να συγκολλήσετε ένα μικρό σχέδιο LED και αντιστάσεων περιορισμού ρεύματος (100-500 Ohm) όπως φαίνεται στο σχήμα. Δώστε προσοχή στην πολικότητα των LED - η άνοδος πρέπει να συγκολληθεί στις αντιστάσεις (+). Για να μειώσω την παρασιτική έκθεση των LED, έφτιαξα μια μαύρη οθόνη από κανονικό χαρτόνι.
  • Συνδέστε τα LED και τη φωτογραφική μηχανή σε συμβατή πλακέτα Arduino M0-SD, όπως φαίνεται στο διάγραμμα. Η τροφοδοσία της κάμερας (κόκκινο σύρμα "+ 5V" και μαύρο καλώδιο "GND") πρέπει να ληφθεί από τους ακροδέκτες "+ 5V" και "GND" από την υποδοχή. Μπορείτε επίσης να χρησιμοποιήσετε μια γωνία σύνδεσης για αυτό.
  • Στη συνέχεια, συνδέστε την ασπίδα 3G/GPRS/GSM/GPS στη συμβατή πλακέτα Arduino M0-SD. Μην ξεχάσετε να συνδέσετε μια κεραία 3G.

Βήμα 6: Ρύθμιση MQTT Broker

Ρύθμιση MQTT Broker
Ρύθμιση MQTT Broker
Ρύθμιση MQTT Broker
Ρύθμιση MQTT Broker
Ρύθμιση MQTT Broker
Ρύθμιση MQTT Broker

Επέλεξα ένα πολύ βολικό και σαφές www.cloudmqtt.com ως μεσίτη MQTT. Παρέχει δωρεάν δοκιμές. Είναι επίσης δυνατό να λαμβάνετε και να στέλνετε μηνύματα απευθείας στον ιστότοπο.

Η διαδικασία εγκατάστασης έχει ως εξής:

  1. Εγγραφείτε online.
  2. Πατήστε το κουμπί "Δημιουργία νέας παρουσίας".
  3. Ορίστε το όνομα, για παράδειγμα "MqttCamera".
  4. Πατήστε το κουμπί "Επιλογή περιοχής". Για παράδειγμα, επιλέξτε "US-East-1 (Βόρεια Βιρτζίνια)".
  5. Πατήστε το κουμπί "Αναθεώρηση".
  6. Πατήστε το κουμπί "Δημιουργία παρουσίας". Προβολή μηνύματος "Η περίπτωση δημιουργήθηκε επιτυχώς".
  7. Κάντε κλικ στην επιλογή "MqttCamera".
  8. Να θυμάστε πληροφορίες: Διακομιστής, Χρήστης, Κωδικός πρόσβασης, Θύρα, Κλειδί API (Θα το χρειαστούμε στο 7ο και 8ο βήμα).
  9. Στη συνέχεια, μπορείτε να μεταβείτε στο παράθυρο "WEBSOCKET UI", όπου μπορείτε να δοκιμάσετε και να εντοπίσετε σφάλματα, να δείτε και να στείλετε μηνύματα (Θα χρειαστεί αυτό το παράθυρο στο επόμενο βήμα).

Βήμα 7: MQTT Dash App

MQTT Dash App
MQTT Dash App
MQTT Dash App
MQTT Dash App
MQTT Dash App
MQTT Dash App

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

Εγκαταστήστε την εφαρμογή MQTT Dash στο τηλέφωνό σας και κάντε τις ακόλουθες ρυθμίσεις:

  1. Ανοίξτε την εφαρμογή.
  2. Στο παράθυρο παύλας MQTT, κάντε κλικ στο (+) για να προσθέσετε έναν νέο πίνακα ελέγχου.
  3. Στο παράθυρο που εμφανίζεται, συμπληρώστε τα απαιτούμενα πεδία, όπως: Όνομα (για παράδειγμα, MqttCamera), Διεύθυνση, Θύρα, Όνομα χρήστη, Κωδικός πρόσβασης χρήστη (Λήψη δεδομένων από το βήμα 6).
  4. Αφού συμπληρώσετε τα πεδία, κάντε κλικ στο εικονίδιο της δισκέτας (λειτουργία "Αποθήκευση").
  5. Στο παράθυρο με τη λίστα των πινάκων ελέγχου, κάντε κλικ στην εμφανιζόμενη γραμμή "MqttCamera".
  6. Στο παράθυρο του πίνακα ελέγχου που ανοίγει, κάντε κλικ στο εικονίδιο με το βέλος για να φορτώσετε τις μετρήσεις.
  7. Στη συνέχεια, στο αναδυόμενο παράθυρο, κάντε κλικ στο κουμπί "ΕΓΓΡΑΦΗ ΚΑΙ ΑΝΑΜΟΝΗ ΓΙΑ ΤΗΝ ΜΕΤΡΙΚΗ".
  8. Σε έναν προσωπικό υπολογιστή, ανοίξτε έναν λογαριασμό σε έναν μεσίτη MQTT (δείτε το προηγούμενο βήμα), ανοίξτε το παράθυρο "WEBSOCKET UI", ορίστε το θέμα "μετρήσεις/ανταλλαγή" στο παράθυρο "Αποστολή μηνύματος" και καταγράψτε το κείμενο από το συνημμένο αρχείο metrics.txt στο παράθυρο "Μήνυμα", κάντε κλικ στο κουμπί "Αποστολή".
  9. Περιμένετε 10 δευτερόλεπτα, βεβαιωθείτε ότι η μέτρηση λαμβάνεται στο τηλέφωνο και ότι ο πίνακας ελέγχου είναι ενημερωμένος.

Στη συνέχεια, μπορείτε να προχωρήσετε σε προγραμματισμό συμβατό με Arduino M0-SD.

Βήμα 8: Προγραμματισμός και εργασία

Προγραμματισμός και εργασία
Προγραμματισμός και εργασία
Προγραμματισμός και εργασία
Προγραμματισμός και εργασία
Προγραμματισμός και εργασία
Προγραμματισμός και εργασία
Προγραμματισμός και εργασία
Προγραμματισμός και εργασία

Πριν προγραμματίσετε συμβατό Arduino M0-SD, πρέπει να εγκαταστήσετε στον υπολογιστή όλες τις απαραίτητες βιβλιοθήκες (pubsubclient-master, TinyGSM-master), τις οποίες παρέθεσα παρακάτω. Αυτές οι βιβλιοθήκες τροποποιήθηκαν ελαφρώς για να λειτουργούν με συμβατό πίνακα Arduino M0-SD, κάμερα VC0706 και ασπίδα 3G/GPRS/GSM/GPS SIM5320.

Πρέπει να συνδέσετε το καλώδιο και την παροχή ρεύματος (6V 1A για τροφοδοσία ασπίδας 3G/GPRS/GSM/GPS) στο συμβατό Arduino M0-SD.

Ξεκινήστε το Arduino IDE. Στο Arduino το IDE πρέπει να επιλέξει: Εργαλεία-> Πίνακας: Arduino M0 Pro (Εγγενής θύρα USB).

Ανοίξτε το σκίτσο MqttCamera.ino. Συμπληρώστε τα πεδία: Όνομα χρήστη, Κωδικός χρήστη, Κλειδί API, Θύρα, Διακομιστής (Λήψη δεδομένων από το βήμα 6).

Ανοίξτε το παράθυρο Serial Monitor.

Μεταφόρτωση σκίτσου. Δεν περιγράφω λεπτομερώς τη διαδικασία προγραμματισμού (υπάρχουν αρκετές οδηγίες στο Διαδίκτυο).

Μετά την επιτυχή φόρτωση και τη σωστή συναρμολόγηση, οι ακόλουθες πληροφορίες θα πρέπει να εμφανιστούν στο παράθυρο Serial Monitor:

VC0706 Κάμερα + Arduino M0 + SIM5320 + MQTT

Camera init… έκδοση: ----------------- VC0703 1.00 Ctrl infr υπάρχει Αισθητήρας 525 καθορισμένος από το χρήστη ----------------- επιτυχία ! Εκκίνηση μόντεμ… Μόντεμ: AT+CGMM SIMCOM_SIM5320E Αναμονή για δίκτυο… ΟΚ Σύνδεση στο διαδίκτυο ΟΚ Σύνδεση σε 3.83.68.228 αποτυχία Σύνδεση σε 3.83.68.228 ΟΚ Ping: 0

Η γραμμή "Ping: XX" είναι ένα περιοδικό μήνυμα από το συμβατό Arduino M0-SD προς τον διακομιστή. Αντί για αυτές τις πληροφορίες, μπορείτε να στείλετε μετρήσεις ADC, κατάσταση εισόδου και άλλα.

Στην εφαρμογή MQTT Dash, κάντε κλικ στα εικονίδια των λαμπτήρων (LED_YELLOW, LED_GREEN, LED_RED) - ενεργοποιήστε/απενεργοποιήστε. Κοιτάξτε στο παράθυρο της Σειριακής οθόνης - θα πρέπει να υπάρχουν πληροφορίες για κάτι τέτοιο:

LED_YELLOW Ενεργό

LED_YELLOW_Off LED_GREEN On LED_GREEN off LED_RED On LED_RED Off

Κάντε κλικ στο εικονίδιο της κάμερας - στείλτε την εντολή "SHOOT" και περιμένετε λίγο. Οι ακόλουθες πληροφορίες θα πρέπει να εμφανίζονται στο παράθυρο Serial Monitor:

Ξεκινήστε το Shoot!

Η φωτογραφία τραβήχτηκε! δημιουργία IMAGE332-j.webp

Και μετά από λίγο (5-10 δευτερόλεπτα) στο παράθυρο "ΔΕΙΤΕ ΕΙΚΟΝΑ" θα πρέπει να εμφανιστεί φωτογραφία.

Για την επίδειξη, οδήγησα την κάμερα VC0706 στα LED, ώστε να μπορείτε να δείτε την κατάστασή τους αφού τα άλλαξα με αυθαίρετο τρόπο. Αλλά σε πραγματική χρήση, μπορείτε να κατευθύνετε την κάμερα σε ένα δωμάτιο, πόρτα, δρόμο, πύλη, αυτοκίνητο κ.λπ. (Φυσικά, πρέπει να λάβετε υπόψη τις απαιτήσεις του νόμου). Ως επίδειξη, παρουσιάζω αρκετά στιγμιότυπα οθόνης από κινητό τηλέφωνο, όπου εμφανίζονται οι εγκατεστημένες και πραγματικές καταστάσεις των LED.

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

Συνιστάται: