Sisällysluettelo:

HiFive1 Arduino -tunkeutumistunnistus ja MQTT -hälytykset ESP32: n tai ESP8266: n avulla: 6 vaihetta
HiFive1 Arduino -tunkeutumistunnistus ja MQTT -hälytykset ESP32: n tai ESP8266: n avulla: 6 vaihetta

Video: HiFive1 Arduino -tunkeutumistunnistus ja MQTT -hälytykset ESP32: n tai ESP8266: n avulla: 6 vaihetta

Video: HiFive1 Arduino -tunkeutumistunnistus ja MQTT -hälytykset ESP32: n tai ESP8266: n avulla: 6 vaihetta
Video: Управление через интернет из любой точки мира. Протокол MQTT 2024, Marraskuu
Anonim
HiFive1 Arduino -tunkeutumistunnistus MQTT -hälytyksillä ESP32- tai ESP8266 -tekniikalla
HiFive1 Arduino -tunkeutumistunnistus MQTT -hälytyksillä ESP32- tai ESP8266 -tekniikalla

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

Ympäristön asettaminen
Ympäristön asettaminen

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

ESP32: n johdotus
ESP32: n johdotus
ESP32: n johdotus
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

Johdotus ESP8266
Johdotus ESP8266
Johdotus ESP8266
Johdotus ESP8266

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

Asiakkaan määrittäminen
Asiakkaan määrittäminen
Asiakkaan määrittäminen
Asiakkaan määrittäminen
Asiakkaan määrittäminen
Asiakkaan määrittäminen
Asiakkaan määrittäminen
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

Lopullinen tulos
Lopullinen tulos
Lopullinen tulos
Lopullinen tulos
Lopullinen tulos
Lopullinen tulos
Lopullinen tulos
Lopullinen tulos

Huomautus: Aseta sarjamonitorin siirtonopeudeksi 115200, koska se on luonnoksessa käyttämämme siirtonopeus.

Lopputuloksen pitäisi näyttää samalta kuin lopulliset kuvakaappaukset

Suositeltava: