Turinys:

„HiFive1 Arduino“įsibrovėlių aptikimas su MQTT įspėjimais naudojant ESP32 arba ESP8266: 6 žingsniai
„HiFive1 Arduino“įsibrovėlių aptikimas su MQTT įspėjimais naudojant ESP32 arba ESP8266: 6 žingsniai

Video: „HiFive1 Arduino“įsibrovėlių aptikimas su MQTT įspėjimais naudojant ESP32 arba ESP8266: 6 žingsniai

Video: „HiFive1 Arduino“įsibrovėlių aptikimas su MQTT įspėjimais naudojant ESP32 arba ESP8266: 6 žingsniai
Video: HiFive1 Rev B: An open source, RISC-V development platform with wireless 2024, Lapkritis
Anonim
„HiFive1 Arduino“įsibrovėlių aptikimas su MQTT įspėjimais naudojant ESP32 arba ESP8266
„HiFive1 Arduino“įsibrovėlių aptikimas su MQTT įspėjimais naudojant ESP32 arba ESP8266

„HiFive1“yra pirmoji su „Arduino“suderinama RISC-V plokštė, pagaminta naudojant „SiFive“FE310 procesorių. Plokštė yra maždaug 20 kartų greitesnė nei „Arduino UNO“, tačiau, kaip ir UNO plokštė, joje nėra jokio belaidžio ryšio.

Laimei, rinkoje yra keletas nebrangių modulių, kurie sušvelnintų šį apribojimą. Šioje pamokoje aš naudoju ESP32 arba ESP8266, kad galėčiau pasiekti belaidį ryšį. Nepaisant to, kad ESP-01 yra pigus, dėl to, kad jį reikia užprogramuoti naudojant „Arduino“eskizą, ESP-01 buvo mažiau praktiškas sprendimas. Norint užprogramuoti ESP-01, jam reikia išorinio USB-ESP-01 adapterio, kurio neturėjau rengdamas šią pamoką. (Jei jus domina „HiFive1“naudojimas su ESP-01, sekite šią nuorodą) Aš taip pat ketinau naudoti „Arduino Shield“, bet galų gale prilipau prie ESP8266/32 dėl palyginti brangios daugumos skydų kainų etiketės.

Šis projektas bus skirtas įsibrovėlių aptikimo sistemos sukūrimui, kuri veiks siunčiant pranešimą „MQTT Broker“kiekvieną kartą, kai ultragarso jutiklis (SRF05) aptinka objektą, kertantį jo regėjimo liniją.

Šiam projektui reikalingos medžiagos:

  • „HiFive1“plokštė (galima įsigyti čia)
  • ESP32 Dev modulis arba ESP8266 NodeMCU 1.0
  • 10k rezistorius x 2
  • 1k rezistorius
  • Bandomoji Lenta
  • trumpas kabelis x 6
  • Ultragarsinis SRF05 modulis
  • Mobilusis įrenginys

1 žingsnis: nustatykite aplinką

Aplinkos nustatymas
Aplinkos nustatymas

Įdiekite „Arduino IDE“

1. Vykdykite instrukcijas, kad įdiegtumėte „HiFive1“plokštės „Arduino“paketą ir USB tvarkyklę.

2. Įdiekite ESP32 arba ESP8266 plokštės paketą pridėdami atitinkamą URL prie „File-> Preferences-> Extra Boards Manager“:

  • ESP8266 -
  • ESP32 -

2 žingsnis: ESP32 prijungimas

ESP32 laidų prijungimas
ESP32 laidų prijungimas
ESP32 laidų prijungimas
ESP32 laidų prijungimas

Jei naudojate ESP8266, pereikite prie 3 veiksmo.

Svarbu: SRF05 yra dviejų „pinout“versijų, kurios yra veidrodinės viena kitos versijos, įsitikinkite, kad turite tą patį modulį kaip ir mano, naudodami toliau pateiktą nuorodą.

Norėdami gauti daugiau techninės informacijos apie SRF05, sekite šią nuorodą.

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)

Pastaba: Įsitikinkite, kad IOREF trumpiklis nustatytas į 3.3v.

3 žingsnis: ESP8266 prijungimas

ESP8266 laidų prijungimas
ESP8266 laidų prijungimas
ESP8266 laidų prijungimas
ESP8266 laidų prijungimas

Svarbu: SRF05 yra dviejų „pinout“versijų, kurios yra veidrodinės viena kitos versijos, įsitikinkite, kad turite tą patį modulį kaip ir mano, naudodami toliau pateiktą nuorodą.

Norėdami gauti daugiau techninės informacijos apie SRF05, sekite šią nuorodą

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)

Pastaba: įsitikinkite, kad IOREF trumpiklis nustatytas į 3.3v.

4 žingsnis: programavimas

„HiFive1“kodas:

Prieš programuodami nustatykite „Tools-> Board“į „HiFive1“plokštę, „Tools-> CPU Clock Frequency“į „256MHz PLL“, „Tools-> Programmer“-į „SiFive OpenOCD“ir pasirenkamas tinkamas nuoseklusis prievadas.

Taip pat turėsite atsisiųsti šią ultragarso biblioteką ir šį „PubSubClient“ir išgauti juos į „Arduino“bibliotekų aplanką, esantį skiltyje „Vartotojas-> Dokumentai-> Arduino-> Bibliotekos“.

ESP32/8266 Kodas:

Programavimo metu ESP plokštėje turi būti atjungti aparatinės įrangos Rx ir Tx kaiščiai. Sėkmingai įkėlus kodą, perjunkite ESP Rx ir Tx kaiščius, kad užtikrintumėte ryšį tarp HiFive1 ir ESP.

ESP32-Nustatykite „Tools-> Board“į „ESP32 Dev Module“, „Tools-> Programmer“į „AVRISP mkll“ir pasirinkite tinkamą nuoseklųjį prievadą.

ESP8266-Nustatykite „Tools-> Board“į „NodeMCU 1.0 (ESP-12E Module)“, „Tools-> Programmer“į „AVRISP mkll“ir pasirinkite tinkamą nuoseklųjį prievadą.

Eskizo kodas buvo pasiskolintas iš čia su pakeitimais, kad būtų paverstas įsibrovėlių aptikimo sistema.

5 veiksmas: nustatykite klientą

Kliento nustatymas
Kliento nustatymas
Kliento nustatymas
Kliento nustatymas
Kliento nustatymas
Kliento nustatymas
Kliento nustatymas
Kliento nustatymas

Naudojau debesų pagrindu veikiančią „MQTT Broker“(šią) ir „Android“telefoną su šia programa.

Norėdami viską nustatyti, turėsite atidaryti sąskaitą.

Naudokite pateiktas ekrano kopijas, kad nustatytumėte „CloudMQTT“ir programą.

6 žingsnis: galutinis rezultatas

Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas

Pastaba: savo serijinio monitoriaus duomenų perdavimo spartą turėtumėte nustatyti į 115200, nes tai yra duomenų perdavimo sparta, kurią naudojame mūsų eskize.

Jūsų galutinis rezultatas turėtų atrodyti panašus į galutines ekrano kopijas

Rekomenduojamas: