INHOUDSOPGAWE:

HiFive1 Arduino -indringeropsporing met MQTT -waarskuwings met behulp van ESP32 of ESP8266: 6 stappe
HiFive1 Arduino -indringeropsporing met MQTT -waarskuwings met behulp van ESP32 of ESP8266: 6 stappe

Video: HiFive1 Arduino -indringeropsporing met MQTT -waarskuwings met behulp van ESP32 of ESP8266: 6 stappe

Video: HiFive1 Arduino -indringeropsporing met MQTT -waarskuwings met behulp van ESP32 of ESP8266: 6 stappe
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Desember
Anonim
HiFive1 Arduino -indringeropsporing met MQTT -waarskuwings met behulp van ESP32 of ESP8266
HiFive1 Arduino -indringeropsporing met MQTT -waarskuwings met behulp van ESP32 of ESP8266

Die HiFive1 is die eerste Arduino-versoenbare RISC-V-gebaseerde bord gebou met FE310 CPU van SiFive. Die bord is ongeveer 20 keer vinniger as Arduino UNO, maar dit het, net soos die UNO -bord, geen draadlose verbinding nie.

Gelukkig is daar verskeie goedkoop modules op die mark om hierdie beperking te versag. In hierdie tutoriaal het ek 'n ESP32 of 'n ESP8266 gebruik om draadlose verbinding te verkry. Ondanks hoe goedkoop die ESP-01 is, was die ESP-01 'n minder praktiese oplossing as gevolg van die noodsaaklikheid om dit met 'n Arduino-skets te programmeer. Om die ESP-01 te kan programmeer, benodig ek 'n eksterne USB-na-ESP-01-adapter wat ek nie gehad het toe ek hierdie tutoriaal gemaak het nie. (As u belangstel om 'n HiFive1 met die ESP-01 te gebruik, volg hierdie skakel). Ek het ook oorweeg om 'n Arduino-skild te gebruik, maar ek het uiteindelik by die ESP8266/32 gehou vanweë die relatief duur prys wat die meeste skilde het.

Hierdie projek fokus op die skep van 'n indringeropsporingstelsel wat funksioneer deur 'n kennisgewing aan die MQTT -makelaar te stuur elke keer as die ultrasoniese sensor (SRF05) 'n voorwerp opspoor wat sy siglyn oorsteek.

Materiaal benodig vir hierdie projek:

  • HiFive1 -bord (kan hier gekoop word)
  • ESP32 Dev Module of ESP8266 NodeMCU 1.0
  • 10k weerstand x 2
  • 1k weerstand
  • Broodbord
  • springkabel x 6
  • SRF05 Ultrasoniese module
  • Mobiele toestel

Stap 1: Die opstel van die omgewing

Die opstel van die omgewing
Die opstel van die omgewing

Installeer die Arduino IDE

1. Volg die instruksies om die HiFive1 -bord Arduino -pakket en USB -bestuurder te installeer.

2. Installeer die ESP32- of ESP8266-kaartpakket deur 'n gepaste URL by die "File-> Preferences-> Additional Boards Manager" te voeg:

  • ESP8266 -
  • ESP32 -

Stap 2: Koppel die ESP32

Bedrading van die ESP32
Bedrading van die ESP32
Bedrading van die ESP32
Bedrading van die ESP32

Gaan na stap 3 as u 'n ESP8266 gebruik.

Belangrik: die SRF05 is beskikbaar in twee weergawes wat met mekaar gespieël word; maak seker dat u dieselfde module as myne het deur die onderstaande skakel te gebruik.

Volg hierdie skakel vir meer tegniese besonderhede oor die SRF05.

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)

Let wel: Maak seker dat die IOREF -trui op 3.3v is.

Stap 3: Koppel die ESP8266

Bedrading van die ESP8266
Bedrading van die ESP8266
Bedrading van die ESP8266
Bedrading van die ESP8266

Belangrik: die SRF05 is beskikbaar in twee weergawes wat met mekaar gespieël word; maak seker dat u dieselfde module as myne het deur die onderstaande skakel te gebruik.

Vir meer tegniese besonderhede oor die SRF05, volg hierdie skakel

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)

Let wel: Maak seker dat die IOREF -trui op 3.3v is.

Stap 4: Programmering

HiFive1 -kode:

Voordat u programmeer, stel die "Gereedskap-> Bord" op HiFive1-bord, die "Gereedskap-> CPU-klokfrekwensie" op "256MHz PLL", die "Gereedskap-> programmeerder" op "SiFive OpenOCD" en die korrekte seriële poort word gekies.

U moet ook hierdie ultraklankbiblioteek en hierdie PubSubClient aflaai en dit in u Arduino Libraries-lêergids haal in 'Gebruiker-> Dokumente-> Arduino-> Bibliotheken'.

ESP32/8266 Kode:

Tydens die programmering moet die hardeware Rx- en Tx -penne op die ESP -bord ontkoppel word. Nadat die kode suksesvol opgelaai is, bedraad die Rx- en Tx -penne op die ESP om die kommunikasie tussen die HiFive1 en die ESP te verseker.

Vir ESP32-Stel die "Tools-> Board" op "ESP32 Dev Module", die "Tools-> Programmer" op "AVRISP mkll" en kies die korrekte seriële poort.

Vir ESP8266-Stel die "Tools-> Board" op "NodeMCU 1.0 (ESP-12E Module)", die "Tools-> Programmer" op "AVRISP mkll" en kies die korrekte seriële poort.

Die sketskode is hiervandaan geleen met wysigings om dit in 'n indringeropsporingstelsel te omskep.

Stap 5: Die opstel van die kliënt

Die opstel van die kliënt
Die opstel van die kliënt
Die opstel van die kliënt
Die opstel van die kliënt
Die opstel van die kliënt
Die opstel van die kliënt
Die opstel van die kliënt
Die opstel van die kliënt

Ek het 'n wolkgebaseerde MQTT-makelaar (hierdie een) en 'n Android-telefoon met hierdie app gebruik.

Om alles op te stel, moet u 'n rekening oopmaak.

Gebruik die meegeleverde skermkiekies om CloudMQTT en die app op te stel.

Stap 6: Finale resultaat

Finale Uitslag
Finale Uitslag
Finale Uitslag
Finale Uitslag
Finale Uitslag
Finale Uitslag
Finale Uitslag
Finale Uitslag

Let wel: u moet die baud -tempo van u seriële monitor instel op 115200, aangesien dit die baud -tempo is wat ons in ons skets gebruik.

U finale resultaat moet soortgelyk aan die finale skermkiekies lyk

Aanbeveel: