Агуулгын хүснэгт:

Энгийн WiFi -аас BLE (Bluetooth бага энерги) гүүр: 9 алхам (зурагтай)
Энгийн WiFi -аас BLE (Bluetooth бага энерги) гүүр: 9 алхам (зурагтай)

Видео: Энгийн WiFi -аас BLE (Bluetooth бага энерги) гүүр: 9 алхам (зурагтай)

Видео: Энгийн WiFi -аас BLE (Bluetooth бага энерги) гүүр: 9 алхам (зурагтай)
Видео: 125 САМЫХ ИННОВАЦИОННЫХ ЭЛЕКТРОТРАНСПОРТНЫХ И ЛИЧНЫХ ТРАНСПОРТНЫХ СРЕДСТВ 2024, Долдугаар сарын
Anonim
BLE (Bluetooth бага энерги) гүүр хүртэл энгийн WiFi
BLE (Bluetooth бага энерги) гүүр хүртэл энгийн WiFi
BLE (Bluetooth бага энерги) гүүр хүртэл энгийн WiFi
BLE (Bluetooth бага энерги) гүүр хүртэл энгийн WiFi
BLE (Bluetooth бага энерги) гүүр хүртэл энгийн WiFi
BLE (Bluetooth бага энерги) гүүр хүртэл энгийн WiFi

2017 оны 12 -р сарын 4 -ний шинэчлэлт - Feather nRF52 ноорог, дибаг хийх зөвлөмжийг шинэчилсэн. Хайрцагт суурилуулсан гүүрний зургийг нэмж оруулав

Энэхүү энгийн төсөл нь Нордикийн UART -ийг TX Notify ашиглан хэрэгжүүлдэг Bluetooth Low Energy (BLE) модульд WiFi -ээр нэвтрэх боломжийг олгодог. Wifi2BLE гүүр нь бүрэн тунгалаг юм. Энэ нь WiFi өгөгдлийг BLE төхөөрөмж рүү дамжуулж, BLE төхөөрөмжийн өгөгдлийг WiFi холболт руу буцааж дамжуулдаг.

Үнэгүй pfodDesignerV3 нь Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ба V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend зэрэг олон BLE модульд Нордикийн UART үйлчилгээг хэрэгжүүлэх кодыг бий болгодог., Adafruit Bluefruit LE SPI (өөрөөр хэлбэл Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE эсвэл Bluefruit LE SPI Friend) болон бусад үйлчилгээ нь танд өөрийн үйлчилгээг програмчлах боломжийг олгодог.

Энэхүү Wifi2BLE гүүр нь гагнах чадвартай туршлагагүй барилгачинд тохиромжтой. Энэ нь зөвхөн хоёр самбар, нэг тууз кабель, хоёр резистор ашигладаг

Самбар тус бүрийн нарийвчилсан туршилтаас гадна энэхүү зааварчилгаанд Help - it not işləm алхамыг нэмж алдааг олж засварлах зөвлөмжийг багтаасан болно.

Эдгээр зааврыг онлайнаар бас авах боломжтой

Яагаад энэ төсөл вэ?

Энэхүү төсөл нь BLE (Bluetooth Low Energy) -тэй холбоотой хэд хэдэн асуудлыг шийддэг.

  • Зөвхөн сүүлийн үеийн гар утас, компьютерууд BLE -ийг дэмждэг. Wifi2BLE гүүр нь WiFi холболттой ямар ч гар утас эсвэл компьютерт BLE төхөөрөмжийг холбох, удирдах боломжийг олгодог.
  • BLE нь хязгаарлагдмал хүрээтэй. Wifi2BLE гүүр нь BLE төхөөрөмжид байшингийн хаанаас ч (WiFi холболт байдаг), гаднаас интернэтээр нэвтрэх боломжийг олгодог.
  • BLE програмыг бий болгохын тулд та Android эсвэл iOS -ийг сурахыг шаарддаг. Wifi2BLE гүүр нь ямар ч терминалын програмаар дамжуулан бүх нийтийн телнет холболтыг өгдөг. Нэмж дурдахад та өөрийн интерфэйсийг бий болгохын тулд WiFi модульд вэб хуудас нэмж болно.
  • Програм хангамж нь хамгийн сүүлийн үеийн Bluetooth -ийн тодорхойлолтыг олж авсны дараа BLE V5 нь таны гэрийн бүх BLE төхөөрөмжийг холбох сүлжээний сүлжээг амлаж байна. Wifi2BLE гүүр нь BLE V5 төхөөрөмжийг ашигладаг тул ирэхэд энэ гэрийн сүлжээнд интернет холболт өгөх болно.

Энэ төслийн хувьд миний нэн даруй ашиглах зүйл бол амралтын өрөө BLE гэрлийн хяналтыг WiFi сүлжээнд нэмж, байшингийн хаанаас ч хамаагүй удирдах боломжтой болгох явдал юм. Хэдийгээр энэ заавар нь pfodApp -ийг BLE самбарыг WiFi -ээр удирдах жишээ болгон ашигладаг боловч энэ төслийг дуусгахын тулд pfodApp худалдаж авах шаардлагагүй болно.

Алхам 1: эд ангиудын жагсаалт

Зардал ~ 2017 оны 11 -р сарын 30 -ны байдлаар 60 доллар, тээвэрлэлт + жижиг хуванцар хаалтыг оруулаагүй болно

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 ам.доллар

Adafruit HUZZAH ESP8266 Breakout - ~ US $ 10

Тусдаа эмэгтэй үзүүр бүхий туузан кабель-Автобусны дээрэмчин кабель ~ 5 доллар. 9556 эсвэл үүнтэй төстэй

Эрэгтэй толгойн толгойноос салах - Зөв өнцөг - ~ US $ 2

USB -ээс TTL 3V3 цуваа кабель - ~ 10 ам доллар хаяглагдсан)

USB A -аас Micro B кабель - ~ 4 ам доллар https://www.sparkfun.com/products/12977 (3 фут урт) ЭСВЭЛ ~ 3 доллар OR ~ US $ 2 https://www.sparkfun.com/products/12977 (6 инчийн урт) ЭСВЭЛ ~ US $ 5 https://www.sparkfun.com/products/12977 (6 фут урт) Эсвэл үүнтэй төстэй

2 x 100 ом эсэргүүцэл - ~ 1 ам доллар.

USB тэжээлийн хангамж (500мА ба түүнээс дээш) - ~ US $ 6 https://www.sparkfun.com/products/12890 ЭСВЭЛ ~ 7 доллар

Arduino IDE V1.8.5 ба түүнийг ажиллуулах компьютер.

Хуванцар хайрцгийн хувьд би Jaycar UB5 (цэнхэр) 83mm x 54mm x 31mm ~ 4 долларын хайрцгийг ашигласан.

Алхам 2: Wifi2BLE хэлхээ

Wifi2BLE хэлхээ
Wifi2BLE хэлхээ

Wifi2BLE хэлхээг дээр харуулав. Pdf хувилбар энд байна. Таны харж байгаагаар хэлхээ нь маш энгийн. Ердөө 4 утас, хоёр 100 ом хамгаалалтын эсэргүүцэл. HUZZAH ESP8266 эсвэл Feather nRF52 програмчилсны дараа хамгаалалтын резистор нь TX / RX шугамыг тасалсан тохиолдолд тохиолддог.

ТАЙЛБАР: TX ба RX тээглүүрийн өдний nRF52 хавтангийн тэмдэглэгээ нь буруу байна. TX зүү нь үнэндээ DFU зүүний хажууд байгаа бөгөөд RX зүү нь MISO зүүний хажууд байрладаг

Дээр үзүүлсэн шиг TX/RX шугамыг холбосон эсэхээ шалгаарай. Аз болоход хамгаалалтын резисторууд үүргээ гүйцэтгэж, самбарууд яагаад эвдэрсэнгүй, яагаад самбарууд бие биен рүүгээ аваагүй байгааг олж мэдэв.

Алхам 3: Wifi2BLE бүтээн байгуулалт

Wifi2BLE Барилга
Wifi2BLE Барилга
Wifi2BLE Барилга
Wifi2BLE Барилга
Wifi2BLE Барилга
Wifi2BLE Барилга

HUZZAH ESP8266 дээр гагнасан зөв өнцөг бүхий толгойн голууд нь програмчлалд салгагдах боломжийг олгодог. Туузан кабелийн дөрвөн утсыг хоёр самбарыг холбоход ашигладаг. Эмэгтэй зүү холбогчийг байлгаж, тууз кабелийн нөгөө үзүүрийг таслана. Миний тууз кабель нь Sparkfun USB to TTL програмчлалын кабельтай ижил өнгөтэй байсан тул утсыг тааруулахаар сонгосон. GND -ийн хар, 5V -ийн улаан, TX -ийн улбар шар (ESP8266 RX -тэй холбогддог), RX -ийн хүрэн (ESP8266 TX -тэй холбогддог)

Би Feather nRF52 хавтангийн ард хамгаалалтын резисторыг холбосон. (Эсэргүүцлийн кодыг мэддэг ажиглагч конструкторууд би 100 омын оронд гартаа 68 ом эсэргүүцэлтэй хоёр резин ашиглаж байснаа харах болно), дараа нь жаахан боолтоор тусгаарлав.

HUZZAH ESP8266 модулийг тэжээхийн тулд USB 5V -ийг авахын тулд Улаан кабелийг Feather nRF52 USB зүүгээр гагнаж, Хар кабелийг Feather nRF52 GND зүүгээр гагнаж байна.

Доор тайлбарласны дагуу модулийг програмчилж, хуванцар хайрцагт хийж, USB тэжээлийн хангамжийг Feather nRF52 -т залгахаас өөр зүйл байхгүй.

Алхам 4: Wifi2BLE програмчлал

Wifi2BLE програмчлал
Wifi2BLE програмчлал
Wifi2BLE програмчлал
Wifi2BLE програмчлал
Wifi2BLE програмчлал
Wifi2BLE програмчлал

HUZZAH ESP8266 програмчлах

Бамбайг програмчлахын тулд https://github.com/esp8266/Arduino дээр самбарын менежерийг суулгах хэсэгт өгсөн зааврыг дагана уу. Tools → Board цэснээс Board Manager -ийг нээхдээ Type Contributed командыг сонгоод esp8266 платформыг суулгана уу. Энэхүү төслийг ESP8266 2.3.0 хувилбар ашиглан эмхэтгэсэн. Бусад хувилбарууд өөрийн гэсэн алдаатай байх бөгөөд энэ кодтой ажиллахгүй байж магадгүй юм.

ТАЙЛБАР: Adafruit Board -ийн суулгалтыг бүү ашиглаарай, учир нь энд ашигласан тоймыг энэ кодын дагуу эмхэтгэхгүй.

Arduino IDE-г хааж, дахин нээгээд одоо Tools → Board цэснээс "Adafruit HUZZAH ESP8266" -г сонгож болно.

Та мөн pfodESP8266WiFiBufferedClient номын сангийн хамгийн сүүлийн хувилбарыг суулгах хэрэгтэй. Энэ номын сан нь ESP8266.com IDE plug-in V2.3-тэй ажилладаг. (Хэрэв та өмнө нь pfodESP2866WiFi номын санг суулгасан бол номын сангийн лавлах санг бүрмөсөн устга.)

  • a) Энэ pfodESP8266WiFiBufferedClient.zip файлыг компьютер дээрээ татаж аваад ширээний компьютер эсвэл өөр амархан олддог хавтас руу зөөнө үү.
  • b) Дараа нь Arduino 1.8.5 IDE цэсийн Sketch → Номын санг импортлох → Номын сан нэмэх сонголтыг ашиглан суулгаарай. (Хэрэв номын сан аль хэдийн байгаа учраас Arduino танд суулгахыг зөвшөөрөөгүй бол хуучин pfodESP8266BufferedClient фолдерыг олж устгаад дараа нь үүнийг импортлоорой)
  • c) Arduino IDE-ийг зогсоож, дахин эхлүүлээрэй, мөн File-> Examples хэсэгт та одоо pfodESP8266BufferedClient-ийг харах ёстой.

Сүлжээний ssid, нууц үг, IP ба портыг тохируулах

PfodESP8266BufferedClient номын санг суулгасны дараа Arduino IDE -ийг нээж, Wifi_Bridge.ino ноорогыг IDE руу хуулна уу. Модулийг програмчлахаасаа өмнө сүлжээнийхээ ssid болон нууц үгийг тохируулж, ашиглагдаагүй IP хаягаа сонгох хэрэгтэй.

Wifi_Bridge.ino -ийн дээд хэсэгт байрлах эдгээр гурван мөрийг засна уу

char ssid = "**** ***"; char нууц үг = "**** *****"; char staticIP = "10.1.1.180";

Би Fing (Android эсвэл iOS) програмыг ашиглан дотоод сүлжээгээ сканнердаж, аль хэдийн ашигласан IP хаягийг тодорхойлдог. Ашиглагдаагүй IP хаягийг.180 -аас.254 хүртэл сонгох нь ихэвчлэн аюулгүй байдаг

Эхлэхийн тулд та портNo -г 23 гэж орхиж болно, энэ нь telnet холболтын стандарт порт юм.

Эдгээр өөрчлөлтийг хийсний дараа та ESP8266 програмыг програмчилж болно.

HUZZAH ESP8266 програмчлах

HUZZAH ESP8266 програмчлахын тулд зураг дээр үзүүлсэн шиг USB -ийг цуваа кабелиар холбоно уу. Зураг болон утсыг шалгана уу. Мөн ESP8266 програмчлалын зөвлөмжийг үзнэ үү (espcomm амжилтгүй болсон)

Би Sparkfun USB -ийг TTL 3V3 цуваа кабельд ашигладаг, учир нь TX ба RX утаснуудыг тэмдэглэсэн байдаг. TX утас нь RX зүү, RX тугалга нь дээр үзүүлсэн шиг TX зүү рүү залгагдсан эсэхийг шалгаарай. Хэрэв та Adafruit кабель ашиглаж байгаа бол терминалууд нь тэмдэглэгдээгүй боловч өнгөөр кодлогдсон, улаан нь хүч, хар нь газардуулсан, ногоон нь TX, цагаан нь RX байна.

USB -ээс Цуваа руу залгах кабелийг компьютерт холбоод Tools → Port цэснээс COM портыг сонгоно уу. CPU -ийн давтамж, флаш хэмжээ, байршуулах хурдыг үндсэн тохиргоонд нь үлдээгээрэй.

Дараа нь Adafruit HUZZAH ESP2866 модулийг програмчлалын горимд оруулаад GPIO0 товчлуурыг дарж Reset товчлуур дээр дараад GPIO0 товчлуурыг суллана уу. GPIO0 LED нь бага гэрэлтэй хэвээр байх ёстой. Дараа нь Файл → Байршуулалтыг сонгоно уу эсвэл Баруун сум товчийг ашиглан програмыг хөрвүүлж, байршуулна уу. Хэрэв та байршуулах алдааны мессеж авбал кабелийн холболтыг зөв залгуурт залгасан эсэхийг шалгаад дахин оролдоно уу.

Програмчлал дууссаны дараа модуль дээрх Улаан гэрэл асах ёстой. Энэ нь таны локал сүлжээнд амжилттай холбогдож, серверийг холболтыг хүлээн зөвшөөрч эхэлснийг илтгэнэ.

HUZZAH ESP2866 -ийг туршиж байна

HUZZAH ESP2866 -ийг туршихын тулд програмчлалын кабелийг холбогдоогүй байлгаад Arduino IDE Tools → Serial Monitor -ийг нээгээд 9600 baud (баруун доод буланд) тохируулна уу. Дараа нь компьютер дээрээ терминал програмыг нээнэ үү, би Windows -д зориулсан TeraTerm, Mac -д зориулсан CoolTerm -ийг ашиглаж, Wifi_Bridge.ino -ийн ноорог дээр тохируулаагүй IP болон порт руу холбогдоно уу.

Улаан модулийг холбоход модуль асч эхлэх бөгөөд энэ нь холболт байгааг илтгэнэ. Та одоо компьютерынхаа терминалын цонхонд бичих боломжтой байх ёстой бөгөөд тэмдэгтүүд Arduino IDE -ийн дэлгэцийн цонхонд гарч ирэх ёстой.

Wifi холболтын завсарлага

Wifi_Bridge.ino код нь холбогдох хугацаатай байна.

uint32_t connectionTimeout = 60000; // 60 сек холболтын хугацаа дууссан

Хэрэв HUZZAH ESP8266 модульд 60 секундын турш WiFi өгөгдөл байхгүй бол модулиуд холболтыг хааж, шинэ холболтыг хүлээнэ. Энэ нь модуль нь WiFi холболт муу, чиглүүлэгчийн тэжээлийн алдагдал эсвэл үйлчлүүлэгчийг албадан унтраасны улмаас үйлчлүүлэгч алга болоход хүргэдэг "хагас хаалттай" холболтоос сэргээгддэг. Дэлгэрэнгүй мэдээллийг TCP/IP Socket Half-Open (Droped) холболтыг илрүүлэхээс үзнэ үү.

Энэ холболтын хугацаа 60 сек байхаар тохируулагдсан. гэхдээ шаардлагатай бол бууруулах эсвэл нэмэгдүүлэх боломжтой. Үүнийг 0 болгож тохируулах нь зөвлөдөггүй цаг дуусахгүй гэсэн үг юм.

Өд nRF52 програмчлах

Feather nRF52 -ийг програмчлахын тулд Feather nRF52 -ийн Arduino Board дэмжлэгийг татаж суулгах тухай зааврыг дагана уу. Та USB кабелиар холбогдож, самбарыг програмчилж болно.

ТАЙЛБАР: Өдийг програмчлахаасаа өмнө HUZZAH ESP8266 модулийг Feather nRF52 -аас салга

Feather nRF52 -ийг BLE төхөөрөмжтэй холбох нь хоёр алхамаас бүрдэнэ. Эхлээд төхөөрөмж дээрх MAC хаягийг (мөн төрлийг) тодорхойлж, TX Notify ашиглан Нордикийн UART үйлчилгээг дэмжиж, дараа нь тэр хаяг болон төрлийг гүүрний ноорог руу шилжүүлнэ үү.

Алхам 5: BLE төхөөрөмжид холбогдох

BLE төхөөрөмжид холбогдох
BLE төхөөрөмжид холбогдох
BLE төхөөрөмжид холбогдох
BLE төхөөрөмжид холбогдох
BLE төхөөрөмжид холбогдох
BLE төхөөрөмжид холбогдох

HUZZAH ESP8266 програмчлагдсаны дараа та Feather nRF52 ноорог дээр BLE хаяг болон холбогдохыг хүссэн төхөөрөмжийн төрлийг кодлох хэрэгтэй. Энэ бол хоёр үе шаттай үйл явц юм. I) Скандинавын UART үйлчилгээ (TX Notify) -ийг хэрэгжүүлдэг ойролцоох BLE төхөөрөмжүүдийг хайж олохын тулд сканнердах програмыг ажиллуулаад дараа нь уг сканнерын гаралтыг Feather гүүрний ноорог дээр хуулж уг төхөөрөмжид холбоно уу.

BLE дагалдах хэрэгслийг хайж байна

Тохирох BLE дагалдах хэрэгслүүдийг тодорхойлохын тулд central_bleuart_scanner.ino програмыг Feather nRF52 дээрээ ачаална уу. Энэ програм нь шинэ төхөөрөмжүүдийг байнга хайж, дараа нь TX Notify ашиглан Нордикийн UART үйлчилгээг дэмжиж байгаа эсэхийг шалгадаг.

Нордикийн UART үйлчилгээ

Нордикийн UART үйлчилгээ нь Service UUID, RX ба TX гэсэн гурван хэсгээс бүрдэнэ. RedBear NanoV2 -ийн pfodDesignerV3 -ээс үүсгэсэн зарим жишээ кодыг энд оруулав

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 нь хэд хэдэн BLE модулийн дээжийн кодыг үүсгэх боломжтой. Гэсэн хэдий ч "стандарт" UART холболтын BLE тодорхойлолт байхгүй тул бүх модуль нь Нордикийн UART үйлчилгээг ашигладаггүй. Жишээлбэл, HM-10 модулиуд (Itead BLE бамбай), RFduno, Romeo BLE нар өөрсдийн өвөрмөц uart үйлчилгээг ашигладаг бөгөөд Feather nRF52-тэй холбогдохгүй.

Дараах самбарууд холбогдоно:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ба V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Board, Adafruit Bluefruit LE SPI Shield (өөрөөр хэлбэл Bluefruit LE Shield), Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE эсвэл Bluefruit LE SPI Friend) Мөн тусгай үйлчилгээгээр кодлох боломжтой самбар эсвэл BLEPeripheral номын санг ашиглах боломжтой самбар.

Энд ашигласан жишээ самбар нь pfodDesignerV3 -ийн үүсгэсэн кодтой Arduino/Genuino 101 юм. Үнэгүй pfodDesignerV3 нь pfodApp цэсийг үүсгэх боломжийг олгодог бөгөөд дараа нь (төлбөртэй) pfodApp ашиглан таны Андройд гар утсан дээрх яг энэ цэсийг харуулахад шаардлагатай Arduino кодыг үүсгэдэг. pfodApp нь Wifi, Bluetooth Classic, BLE, SMS -ээр холбогддог тул энэхүү Wifi2BLE гүүрээр холбогдох боломжтой. Гэсэн хэдий ч хэрэв та pfodApp -ийг өөрийн хяналтын апп болгон ашиглахыг хүсэхгүй байгаа ч гэсэн та pfodDesignerV3 -ийг ашиглан BLE самбартаа Нордикийн UART үйлчилгээний кодыг үүсгэж болно.

Энэхүү гарын авлагын холбоос нь Arduino/Genuino 101 BLE -ийг тохируулах, pfodDesignerV3 ашиглан энгийн LED асаах/унтраах хяналтыг бий болгох талаар тайлбарласан болно. PfodDesignerV3 -ийн бүтээсэн ноорог бол Arduino101_led_control.ino юм.

Arduino/Genuino 101 -ийг Arduino101_led_control.ino програмчлах нь pfodApp -тэй холбогдож Андройд гар утсан дээрээ дараах дэлгэцийг харуулах болно.

Гэсэн хэдий ч энэ бол зөвхөн жишээ бөгөөд та энэ төслийг дуусгахын тулд pfodApp худалдаж авах шаардлагагүй болно. Чухал хэсэг нь үнэгүй pfodDesignerV3 аппликейшн нь Нордикийн UART үйлчилгээг хэрэгжүүлдэг Arduino/Genuino 101 код үүсгэх явдал юм. Тиймээс үүнийг хайж үзье.

Гэсэн хэдий ч энэ бол зөвхөн жишээ бөгөөд та энэ төслийг дуусгахын тулд pfodApp худалдаж авах шаардлагагүй болно. Чухал хэсэг нь үнэгүй pfodDesignerV3 аппликейшн нь Нордикийн UART үйлчилгээг хэрэгжүүлдэг Arduino/Genuino 101 код үүсгэх явдал юм. Тиймээс үүнийг хайж үзье.

Нордикийн UART үйлчилгээг хайж байна

HUZZAH ESP8266 модуль нь Feather nRF52 -аас салгагдсанаар Feather nRF52 -ийг central_bleuart_scanner.ino програмчилж, дараа нь Arduino IDE Tools → Serial Monitor -ийг нээж, дамжуулалтын хурдыг 9600 болгож тохируулна уу. дээрх анхны дэлгэцийн зураг.

Таны харж байгаагаар сканнер нь BLE гэсэн хоёр төхөөрөмж, Arduino/Genuino 101 -ээс Нордикийн UART үйлчилгээг олсон боловч TX шинж чанар нь Notify -ийг дэмждэггүй. Сканнер нь RFduino BLE модулийг олсон боловч RFduino нь Нордикийн UART үйлчилгээг ашигладаггүй, харин өөрийн модулийг ашигладаг. Блютүүт хороо нь UART -ийн стандарт үйлчилгээг зааж өгөөгүй, үүний оронд үйлдвэрлэгч бүрийг өөрсдийн үйлчилгээгээ орхиход буруутгаж байна.

Дээр дурдсанчлан 101 кодыг pfodDesignerV3 -ээс голчлон pfodApp -т ашиглах зорилгоор бүтээсэн болно. pfodApp нь FeX nRF52 uart код шиг TX Notify -ийг сонгодоггүй. pfodApp нь 101 -тэй програмчлагдсан байдлаар ажилладаг боловч Feather nRF52 нь TX Notify -ийг шаарддаг тул өдийг хангахын тулд кодонд бага зэрэг өөрчлөлт оруулах шаардлагатай болдог.

Arduino IDE дээр Arduino101_led_control.ino -г нээгээд дээд талд нь эдгээр хоёр мөрийг олох болно. Хоёрдахь мөр нь зөвхөн шинж чанарын тодорхойлолт бөгөөд үйл ажиллагаанд нөлөөлөхгүй.

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

Тэдгээрийг өөрчил

BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX - (Мэдэгдэх)");

Дараа нь 101-ийг Arduino101_Notify_led_control.ino гэсэн энэхүү засварласан хувилбараар дахин програмчлаарай. Дараа нь та Feather nRF52 скан хийгчийг дахин ажиллуулахад (central_bleuart_scanner.ino) Цуваа дэлгэц дээрх дэлгэцийн хоёр дахь зургийг харуулна.

Genuino 101 -д одоо ямар ч алдаа байхгүй бөгөөд сканнер нь Feather nRF52 гүүрний ноорог хийхэд шаардлагатай кодыг хэвлээд 101 рүү холбогдох болно. Сканнер олсон төхөөрөмж бүрийг шалгаж үзэх болно. Улаан гэрэл нь Nordic UART Service (TX Notify) -ээс олдсон төхөөрөмж бүрт нэг удаа анивчдаг.

Алхам 6: BLE захын төхөөрөмжид холбогдох

LED заалт

Feather nRF52 нь цэнхэр, улаан гэсэн хоёр гэрэлтэй. Самбарыг BLE төхөөрөмжид холбоход Цэнхэр LED нь тогтмол, өөрөөр хэлбэл анивчдаг. Сканнер төхөөрөмжтэй холбогдоогүй тул цэнхэр туяа нь ихэвчлэн анивчдаг. Улаан гэрэл нь Нордикийн UART Service (TX Notify) төхөөрөмж бүрт нэг удаа анивчдаг. Улаан сканнераар ажиллаж байхдаа Улаан Led нь Нордикийн UART Service (TX Notify) төхөөрөмжүүдийн тоог тоолдог. Гүүр болж ажиллах үед BLE хаягийн кодтой холбогдсон үед Улаан гэрэл нэг удаа анивчдаг.

BLE захын төхөөрөмжид холбогдох

Сканнерын ноорог нь холбогдохыг хүссэн BLE төхөөрөмжийн дэлгэрэнгүй мэдээллийг өгсөн тул та гаралтыг central_bleuart_bridge.ino ноорог руу хуулж болно. Ноорогны дээд талд та дараах кодыг олох болно.

// Эдгээр дараагийн гурван мөр код нь central_bleuart_scanner.ino гаралтаас гаралтай

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

Гурван мөр кодыг солихыг хүсч буй BLE төхөөрөмжийн скан хийгчийн гаралтаар солино уу. Дараа нь өд nRF52 -ийг засварласан central_bleuart_bridge.ino ноорогоор програмчлаарай.

Central_bleuart_bridge ноорогыг туршиж байна

HUZZAH ESP8266 -ийг Feather nRF52 -д залгахаасаа өмнө BLE төхөөрөмжтэйгээ холболтоо шалгаарай. Feather nRF52 -ийг Arduino IDE -тэй холбож өгөөд Tools → Serial Monitor -ийг 9600 baud дээр нээгээд зорилтот BLE төхөөрөмжөө асаалттай эсэхийг шалгаарай.

Дээр тайлбарласны дагуу таны BLE төхөөрөмжтэй холболт хийсний дараа Цэнхэр гэрэл байнга асах бөгөөд Улаан гэрэл 10 секунд тутамд нэг удаа анивчдаг. Энэ нь холболт хийгдээгүй, хадгалагдахгүй байх боломжийг танд олгоно.

Дараа нь Цуваа монитор дээр та BLE төхөөрөмждөө илгээх гэж буй тушаалуудыг оруулж, түүний ажиллагааг ажиглаж, буцааж илгээсэн хариу үйлдлийг хянах боломжтой. Хэрэв бүх зүйл сайн бол та HUZZAH ESP8266 модулийг унтрааж, залгаж болно.

Алхам 7: WiFi -ээр BLE төхөөрөмжид холбогдох - Бүгдийг хамтад нь оруулах

Та HUZZAH ESP8266 модулийг сүлжээнийхээ ssid болон нууц үгийг тохируулсан гүүрний кодоор (Wifi_Bridge.ino) програмчилж, туршиж үзсэнийхээ дараа BLE төхөөрөмжийн хаягаар тохируулсан Feather nRF52 -ийг гүүрний кодоор (central_bleuart_bridge.ino) програмчилж, туршиж үзсэн болно. бичээд дараа нь хоёуланг нь асаахын тулд тэдгээрийг хооронд нь холбож, Feather модульд USB тэжээлийг холбож болно.

HUZZAH Улаан модуль нь таны дотоод сүлжээний чиглүүлэгчтэй холбогдсон үед гэрэлтэж, Од Цэнхэр туяа нь таны BLE төхөөрөмжид холбогдсон үед хатуу асах ёстой бөгөөд Өд Улаан туяа 10 секунд тутамд нэг удаа анивчдаг. BLE төхөөрөмж холбогдсон байна.

Telnet програмаа нээгээд HUZZAH -ийн IP ба порт руу холбогдоно уу. HUZZAH Улаан чийдэн нь таны програм холбогдсоныг илтгэхийн тулд аажмаар анивчдаг бөгөөд та WiFi -ээр дамжуулан BLE төхөөрөмждөө командыг илгээж, BLE төхөөрөмжийг ажиллуулж, телнет цонхондоо ямар нэгэн хариу өгөхийг харах ёстой. Хэрэв таны BLE төхөөрөмж 60 секундын дотор ямар ч өгөгдөл илгээхгүй бол HUZZAH код нь холболтыг тасалж, салгах бөгөөд HUZZAH Улаан гэрэл дахин асах болно.

Алхам 8: Тусламж - Энэ нь ажиллахгүй байна

Нэгдүгээрт, HUZZAH ESP2866 -ийг туршиж үзэх, central_bleuart_bridge ноорогыг туршихын тулд дээр дурдсан туршилтын алхамуудыг хий.

Скан хийх асуудал

Хэрэв сканнер танд BLE төхөөрөмжийг олж чадахгүй бол энэ нь хэт хол эсвэл зар сурталчилгаагүй эсвэл аль хэдийн ямар нэгэн зүйлд холбогдсон байна. Скан хийгчийг ойртуулж, төхөөрөмжийг асааж, BLE төхөөрөмжтэй холбогдож болзошгүй бусад гар утасны төхөөрөмжүүдийг унтрааж үзээрэй.

Хэрэв та ийм сканнер гаралтыг авбал.

98: 4F: EE: 0C: FC: 8F -тэй холбогдсон Нордикийн UART үйлчилгээг хайж байна … Хайхгүй эсвэл олохгүй байна !!!!! Нордикийн UART үйлчилгээг тодорхойлж чадсангүй !!!!!!!! Хэрэв та Нордикийн UART үйлчилгээг хүлээж байсан бол скан хийгчийг BLE төхөөрөмж рүү ойртуулна уу !!!!

Магадгүй та BLE төхөөрөмжид үүнийг илрүүлэхэд ойрхон байгаа ч Нордикийн UART үйлчилгээг олохын тулд үйлчилгээний нээлтийг амжилттай хийх хангалттай ойрхон биш байж магадгүй юм. BLE төхөөрөмж рүү ойртож үзээрэй.

Хамгийн сүүлчийн арга бол та Android эсвэл iOS -д зориулсан Nordic nRF Connect үнэгүй програмыг ашиглаж болно. Энэ апп нь илүү сайн хүрээ, мэдрэмжтэй байдаг. BLE төхөөрөмж нь Нордикийн UART үйлчилгээтэй эсэхийг танд хэлэх болно. Гэсэн хэдий ч та сканнертай ижил код ашигладаг тул Wifi2BLE гүүрийг ашиглахаасаа өмнө скандерыг ажиллуулж, Нордикийн UART үйлчилгээг таних шаардлагатай хэвээр байх болно.

Хэрэв та илүү гүнзгий ухахыг хүсч байвал агаарт байгаа зүйлийг харахын тулд Adafruit Bluefruit LE Sniffer модулийг ашиглаж болно.

BLE холболтын асуудал

Хэрэв та BLE төхөөрөмжийг скан хийж чадсан бол холболтын асуудлын хамгийн магадлалтай шалтгаан нь I) BLE төхөөрөмж хэт хол, II) BLE төхөөрөмжид аль хэдийн өөр зүйл холбогдсон байна.

WiFi холболтын асуудал

Хэрэв HUZZAH ESP8266 Улаан гэрэл хатуу асахгүй бол таны чиглүүлэгчээр дамжуулан сүлжээндээ холбогдоогүй болно. Wifi_Bridge.ino дээр код байгаа ssid болон нууц үгээ шалгаад Fing аппликэйшнийг ашиглан Android эсвэл iOS -ийг ашиглан таны хуваарилсан IP ашиглагдаагүй байгаа эсэхийг шалгаарай. Бүх компьютер, төхөөрөмжөө унтрааж, чиглүүлэгчийг 20 секундын турш унтраагаад дараа нь Fing ашиглан дахин скан хийгээрэй. Эцэст нь хэрэв холболт тасарсаар байвал Wifi_Bridge.ino код дээрх холболтын хугацаа дуусах тохиргоог санаарай.

Алхам 9: Өргөтгөл ба дүгнэлт

Энд танилцуулсан төсөл бол хамгийн энгийн хувилбар юм. Олон тооны нэмэлт өргөтгөлүүд байдаг, тухайлбал:-

  • Feather nRF52 нь 4 хүртэлх BLE төхөөрөмжтэй нэгэн зэрэг холбогдох боломжтой тул кодыг өөрчилж, илүү зөв хаяг нэмж, нэг WiFi холболтоос 4 хүртэлх төхөөрөмжийг удирдах боломжтой болно. Feather nRF52 самбарыг суулгахтай холбоотой жишээг үзнэ үү.
  • Та интернетийн хаана ч байсан BLE төхөөрөмжид нэвтрэх боломжийг олгохын тулд чиглүүлэгчийнхээ нүхийг цоолж болно. DIY IoT төхөөрөмжийг pfodApp ашиглан интернетэд холбохыг үзнэ үү.
  • Та Cheap/Энгийн Wifi Shield -ийн кодыг ашиглан HUZZAH -д зориулсан WiFi сүлжээний параметрүүдийг вэб хуудсаар дамжуулан дахин програмчлахгүйгээр тохируулах боломжтой болно. Та хэлхээнд тохиргооны товчлуур нэмэх шаардлагатай болно.
  • Та Feather nRF52 -ийг Нордикийн UART (TX Notify) бүхий BLE төхөөрөмжүүдийг хайх боломжийг олгодог тохиргооны товчлуурыг (дээрх товчлуурыг ашиглан) нэмж, дараа нь хамгийн хүчтэй дохио бүхий холболтын дэлгэрэнгүй мэдээллийг хадгалах боломжтой. Үр дүнг хадгалахын тулд та Adafruit nRF52 самбарыг суулгасан nffs номын санг ашиглах хэрэгтэй болно.
  • Та BLE төхөөрөмжийнхөө интерфейсийг хангахын тулд HUZZAH ESP8266 кодонд вэб хуудас нэмж болно. Та мөн pfodDesignerV3 болон pfodApp -ийг ашиглан энэ төсөлд огт өөрчлөлт ороогүй өөрчлөн тохируулсан интерфэйсийг нэмж болно.

Дүгнэлт

Энэхүү энгийн төсөл нь Нордикийн UART -ийг TX Notify ашиглан хэрэгжүүлдэг Bluetooth Low Energy (BLE) модульд WiFi -ээр нэвтрэх боломжийг олгодог. Wifi2BLE гүүр нь бүрэн тунгалаг юм. Энэ нь WiFi өгөгдлийг BLE төхөөрөмж рүү дамжуулж, BLE төхөөрөмжийн өгөгдлийг WiFi холболт руу буцааж дамжуулдаг.

Энгийн бүтэц, туршилтын нарийвчилсан заавар нь BLE төхөөрөмжөө компьютерээсээ эсвэл BLE -ийн хэвийн хязгаараас гадуур нэвтрэхийг хүсч буй эхлэгчдэд тохиромжтой төсөл юм.

BLE төхөөрөмжийн програм хангамж нь Bluetooth V5 Mesh -ийн шинэ үзүүлэлтүүдийг олж авсны дараа энэ төсөл илүү чухал болох болно. Дараа нь Wifi2BLE нь танай байшингийн автоматжуулалтад интернет холболт өгөх болно.

Зөвлөмж болгож буй: