Mündəricat:
- Addım 1: Parça siyahısı
- Addım 2: Wifi2BLE Dövrə
- Addım 3: Wifi2BLE Tikintisi
- Addım 4: Wifi2BLE Proqramlaşdırma
- Addım 5: BLE cihazına qoşulma
- Addım 6: BLE Periferiyasına qoşulun
- Addım 7: WiFi vasitəsi ilə BLE Cihazına Qoşulmaq - Hamısını Bir yerə qoymaq
- Addım 8: Kömək edin - işləmir
- Addım 9: Uzantılar və Nəticə
Video: BLE (Bluetooth Az Enerji) Körpüsünə sadə WiFi: 9 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
4 Dekabr 2017 -ni yeniləyin - Yenilənmiş Feather nRF52 eskizləri və ayıklama məsləhətləri. Qutuda quraşdırılmış körpünün şəkilləri əlavə edildi
Bu sadə layihə, TX Notify ilə Nordic UART -ı tətbiq edən hər hansı bir Bluetooth Aşağı Enerji (BLE) moduluna WiFi girişi təmin edir. Wifi2BLE körpüsü tamamilə şəffafdır. Yalnız WiFi məlumatlarını BLE cihazına keçir və BLE cihazının məlumatlarını yenidən WiFi bağlantısına keçir.
Pulsuz pfodDesignerV3, Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 və V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend daxil olmaqla bir çox BLE modullarında Nordic UART Xidmətini tətbiq etmək üçün kod yaradır., Adafruit Bluefruit LE SPI (yəni Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE və ya Bluefruit LE SPI Friend) və öz xidmətinizi proqramlaşdırmağa imkan verən digər lövhələr.
Bu Wifi2BLE körpüsü, lehim edə bilən təcrübəsiz bir konstruktor üçün uyğundur. Yalnız iki lövhədən, bir lent kabelindən və iki rezistordan istifadə edir
Hər bir lövhə üçün ətraflı testlərin yanında, bu təlimatlandırıcıya Yardım da daxildir - Daha çox səhv tapma göstərişləri ilə işləmir.
Bu təlimatlar onlayn olaraq da mövcuddur
Niyə bu Layihə?
Bu layihə BLE (Bluetooth Low Energy) -də olan bir sıra problemləri həll edir.
- Yalnız son mobil telefonlar və kompüterlər BLE -ni dəstəkləyir. Wifi2BLE körpüsü, WiFi bağlantısı olan istənilən mobil və ya kompüterə BLE cihazına qoşulmağa və onu idarə etməyə imkan verir.
- BLE məhdud çeşiddədir. Wifi2BLE körpüsü, BLE cihazına evin hər yerindən (WiFi bağlantısı olduğu yerdə) və xaricdən İnternet vasitəsilə daxil olmağa imkan verir.
- BLE tətbiqləri yaratmaq üçün Android və ya iOS öyrənmək lazımdır. Wifi2BLE körpüsü istənilən terminal proqramı vasitəsilə universal telnet bağlantısı təmin edir. Əlavə olaraq öz şəxsi interfeysinizi yaratmaq üçün WiFi moduluna asanlıqla bir veb səhifəsi əlavə edə bilərsiniz.
- BLE V5, proqram ən son Bluetooth spesifikasiyasını əldə etdikdən sonra bütün ev BLE cihazlarınızı birləşdirmək üçün mesh şəbəkəsi vəd edir. Wifi2BLE körpüsü, BLE V5 cihazından istifadə edir və bu ev şəbəkəsinə gəldikdə internetə çıxış təmin edəcək.
Bu layihə üçün dərhal istifadə etdiyim şey, evin hər yerindən idarə olunmasına icazə vermək üçün istirahət otağı olan BLE işıq nəzarətini WiFi şəbəkəsinə əlavə etməkdir. Bu təlimatda WiFi vasitəsilə BLE lövhələrini idarə etmək nümunəsi olaraq pfodApp istifadə edilsə də, bu layihəni başa çatdırmaq üçün pfodApp almaq lazım deyil.
Addım 1: Parça siyahısı
Qiymət ~ 30 Noyabr 2017 tarixinə 60 ABŞ dolları, göndərmə + kiçik bir plastik qapaq istisna olmaqla
Adafruit Lələk nRF52 Bluefruit LE - nRF52832 - ~ 25 ABŞ dolları
Adafruit HUZZAH ESP8266 Breakout - ~ 10 ABŞ dolları
Ayrı dişi uclu Şerit Kabel-Avtobus Pirat Kabeli ~ 5 ABŞ dolları https://www.sparkfun.com/products/9556 OR 10 pinli IDC Socket Rainbow Breakout Cable ~ US $ 4 https://www.sparkfun.com/products/ 9556 və ya oxşar
Kişi başlıqlarını ayırın - sağ açı - ~ 2 ABŞ dolları
USB -dən TTL 3V3 Serial Kabelinə - ~ 10 ABŞ dolları https://www.sparkfun.com/products/12977 (etiketli sancaqlar olduğu üçün üstünlük verilir) VƏ https://www.sparkfun.com/products/12977 (sancaqlar YOXDUR etiketli)
USB A - Micro B kabeli - ~ 4 ABŞ dolları https://www.sparkfun.com/products/12977 (3 fut uzunluğunda) VƏ ~ 3 ABŞ dolları https://www.sparkfun.com/products/12977 (6 düym uzunluğunda) OR ~ 2 ABŞ dolları https://www.sparkfun.com/products/12977 (6 düym uzunluğunda) VƏ ~ 5 ABŞ dolları https://www.sparkfun.com/products/12977 (6 fut uzunluğunda) və ya oxşar
2 x 100 ohm rezistorlar - ~ 1 ABŞ dolları
USB enerji təchizatı (500mA və ya daha çox) - ~ 6 ABŞ dolları https://www.sparkfun.com/products/12890 VƏ ~ 7 ABŞ dolları https://www.adafruit.com/product/1994 OR oxşar
Arduino IDE V1.8.5 və işləməsi üçün bir kompüter.
Plastik bir qutu üçün Jaycar UB5 (mavi) 83mm x 54mm x 31mm ~ 4 dollarlıq birindən istifadə etdim.
Addım 2: Wifi2BLE Dövrə
Wifi2BLE dövrəsi yuxarıda göstərilmişdir. Bir pdf versiyası burada. Gördüyünüz kimi dövrə çox sadədir. Yalnız 4 tel və iki 100 ohm qoruyucu rezistor. HUZZAH ESP8266 və ya Feather nRF52 proqramlaşdırdıqdan sonra TX / RX xətlərini səhv bağladığınız təqdirdə qoruyucu rezistorlar var.
Qeyd: TX və RX pinləri üçün Feather nRF52 lövhəsi düzgün deyil. TX pin əslində DFU pininin yanındadır və RX pin MISO pininin yanındadır
TX/RX xətlərini yuxarıda göstərildiyi kimi bağladığınızdan əmin olun. Xoşbəxtlikdən, qoruyucu rezistorlar öz işlərini gördülər və lövhələrin niyə bir -birinə almadığını başa düşdüm.
Addım 3: Wifi2BLE Tikintisi
HUZZAH ESP8266-ya lehimlənmiş, düzbucaqlı başlıq pinləri, proqramlaşdırma üçün çıxarıla bilər. İki lövhəni birləşdirmək üçün lent kabelinin dörd teli istifadə olunur. Dişi pin konnektorlarını saxlayın və lent kabelinin digər ucunu kəsin. Şerit kabelim Sparkfun USB -dən TTL -ə qədər proqramlaşdırma kabeli ilə eyni rəngdə idi, buna görə də ona uyğun tel seçdim. GND üçün qara, 5V+üçün qırmızı, TX üçün narıncı (ESP8266 RX -ə qoşulur) və RX üçün qəhvəyi (ESP8266 TX -ə qoşulur)
Feather nRF52 lövhəsinin arxasındakı qoruyucu rezistorları bağladım. (Rezistor kodlarını bilən müşahidəçi konstruktorlar, əlimdə 100 ohm əvəzinə əlimdə olan 68 ohm iki rezistor istifadə etdiyimi görəcəklər) və sonra onları bir az bükülmüş sarğı ilə izolyasiya etdilər.
Qırmızı kabel, HUZZAH ESP8266 modulunu gücləndirmək üçün USB 5V almaq üçün Feather nRF52 USB pininə lehimlənir və Qara kabel Feather nRF52 GND pininə lehimlənir.
Aşağıda təsvir edildiyi kimi, modulların proqramlaşdırılması, plastik qutuya qoyulması və Feather nRF52 -yə USB enerji təchizatının qoşulması istisna olmaqla, hər şey var.
Addım 4: Wifi2BLE Proqramlaşdırma
HUZZAH ESP8266 proqramlaşdırılması
Qalxanı proqramlaşdırmaq üçün https://github.com/esp8266/Arduino -da lövhə meneceri ilə quraşdırma altında verilən təlimatları izləyin. Alətlər → Lövhə menyusundan Lövhələr Menecerini açarkən Töhfə Verilmiş Növ seçin və esp8266 platformasını quraşdırın. Bu layihə ESP8266 2.3.0 versiyasından istifadə edərək tərtib edilmişdir. Digər versiyaların öz səhvləri olacaq və bu kodla işləməyəcək.
DİQQƏT: Adafruit Board quraşdırmasını istifadə etməyin, çünki burada istifadə olunan eskiz bu kod altında tərtib edilməyəcəkdir.
Arduino IDE-ni bağlayın və yenidən açın və indi Alətlər → Kart menyusundan "Adafruit HUZZAH ESP8266" seçə bilərsiniz.
PfodESP8266WiFiBufferedClient kitabxanasının son versiyasını da yükləməlisiniz. Bu kitabxana ESP8266.com IDE plug-in V2.3 ilə işləyir. (Daha əvvəl pfodESP2866WiFi kitabxanasını quraşdırmısınızsa, həmin kitabxana kataloqunu tamamilə silin.)
- a) Bu pfodESP8266WiFiBufferedClient.zip faylını kompüterinizə yükləyin, masaüstünüzə və ya asanlıqla tapa biləcəyiniz digər qovluğa köçürün.
- b) Ardından Arduino 1.8.5 IDE menyu seçimindən istifadə edin Eskiz → Kitabxananı İdxal et → Kitabxana əlavə edin. (Arduino, kitabxana artıq mövcud olduğu üçün onu quraşdırmanıza icazə vermirsə, köhnə pfodESP8266BufferedClient qovluğunu tapın və silin və sonra bunu idxal edin)
- c) Arduino IDE-ni dayandırın və yenidən başladın və Fayl-> Nümunələr altında indi pfodESP8266BufferedClient-i görməlisiniz.
Şəbəkə ssid və parolunun, IP və portun qurulması
PfodESP8266BufferedClient kitabxanasını qurduqdan sonra Arduino IDE -ni açın və bu eskizi Wifi_Bridge.ino IDE -ə kopyalayın. Modulu proqramlaşdırmadan əvvəl, şəbəkənizin ssid və parolunu təyin etməli və istifadə olunmamış bir IP seçməlisiniz.
Bu üç xətti Wifi_Bridge.ino'nun yaxınlığında düzəldin
char ssid = "**** ***"; char parol = "**** *****"; char staticIP = "10.1.1.180";
Fing (Android və ya iOS) tətbiqindən yerli şəbəkəmi taramaq və artıq istifadə olunan IP -ni təyin etmək üçün istifadə edirəm..180 ilə.254 aralığında istifadə edilməmiş bir IP seçmək adətən təhlükəsizdir
Bir telnet bağlantısı üçün standart port 23 saylı portu tərk edə bilərsiniz.
Bu dəyişiklikləri etdikdən sonra ESP8266 proqramlaşdıra bilərsiniz.
HUZZAH ESP8266 proqramlaşdırılması
HUZZAH ESP8266 proqramlaşdırmaq üçün, fotoşəkildə göstərildiyi kimi USB -ni Serial kabelinə qoşun. Fotoşəkili və kabellərinizi yoxlayın. ESP8266 Proqramlaşdırma Məsləhətlərinə də baxın (espcomm uğursuz oldu)
TX və RX kabelləri qeyd olunduğu üçün Sparkfun USB -dən TTL 3V3 Serial Kabelindən istifadə edirəm. TX ucunun RX pininə və RX ucunun yuxarıda göstərildiyi kimi TX pininə takıldığından əmin olun. Adafruit kabelindən istifadə edirsinizsə, onun terminalları qeyd olunmayıb, ancaq rəng kodlu, qırmızı güc, qara torpaq, yaşıl TX və ağ RX -dir.
USB -ni Serialdan Kabelə qoşun və Alətlər → Port menyusundan COM portunu seçin. CPU Frekansını, Flaş Ölçüsünü və Yükləmə Sürətini standart parametrlərində buraxın.
Sonra Adafruit HUZZAH ESP2866 modulunu GPIO0 düyməsini basıb Sıfırla düyməsini sıxaraq GPIO0 düyməsini buraxaraq proqramlaşdırma rejiminə keçirin. GPIO0 led zəif yanmalıdır. Sonra Fayl → Yüklə seçin və ya proqramı tərtib etmək və yükləmək üçün Sağ Ok düyməsini istifadə edin. Yükləyərkən bir səhv mesajı alsanız, kabel bağlantılarınızın düzgün pinlərə qoşulduğunu yoxlayın və yenidən cəhd edin.
Proqramlaşdırma başa çatdıqda moduldakı Qırmızı Led yanmalıdır. Bu, yerli şəbəkənizə uğurla qoşulduğunu və serveri əlaqəni qəbul etməyə başladığını göstərir.
HUZZAH ESP2866 sınaqdan keçirilir
HUZZAH ESP2866 sınamaq üçün proqramlaşdırma kabelini bağlı qoyun və Arduino IDE Tools → Serial Monitoru açın və 9600 baud (sağ alt künc) seçin. Sonra kompüterinizdə bir terminal proqramı açın, Windows üçün TeraTerm və Mac üçün CoolTerm istifadə edirəm və Wifi_Bridge.ino eskizində təyin etdiyiniz IP və porta qoşuluram.
Qırmızı Ledə qoşulduqda modulda bir əlaqə olduğunu göstərən yanıp sönməyə başlamalıdır. İndi kompüterlərinizin terminal pəncərəsinə yazmalısınız və simvollar Arduino IDE -nin monitor pəncərəsində və əksinə görünməlidir.
Wifi Bağlantısının Zaman Aşımı
Wifi_Bridge.ino kodunun əlaqə vaxtı var.
uint32_t connectionTimeout = 60000; // 60 saniyəlik əlaqə vaxtı bitdi
HUZZAH ESP8266 modulu tərəfindən 60 saniyə ərzində alınan WiFi məlumatları yoxdursa, modullar əlaqəni bağlayır və yenisini gözləyir. Bu, modulun uğursuz Wi -Fi bağlantısı, marşrutlaşdırıcıda güc itkisi və ya müştərinin məcburi olaraq bağlanması səbəbindən yoxa çıxan müştərinin "yarı qapalı" əlaqələrdən qurtarmasını təmin edir. Ətraflı məlumat üçün Yarı Açıq (Düşmüş) TCP/IP Soket Bağlantılarının Algılanmasına baxın.
Bu əlaqə müddəti 60 saniyəyə təyin edilmişdir. lakin lazım olduqda azalda və ya artırıla bilər. 0 -a təyin etmək heç vaxt tövsiyə edilməyən vaxtın bitməsi deməkdir.
Tüy nRF52 proqramlaşdırılması
Feather nRF52 -ni proqramlaşdırmaq üçün Feather nRF52 üçün Arduino Board dəstəyinin yüklənməsi və quraşdırılması ilə bağlı təlimatları izləyin. USB kabel vasitəsilə lövhəyə qoşula biləcəyinizi və proqramlaşdıra biləcəyinizi yoxlayın.
QEYD: Lələk proqramlaşdırmağa çalışmazdan əvvəl HUZZAH ESP8266 modulunu Feather nRF52 -dən ayırın
Feather nRF52 -ni BLE cihazına bağlamaq iki addımdan ibarətdir. Əvvəlcə cihazdakı MAC ünvanını (və növünü) müəyyənləşdirin və TX Notify ilə Nordic UART xidmətini dəstəklədiyini yoxlayın və sonra həmin ünvanı və növü körpü eskizinə köçürün.
Addım 5: BLE cihazına qoşulma
HUZZAH ESP8266 proqramlaşdırıldıqdan sonra Feather nRF52 eskizinə qoşulmaq istədiyiniz cihazın BLE ünvanını və növünü kodlamalısınız. Bu iki addımlı bir prosesdir. I) Nordic UART Service (TX Notify) tətbiq edən yaxınlıqdakı BLE cihazlarını tapmaq üçün tarama proqramını işə salın və sonra həmin cihaza qoşulması üçün skanerin çıxışını Tüy körpü eskizinə kopyalayın.
BLE Periferik Cihazlar üçün Tarama
Uyğun BLE ətraf qurğularını müəyyən etmək üçün central_bleuart_scanner.ino proqramını Feather nRF52 -ə yükləyin. Bu proqram davamlı olaraq yeni cihazları axtarır və sonra TX Notify ilə Nordic UART xidmətini dəstəkləyib -dəstəkləmədiklərini yoxlayır.
Nordic UART Xidməti
Nordic UART Xidməti üç hissədən ibarətdir: Xidmət UUID və RX və TX xüsusiyyətləri. RedBear NanoV2 üçün pfodDesignerV3 tərəfindən yaradılan bir nümunə kod budur
BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");
BLECharacteristic rxCharacteristic = BLECharacteristic ("6E400002B5A3F393E0A9E50E24DCCA9E", BLEWrite, BLE_MAX_LENGTH); BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003B5A3F393E0A9E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH);
pfodDesignerV3, bir sıra BLE modulları üçün nümunə kodu yarada bilər. Ancaq 'standart' UART bağlantısı üçün BLE spesifikasiyası olmadığı üçün bütün modullar Nordic UART xidmətindən istifadə etmir. Məsələn HM-10 modulları (Itead BLE qalxanı), RFduno və Romeo BLE, özünəməxsus uart xidmətlərindən istifadə edir və buna görə də Feather nRF52-yə qoşulmayacaq.
Aşağıdakı lövhələr birləşdiriləcək:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 və V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend və Flora Panoları, Adafruit Bluefruit LE SPI (yəni Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE və ya Bluefruit LE SPI Friend) BLEPeripheral kitabxanasından istifadə edə biləcək xüsusi xidmətlər və ya lövhələrlə kodlaşdırıla bilən lövhələr.
Burada istifadə olunan nümunə lövhə, pfodDesignerV3 tərəfindən yaradılan kodu olan Arduino/Genuino 101 -dir. Pulsuz pfodDesignerV3, pfodApp menyuları yaratmağa imkan verir və sonra (pullu) pfodApp istifadə edərək Android mobil cihazınızda dəqiq menyunu göstərmək üçün lazım olan Arduino kodunu yaradır. pfodApp, həmçinin Wifi, Bluetooth Classic, BLE və SMS vasitəsi ilə əlaqə quracaq və bu Wifi2BLE körpüsü vasitəsi ilə əlaqə qura bilər. PfodApp -ı nəzarət tətbiqiniz olaraq istifadə etmək istəməsəniz də, BLE lövhəniz üçün İskandinav UART xidmət kodu yaratmaq üçün pfodDesignerV3 -dən istifadə edə bilərsiniz.
Bu təlimat bağlantısı, Arduino/Genuino 101 BLE -nin qurulmasını və pfodDesignerV3 ilə sadə bir LED açma/söndürmə nəzarətinin yaradılmasını təsvir edir. PfodDesignerV3 tərəfindən hazırlanan eskiz Arduino101_led_control.ino
Arduino/Genuino 101 -in Arduino101_led_control.ino ilə proqramlaşdırılması, pfodApp ilə əlaqə qurmanıza və Android mobil cihazınızda aşağıdakı ekranı göstərməyə imkan verəcəkdir.
Ancaq bu yalnız bir nümunədir və bu layihəni tamamlamaq üçün pfodApp satın almağınıza ehtiyac yoxdur. Əhəmiyyətli olan, pulsuz pfodDesignerV3 tətbiqinin Nordic UART Xidmətini tətbiq edən Arduino/Genuino 101 üçün kod yaratmasıdır. Beləliklə, onu tarayaq.
Ancaq bu yalnız bir nümunədir və bu layihəni tamamlamaq üçün pfodApp satın almağınıza ehtiyac yoxdur. Əhəmiyyətli olan, pulsuz pfodDesignerV3 tətbiqinin Nordic UART Xidmətini tətbiq edən Arduino/Genuino 101 üçün kod yaratmasıdır. Beləliklə, onu tarayaq.
Nordic UART Xidməti axtarılır
Feather nRF52 -dən ayrılan HUZZAH ESP8266 modulu ilə Feather nRF52 -ni central_bleuart_scanner.ino ilə proqramlaşdırın və Arduino IDE Tools → Serial Monitor -u açın və baud sürətini 9600 -ə təyin edin. yuxarıdakı ilk ekran görüntüsü.
Gördüyünüz kimi skanerdə iki BLE cihazı tapıldı, Arduino/Genuino 101 üzərində Nordic UART xidməti tapıldı, ancaq TX xüsusiyyəti Notify -ı dəstəkləmədi. Skaner eyni zamanda bir RFduino BLE modulu tapdı, ancaq RFduino Nordic UART Xidmətindən istifadə etmir, əksinə öz modulundan istifadə edir. Bluetooth Komitəsi, 'standart' bir UART Xidməti göstərməməsinin günahını boynuna götürür, bunun əvəzinə hər istehsalçını öz istehsalını buraxır.
Yuxarıda göstərildiyi kimi, 101 kodu əsasən pfodApp ilə istifadə üçün pfodDesignerV3 tərəfindən yaradılmışdır. pfodApp, Feather nRF52 uart kodunun olduğu kimi TX Notify haqqında məlumat almaq kimi deyil. pfodApp, 101 ilə proqramlaşdırıldığı kimi işləyir, lakin Feather nRF52, TX Bildirişində israr edir, buna görə də Lələyi təmin etmək üçün kodda kiçik bir dəyişiklik lazımdır.
Arduino IDE -də Arduino101_led_control.ino açın və yuxarıya yaxın bu iki xətti tapacaqsınız. İkinci sətir yalnız xarakteristikanın təsviridir və əməliyyata təsir etmir.
BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("290)
Onlara dəyişdirin
BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX - (Bildir)");
Sonra 101-i bu düzəliş edilmiş versiyası olan Arduino101_Notify_led_control.ino ilə yenidən proqramlaşdırın. Sonra Feather nRF52 skanerini (central_bleuart_scanner.ino) yenidən işə saldığınızda Serial Monitor yuxarıdakı ikinci ekran görüntüsünü göstərir.
İndi Genuino 101 -də heç bir səhv yoxdur və skaner Feather nRF52 körpü eskizi üçün lazım olan kodu çap edir ki, 101 -ə qoşulsun. Skaner tapdığı hər cihazı yoxlayacaq. Qırmızı led, Nordic UART Service (TX Notify) ilə tapılan hər bir cihaz üçün bir dəfə yanıb -sönür.
Addım 6: BLE Periferiyasına qoşulun
LED Göstəriciləri
Feather nRF52 -nin Mavi və Qırmızı iki ledi var. Lövhə BLE cihazına qoşulduqda, Mavi Led sabitdir, əks halda yanıb -sönür. Skaner cihaza bağlı qalmır, buna görə də mavi led adətən yanıb -sönür. Qırmızı led hər Nordic UART Service (TX Notify) cihazı üçün bir dəfə yanıb -sönür. Qırmızı Led skaner kimi işləyərkən tapılan Nordic UART Service (TX Notify) cihazlarının sayını hesablayır. Körpü kimi işləyərkən, BLE kodu koduna qoşulduqda Qırmızı Led bir dəfə yanıb sönür.
BLE Periferik Cihazına qoşulma
İndi skaner eskizinə qoşulmaq istədiyiniz BLE cihazının təfərrüatları verildiyinə görə çıxışı central_bleuart_bridge.ino eskizinə kopyalaya bilərsiniz. Eskizin yuxarı hissəsinin yaxınlığında aşağıdakı kodu tapa bilərsiniz.
// Bu növbəti üç kod xətası central_bleuart_scanner.ino çıxışından gəlir
const char *BLE_NAME = "GENUINO 101-FC8F"; const char *BLE_ADDRESS = "98: 4F: EE: 0C: FC: 8F"; const uint8_t BLE_ADDRESS_TYPE = 0;
Üç kod sətrini, keçmək istədiyiniz BLE cihazı üçün skanerdən çıxışı ilə əvəz edin. Sonra Feather nRF52 -ni redaktə edilmiş central_bleuart_bridge.ino eskizi ilə proqramlaşdırın.
Central_bleuart_bridge eskizinin sınanması
HUZZAH ESP8266 -nı Feather nRF52 -yə bağlamadan əvvəl, BLE cihazınızla əlaqəni yoxlayın. Feather nRF52 -ni Arduino IDE -yə bağlayaraq Alətlər → Serial Monitoru 9600 baudda açın və hədəf BLE cihazınızın işə salındığını yoxlayın.
Yuxarıda təsvir edildiyi kimi, BLE cihazınızla əlaqə qurulduqda, Mavi led daim yanacaq və Qırmızı led hər 10 saniyədə bir yanıb -sönəcək. Bu, əlaqənin qurulmasına və saxlanılmasına imkan vermir.
Sonra Serial Monitor -a BLE cihazınıza göndərməyi gözlədiyiniz əmrləri daxil edə bilərsiniz və onun işlədiyini izləyə və geri göndərdiyi hər hansı bir cavabı izləyə bilərsiniz. Hər şey yaxşıdırsa, HUZZAH ESP8266 modulunu söndürə və qoşa bilərsiniz.
Addım 7: WiFi vasitəsi ilə BLE Cihazına Qoşulmaq - Hamısını Bir yerə qoymaq
HUZZAH ESP8266 modulunu şəbəkə ssid və şifrəniz üçün konfiqurasiya edilmiş körpü kodu ilə (Wifi_Bridge.ino) və IP VƏ BLE cihazının ünvanı ilə konfiqurasiya edilmiş körpü kodu (central_bleuart_bridge.ino) ilə Feather nRF52 -ni proqramlaşdırıb sınaqdan keçirdikdən sonra. və yazın, sonra onları birləşdirə və hər ikisini işə salmaq üçün Feather moduluna bir USB təchizatı qoşa bilərsiniz.
HUZZAH Qırmızı LED modulu, yerli şəbəkə yönləndiricinizə bağlandıqda möhkəm yanmalı və Tüy Mavi Led BLE cihazınıza qoşulduqda möhkəm yanmalı və Tüy Qırmızı LED hər 10 saniyədə bir yanıb sönməlidir. BLE cihazı qoşulub.
Telnet proqramınızı açın və HUZZAH -ın IP və portuna qoşulun. HUZZAH Qırmızı led, proqramınızın bağlandığını göstərmək üçün yavaş -yavaş yanıb -sönməlidir və WiFi vasitəsilə BLE cihazınıza əmrlər göndərməli və BLE cihazının işləməsini və telnet pəncərənizdə hər hansı bir cavabı görməsini gözləməlisiniz. Unutmayın ki, BLE cihazınız 60 saniyə ərzində heç bir məlumatı geri göndərmirsə, HUZZAH kodu əlaqəni dayandıracaq və əlaqəni kəsəcək və HUZZAH Qırmızı led yenidən möhkəmlənəcək.
Addım 8: Kömək edin - işləmir
Əvvəlcə HUZZAH ESP2866 -nın yoxlanılması və central_bleuart_bridge eskizinin yoxlanılması üçün yuxarıda göstərilən test addımlarını edin.
Tarama Problemləri
Skaner sizi BLE cihazı tapa bilmirsə, ya çox uzaqdadır, ya reklam etmir, ya da artıq bir şeyə bağlıdır. Skaneri yaxınlaşdırmağa və cihazı dövrəyə keçirməyə və BLE cihazı ilə əlaqəsi ola biləcək digər mobil cihazları söndürməyə çalışın.
Belə bir skaner çıxışı alsanız.
98: 4F: EE: 0C: FC: 8F ilə əlaqəli Nordic UART xidməti axtarılır… Heç biri tapılmadı və ya tapılmadı !!!!! Skandinaviya UART Xidmətini müəyyən edə bilmədi !!!!!!!! Nordic UART xidmətini gözləyirdinizsə, Skaneri BLE cihazına yaxınlaşdırın !!!!
Ola bilər ki, BLE cihazına onu aşkarlayacaq qədər yaxınsınız, amma İskandinav UART xidmətini tapmaq üçün bir Xidmət kəşfini uğurla edə biləcəksiniz. BLE cihazına yaxınlaşmağa çalışın.
Son çarə olaraq Android və ya iOS üçün pulsuz Nordic nRF Connect tətbiqindən istifadə edə bilərsiniz. Bu tətbiqin daha yaxşı diapazonu və həssaslığı var. BLE cihazının Nordic UART Xidmətinin olub olmadığını sizə xəbər verəcəkdir. Bununla birlikdə, Wifi2BLE körpüsünü skanerə bənzər bir kod istifadə etməzdən əvvəl Nordic UART Xidmətini işə salmaq və bağlamaq və tanımaq üçün hələ də skaneri işə götürməlisiniz.
Daha dərindən öyrənmək istəyirsinizsə, havada olanları görmək üçün Adafruit Bluefruit LE Sniffer modulundan istifadə edə bilərsiniz.
BLE Bağlantı Problemləri
BLE cihazını taramağı bacarmısınızsa, bağlantı problemlərinin ən çox ehtimal olunan səbəbləri I) BLE cihazı çox uzaqda, II) BLE cihazına artıq başqa bir şey qoşulmuşdur.
WiFi bağlantısı problemləri
HUZZAH ESP8266 Qırmızı led möhkəm yanmırsa, marşrutlaşdırıcınız vasitəsilə şəbəkənizlə heç bir əlaqəsi yoxdur. Wifi_Bridge.ino'da kodunuz olan ssid və şifrəni yoxlayın və ayırdığınız IP -nin artıq istifadə edilmədiyini yoxlamaq üçün Android və ya iOS Fing tətbiqindən istifadə edin. Bütün kompüterlərinizi və cihazlarınızı söndürün və marşrutlaşdırıcıyı 20 saniyə söndürün və sonra yenidən Fing ilə tarayın. Bağlantı kəsilməyə davam edərsə, Wifi_Bridge.ino kodundakı əlaqə zaman aşımı ayarını unutmayın.
Addım 9: Uzantılar və Nəticə
Burada təqdim olunan layihə ən sadə variantdır. Bir sıra mümkün uzantılar var:-
- Feather nRF52, eyni anda 4 BLE cihazına qoşulma qabiliyyətinə malikdir, buna görə daha etibarlı ünvanlar əlavə etmək və bir WiFi bağlantısından 4 cihazı idarə etmək üçün kodu dəyişdirə bilərsiniz. Feather nRF52 lövhəsinin quraşdırılması ilə gələn nümunə koda baxın.
- İnternetin hər hansı bir yerindən BLE cihazına giriş təmin etmək üçün yönlendiricinizdə bir deşik aça bilərsiniz. DIY IoT cihazlarının pfodApp ilə İnternetə qoşulmasına baxın.
- HUZZAH üçün WiFi şəbəkə parametrlərini veb səhifəsi vasitəsilə yenidən proqramlaşdırmadan konfiqurasiya etmək üçün Ucuz/Sadə Wifi Shield kodunu istifadə edə bilərsiniz. Dövrə bir konfiqurasiya düyməsini əlavə etməlisiniz.
- Feather nRF52 -ni Nordic UART (TX Notify) ilə BLE cihazlarını axtarmağa məcbur edən bir konfiqurasiya düyməsini (yuxarıdakı eyni düyməni istifadə edərək) əlavə edə bilərsiniz və sonra ən güclü siqnal olan birinin əlaqə məlumatlarını saxlaya bilərsiniz. Nəticəni saxlamaq üçün Adafruit nRF52 lövhə qurğusu ilə birlikdə gələn nffs kitabxanasından istifadə etməlisiniz.
- BLE cihazınız üçün xüsusi bir interfeys təmin etmək üçün HUZZAH ESP8266 koduna bir veb səhifəsi əlavə edə bilərsiniz. PfodDesignerV3 istifadə edə bilərsiniz və pfodApp bu layihədə heç bir dəyişiklik etmədən xüsusi bir interfeys əlavə edə bilərsiniz.
Nəticə
Bu sadə layihə, TX Notify ilə Nordic UART -ı tətbiq edən hər hansı bir Bluetooth Aşağı Enerji (BLE) moduluna WiFi girişi təmin edir. Wifi2BLE körpüsü tamamilə şəffafdır. Yalnız WiFi məlumatlarını BLE cihazına keçir və BLE cihazının məlumatlarını yenidən WiFi bağlantısına keçir.
Sadə quruluş və ətraflı test təlimatları, BLE cihazına kompüterdən və ya BLE -nin normal diapazonundan kənarda daxil olmaq istəyən yeni başlayanlar üçün uyğun bir layihə halına gətirir.
BLE cihazının proqramı yeni Bluetooth V5 Mesh spesifikasiyasına uyğun gəldikdə bu layihə daha da əhəmiyyətli olacaq. Sonra Wifi2BLE bütün evinizin avtomatlaşdırılmasına internet bağlantısı təmin edəcək.
Tövsiyə:
Ucuz NMEA/AIS Hub - Gəmidə istifadə üçün Wifi Körpüsünə RS232: 6 addım
Ucuz NMEA /AIS Hub - Yerli İstifadə üçün Wifi Körpüsünə RS232: 9 Yanvar 2021 -ni Yeniləyin - Əlavə TCP bağlantısı əlavə edildi və daha çox müştəri əlaqə qurarsa son əlaqəni yenidən istifadə edin 13 Dekabr 2020 -ci ili yeniləyin - Mövcud marşrutlaşdırıcıları olan gəmilər üçün kodun konfiqurasiya versiyası əlavə edilmədi. Giriş Bu NMEA / AIS RS232 -dən WiFi körpüsünə
Kiçik və Sadə Ev Dəyişən Enerji Təchizatı: 5 addım
Kiçik və Sadə Ev Dəyişən Enerji Təchizatı: Elektron bir layihə etmək istədiyiniz zaman enerji təchizatı lazımdır, amma həqiqətən də bahalı ola bilər. Ancaq özünüz üçün olduqca ucuz bir şey edə bilərsiniz. Beləliklə, başlayaq
Arduino Accelerometer Dərsliyi: Servo Motoru istifadə edərək Gəmi Körpüsünə Nəzarət: 5 Addım
Arduino Accelerometer Təlimatı: Servo Motordan istifadə edərək Gəmi Körpüsünə Nəzarət Edin: Günümüzdə istifadə etdiyimiz genişləndirilmiş istifadə və qabiliyyətləri təmin etmək üçün sürətləndirici sensorlar indi əksər smartfonlarımızdadır və buna cavabdeh olanın akselerometr olduğunu bilmədən də istifadə edə bilərsiniz. Bu qabiliyyətlərdən biri də nəzarət planıdır
Wifi Körpüsünə Raspberry Pi Ethernet: 7 addım
Wifi Körpüsünə Raspberry Pi Ethernet: Müxtəlif Raspberry Pies, cihazları, digər kompüterləri və şəbəkə avadanlıqlarını sınaqdan keçirən bir şəbəkəm var, hamısı Ubiquity firewall/router tərəfindən idarə olunur və internetə qoşulmasını istəyirəm. yeniləmələri, proqramı və s. çəkin Unfortuna
USB Körpüsünə R/C: 7 addım
R/C USB Körpüsünə: PPM siqnallarını radio qəbuledicisindən joystick mövqelərinə çevirir R/C radio ötürücünüzlə ən sevdiyiniz oyunları və uçuş simulyatorlarını oynamaq üçün istifadə edin. Bu Təlimat, LittleBits -dən bir Arduino və DSMX qəbuledicisi və sadə bir kod parçasından istifadə edir