Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
HiFive1, SiFive-dən FE310 CPU ilə qurulan ilk Arduino uyğun RISC-V əsaslı lövhədir. Lövhə, Arduino UNO -dan təxminən 20 qat daha sürətlidir, lakin UNO lövhəsi kimi heç bir simsiz əlaqə yoxdur.
Xoşbəxtlikdən, bu məhdudiyyəti azaltmaq üçün bazarda bir neçə ucuz modul var. Bu təlimatda simsiz əlaqə əldə etmək üçün ESP32 və ya ESP8266 istifadə etdim. ESP-01-in nə qədər ucuz olmasına baxmayaraq, onu Arduino eskizi ilə proqramlaşdırmaq ehtiyacına görə ESP-01 daha az praktik bir həll idi. ESP-01-i proqramlaşdırmaq üçün bu təlimatı hazırlayarkən əlimdə olmayan xarici USB-dən ESP-01 adapterinə ehtiyac var. (ESP-01 ilə bir HiFive1 istifadə etmək istəyirsinizsə, bu linki izləyin) Arduino Shield istifadə etməyi də düşündüm, lakin əksər qalxanların nisbətən bahalı qiymət etiketinə görə ESP8266/32 ilə yapışmağı sona çatdırdım.
Bu layihə, Ultrasonik sensorun (SRF05) hər dəfə görmə xəttini keçən bir obyekti algıladığı zaman MQTT Brokerinə bildiriş göndərərək işləyəcək Intruder Detection System yaratmağa yönələcək.
Bu layihə üçün lazım olan materiallar:
- HiFive1 lövhəsi (Burada əldə edilə bilər)
- ESP32 Dev Modulu və ya ESP8266 NodeMCU 1.0
- 10k müqavimət x 2
- 1k rezistor
- Çörək lövhəsi
- keçid kabeli x 6
- SRF05 Ultrasonik modul
- Mobil cihaz
Addım 1: Ətraf mühitin qurulması
Arduino IDE quraşdırın
1. HiFive1 board Arduino paketini və USB sürücüsünü quraşdırmaq üçün təlimatları izləyin.
2. "Fayl-> Tercihlər-> Əlavə Kartlar Menecerinə" uyğun bir URL əlavə edərək ESP32 və ya ESP8266 lövhə paketini quraşdırın:
- ESP8266 -
- ESP32 -
Addım 2: ESP32 kabelinin çəkilməsi
Bir ESP8266 istifadə edirsinizsə, 3 -cü addıma keçin.
Mühüm: SRF05, bir -birinin yansıtılmış versiyası olan 2 pinout versiyasında gəlir, aşağıdakı linkdən istifadə edərək mənimki ilə eyni modula malik olduğunuzdan əmin olun.
SRF05 haqqında daha çox texniki məlumat üçün bu linki izləyin.
GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Tetik Pin (SRF05) DI/O 12 (HiFive1) -> Eko Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)
Qeyd: IOREF atlayıcısının 3.3v -də qurulduğundan əmin olun.
Addım 3: ESP8266 kabelinin çəkilməsi
Mühüm: SRF05, bir -birinin yansıtılmış versiyası olan 2 pinout versiyasında gəlir, aşağıdakı linkdən istifadə edərək mənimki ilə eyni modula malik olduğunuzdan əmin olun.
SRF05 haqqında daha çox texniki məlumat üçün bu linki izləyin
GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Tetik Pin (SRF05) DI/O 12 (HiFive1) -> Eko Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266) DI/O 6 (HiFive1) -> Rx (ESP8266)
Qeyd: IOREF atlayıcısının 3.3v olaraq təyin olunduğundan əmin olun.
Addım 4: Proqramlaşdırma
HiFive1 Kodu:
Proqramlaşdırmadan əvvəl "Tools-> Board" u HiFive1 lövhəsinə, "Tools-> CPU Clock Frequency" -ni "256MHz PLL" -ə, "Tools-> Programmer" -i "SiFive OpenOCD" -ə qoyun və düzgün Serial Port seçildi.
Bu Ultrasonik kitabxananı və bu PubSubClient-i yükləməli və "İstifadəçi-> Sənədlər-> Arduino-> Kitabxanalar" bölməsində yerləşən Arduino Kitabxanalar qovluğuna çıxarmalısınız.
ESP32/8266 Kodu:
Proqramlaşdırma zamanı ESP lövhəsində Rx və Tx sancaqlarının bağlantısı kəsilməlidir. Kod uğurla yükləndikdən sonra HiFive1 və ESP arasında əlaqəni təmin etmək üçün ESP üzərindəki Rx və Tx pinlərini yenidən bağlayın.
ESP32 üçün-"Tools-> Board" u "ESP32 Dev Module", "Tools-> Programmer" ı "AVRISP mkll" olaraq təyin edin və düzgün Serial Portu seçin.
ESP8266 üçün-"Tools-> Board" u "NodeMCU 1.0 (ESP-12E Module)", "Tools-> Programmer" ı "AVRISP mkll" olaraq təyin edin və düzgün Serial Portu seçin.
Eskiz kodu buradan müdaxilə aşkarlama sisteminə çevirmək üçün edilən dəyişikliklərlə birlikdə götürülmüşdür.
Addım 5: Müştərinin qurulması
Bu tətbiqlə bulud əsaslı bir MQTT Broker (bu) və bir Android Telefon istifadə etdim.
Hər şeyi qurmaq üçün bir hesab açmalısınız.
CloudMQTT və Tətbiqi qurmaq üçün əldə edilən ekran görüntülərindən istifadə edin.
Addım 6: Son nəticə
Qeyd: Serial Monitorunuzun baud sürətini 115200 olaraq təyin etməlisiniz, çünki bu, eskizimizdə istifadə etdiyimiz baud dərəcəsidir.
Son nəticəniz son ekran görüntülərinə bənzəməlidir