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

HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266: 6 βήματα
HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266: 6 βήματα

Βίντεο: HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266: 6 βήματα

Βίντεο: HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266: 6 βήματα
Βίντεο: HiFive1: An open source, Arduino-compatible RISC-V dev kit 2024, Νοέμβριος
Anonim
HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266
HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266

Το HiFive1 είναι ο πρώτος συμβατός με Arduino RISC-V πίνακας που κατασκευάστηκε με επεξεργαστή FE310 από το SiFive. Ο πίνακας είναι περίπου 20 φορές ταχύτερος από το Arduino UNO, αλλά όπως και ο πίνακας UNO, δεν διαθέτει ασύρματη συνδεσιμότητα.

Ευτυχώς, υπάρχουν αρκετές φθηνές ενότητες στην αγορά για να μετριάσουν αυτόν τον περιορισμό. Σε αυτό το σεμινάριο χρησιμοποίησα ένα ESP32 ή ένα ESP8266 για να αποκτήσω ασύρματη συνδεσιμότητα. Παρά το πόσο φθηνό είναι το ESP-01, λόγω της ανάγκης προγραμματισμού του με ένα σκίτσο Arduino, το ESP-01 ήταν μια λιγότερο πρακτική λύση. Προκειμένου να προγραμματιστεί το ESP-01, χρειάζεται εξωτερικός προσαρμογέας USB σε ESP-01 που δεν είχα κατά τη δημιουργία αυτού του σεμιναρίου. (Εάν ενδιαφέρεστε να χρησιμοποιήσετε ένα HiFive1 με το ESP-01 ακολουθήστε αυτόν τον σύνδεσμο) Σκέφτηκα επίσης τη χρήση ενός Arduino Shield, αλλά κατέληξα να κολλήσω με το ESP8266/32 λόγω της σχετικά ακριβής τιμής που έχουν οι περισσότερες ασπίδες.

Αυτό το έργο θα επικεντρωθεί στη δημιουργία ενός συστήματος ανίχνευσης εισβολέων το οποίο θα λειτουργεί στέλνοντας μια ειδοποίηση στον μεσίτη MQTT κάθε φορά που ο αισθητήρας υπερήχων (SRF05) ανιχνεύει ένα αντικείμενο που διασχίζει την οπτική του όραση.

Υλικά που απαιτούνται για αυτό το έργο:

  • Πίνακας HiFive1 (Μπορείτε να τον αγοράσετε εδώ)
  • ESP32 Dev Module ή ESP8266 NodeMCU 1.0
  • 10k αντίσταση x 2
  • Αντίσταση 1k
  • Breadboard
  • καλώδιο βραχυκυκλωτήρα x 6
  • SRF05 Υπερηχητική μονάδα
  • Κινητή συσκευή

Βήμα 1: Ρύθμιση του περιβάλλοντος

Ρύθμιση του Περιβάλλοντος
Ρύθμιση του Περιβάλλοντος

Εγκαταστήστε το Arduino IDE

1. Ακολουθήστε τις οδηγίες για να εγκαταστήσετε το πακέτο Arduino της πλακέτας HiFive1 και το πρόγραμμα οδήγησης USB.

2. Εγκαταστήστε το πακέτο πλακέτας ESP32 ή ESP8266 προσθέτοντας μια κατάλληλη διεύθυνση URL στο "Αρχείο-> Προτιμήσεις-> Πρόσθετος Διαχειριστής πινάκων":

  • ESP8266 -
  • ESP32 -

Βήμα 2: Καλωδίωση του ESP32

Καλωδίωση του ESP32
Καλωδίωση του ESP32
Καλωδίωση του ESP32
Καλωδίωση του ESP32

Εάν χρησιμοποιείτε ESP8266, μεταβείτε στο βήμα 3.

Σημαντικό: Το SRF05 διατίθεται σε 2 εκδόσεις pinout που αντικατοπτρίζονται μεταξύ τους, βεβαιωθείτε ότι έχετε την ίδια ενότητα με τη δική μου χρησιμοποιώντας τον παρακάτω σύνδεσμο.

Για περισσότερες τεχνικές λεπτομέρειες σχετικά με το SRF05 ακολουθήστε αυτόν τον σύνδεσμο.

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Pin Trigger (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)

Σημείωση: Βεβαιωθείτε ότι ο βραχυκυκλωτήρας IOREF έχει ρυθμιστεί σε 3.3v.

Βήμα 3: Καλωδίωση του ESP8266

Καλωδίωση του ESP8266
Καλωδίωση του ESP8266
Καλωδίωση του ESP8266
Καλωδίωση του ESP8266

Σημαντικό: Το SRF05 διατίθεται σε 2 εκδόσεις pinout που αντικατοπτρίζονται μεταξύ τους, βεβαιωθείτε ότι έχετε την ίδια ενότητα με τη δική μου χρησιμοποιώντας τον παρακάτω σύνδεσμο.

Για περισσότερες τεχνικές λεπτομέρειες σχετικά με το SRF05 ακολουθήστε αυτόν τον σύνδεσμο

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Pin Trigger (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266) DI/O 6 (HiFive1) -> Rx (ESP8266)

Σημείωση: Βεβαιωθείτε ότι ο βραχυκυκλωτήρας IOREF έχει οριστεί σε 3,3v.

Βήμα 4: Προγραμματισμός

Κωδικός HiFive1:

Πριν από τον προγραμματισμό ρυθμίστε το "Tools-> Board" σε πίνακα HiFive1, το "Tools-> CPU Clock Frequency" σε "256MHz PLL", το "Tools-> Programmer" σε "SiFive OpenOCD" και επιλέγεται η σωστή σειριακή θύρα.

Θα χρειαστεί επίσης να κατεβάσετε αυτήν τη βιβλιοθήκη υπερήχων και αυτό το PubSubClient και να τα εξαγάγετε στο φάκελο Βιβλιοθηκών του Arduino που βρίσκεται στο "Χρήστη-> Έγγραφα-> Arduino-> Βιβλιοθήκες".

ESP32/8266 Κωδικός:

Κατά τη διάρκεια του προγραμματισμού, ο πίνακας ESP θα πρέπει να έχει αποσυνδέσει τις καρφίτσες Rx και Tx υλικού. Μετά την επιτυχή μεταφόρτωση του κώδικα, επανασυνδέστε τις ακίδες Rx και Tx στο ESP για να διασφαλίσετε την επικοινωνία μεταξύ του HiFive1 και του ESP.

Για ESP32-Ορίστε το "Tools-> Board" σε "ESP32 Dev Module", το "Tools-> Programmer" σε "AVRISP mkll" και επιλέξτε τη σωστή σειριακή θύρα.

Για ESP8266-Ορίστε το "Tools-> Board" σε "NodeMCU 1.0 (ESP-12E Module)", το "Tools-> Programmer" σε "AVRISP mkll" και επιλέξτε τη σωστή σειριακή θύρα.

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

Βήμα 5: Ρύθμιση του προγράμματος -πελάτη

Ρύθμιση του πελάτη
Ρύθμιση του πελάτη
Ρύθμιση του πελάτη
Ρύθμιση του πελάτη
Ρύθμιση του πελάτη
Ρύθμιση του πελάτη
Ρύθμιση του πελάτη
Ρύθμιση του πελάτη

Χρησιμοποίησα έναν μεσίτη MQTT με βάση το σύννεφο (αυτό) και ένα τηλέφωνο Android με αυτήν την εφαρμογή.

Για να ρυθμίσετε τα πάντα, θα πρέπει να ανοίξετε έναν λογαριασμό.

Χρησιμοποιήστε τα παρεχόμενα στιγμιότυπα οθόνης για να ολοκληρώσετε τη ρύθμιση του CloudMQTT και της εφαρμογής.

Βήμα 6: Τελικό αποτέλεσμα

Τελικό αποτέλεσμα
Τελικό αποτέλεσμα
Τελικό αποτέλεσμα
Τελικό αποτέλεσμα
Τελικό αποτέλεσμα
Τελικό αποτέλεσμα
Τελικό αποτέλεσμα
Τελικό αποτέλεσμα

Σημείωση: Θα πρέπει να ορίσετε τον ρυθμό baud του Serial Monitor σας σε 115200, καθώς αυτός είναι ο ρυθμός baud που χρησιμοποιούμε στο σκίτσο μας.

Το τελικό σας αποτέλεσμα θα πρέπει να μοιάζει με τα τελικά στιγμιότυπα οθόνης

Συνιστάται: