Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
HiFive1 on ensimmäinen Arduino-yhteensopiva RISC-V-pohjainen kortti, joka on rakennettu SiFiven FE310-suorittimella. Taulu on noin 20 kertaa nopeampi kuin Arduino UNO, mutta kuten UNO -levy, siitä puuttuu langaton yhteys.
Onneksi markkinoilla on useita halpoja moduuleja tämän rajoituksen lieventämiseksi. Tässä opetusohjelmassa käytin ESP32- tai ESP8266 -laitetta langattoman yhteyden muodostamiseksi. Huolimatta siitä, kuinka halpaa ESP-01 on, koska se on ohjelmoitava Arduino-luonnoksella, ESP-01 oli vähemmän käytännöllinen ratkaisu. ESP-01: n ohjelmoimiseksi se tarvitsee ulkoisen USB-ESP-01-sovittimen, jota minulla ei ollut tämän opetusohjelman tekemisen aikaan. (Jos olet kiinnostunut käyttämään HiFive1: tä ESP-01: n kanssa, seuraa tätä linkkiä) Harkitsin myös Arduino Shieldin käyttöä, mutta päädyin kiinni ESP8266/32: een, koska useimmat kilvet ovat suhteellisen kalliita.
Tämä projekti keskittyy luomaan tunkeutumisen havaitsemisjärjestelmän, joka toimii lähettämällä ilmoituksen MQTT Brokerille joka kerta, kun ultraäänianturi (SRF05) havaitsee kohteen, joka ylittää sen näköyhteyden.
Tähän projektiin tarvittavat materiaalit:
- HiFive1 -kortti (voi ostaa täältä)
- ESP32 Dev Module tai ESP8266 NodeMCU 1.0
- 10k vastus x 2
- 1k vastus
- Leipälauta
- hyppyjohto x 6
- SRF05 ultraäänimoduuli
- Mobiililaite
Vaihe 1: Ympäristön määrittäminen
Asenna Arduino IDE
1. Asenna HiFive1 -kortin Arduino -paketti ja USB -ohjain ohjeiden mukaisesti.
2. Asenna ESP32- tai ESP8266-levypaketti lisäämällä asianmukainen URL-osoite "Tiedosto-> Asetukset-> Lisäkorttien hallintaan":
- ESP8266 -
- ESP32 -
Vaihe 2: ESP32: n johdotus
Jos käytät ESP8266 -laitetta, siirry vaiheeseen 3.
Tärkeää: SRF05 on saatavana kahdessa pinout -versiossa, jotka ovat toistensa peiliversioita. Varmista alla olevan linkin avulla, että sinulla on sama moduuli kuin minulla.
Lisätietoja SRF05: n teknisistä tiedoista saat tämän linkin kautta.
GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Liipaisintappi (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)
Huomaa: Varmista, että IOREF -hyppyjohdin on asetettu 3,3 V: n jännitteeseen.
Vaihe 3: ESP8266: n johdotus
Tärkeää: SRF05 on saatavana kahdessa pinout -versiossa, jotka ovat toistensa peiliversioita. Varmista alla olevan linkin avulla, että sinulla on sama moduuli kuin minulla.
Lisätietoja SRF05: n teknisistä tiedoista saat tämän linkin kautta
GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Liipaisintappi (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266) DI/O 6 (HiFive1) -> Rx (ESP8266)
Huomautus: Varmista, että IOREF -hyppyjohdin on asetettu arvoon 3.3v.
Vaihe 4: Ohjelmointi
HiFive1 -koodi:
Ennen ohjelmointia aseta "Työkalut-> Taulu" -asetukseksi HiFive1-kortti, "Työkalut-> CPU-kellotaajuus" -asetukseksi "256 MHz PLL", "Työkalut-> Ohjelmoija" -asetukseksi "SiFive OpenOCD" ja oikea sarjaportti on valittu.
Sinun on myös ladattava tämä ultraäänikirjasto ja tämä PubSubClient ja purettava ne Arduino Libraries -kansioon, joka löytyy kohdasta "Käyttäjä-> Dokumentit-> Arduino-> Kirjastot".
ESP32/8266 Koodi:
Ohjelmoinnin aikana laitteiston Rx- ja Tx -nastat on irrotettava ESP -kortilta. Kun koodi on ladattu onnistuneesti, johdotkaa ESP: n Rx- ja Tx -nastat uudelleen, jotta varmistat tiedonsiirron HiFive1: n ja ESP: n välillä.
ESP32-Aseta "Työkalut-> Taulu" -asetukseksi "ESP32 Dev Module", "Tools-> Programmer" -asetukseksi "AVRISP mkll" ja valitse oikea sarjaportti.
ESP8266-Aseta "Työkalut-> Taulu" -asetukseksi "NodeMCU 1.0 (ESP-12E-moduuli)", "Työkalut-> Ohjelmoija" -asetukseksi "AVRISP mkll" ja valitse oikea sarjaportti.
Luonnoskoodi lainattiin täältä muutoksin, jotta se muutettaisiin tunkeutujan havaitsemisjärjestelmäksi.
Vaihe 5: Asiakkaan määrittäminen
Käytin pilvipohjaista MQTT Brokeria (tätä) ja Android-puhelinta tämän sovelluksen kanssa.
Jotta voit määrittää kaiken, sinun on avattava tili.
Käytä mukana tulevia kuvakaappauksia CloudMQTT: n ja sovelluksen määrittämiseen.
Vaihe 6: Lopputulos
Huomautus: Aseta sarjamonitorin siirtonopeudeksi 115200, koska se on luonnoksessa käyttämämme siirtonopeus.
Lopputuloksen pitäisi näyttää samalta kuin lopulliset kuvakaappaukset