Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
HiFive1 je prva plošča, ki temelji na RISC-V, združljiva z Arduinom, zgrajena s procesorjem FE310 podjetja SiFive. Plošča je približno 20 -krat hitrejša od Arduino UNO, vendar tako kot plošča UNO nima nobene brezžične povezave.
Na srečo je na trgu več poceni modulov za ublažitev te omejitve. V tej vadnici sem za dostop do brezžične povezave uporabil ESP32 ali ESP8266. Kljub temu, kako poceni je ESP-01, je bil zaradi potrebe po programiranju s skico Arduino ESP-01 manj praktična rešitev. Za programiranje ESP-01 potrebuje zunanji adapter USB do ESP-01, ki ga v času izdelave te vadnice nisem imel. (Če vas zanima uporaba HiFive1 z ESP-01, sledite tej povezavi) Tudi jaz sem razmišljal o uporabi Arduino ščita, vendar sem se na koncu držal ESP8266/32 zaradi relativno drage cene, ki jo ima večina ščitov.
Ta projekt se bo osredotočil na ustvarjanje sistema za odkrivanje vsiljivcev, ki bo deloval s pošiljanjem obvestila posredniku MQTT vsakič, ko ultrazvočni senzor (SRF05) zazna predmet, ki prečka njegovo vidno polje.
Materiali, potrebni za ta projekt:
- Plošča HiFive1 (lahko jo kupite tukaj)
- ESP32 Dev Module ali ESP8266 NodeMCU 1.0
- 10k upor x 2
- 1k upor
- Ogledna plošča
- mostični kabel x 6
- SRF05 Ultrazvočni modul
- Mobilna naprava
1. korak: Nastavitev okolja
Namestite Arduino IDE
1. Sledite navodilom za namestitev paketa Arduino na plošči HiFive1 in gonilnika USB.
2. Namestite paket plošč ESP32 ali ESP8266 tako, da v "Datoteka-> Nastavitve-> Upravitelj dodatnih plošč" dodate ustrezen URL:
- ESP8266 -
- ESP32 -
2. korak: Ožičenje ESP32
Če uporabljate ESP8266, pojdite na 3. korak.
Pomembno: SRF05 je na voljo v dveh različicah pinout, ki sta medsebojno zrcalni različici. Prepričajte se, da imate enak modul kot moj, tako da uporabite spodnjo povezavo.
Za več tehničnih podrobnosti o SRF05 sledite tej povezavi.
GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Sprožilni zatič (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)
Opomba: Prepričajte se, da je mostiček IOREF nastavljen na 3.3v.
3. korak: Ožičenje ESP8266
Pomembno: SRF05 je na voljo v dveh različicah pinout, ki sta medsebojno zrcalni različici. Prepričajte se, da imate enak modul kot moj, tako da uporabite spodnjo povezavo.
Za več tehničnih podrobnosti o SRF05 sledite tej povezavi
GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Sprožilni zatič (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266) DI/O 6 (HiFive1) -> Rx (ESP8266)
Opomba: Prepričajte se, da je mostiček IOREF nastavljen na 3,3 V.
4. korak: Programiranje
Koda HiFive1:
Pred programiranjem nastavite "Tools-> Board" na HiFive1 board, "Tools-> CPU Clock Frequency" na "256MHz PLL", "Tools-> Programmer" na "SiFive OpenOCD" in izberite ustrezna serijska vrata.
Prav tako boste morali prenesti to ultrazvočno knjižnico in ta PubSubClient ter jih izvleči v mapo Arduino Libraries, ki jo najdete v "Uporabnik-> Dokumenti-> Arduino-> Knjižnice".
Koda ESP32/8266:
Med programiranjem bi morali biti na plošči ESP odklopljeni strojni zatiči Rx in Tx.
Za ESP32-"Orodja-> Kartica" nastavite na "ESP32 Dev Module", "Orodja-> Programer" na "AVRISP mkll" in izberite ustrezna serijska vrata.
Za ESP8266-Nastavite "Orodja-> Plošča" na "NodeMCU 1.0 (modul ESP-12E)", "Orodja-> Programer" na "AVRISP mkll" in izberite ustrezna serijska vrata.
Koda za skico si je bila izposojena od tukaj s spremembami, da bi jo pretvorili v sistem za odkrivanje vsiljivcev.
5. korak: Nastavitev odjemalca
S to aplikacijo sem uporabil posrednika MQTT v oblaku (tega) in telefon Android.
Če želite vse nastaviti, morate odpreti račun.
Za pripravo CloudMQTT in aplikacije uporabite priložene posnetke zaslona.
6. korak: Končni rezultat
Opomba: Hitrost prenosa serijskega monitorja nastavite na 115200, saj je to hitrost prenosa, ki jo uporabljamo v skici.
Vaš končni rezultat bi moral biti podoben končnim posnetkom zaslona