Kazalo:
- 1. korak: Nastavitev okolja
- 2. korak: Ožičenje ESP32
- 3. korak: Ožičenje ESP8266
- 4. korak: Programiranje
- 5. korak: Nastavitev odjemalca
- 6. korak: Končni rezultat
Video: Odkrivanje vsiljivcev HiFive1 Arduino z opozorili MQTT z uporabo ESP32 ali ESP8266: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
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
Priporočena:
Raspberry Pi DIY sistem za daljinsko odkrivanje vsiljivcev s telegramom: 7 korakov
Raspberry Pi DIY daljinski detektor vdornih sistemov s Telegramom: V tem projektu boste ustvarili napravo za odkrivanje vsiljivcev, ki bo preverila, ali je nekdo v vaši hiši / sobi, ko ste zunaj, s senzorjem PIR, če bo senzor PIR nekoga odkril, bo potrebno (niz) slik vsiljivca. Slika
Odkrivanje napak toplotne črpalke in alarm ESP8266, Openhab, Telegram, MQTT na baterije: 5 korakov
Odkrivanje napak toplotne črpalke in alarm ESP8266, Openhab, Telegram, MQTT na baterije: Moja toplotna črpalka za ogrevanje hiše in vode občasno dobi napako. Te napake ni mogoče zlahka opaziti, saj ni rdeče luči ali česa drugega, le majhen 'P' na majhnem LCD zaslonu. Zato sem naredil ta detektor za odkrivanje napake in
Odkrivanje barv v Pythonu z uporabo OpenCV: 8 korakov
Zaznavanje barv v Pythonu z uporabo OpenCV: Pozdravljeni! To navodilo se uporablja za navodila, kako izvleči določeno barvo iz slike v pythonu z uporabo knjižnice openCV. Če ste novi v tej tehniki, potem ne skrbite, na koncu tega priročnika boste lahko programirali svojo barvo
Varnostna naprava za ženske z GPS sledenjem in opozorili z uporabo Arduina: 6 korakov
Varnostna naprava za ženske z GPS sledenjem in opozorili z uporabo Arduina: Z vso tehnologijo, ki nam je na voljo v zadnjem času, ni težko izdelati varnostne naprave za ženske, ki ne bo samo sprožila alarma v sili, ampak bo poslala tudi sporočilo vašim prijateljem, družini ali zadevna oseba. Tu bomo ustanovili bend
Odkrivanje objektov W/ Dragonboard 410c ali 820c z uporabo OpenCV in Tensorflow .: 4 koraki
Object Detection W/ Dragonboard 410c ali 820c z uporabo OpenCV in Tensorflow .: Ta navodila opisujejo, kako namestiti ogrodja OpenCV, Tensorflow in strojnega učenja za Python 3.5 za zagon aplikacije Object Detection