Innholdsfortegnelse:

HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266: 6 trinn
HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266: 6 trinn

Video: HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266: 6 trinn

Video: HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266: 6 trinn
Video: #111 Weekly Roundup #26 - New Maker Products 2024, November
Anonim
HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266
HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266

HiFive1 er det første Arduino-kompatible RISC-V-baserte kortet bygget med FE310 CPU fra SiFive. Brettet er omtrent 20 ganger raskere enn Arduino UNO, men i likhet med UNO -kortet mangler det noen trådløs tilkobling.

Heldigvis finnes det flere rimelige moduler på markedet for å redusere denne begrensningen. I denne opplæringen brukte jeg en ESP32 eller en ESP8266 for å få trådløs tilkobling. Til tross for hvor billig ESP-01 er, på grunn av behovet for å programmere den med en Arduino-skisse, var ESP-01 en mindre praktisk løsning. For å programmere ESP-01 trenger den en ekstern USB til ESP-01-adapter som jeg ikke hadde da jeg laget denne opplæringen. (Hvis du er interessert i å bruke en HiFive1 med ESP-01, følg denne lenken) Jeg tenkte også på å bruke et Arduino Shield, men endte med å holde meg til ESP8266/32 på grunn av den relativt dyre prislappen de fleste skjold har.

Dette prosjektet vil fokusere på å lage et inntrengerdeteksjonssystem som vil fungere ved å sende et varsel til MQTT Broker hver gang ultralydsensoren (SRF05) oppdager et objekt som krysser siktlinjen.

Materialer som trengs for dette prosjektet:

  • HiFive1 -kort (kan kjøpes her)
  • ESP32 Dev Module eller ESP8266 NodeMCU 1.0
  • 10k motstand x 2
  • 1k motstand
  • Brødbrett
  • startkabel x 6
  • SRF05 Ultralydsmodul
  • Mobil enhet

Trinn 1: Sette opp miljøet

Sette opp miljøet
Sette opp miljøet

Installer Arduino IDE

1. Følg instruksjonene for å installere HiFive1 -kortet Arduino -pakken og USB -driveren.

2. Installer ESP32- eller ESP8266-kortpakken ved å legge til en passende URL til "File-> Preferences-> Additional Boards Manager":

  • ESP8266 -
  • ESP32 -

Trinn 2: Koble til ESP32

Kabling av ESP32
Kabling av ESP32
Kabling av ESP32
Kabling av ESP32

Gå til trinn 3 hvis du bruker en ESP8266.

Viktig: SRF05 kommer i 2 pinout -versjoner som er speilvendte versjoner av hverandre, sørg for at du har samme modul som min ved hjelp av lenken nedenfor.

For mer tekniske detaljer om SRF05, følg denne lenken.

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)

Merk: Sørg for at IOREF -jumperen er satt til 3.3v.

Trinn 3: Koble til ESP8266

Kabling av ESP8266
Kabling av ESP8266
Kabling av ESP8266
Kabling av ESP8266

Viktig: SRF05 kommer i 2 pinout -versjoner som er speilvendte versjoner av hverandre, sørg for at du har samme modul som min ved hjelp av lenken nedenfor.

For mer tekniske detaljer om SRF05, følg denne lenken

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)

Merk: Sørg for at IOREF -jumperen er satt til 3,3v.

Trinn 4: Programmering

HiFive1 -kode:

Før programmering, sett "Verktøy-> Kort" til HiFive1-kort, "Verktøy-> CPU-klokkefrekvens" til "256MHz PLL", "Verktøys-> Programmerer" til "SiFive OpenOCD" og riktig seriell port er valgt.

Du må også laste ned dette ultralydbiblioteket og denne PubSubClient og pakke dem ut i Arduino Libraries-mappen som du finner i "Bruker-> Dokumenter-> Arduino-> Biblioteker".

ESP32/8266 Kode:

Under programmeringen bør ESP -kortet ha maskinvare -Rx- og Tx -pinnene koblet fra. Etter at koden ble lastet opp, koble Rx- og Tx -pinnene på ESP for å sikre kommunikasjon mellom HiFive1 og ESP.

For ESP32-Sett "Tools-> Board" til "ESP32 Dev Module", "Tools-> Programmer" til "AVRISP mkll" og velg riktig seriell port.

For ESP8266-Sett "Tools-> Board" til "NodeMCU 1.0 (ESP-12E Module)", "Tools-> Programmer" til "AVRISP mkll" og velg riktig seriell port.

Skissekoden ble lånt herfra med modifikasjoner for å konvertere den til et inntrengerdeteksjonssystem.

Trinn 5: Konfigurere klienten

Sette opp klienten
Sette opp klienten
Sette opp klienten
Sette opp klienten
Sette opp klienten
Sette opp klienten
Sette opp klienten
Sette opp klienten

Jeg brukte en skybasert MQTT-megler (denne) og en Android-telefon med denne appen.

For å sette opp alt, må du åpne en konto.

Bruk de medfølgende skjermbildene for å komme deg gjennom konfigurasjonen av CloudMQTT og appen.

Trinn 6: Sluttresultat

Endelig resultat
Endelig resultat
Endelig resultat
Endelig resultat
Endelig resultat
Endelig resultat
Endelig resultat
Endelig resultat

Merk: Du bør sette seriell monitorens overføringshastighet til 115200, ettersom det er baudhastigheten vi bruker i skissen vår.

Det endelige resultatet skal se ut som det endelige skjermbildet

Anbefalt: