Mundarija:

BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi: 9 qadam (rasmlar bilan)
BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi: 9 qadam (rasmlar bilan)

Video: BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi: 9 qadam (rasmlar bilan)

Video: BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi: 9 qadam (rasmlar bilan)
Video: Внутренние внутренние батареи и аккумулятор: самобалансирующийся двухколесный самокат См. ! 2024, Iyul
Anonim
BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi
BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi
BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi
BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi
BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi
BLE (Bluetooth kam energiyali) ko'prigiga oddiy WiFi

2017 yil 4 -dekabr - yangilangan Feather nRF52 eskizlari va disk raskadrovka bo'yicha maslahatlar. Qutiga o'rnatilgan ko'prik rasmlari qo'shildi

Bu oddiy loyiha TX Notify bilan Nordic UART -ni amalga oshiruvchi Bluetooth Low Energy (BLE) moduliga Wi -Fi orqali kirishni ta'minlaydi. Wifi2BLE ko'prigi butunlay shaffof. U faqat WiFi ma'lumotlarini BLE qurilmasiga uzatadi va BLE qurilmasi ma'lumotlarini WiFi ulanishiga qaytaradi.

Bepul pfodDesignerV3 ko'plab BLE modullarida Nordic UART xizmatini amalga oshirish uchun kod ishlab chiqaradi, jumladan, Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 va V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend., Adafruit Bluefruit LE SPI (ya'ni Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE yoki Bluefruit LE SPI Friend) va boshqa xizmatlar, bu sizga o'z xizmatini dasturlash imkonini beradi.

Bu Wifi2BLE ko'prigi lehim qila oladigan tajribasiz konstruktor uchun javob beradi. U faqat ikkita taxtadan, bitta tasma kabelidan va ikkita rezistordan foydalanadi

Har bir taxta uchun batafsil testlar bilan bir qatorda, bu ko'rsatma yordamni o'z ichiga oladi - ishlamaydi, xatolarni aniqlash bo'yicha qo'shimcha maslahatlar.

Ushbu ko'rsatmalar Internetda ham mavjud

Nima uchun bu loyiha?

Ushbu loyiha BLE (Bluetooth Low Energy) muammolarini hal qiladi.

  • Faqat so'nggi mobil telefonlar va kompyuterlar BLE -ni qo'llab -quvvatlaydi. Wifi2BLE ko'prigi Wi -Fi ulangan har qanday mobil yoki kompyuterga BLE qurilmasiga ulanish va uni boshqarishga imkon beradi.
  • BLE cheklangan diapazonga ega. Wifi2BLE ko'prigi BLE qurilmasiga uyning istalgan joyidan (Wi -Fi ulanishi mavjud bo'lgan joyda) va tashqaridan Internet orqali kirishga imkon beradi.
  • BLE ilovalarini yaratish Android yoki iOS -ni o'rganishni talab qiladi. Wifi2BLE ko'prigi har qanday terminal dasturi orqali universal telnet ulanishini ta'minlaydi. Bundan tashqari, siz o'zingizning shaxsiy interfeysingizni yaratish uchun Wi -Fi moduliga veb -sahifani osongina qo'shishingiz mumkin.
  • BLE V5, sizning uyingizdagi barcha BLE qurilmalarini ulash uchun tarmoqli tarmoqni va'da qiladi, dasturiy ta'minot Bluetooth -ning so'nggi xususiyatlariga mos keladi. Wifi2BLE ko'prigi BLE V5 qurilmasidan foydalanadi va shu orqali u uy tarmog'iga kelganda Internetga kirishni ta'minlaydi.

Bu loyihada men darhol foydalanaman - dam olish xonasini BLE yorug'lik boshqaruvini Wi -Fi tarmog'iga qo'shish, uni uyning istalgan joyidan boshqarish mumkin. Garchi, bu qo'llanmada WiFi orqali BLE platalarini boshqarishning namunasi sifatida pfodApp ishlatilgan bo'lsa -da, bu loyihani bajarish uchun pfodApp sotib olish shart emas.

1 -qadam: qismlar ro'yxati

Narxi ~ 60 AQSh dollari, 2017 yil 30 -noyabr holatiga, yuk tashish + kichik plastmassa korpus bundan mustasno

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 AQSh dollari

Adafruit HUZZAH ESP8266 Breakout - ~ 10 AQSh dollari

Alohida ayol uchlari bo'lgan tasma kabeli-Avtobus qaroqchilari kabeli ~ 5 AQSh dollari https://www.sparkfun.com/products/9556 yoki 10 pinli IDC soket kamalagi simi ~ 4 AQSh dollari https://www.sparkfun.com/products/ 9556 yoki shunga o'xshash

Erkaklar sarlavhalarini ajratib oling - to'g'ri burchak - ~ 2 AQSh dollari

USB -dan TTL 3V3 seriyali kabel - ~ 10 AQSh dollari https://www.sparkfun.com/products/12977 (Belgilangan pimlarga ega bo'lgani ma'qul) Yoki https://www.sparkfun.com/products/12977 (pinlar YO'Q. belgilangan)

USB A - Micro B kabeli - ~ 4 AQSh dollari https://www.sparkfun.com/products/12977 (3 fut uzunlikda) yoki ~ 3 AQSh dollari https://www.sparkfun.com/products/12977 (uzunligi 6 dyuym) Yoki ~ 2 AQSh dollari https://www.sparkfun.com/products/12977 (6 dyuym uzunlikda) yoki ~ 5 AQSh dollari https://www.sparkfun.com/products/12977 (6 fut uzunlikda) yoki shunga o'xshash

2 x 100 ohmli rezistorlar - ~ 1 AQSh dollari

USB quvvat manbai (500mA yoki undan ko'p) - ~ 6 AQSh dollari https://www.sparkfun.com/products/12890 yoki ~ 7 AQSh dollari https://www.adafruit.com/product/1994 yoki shunga o'xshash

Arduino IDE V1.8.5 va uni ishga tushirish uchun kompyuter.

Plastik quti uchun men Jaycar UB5 (ko'k) 83mm x 54mm x 31mm ~ A $ 4 dan foydalanardim.

2 -qadam: Wifi2BLE davri

Wifi2BLE davri
Wifi2BLE davri

Wifi2BLE sxemasi yuqorida ko'rsatilgan. Bu erda pdf versiyasi. Ko'rib turganingizdek, sxemasi juda oddiy. Faqat 4 ta sim va ikkita 100 ohmli himoya rezistorlari. HUZZAH ESP8266 yoki Feather nRF52-ni dasturlashdan keyin TX / RX liniyalarini uzib qo'ygan bo'lsangiz, himoya rezistorlar.

ESLATMA: TX va RX pinlari uchun Feather nRF52 taxtasi belgisi noto'g'ri. TX pin aslida DFU pinining yonida va RX pin MISO pinining yonida joylashgan

TX/RX liniyalarini yuqorida ko'rsatilgan tarzda ulaganingizga ishonch hosil qiling. Yaxshiyamki, himoya rezistorlari o'z vazifalarini bajardilar va taxtalar shikastlanmadi, men nima uchun taxtalar bir -biriga olinmasligini aniqladim.

3 -qadam: Wifi2BLE qurilishi

Wifi2BLE qurilishi
Wifi2BLE qurilishi
Wifi2BLE qurilishi
Wifi2BLE qurilishi
Wifi2BLE qurilishi
Wifi2BLE qurilishi

HUZZAH ESP8266 ga lehimlangan, uni dasturlash uchun ajratib qo'yishga imkon beradigan, to'g'ri burchakli pim. Ikkita taxtani ulash uchun lenta kabelining to'rtta simlari ishlatiladi. Ayol pinli ulagichlarini ushlab turing va lenta kabelining boshqa uchini kesib oling. Mening tasma kabeli Sparkfun USB to TTL dasturlash kabeli bilan bir xil rangda edi, shuning uchun men unga mos keladigan simni tanladim. GND uchun qora, 5V+uchun qizil, TX uchun to'q sariq (ESP8266 RX ga ulanadi) va RX uchun jigarrang (ESP8266 TX ga ulanadi)

Men Feather nRF52 taxtasining orqa qismidagi himoya rezistorlarini uladim. (Rezistor kodlarini biladigan kuzatuvchi konstruktorlar, men 100 ohm o'rniga qo'lda 68 ohmli ikkita rezistorni ishlatganimni ko'raman) va keyin ularni qisqaruvchi o'rash bilan izolyatsiya qilgan.

HUZZAH ESP8266 modulini quvvatlantirish uchun USB 5V ni olish uchun Qizil simi Feather nRF52 USB piniga lehimlanadi va Qora sim FeRF nRF52 GND piniga lehimlanadi.

Modullarni quyida ta'riflanganidek, plastik qutiga solib, Feather nRF52 -ga USB quvvat manbasini ulashdan boshqa hamma narsa bor.

4 -qadam: Wifi2BLE dasturlash

Wifi2BLE dasturlash
Wifi2BLE dasturlash
Wifi2BLE dasturlash
Wifi2BLE dasturlash
Wifi2BLE dasturlash
Wifi2BLE dasturlash

HUZZAH ESP8266 dasturlash

Qalqonni dasturlash uchun https://github.com/esp8266/Arduino saytida taxtalar menejerini o'rnatish ostida berilgan ko'rsatmalarga amal qiling. Kengashlar menejerini Asboblar → Kengash menyusidan ochganda, Hisoblangan turini tanlang va esp8266 platformasini o'rnating. Ushbu loyiha ESP8266 2.3.0 versiyasi yordamida tuzilgan. Boshqa versiyalarda o'z xatolar to'plami bo'ladi va bu kod bilan ishlamasligi mumkin.

ESLATMA: Adafruit Board o'rnatishidan foydalanmang, chunki bu erda ishlatilgan eskiz bu kod ostida tuzilmaydi.

Arduino IDE-ni yoping va qayta oching, endi asboblar → Kengash menyusidan "Adafruit HUZZAH ESP8266" ni tanlashingiz mumkin.

Shuningdek, pfodESP8266WiFiBufferedClient kutubxonasining eng so'nggi versiyasini o'rnatishingiz kerak. Bu kutubxona ESP8266.com IDE plaginli V2.3 bilan ishlaydi. (Agar siz ilgari pfodESP2866WiFi kutubxonasini o'rnatgan bo'lsangiz, o'sha kutubxona katalogini butunlay o'chirib tashlang.)

  • a) Ushbu pfodESP8266WiFiBufferedClient.zip faylini kompyuteringizga yuklab oling, uni ish stoliga yoki boshqa papkaga ko'chiring.
  • b) Keyin uni o'rnatish uchun Arduino 1.8.5 IDE menyusining Sketch → Import Library → Library Library -dan foydalaning. (Agar Arduino sizni o'rnatishga ruxsat bermasa, chunki kutubxona allaqachon mavjud bo'lsa, eski pfodESP8266BufferedClient papkasini toping va o'chirib tashlang, so'ng uni import qiling)
  • c) Arduino IDE-ni to'xtating va qayta ishga tushiring va Fayl-> Misollar ostida endi pfodESP8266BufferedClient-ni ko'rishingiz kerak.

Tarmoq ssid va parolini, IP va portni sozlash

PfodESP8266BufferedClient kutubxonasini o'rnatganingizdan so'ng, Arduino IDE -ni oching va ushbu eskizni, Wifi_Bridge.ino -ni IDE -ga ko'chiring. Modulni dasturlashdan oldin siz tarmoqning ssid va parolini o'rnatishingiz va foydalanilmayotgan IP -ni tanlashingiz kerak.

Ushbu uchta qatorni Wifi_Bridge.ino tepasida tahrirlang

char ssid = "**** ***"; char parol = "**** *****"; char staticIP = "10.1.1.180";

Men mahalliy tarmoqni skanerlash va allaqachon ishlatilgan IP -ni aniqlash uchun Fing (Android yoki iOS) ilovasidan foydalanaman. Odatda.180 dan.254 oralig'ida ishlatilmaydigan IPni tanlash xavfsizdir

Boshlash uchun siz portNo -ni 23, telnet ulanishining standart porti sifatida qoldirishingiz mumkin.

O'zgarishlarni kiritgandan so'ng, siz ESP8266 -ni dasturlashingiz mumkin.

HUZZAH ESP8266 dasturlash

HUZZAH ESP8266 ni dasturlash uchun, rasmda ko'rsatilgandek, USB -ni seriyali kabelga ulang. Fotosuratni va simni tekshiring. Shuningdek qarang: ESP8266 dasturlash bo'yicha maslahatlar (espcomm muvaffaqiyatsiz tugadi)

Men Sparkfun USB -ni TTL 3V3 ketma -ket kabelidan foydalanaman, chunki unda TX va RX kabellari belgilangan. TX simining RX piniga va RX simining TX piniga yuqorida ko'rsatilgan tarzda ulanganligiga ishonch hosil qiling. Agar siz Adafruit kabelidan foydalansangiz, unda terminallar belgilanmagan, lekin rang kodlangan, qizil - kuch, qora - tuproq, yashil - TX, oq - RX.

USB -ni ketma -ket ulash kabelini kompyuteringizga ulang va Asboblar → Port menyusida COM portini tanlang. Protsessor chastotasini, Flash hajmini va yuklash tezligini standart sozlamalarda qoldiring.

Keyin Adafruit HUZZAH ESP2866 modulini dasturlash rejimiga o'tkazing, GPIO0 tugmachasini bosib ushlab turing va Reset tugmasini bosing va GPIO0 tugmachasini qo'yib yuboring. GPIO0 yoritgichi xira yonib turishi kerak. Keyin Fayl → Yuklash -ni tanlang yoki dasturni kompilyatsiya qilish va yuklash uchun O'ng o'q tugmasidan foydalaning. Agar siz yuklashda xato xabari olsangiz, simi ulanishlari to'g'ri pinlarga ulanganligini tekshiring va qaytadan urining.

Dasturlash tugagandan so'ng, moduldagi qizil chiroq yonishi kerak. Bu sizning mahalliy tarmoqqa muvaffaqiyatli ulanganligini va serverni ulanishni qabul qila boshlaganligini bildiradi.

HUZZAH ESP2866 sinovi

HUZZAH ESP2866 -ni sinab ko'rish uchun dasturiy kabelni ulangan holda qoldiring va Arduino IDE Tools → Serial Monitor -ni oching va 9600 bod (o'ng pastki burchak) ni o'rnating. Keyin kompyuteringizda terminal dasturini oching, men Windows uchun TeraTerm va Mac uchun CoolTerm -dan foydalanaman va Wifi_Bridge.ino eskizida siz belgilagan IP va portga ulanaman.

Qizil Ledni ulaganda, modul yonib -o'chib turishi kerak, bu ulanish borligini ko'rsatadi. Endi siz kompyuteringizning terminal oynasini yozishingiz kerak va belgilar Arduino IDE monitor oynasida paydo bo'lishi kerak va aksincha.

Wi -Fi ulanishining tugashi

Wifi_Bridge.ino kodida ulanish vaqti bor.

uint32_t connectionTimeout = 60000; // 60 soniya ulanish vaqti tugadi

Agar HUZZAH ESP8266 modulida 60 soniya davomida Wi -Fi ma'lumotlari olinmasa, modullar ulanishni yopadi va yangisini kutadi. Bu modul Wi -Fi tarmog'ining yomon ulanishi, yo'riqchining quvvatining yo'qolishi yoki mijozning majburiy o'chirilishi tufayli yo'qolganidan keyin yo'qolgan "yarim yopiq" ulanishlardan tiklanishini ta'minlaydi. Qo'shimcha ma'lumot olish uchun TCP/IP soket ulanishlarining yarim ochilganligini aniqlang.

Ulanish vaqti 60 sekundga o'rnatildi. lekin kerak bo'lganda kamayishi yoki ko'payishi mumkin. Uni 0 ga qo'yish hech qachon tavsiya qilinmagan vaqtni bildiradi.

Tuklar nRF52 dasturlash

Feather nRF52 -ni dasturlash uchun Feather nRF52 uchun Arduino Board qo'llab -quvvatlashini yuklab olish va o'rnatish bo'yicha ko'rsatmalarga amal qiling. USB -kabel orqali ulanish va dasturni taxtalash mumkinligini tekshiring.

QAYD: Tukni dasturlashdan oldin, HUZZAH ESP8266 modulini Feather nRF52 -dan uzing

Feather nRF52 ni BLE qurilmasiga ulash ikki bosqichdan iborat. Avval qurilmadagi MAC manzilini (va turini) aniqlash va uni tekshirish TX Notify yordamida Nordic UART xizmatini qo'llab -quvvatlaydi va keyin bu manzil va turni ko'prik eskiziga o'tkazadi.

5 -qadam: BLE qurilmasiga ulanish

BLE qurilmasiga ulanish
BLE qurilmasiga ulanish
BLE qurilmasiga ulanish
BLE qurilmasiga ulanish
BLE qurilmasiga ulanish
BLE qurilmasiga ulanish

HUZZAH ESP8266 dasturlashtirilgach, siz Feather nRF52 eskiziga ulanmoqchi bo'lgan qurilmaning BLE manzilini va turini kodlashingiz kerak. Bu ikki bosqichli jarayon. I) Skandinaviy UART xizmatini (TX Notify) amalga oshiradigan yaqin BLE qurilmalarini topish uchun skanerlash dasturini ishga tushiring, so'ngra o'sha qurilmaga ulanishi uchun skanerning chiqishini Feather ko'prigi eskiziga ko'chiring.

BLE atrof -muhit qurilmalarini qidirish

Mos keluvchi BLE tashqi qurilmalarini aniqlash uchun central_bleuart_scanner.ino dasturini Feather nRF52 -ga yuklang. Ushbu dastur doimiy ravishda yangi qurilmalarni qidiradi va keyin TX Notify yordamida Nordic UART xizmatini qo'llab -quvvatlayotganligini tekshiradi.

Shimoliy UART xizmati

Nordic UART xizmati uch qismdan iborat: UUID xizmati va RX va TX xususiyatlari. Bu erda RedBear NanoV2 uchun pfodDesignerV3 tomonidan ishlab chiqarilgan ba'zi namuna kodlari

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

BLECharacteristic rxCharacteristic = BLECharacteristic ("6E400002B5A3F393E0A9E50E24DCCA9E", BLEWrite, BLE_MAX_LENGTH); BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003B5A3F393E0A9E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH);

pfodDesignerV3 bir qator BLE modullari uchun namuna kodini yaratishi mumkin. Biroq, "standart" UART aloqasi uchun BLE spetsifikatsiyasi yo'qligi sababli, barcha modullar Skandinaviy UART xizmatidan foydalanmaydi. Masalan, HM-10 modullari (Itead BLE qalqoni), RFduno va Romeo BLE o'ziga xos uart xizmatlaridan foydalanadilar, shuning uchun Feather nRF52 ga ulanmaydi.

Quyidagi taxtalar ulanadi:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 va V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Board, Adafruit Bluefruit LE SPI (ya'ni Bluefruit LE Shield), Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE yoki Bluefruit LE SPI Friend) Shuningdek, maxsus xizmatlar bilan kodlanishi mumkin bo'lgan taxtalar yoki BLEPeripheral kutubxonasidan foydalanish mumkin.

Bu erda ishlatiladigan misol taxtasi pfodDesignerV3 tomonidan yaratilgan kodli Arduino/Genuino 101. Bepul pfodDesignerV3 sizga pfodApp menyularini yaratishga imkon beradi, so'ngra (pulli) pfodApp yordamida Android mobil qurilmangizda aynan shu menyuni ko'rsatish uchun zarur bo'lgan Arduino kodini yaratadi. pfodApp shuningdek, Wi -Fi orqali, shuningdek Bluetooth Classic, BLE va SMS orqali ulanadi va shu Wifi2BLE ko'prigi orqali ulanishi mumkin. Agar siz pfodApp -ni nazorat ilovasi sifatida ishlatishni xohlamasangiz ham, siz BLE platangiz uchun Skandinaviy UART xizmat kodini yaratish uchun pfodDesignerV3 -dan foydalanishingiz mumkin.

Bu qo'llanma havolasi Arduino/Genuino 101 BLE ni sozlash va pfodDesignerV3 yordamida oddiy LEDni yoqish/o'chirishni boshqarishni tasvirlaydi. PfodDesignerV3 tomonidan ishlab chiqarilgan eskiz Arduino101_led_control.ino.

Arduino/Genuino 101 ni Arduino101_led_control.ino bilan dasturlash sizga pfodApp bilan bog'lanish va Android mobil qurilmangizda quyidagi ekranni ko'rsatish imkonini beradi.

Ammo bu shunchaki misol va siz bu loyihani bajarish uchun pfodApp sotib olishingiz shart emas. Muhim jihati shundaki, bepul pfodDesignerV3 ilovasida Skandinaviy UART xizmatini amalga oshiradigan Arduino/Genuino 101 uchun kod ishlab chiqariladi. Shunday qilib, uni qidirishga ruxsat bering.

Ammo bu shunchaki misol va siz bu loyihani bajarish uchun pfodApp sotib olishingiz shart emas. Muhim jihati shundaki, pfodDesignerV3 bepul ilovasida Skandinaviy UART xizmatini amalga oshiradigan Arduino/Genuino 101 uchun kod ishlab chiqariladi. Shunday qilib, uni qidirishga ruxsat bering.

Shimoliy UART xizmati qidirilmoqda

Feather nRF52 -dan uzilgan HUZZAH ESP8266 moduli bilan, Feather nRF52 -ni central_bleuart_scanner.ino bilan dasturlashtiring, so'ngra Arduino IDE Tools → Serial Monitor -ni oching va yuk tezligini 9600 -ga o'rnating. yuqoridagi birinchi ekran tasviri.

Ko'rib turganingizdek, skaner ikkita BLE qurilmasini topdi, unda Arduino/Genuino 101, Nordic UART xizmatini topdi, lekin TX xarakteristikasi Notify -ni qo'llab -quvvatlamadi. Skaner shuningdek, RFduino BLE modulini topdi, lekin RFduino Nordic UART xizmatidan foydalanmaydi, aksincha o'z modulidan foydalanadi. Bluetooth qo'mitasi "standart" UART xizmatini ko'rsatmaganlikda ayblaydi, buning o'rniga har bir ishlab chiqaruvchiga o'z xizmatini ko'rsatishni qoldiradi.

Yuqorida aytib o'tilganidek, 101 kod pfodDesignerV3 tomonidan asosan pfodApp bilan ishlash uchun yaratilgan. pfodApp, Feather nRF52 kodi kabi TX Notify -ni tanlamaydi. pfodApp 101 bilan dasturlashtirilgan tarzda ishlaydi, lekin Feather nRF52 TX Notify -ni talab qiladi, shuning uchun Tukni qondirish uchun kodni ozgina o'zgartirish kerak.

Arduino IDE -da Arduino101_led_control.ino -ni oching va tepada siz bu ikki qatorni topasiz. Ikkinchi qator - bu xarakteristikaning tavsifi va operatsiyaga ta'sir qilmaydi.

BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("290)

Ularni o'zgartiring

BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX - (Xabar berish)");

Keyin 101-ni Arduino101_Notify_led_control.ino tahrirlangan versiyasi bilan qayta dasturlang. Keyin Feather nRF52 skanerini (central_bleuart_scanner.ino) qayta ishga tushirganingizda, Serial Monitor ekranning yuqoridagi ikkinchi ekran tasvirini ko'rsatadi.

Hozir Genuino 101 uchun hech qanday xatolik yo'q va skaner Feather nRF52 ko'prigi eskiziga kerakli kodni bosib chiqaradi, shunda u 101 ga ulanadi. Skaner topilgan har bir qurilmani tekshiradi. Nordic UART Service (TX Notify) bilan topilgan har bir qurilma uchun qizil chiroq bir marta yonadi.

6 -qadam: BLE atrof -muhit qurilmasiga ulanish

LED ko'rsatkichlari

Feather nRF52 ikkita LEDga ega: ko'k va qizil. Kengash BLE qurilmasiga ulanganda, Blue Led doimiy, aks holda u miltillaydi. Skaner qurilmaga ulanmagan, shuning uchun uning ko'k chiroqchasi miltillaydi. Har bir Nordic UART Service (TX Notify) qurilmasi uchun qizil chiroq bir marta yonadi. Skaner sifatida ishlaganda Red Led Nordic UART Service (TX Notify) qurilmalari sonini hisoblab chiqadi. Ko'prik sifatida ishlayotganda, BLE kodi ulanganida, Qizil Led bir marta yonadi.

BLE atrof -muhit qurilmasiga ulanish

Endi skaner eskizida siz ulanmoqchi bo'lgan BLE qurilmasi tafsilotlari berilgan, siz chiqishni central_bleuart_bridge.ino eskiziga nusxalashingiz mumkin. Eskizning yuqori qismida siz quyidagi kodni topasiz.

// Keyingi uchta satr kodi central_bleuart_scanner.ino chiqishidan keladi

const char *BLE_NAME = "GENUINO 101-FC8F"; const char *BLE_ADDRESS = "98: 4F: EE: 0C: FC: 8F"; const uint8_t BLE_ADDRESS_TYPE = 0;

Uch qatorli kodni almashtirmoqchi bo'lgan BLE qurilmasi uchun skanerdan olingan ma'lumot bilan almashtiring. Keyin tuklar nRF52 -ni tahrirlangan central_bleuart_bridge.ino eskizi bilan dasturlashtiring.

Central_bleuart_bridge eskizini sinovdan o'tkazish

HUZZAH ESP8266 -ni Feather nRF52 -ga qayta ulashdan oldin, BLE qurilmangizga ulanishni tekshiring. Feather nRF52 ni Arduino IDE ga ulab qoldirib, asboblar → ketma -ket monitorni 9600 boddan oching va maqsadli BLE qurilmangiz yoqilganligini tekshiring.

Yuqorida aytib o'tilganidek, sizning BLE qurilmangizga ulanganingizda, ko'k chiroq doimiy yonadi va qizil chiroq har 10 sekundda bir marta yonadi. Bu sizga ulanish o'rnatilmagan va saqlanmagan.

Keyin ketma -ket monitorda siz BLE qurilmangizga yuborishni kutayotgan buyruqlarni kiritishingiz va uning ishlashini kuzatishingiz va qaytargan javobini kuzatishingiz mumkin. Agar hamma narsa yaxshi bo'lsa, siz HUZZAH ESP8266 modulini o'chirib qo'yishingiz mumkin.

7 -qadam: BLE qurilmasiga WiFi orqali ulanish - barchasini bir joyga to'plash

HUZZAH ESP8266 modulini ko'prik kodi (Wifi_Bridge.ino) bilan tarmoq ssid va IP uchun sozlangan va sinovdan o'tkazganingizdan so'ng, BLE qurilmasining manzili bilan tuzilgan Feather nRF52 ko'prik kodi (central_bleuart_bridge.ino) bilan dasturlashtirilgan va sinovdan o'tgan. va yozing, keyin siz ularni bir -biriga ulashingiz va ikkalasini ham yoqish uchun Feather moduliga USB ta'minotini ulashingiz mumkin.

HUZZAH moduli Qizil LED mahalliy tarmoq yo'riqchisiga ulanib turganda yonib turishi kerak, tukli ko'k chiroq esa BLE qurilmangizga ulanganda yonib turishi kerak va tukli qizil chiroq har 10 soniyada yonib turishi kerak. BLE qurilmasi ulangan.

Telnet dasturini oching va HUZZAH IP va portiga ulaning. HUZZAH qizil chirog'i sizning dasturingiz ulanganligini ko'rsatish uchun sekin yonib turishi kerak va siz WiFi orqali BLE qurilmangizga buyruqlar yuborishingiz va BLE qurilmasining ishlashini kuzatishingiz va telnet oynasida javobni ko'rishingiz kerak. Esda tutingki, agar sizning BLE qurilmangiz hech qanday ma'lumotni 60 soniya davomida qaytarib yubormasa, HUZZAH kodi ulanish vaqtini uzadi va uziladi va HUZZAH Qizil chiroq yana yonadi.

8 -qadam: Yordam - ishlamaydi

Birinchidan, HUZZAH ESP2866 va Central_bleuart_bridge eskizini sinab ko'rish uchun yuqorida tavsiflangan test bosqichlarini bajaring.

Skanerlash muammolari

Agar skaner sizni BLE qurilmasini topa olmasa, u juda uzoqda yoki reklama emas yoki biror narsaga ulangan. Skanerni yaqinlashtirishga harakat qiling va qurilmani velosipedda aylantiring va BLE qurilmasiga ulanishi mumkin bo'lgan boshqa mobil qurilmalarni o'chiring.

Agar siz shunday skaner chiqishini olsangiz.

98: 4F: EE: 0C: FC: 8F ga ulangan, Skandinaviya UART xizmati qidirilmoqda… Hech kim topilmadi yoki topilmadi !!!!! Shimoliy UART xizmatini aniqlab bo'lmadi !!!!!!!! Agar siz Skandinaviya UART xizmatini kutayotgan bo'lsangiz, skanerni BLE qurilmasiga yaqinlashtiring !!!!

Ehtimol, siz BLE qurilmasiga uni aniqlash uchun etarlicha yaqinsiz, lekin Skandinaviy UART xizmatini topish uchun xizmat kashfiyotini muvaffaqiyatli amalga oshirish uchun etarlicha yaqin bo'lmasligingiz mumkin. BLE qurilmasiga yaqinroq harakat qilib ko'ring.

Oxirgi chora sifatida siz Android yoki iOS uchun bepul Nordic nRF Connect ilovasidan foydalanishingiz mumkin. Bu ilovaning diapazoni va sezuvchanligi yaxshiroq. Bu sizga BLE qurilmasida Skandinaviya UART xizmati mavjudligini aytadi. Wifi2BLE ko'prigidan foydalanishga urinishdan oldin skanerni ishga tushirish va ulash va skanerdan o'tishga majbur qilish kerak, chunki u skanerga o'xshash kodni ishlatadi.

Agar siz chuqurroq qazishni istasangiz, havoda nima borligini bilish uchun Adafruit Bluefruit LE Sniffer modulidan foydalanishingiz mumkin.

BLE ulanish muammolari

Agar siz BLE qurilmasini skanerdan o'tkazgan bo'lsangiz, ulanish muammolarining eng ko'p sabablari I) BLE qurilmasi juda uzoqda, II) BLE qurilmasiga boshqa narsa ulangan.

Wi -Fi ulanish muammolari

Agar HUZZAH ESP8266 qizil chirog'i yonmasa, u yo'riqnoma orqali tarmoqqa ulanmagan. Wifi_Bridge.ino -da kodingiz bor ssid va parolni tekshiring va siz ajratgan IP -ning ishlatilmayotganligini tekshirish uchun Android yoki iOS -ning Fing ilovasidan foydalaning. Barcha kompyuterlar va qurilmalarni o'chiring va yo'riqchini aylantiring (20 soniya davomida o'chirib qo'ying) va keyin Fing bilan qayta tekshiring. Agar ulanish uzilib qolsa, Wifi_Bridge.ino kodidagi ulanish vaqti tugashi sozlamasini eslang.

9 -qadam: kengaytmalar va xulosa

Bu erda taqdim etilgan loyiha eng oddiy versiya. Bir nechta mumkin bo'lgan kengaytmalar mavjud, masalan:

  • Feather nRF52 bir vaqtning o'zida 4 tagacha BLE qurilmasiga ulanishga qodir, shuning uchun siz kodni o'zgartirib, haqiqiy manzillarni qo'shishingiz va bitta Wi -Fi ulanishidan 4 ta qurilmani boshqarishingiz mumkin. Feather nRF52 taxtasi bilan birga keladigan misol kodini ko'ring.
  • Siz Internetning istalgan joyidan BLE qurilmasiga kirishni ta'minlash uchun yo'riqnoma teshishingiz mumkin. PfodApp yordamida DIY IoT qurilmalarini Internetga ulashga qarang.
  • Siz HUZZAH uchun Wi -Fi tarmog'ining parametrlarini veb -sahifa orqali qayta dasturlashtirmasdan sozlash imkonini berish uchun arzon/oddiy Wi -Fi qalqoni kodidan foydalanishingiz mumkin. Siz sxemaga konfiguratsiya tugmachasini qo'shishingiz kerak bo'ladi.
  • Siz Feather nRF52 ni Skandinaviy UARTli (TX Notify) BLE qurilmalarini qidirishni amalga oshiradigan konfiguratsiya tugmachasini (yuqoridagi tugmachani ishlatib) qo'shishingiz mumkin, so'ngra ulanish tafsilotlarini eng kuchli signalga saqlang. Natijani saqlash uchun siz Adafruit nRF52 taxtali o'rnatilgan nffs kutubxonasidan foydalanishingiz kerak bo'ladi.
  • Siz BLE qurilmangizga moslashtirilgan interfeysni ta'minlash uchun HUZZAH ESP8266 kodiga veb -sahifa qo'shishingiz mumkin. Siz pfodDesignerV3 va pfodApp -dan foydalanishingiz mumkin, bu loyihaga hech qanday o'zgartirishlar kiritilmagan maxsus interfeys qo'shishingiz mumkin.

Xulosa

Bu oddiy loyiha TX Notify bilan Skandinaviya UART -ni amalga oshiradigan Bluetooth Low Energy (BLE) moduliga Wi -Fi orqali kirishni ta'minlaydi. Wifi2BLE ko'prigi butunlay shaffof. U faqat WiFi ma'lumotlarini BLE qurilmasiga uzatadi va BLE qurilmasi ma'lumotlarini WiFi ulanishiga qaytaradi.

Oddiy qurilish va batafsil sinov ko'rsatmalari, bu BLE qurilmasiga kompyuterdan yoki BLE ning normal diapazonidan tashqarida kirishni xohlaydigan yangi boshlanuvchilar uchun mos loyihadir.

BLE qurilmasi uchun dasturiy ta'minot yangi Bluetooth V5 Mesh spetsifikatsiyasiga mos kelganda, bu loyiha muhimroq bo'ladi. Keyin Wifi2BLE sizning butun uyingizni avtomatlashtirish uchun Internetga kirishni ta'minlaydi.

Tavsiya: