Inhoudsopgave:

HiFive1 Arduino-indringerdetectie met MQTT-waarschuwingen met ESP32 of ESP8266 - Ajarnpa
HiFive1 Arduino-indringerdetectie met MQTT-waarschuwingen met ESP32 of ESP8266 - Ajarnpa

Video: HiFive1 Arduino-indringerdetectie met MQTT-waarschuwingen met ESP32 of ESP8266 - Ajarnpa

Video: HiFive1 Arduino-indringerdetectie met MQTT-waarschuwingen met ESP32 of ESP8266 - Ajarnpa
Video: HiFive1 Rev B: An open source, RISC-V development platform with wireless 2024, November
Anonim
HiFive1 Arduino-indringerdetectie met MQTT-waarschuwingen met ESP32 of ESP8266
HiFive1 Arduino-indringerdetectie met MQTT-waarschuwingen met ESP32 of ESP8266

De HiFive1 is het eerste Arduino-compatibele RISC-V-gebaseerde bord gebouwd met FE310 CPU van SiFive. Het bord is ongeveer 20 keer sneller dan Arduino UNO, maar net als het UNO-bord heeft het geen draadloze connectiviteit.

Gelukkig zijn er verschillende goedkope modules op de markt om deze beperking te verminderen. In deze tutorial heb ik een ESP32 of een ESP8266 gebruikt om draadloze connectiviteit te verkrijgen. Ondanks hoe goedkoop de ESP-01 is, vanwege de noodzaak om hem te programmeren met een Arduino-schets, was de ESP-01 een minder praktische oplossing. Om de ESP-01 te programmeren, heeft hij een externe USB-naar-ESP-01-adapter nodig die ik niet had toen ik deze tutorial maakte. (Als je geïnteresseerd bent in het gebruik van een HiFive1 met de ESP-01, volg dan deze link) Ik heb ook overwogen om een Arduino Shield te gebruiken, maar ben uiteindelijk bij de ESP8266/32 gebleven vanwege het relatief dure prijskaartje dat de meeste schilden hebben.

Dit project richt zich op het creëren van een indringerdetectiesysteem dat werkt door een melding naar MQTT Broker te sturen telkens wanneer de ultrasone sensor (SRF05) een object detecteert dat zijn gezichtslijn overschrijdt.

Benodigde materialen voor dit project:

  • HiFive1-bord (Kan hier worden gekocht)
  • ESP32 Dev-module of ESP8266 NodeMCU 1.0
  • 10k weerstand x 2
  • 1k weerstand
  • Breadboard
  • startkabel x 6"
  • SRF05 Ultrasone module
  • Mobiel apparaat

Stap 1: De omgeving instellen

De omgeving instellen
De omgeving instellen

Installeer de Arduino IDE

1. Volg de instructies om het HiFive1-bord Arduino-pakket en USB-stuurprogramma te installeren.

2. Installeer het ESP32- of ESP8266-bordpakket door een geschikte URL toe te voegen aan "Bestand->Voorkeuren->Extra Boards Manager":

  • ESP8266 -
  • ESP32 -

Stap 2: Bedrading van de ESP32

Bedrading van de ESP32
Bedrading van de ESP32
Bedrading van de ESP32
Bedrading van de ESP32

Als u een ESP8266 gebruikt, gaat u verder met stap 3.

Belangrijk: De SRF05 wordt geleverd in 2 pinout-versies die gespiegelde versies van elkaar zijn, zorg ervoor dat je dezelfde module hebt als de mijne via de onderstaande link.

Volg deze link voor meer technische details over de SRF05.

GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05) DI/O 11 (HiFive1) - > Triggerpen (SRF05)DI/O 12 (HiFive1) - > Echopen (SRF05)DI/ O 5 (HiFive1) - > Tx (ESP32) DI/O 6 (HiFive1) - > Rx (ESP32)

Opmerking: zorg ervoor dat de IOREF-jumper is ingesteld op 3.3v.

Stap 3: Bedrading van de ESP8266

Bedrading van de ESP8266
Bedrading van de ESP8266
Bedrading van de ESP8266
Bedrading van de ESP8266

Belangrijk: De SRF05 wordt geleverd in 2 pinout-versies die gespiegelde versies van elkaar zijn, zorg ervoor dat je dezelfde module hebt als de mijne via de onderstaande link.

Voor meer technische details over de SRF05 volg deze link

GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05)DI/O 11 (HiFive1) - > Triggerpen (SRF05) DI/O 12 (HiFive1) - > Echopen (SRF05) DI/ O 5 (HiFive1) - > Tx (ESP8266) DI/O 6 (HiFive1) - > Rx (ESP8266)

Opmerking: zorg ervoor dat de IOREF-jumper is ingesteld op 3.3v.

Stap 4: Programmeren

HiFive1-code:

Stel voor het programmeren de "Tools->Board" in op HiFive1-kaart, de "Tools->CPU Clock Frequency" op "256MHz PLL", de "Tools->Programmer" op "SiFive OpenOCD" en de juiste seriële poort is geselecteerd.

U moet ook deze ultrasone bibliotheek en deze PubSubClient downloaden en deze uitpakken in uw Arduino-bibliothekenmap die u vindt in "Gebruiker->Documenten->Arduino->Bibliotheken".

ESP32/8266-code:

Tijdens het programmeren moet het ESP-bord de hardware Rx- en Tx-pinnen hebben losgekoppeld. Nadat de code met succes is geüpload, moet u de Rx- en Tx-pinnen op de ESP opnieuw bedraden om communicatie tussen de HiFive1 en de ESP te garanderen.

Voor ESP32 - Stel "Tools->Board" in op "ESP32 Dev Module", "Tools->Programmer" op "AVRISP mkll" en selecteer de juiste seriële poort.

Voor ESP8266 - Stel "Tools->Board" in op "NodeMCU 1.0 (ESP-12E Module)", "Tools->Programmer" op "AVRISP mkll" en selecteer de juiste seriële poort.

De schetscode is hier geleend met aanpassingen om het om te zetten in een indringerdetectiesysteem.

Stap 5: De klant instellen

De klant instellen
De klant instellen
De klant instellen
De klant instellen
De klant instellen
De klant instellen
De klant instellen
De klant instellen

Ik gebruikte een cloudgebaseerde MQTT-makelaar (deze) en een Android-telefoon met deze app.

Om alles in te stellen, moet u een account openen.

Gebruik de meegeleverde schermafbeeldingen om CloudMQTT en de app in te stellen.

Stap 6: Eindresultaat

Eindresultaat
Eindresultaat
Eindresultaat
Eindresultaat
Eindresultaat
Eindresultaat
Eindresultaat
Eindresultaat

Opmerking: u moet de baudrate van uw seriële monitor instellen op 115200, aangezien dat de baudrate is die we in onze schets gebruiken.

Je eindresultaat zou er ongeveer zo uit moeten zien als de uiteindelijke schermafbeeldingen

Aanbevolen: