Inhaltsverzeichnis:

HiFive1 Arduino Eindringlingserkennung mit MQTT-Warnungen mit ESP32 oder ESP8266 - Gunook
HiFive1 Arduino Eindringlingserkennung mit MQTT-Warnungen mit ESP32 oder ESP8266 - Gunook

Video: HiFive1 Arduino Eindringlingserkennung mit MQTT-Warnungen mit ESP32 oder ESP8266 - Gunook

Video: HiFive1 Arduino Eindringlingserkennung mit MQTT-Warnungen mit ESP32 oder ESP8266 - Gunook
Video: HiFive 1 Dev Kit 2024, November
Anonim
HiFive1 Arduino-Eindringlingserkennung mit MQTT-Warnungen mit ESP32 oder ESP8266
HiFive1 Arduino-Eindringlingserkennung mit MQTT-Warnungen mit ESP32 oder ESP8266

Das HiFive1 ist das erste Arduino-kompatible RISC-V-basierte Board mit FE310-CPU von SiFive. Das Board ist etwa 20-mal schneller als Arduino UNO, aber wie das UNO-Board fehlt ihm jede drahtlose Konnektivität.

Glücklicherweise gibt es mehrere kostengünstige Module auf dem Markt, um diese Einschränkung zu mildern. In diesem Tutorial habe ich einen ESP32 oder einen ESP8266 verwendet, um eine drahtlose Verbindung herzustellen. Trotz des günstigen Preises des ESP-01 war das ESP-01 aufgrund der Notwendigkeit, es mit einer Arduino-Skizze zu programmieren, eine weniger praktische Lösung. Um das ESP-01 zu programmieren, benötigt es einen externen USB-zu-ESP-01-Adapter, den ich zum Zeitpunkt der Erstellung dieses Tutorials noch nicht hatte. (Wenn Sie daran interessiert sind, einen HiFive1 mit dem ESP-01 zu verwenden, folgen Sie diesem Link) Ich habe auch überlegt, ein Arduino Shield zu verwenden, bin aber aufgrund des relativ teuren Preises, den die meisten Shields haben, beim ESP8266/32 geblieben.

Dieses Projekt konzentriert sich auf die Entwicklung eines Eindringlingserkennungssystems, das jedes Mal eine Benachrichtigung an MQTT Broker sendet, wenn der Ultraschallsensor (SRF05) ein Objekt erkennt, das seine Sichtlinie überschreitet.

Benötigte Materialien für dieses Projekt:

  • HiFive1-Board (Kann hier gekauft werden)
  • ESP32-Entwicklungsmodul oder ESP8266 NodeMCU 1.0
  • 10k Widerstand x 2
  • 1k Widerstand
  • Steckbrett
  • Überbrückungskabel x 6
  • SRF05 Ultraschallmodul
  • Mobilgerät

Schritt 1: Einrichten der Umgebung

Einrichten der Umgebung
Einrichten der Umgebung

Installieren Sie die Arduino-IDE

1. Befolgen Sie die Anweisungen, um das Arduino-Paket der HiFive1-Karte und den USB-Treiber zu installieren.

2. Installieren Sie das ESP32- oder ESP8266-Board-Paket, indem Sie eine entsprechende URL zu "File->Preferences->Additional Boards Manager" hinzufügen:

  • ESP8266 -
  • ESP32 -

Schritt 2: Verkabelung des ESP32

Verkabelung des ESP32
Verkabelung des ESP32
Verkabelung des ESP32
Verkabelung des ESP32

Wenn Sie einen ESP8266 verwenden, fahren Sie mit Schritt 3 fort.

Wichtig: Das SRF05 kommt in 2 Pinout-Versionen, die gespiegelte Versionen voneinander sind. Stellen Sie sicher, dass Sie das gleiche Modul wie meines haben, indem Sie den untenstehenden Link verwenden.

Für weitere technische Details zum SRF05 folgen Sie diesem Link.

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

Hinweis: Stellen Sie sicher, dass der IOREF-Jumper auf 3,3 V eingestellt ist.

Schritt 3: Verkabelung des ESP8266

Verkabelung des ESP8266
Verkabelung des ESP8266
Verkabelung des ESP8266
Verkabelung des ESP8266

Wichtig: Das SRF05 kommt in 2 Pinout-Versionen, die gespiegelte Versionen voneinander sind. Stellen Sie sicher, dass Sie das gleiche Modul wie meines haben, indem Sie den untenstehenden Link verwenden.

Für weitere technische Details zum SRF05 folgen Sie diesem Link

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

Hinweis: Stellen Sie sicher, dass der IOREF-Jumper auf 3,3 V eingestellt ist.

Schritt 4: Programmierung

HiFive1-Code:

Stellen Sie vor dem Programmieren "Tools->Board" auf HiFive1-Board, "Tools->CPU Clock Frequency" auf "256MHz PLL", "Tools->Programmer" auf "SiFive OpenOCD" und die richtige serielle Schnittstelle ist ausgewählt.

Sie müssen auch diese Ultrasonic-Bibliothek und diesen PubSubClient herunterladen und in Ihren Arduino Libraries-Ordner entpacken, der sich unter "User->Documents->Arduino->Libraries" befindet.

ESP32/8266-Code:

Während der Programmierung sollten die Hardware-Rx- und Tx-Pins der ESP-Platine getrennt sein. Nachdem der Code erfolgreich hochgeladen wurde, verdrahten Sie die Rx- und Tx-Pins am ESP neu, um die Kommunikation zwischen HiFive1 und ESP sicherzustellen.

Für ESP32 - Stellen Sie "Tools->Board" auf "ESP32 Dev Module", "Tools->Programmer" auf "AVRISP mkll" und wählen Sie den richtigen seriellen Port aus.

Für ESP8266 - Stellen Sie "Tools->Board" auf "NodeMCU 1.0 (ESP-12E Module)", "Tools->Programmer" auf "AVRISP mkll" und wählen Sie den richtigen seriellen Port aus.

Der Sketch-Code wurde hier mit Modifikationen entlehnt, um ihn in ein Einbrucherkennungssystem umzuwandeln.

Schritt 5: Einrichten des Clients

Einrichten des Clients
Einrichten des Clients
Einrichten des Clients
Einrichten des Clients
Einrichten des Clients
Einrichten des Clients
Einrichten des Clients
Einrichten des Clients

Ich habe mit dieser App einen Cloud-basierten MQTT-Broker (diesen) und ein Android-Telefon verwendet.

Um alles einzurichten, müssen Sie ein Konto eröffnen.

Verwenden Sie die bereitgestellten Screenshots, um CloudMQTT und die App einzurichten.

Schritt 6: Endergebnis

Endergebnis
Endergebnis
Endergebnis
Endergebnis
Endergebnis
Endergebnis
Endergebnis
Endergebnis

Hinweis: Sie sollten die Baudrate Ihres Serial Monitors auf 115200 einstellen, da dies die Baudrate ist, die wir in unserer Skizze verwenden.

Ihr Endergebnis sollte den endgültigen Screenshots ähneln

Empfohlen: