Мазмуну:

Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө: 9 кадам (Сүрөттөр менен)
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө: 9 кадам (Сүрөттөр менен)

Video: Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө: 9 кадам (Сүрөттөр менен)

Video: Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө: 9 кадам (Сүрөттөр менен)
Video: Bluetooth Low Energy — модуль для работы с Android и iOS. Железки Амперки 2024, Июль
Anonim
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө

4 -декабрды 2017 -жылы жаңыртыңыз - Feather nRF52 эскиздери жана мүчүлүштүктөрдү оңдоо кеңештери. Коробкага орнотулган көпүрөнүн сүрөттөрү кошулду

Бул жөнөкөй долбоор TX Notify менен Nordicтин UART'ин ишке ашыруучу Bluetooth Low Energy (BLE) модулуна WiFi кирүүсүн камсыздайт. Wifi2BLE көпүрөсү толугу менен тунук. Бул жөн эле WiFi маалыматын BLE түзмөгүнө өткөрүп берет жана BLE түзмөгүнүн маалыматын кайра WiFi байланышына өткөрүп берет.

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

Бул Wifi2BLE көпүрөсү ширете турган тажрыйбасыз конструкторго ылайыктуу. Бул эки тактаны, бир лента кабелин жана эки резисторду гана колдонот

Ар бир такта үчүн деталдуу тестирлөө сыяктуу эле, бул нускама жардамды камтыйт - Бул иштебейт, көбүрөөк каталарды табуу боюнча кеңештер.

Бул көрсөтмөлөр онлайнда да бар

Эмне үчүн бул долбоор?

Бул долбоор BLE (Bluetooth Low Energy) көйгөйлөрүн чечет.

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

Бул долбоор үчүн менин дароо колдонуум - Wi -Fi тармагына эс алуу бөлмөсүн кошуу, аны үйдүн каалаган жеринен башкарууга мүмкүндүк берет. Бул окуу куралы pfodAppты BLE такталарын WiFi аркылуу башкаруунун мисалы катары колдонсо да, бул долбоорду аягына чыгаруу үчүн pfodAppты сатып алуунун кажети жок.

1 -кадам: Бөлүктөрдүн тизмеси

Баасы ~ 60 АКШ доллары, 30 -ноябрь, 2017 -жыл, жеткирүүнү кошпогондо + кичинекей пластикалык корпус

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ US $ 25

Adafruit HUZZAH ESP8266 Breakout - ~ US $ 10

Өзгөчө аялдык учтары бар лента кабели-Bus Pirate Cable ~ US $ 5 https://www.sparkfun.com/products/9556 ЖЕ 10-пиндүү IDC Socket Rainbow Breakout Cable ~ US $ 4 https://www.sparkfun.com/products/ 9556 ЖЕ окшош

Эркектердин башын бөлүү - Оң бурч - ~ US $ 2

TTL 3V3 сериялык кабелине USB - ~ 10 АКШ доллары https://www.sparkfun.com/products/12977 (Тандалган этикеткалары бар артыкчылыктуу) ЖЕ https://www.sparkfun.com/products/12977 (казыктар ЭМЕС белгиленген)

USB Aдан Micro B кабелине - ~ US $ 4 https://www.sparkfun.com/products/12977 (3 фут узун) ЖЕ ~ US $ 3 https://www.sparkfun.com/products/12977 (узундугу 6 дюйм) ЖЕ ~ US $ 2 https://www.sparkfun.com/products/12977 (6 дюйм узун) ЖЕ ~ US $ 5 https://www.sparkfun.com/products/12977 (6 фут узун) ЖЕ окшош

2 х 100 Ом каршылыгы - ~ US $ 1

USB энергия менен камсыздоо (500мА же андан көп) - ~ US $ 6 https://www.sparkfun.com/products/12890 ЖЕ ~ US $ 7 https://www.adafruit.com/product/1994 ЖЕ окшош

Arduino IDE V1.8.5 жана аны иштетүү үчүн компьютер.

Пластикалык кутуча үчүн мен Jaycar UB5 (көк) 83мм х 54мм х 31ммди колдондум ~ A $ 4

2 -кадам: Wifi2BLE Circuit

Wifi2BLE Circuit
Wifi2BLE Circuit

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

ЭСКЕРТҮҮ: TX жана RX казыктары үчүн Feather 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 пинине туташтырылган.

Төмөндө сүрөттөлгөндөй, модулдарды программалоодон башка нерсе бар, аны пластикалык кутуга салып, Feather nRF52ге USB кубаттуулугун кошуу.

4 -кадам: Wifi2BLE программалоо

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

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

Калканды программалоо үчүн https://github.com/esp8266/Arduino дарегиндеги такталарды башкаргыч менен орнотуу боюнча берилген көрсөтмөлөрдү аткарыңыз. Куралдар менеджеринен Куралдар → Такта менюсун ачып, Type Contributed тандап, esp8266 платформасын орнотуңуз. Бул долбоор ESP8266 2.3.0 версиясын колдонуу менен түзүлгөн. Башка версияларда каталардын өз топтому болот жана бул код менен иштебеши мүмкүн.

ЭСКЕРТҮҮ: Adafruit Board орнотуусун КОЛДОНБОҢУЗ, анткени бул жерде колдонулган эскиз ошол коддун алдында түзүлбөйт.

Arduino IDEди жаап, кайра ачыңыз, эми Tools → Board менюсунан "Adafruit HUZZAH ESP8266" тандасаңыз болот.

Сиз ошондой эле pfodESP8266WiFiBufferedClient китепканасынын акыркы версиясын орнотушуңуз керек. Бул китепкана ESP8266.com IDE плагин V2.3 менен иштейт. (Эгерде сиз мурда pfodESP2866WiFi китепканасын орноткон болсоңуз, ал китепкана каталогун толугу менен жок кылыңыз.)

  • a) Бул pfodESP8266WiFiBufferedClient.zip файлын компьютериңизге жүктөп алыңыз, аны рабочий столго же оңой таба турган башка папкага жылдырыңыз.
  • б) Андан кийин аны орнотуу үчүн Arduino 1.8.5 IDE менюсу эскизин колдонуу → Китепкананы импорттоо → Китепкана кошуу. (Эгерде Arduino аны орнотууга уруксат бербесе, анткени китепкана мурунтан эле бар болсо, анда эски pfodESP8266BufferedClient папкасын таап, жок кылып, анан аны импорттоп алыңыз)
  • c) Arduino IDEди токтотуп, өчүрүп күйгүзүңүз жана File-> Examples астында азыр pfodESP8266BufferedClient көрүшүңүз керек.

Тармактын ссидин жана сырсөзүн, IP жана портун орнотуу

PfodESP8266BufferedClient китепканасын орноткондон кийин, Arduino IDE ачыңыз жана бул эскизди Wifi_Bridge.ino IDEге көчүрүңүз. Модулду программалоодон мурун, тармагыңыздын ssid жана сырсөзүн коюп, колдонулбаган IP тандооңуз керек.

Wifi_Bridge.ino чокусуна жакын бул үч сапты түзөтүңүз

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

Мен Fing (Android же iOS) колдонмосун пайдаланып, жергиликтүү тармагымды сканерлеп, буга чейин колдонулган IPди аныктайм. Адатта.180ден.254ке чейин колдонулбаган IPди тандоо коопсуз

Баштоо үчүн portNo 23 катары кете аласыз, телет байланыш үчүн стандарттык порт.

Бул өзгөртүүлөрдү киргизгенден кийин, сиз ESP8266ны программалай аласыз.

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

HUZZAH ESP8266ны программалоо үчүн, сүрөттө көрсөтүлгөндөй USB сериялык кабелине туташтырыңыз. Сүрөттү жана зымдарды текшериңиз. Ошондой эле караңыз ESP8266 программалоо кеңештери (espcomm ишке ашкан жок)

Мен Sparkfun USB TTL 3V3 Сериялык Кабелине колдоном, анткени ал TX жана RX жетелөөлөрү менен белгиленген. TX коргошун RX пинге жана RX коргошун жогоруда көрсөтүлгөндөй TX пинине сайылганын тактаңыз. Эгерде сиз Adafruit кабелин колдонуп жатсаңыз, анда терминалдар жок, бирок түсү коддолгон, кызыл - кубат, кара - жер, жашыл - TX жана ак - RX.

Компьютериңизге USB сериялык кабелин туташтырыңыз жана Аспаптар → Порт менюсунда COM портун тандаңыз. CPU Frequency, Flash Size жана Upload ылдамдыгын демейки жөндөөлөрүндө калтырыңыз.

Андан кийин Adafruit HUZZAH ESP2866 модулун GPIO0 баскычын басып, Reset баскычын басып, GPIO0 баскычын коё берүү менен программалоо режимине коюңуз. GPIO0 LED жарыксыз калуусу керек. Андан кийин Файл → Жүктөө тандаңыз же Программаны компиляциялоо жана жүктөө үчүн Оңго жебе баскычын колдонуңуз. Эгер жүктөө катасы келип чыкса, кабелдик туташууларыңыз туура казыктарга туташтырылганын текшерип, кайра аракет кылыңыз.

Программалоо аяктагандан кийин Red 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 Сокет Байланыштарын Караңыз.

Бул туташуу убактысы 60 сек. бирок зарылдыгына жараша азайтууга же көбөйтүүгө болот. Аны 0 деп коюу эч качан сунушталбаган убакытты билдирет.

Жүндү программалоо nRF52

Feather nRF52ди программалоо үчүн, Feather nRF52 үчүн Arduino Board колдоосун жүктөө жана орнотуу боюнча нускамаларды аткарыңыз. Тактага USB кабели аркылуу туташа алаарыңызды текшериңиз.

ЭСКЕРТҮҮ: Feather nRF52ден HUZZAH ESP8266 модулун ажыратып, мамыкка программалоого аракет кылыңыз

Feather nRF52ди BLE түзмөгүнө туташтыруу эки этаптан турат. Биринчиден, түзмөктө MAC дарегин (жана түрүн) аныктап, аны текшерүү, TX Notify менен Nordic 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 менен Nordic UART кызматын колдоорун текшерет.

Nordic UART кызматы

Nordic 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 спецификасы жок болгондуктан, бардык модулдар Nordic 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 (б.а. Bluefruit LE Shield), Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE же Bluefruit LE SPI Friend) Ошондой эле BLEPeripheral китепканасын колдоно ала турган атайын кызматтар же такталар менен коддолушу мүмкүн болгон такталар.

Бул жерде колдонулган мисал тактасы Arduino/Genuino 101, коду pfodDesignerV3 тарабынан түзүлгөн. Акысыз pfodDesignerV3 сизге pfodApp менюну түзүүгө мүмкүндүк берет, андан кийин pfodApp (акы төлөнүүчү) аркылуу Android мобилдик телефонуңуздагы так менюну көрсөтүү үчүн керектүү Arduino кодун түзөт. pfodApp Wifi аркылуу, ошондой эле Bluetooth Classic, BLE жана SMS аркылуу туташат, ошондуктан бул Wifi2BLE көпүрөсү аркылуу туташа алат. Бирок pfodAppты көзөмөлдөөчү колдонмо катары колдонууну каалабасаңыз дагы, pfodDesignerV3 колдонуп, BLE тактаңыз үчүн скандинавиялык UART кызмат кодун түзө аласыз.

Бул окуу куралы шилтемеси Arduino/Genuino 101 BLEди орнотууну жана pfodDesignerV3 менен жөнгө салуу/өчүрүү контролун түзүүнү сүрөттөйт. PfodDesignerV3 тарабынан чыгарылган эскиз Arduino101_led_control.ino

Arduino/Genuino 101ди Arduino101_led_control.ino менен программалоо pfodApp менен туташууга жана Android мобилдик телефонуңузда төмөнкү экранды көрсөтүүгө мүмкүнчүлүк берет.

Бирок бул жөн гана мисал жана бул долбоорду аягына чыгаруу үчүн 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 Nordic UART кызматын колдонбойт, тескерисинче өзүнүн модулун колдонот. Bluetooth комитети бул үчүн "стандарттык" UART кызматын көрсөтпөгөнү үчүн күнөөнү мойнуна алат, анын ордуна ар бир өндүрүүчүнү таштап кетет.

Жогоруда айтылгандай, 101 коду pfodDesignerV3 тарабынан негизинен pfodApp менен колдонуу үчүн түзүлгөн. pfodApp, FeX nRF52 uart коду сыяктуу TX Notify жөнүндө эмес. pfodApp программасы 101 менен иштейт, бирок Feather nRF52 TX эскертүүсүн талап кылат, андыктан мамыкты канааттандыруу үчүн кодго кичине өзгөртүү керек.

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 - (кабарлоо)");

Андан кийин Arduino101_Notify_led_control.ino бул түзөтүлгөн версиясы менен 101ди кайра программалаңыз. Анан Feather nRF52 сканерин кайра иштеткенде (central_bleuart_scanner.ino), Сериялык Монитор жогоруда экинчи экранды көрсөтөт.

Genuino 101 үчүн азыр эч кандай ката жок жана сканер Feather nRF52 көпүрөсүнүн эскизине керектүү кодду басып чыгарат, ал 101ге туташат. Сканер диапазондо тапкан ар бир түзмөктү текшерет. Кызыл LED Nordic UART Service (TX Notify) менен табылган ар бир түзмөк үчүн бир жолу жаркырайт.

6 -кадам: BLE Перифериясына туташуу

LED көрсөткүчтөр

Feather nRF52де эки лед бар, Көк жана Кызыл. Такта BLE түзмөгүнө туташтырылганда, Blue Led туруктуу, антпесе ал жаркылдайт. Сканер түзмөккө туташып калбайт, андыктан анын Көк LEDи көбүнчө жаркылдайт. Кызыл LED ар бир Nordic UART Service (TX Notify) түзмөгү үчүн бир жолу жаркырайт. Сканер катары иштеп жатканда, Red Led Nordic UART Service (TX Notify) табылган түзмөктөрдүн санын эсептейт. Көпүрө катары чуркап жүргөндө, Red BLE коду 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 түзмөгүңүзгө туташуу болгондо, көк LED дайыма күйүп турат жана Кызыл лед 10 секундада бир жолу жарк этип турат. Бул сизге байланышты түзүүгө жана сактоого мүмкүндүк бербейт.

Андан кийин Сериялык Мониторго сиз BLE түзмөгүңүзгө жөнөтүүнү күткөн буйруктарды киргизип, анын иштешин көрүп, кайра кайтарылган жоопту көзөмөлдөй аласыз. Эгерде баары жакшы болсо, HUZZAH ESP8266 модулун өчүрүп, плагинге салсаңыз болот.

7 -кадам: WiFi аркылуу BLE түзмөгүнө туташуу - Бардыгын бириктирүү

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

HUZZAH Red модулу жергиликтүү тармак роутериңизге туташкандай катуу күйүп турушу керек, ал эми Feather Blue LED сиздин BLE түзмөгүңүзгө туташып тургандай катуу күйүп турушу керек, ал эми Feather Red LED 10 секундда бир жолу жаркырап турушу керек. BLE түзмөгү туташты.

Telnet программаңызды ачыңыз жана HUZZAHдын IP жана портуна туташыңыз. HUZZAH Кызыл LED программаңыз туташканын көрсөтүү үчүн акырын жарк этип турушу керек жана сиз WiFi аркылуу BLE түзмөгүңүзгө буйруктарды жөнөтүшүңүз керек жана BLE түзмөгүнүн иштешин көрүп, телнет терезеңизде кандайдыр бир жоопту көрүшүңүз керек. Эсиңизде болсун, эгер сиздин BLE түзмөгүңүз эч кандай маалыматты 60 секундага кайра жөнөтпөсө, HUZZAH коду байланышты үзүп, ажыратып коет жана HUZZAH Кызыл LED кайра бекем болуп калат.

8 -кадам: Жардам - Бул иштебейт

Биринчиден, HUZZAH ESP2866 жана Central_bleuart_bridge эскизин тестирлөө, жогоруда деталдуу тестирлөө кадамдарын жасаңыз.

Скандоо көйгөйлөрү

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

Эгерде сиз сканердин ушундай чыгарылышын алсаңыз.

98: 4F менен туташты: EE: 0C: FC: 8F Nordic UART кызматын издеп… Эч ким табылган ЖЕ табылган жок !!!!! Түндүк UART кызматын аныктай алган жок !!!!!!!! Эгерде сиз Nordic UART кызматын күтсөңүз, сканерди BLE түзмөгүнө жакындатыңыз !!!!

Балким, сиз аны аныктоо үчүн BLE түзмөгүнө жакын болушуңуз мүмкүн, бирок Скандинавиялык UART кызматын табуу үчүн Кызмат ачылышын ийгиликтүү жүргүзүү үчүн жетишсиз. BLE түзмөгүнө жакындаганга аракет кылыңыз.

Акыркы чара катары сиз Android же iOS үчүн акысыз Nordic nRF Connect колдонмосун колдоно аласыз. Бул колдонмо жакшыраак диапазонго жана сезгичтикке ээ. Бул BLE түзмөгүндө Nordic UART кызматы бар же жок экенин айтып берет. Wifi2BLE көпүрөсүн сканерге окшош кодду колдонууга аракет кылардан мурун, сканерди иштетип, скандинавиялык UART кызматын аныктап алышыңыз керек болот.

Эгерде сиз тереңирээк казгыңыз келсе, Adafruit Bluefruit LE Sniffer модулун колдонуп, абада эмне бар экенин көрө аласыз.

BLE туташуу көйгөйлөрү

Эгерде сиз BLE түзмөгүн сканерлеген болсоңуз, анда байланыш көйгөйлөрүнүн эң ыктымалдуу себептери I) BLE түзмөгү өтө алыс, II) башка нерсе буга чейин BLE түзмөгүнө туташкан

WiFi туташуу көйгөйлөрү

Эгерде HUZZAH ESP8266 Кызыл LED катуу күйбөсө, анда сиздин роутериңиз аркылуу тармагыңызга байланышы жок. Wifi_Bridge.ino ичине кодуңуз бар ssid менен сырсөздү текшериңиз жана Android же iOS Fing колдонмосун колдонуп, сиз бөлгөн IP буга чейин колдонулбаганын текшериңиз. Бардык компьютерлериңизди жана түзмөктөрүңүздү өчүрүп көрүңүз жана роутерди велосипед менен күйгүзүңүз (20 секундга өчүрүп коюңуз), анан Fing менен кайра сканерлеңиз. Акыры, эгер байланыш үзүлө берсе, Wifi_Bridge.ino кодундагы туташуунун күтүү убактысынын жөндөөсүн унутпаңыз.

9 -кадам: Кеңейтүүлөр жана Корутунду

Бул жерде көрсөтүлгөн долбоор эң жөнөкөй версия. Мүмкүн болгон бир катар кеңейтүүлөр бар:-

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

Жыйынтык

Бул жөнөкөй долбоор TX Notify менен Nordic's UART'ди ишке ашыруучу Bluetooth Low Energy (BLE) модулуна WiFi кирүүсүн камсыздайт. Wifi2BLE көпүрөсү толугу менен тунук. Бул жөн эле WiFi маалыматын BLE түзмөгүнө өткөрүп берет жана BLE түзмөгүнүн маалыматын кайра WiFi байланышына өткөрүп берет.

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

Бул долбоор BLE түзмөгүнүн программалык камсыздоосу жаңы Bluetooth V5 Mesh спецификациясын кармангандан кийин маанилүү болуп калат. Андан кийин Wifi2BLE сиздин үйүңүздүн автоматташуусуна интернет менен камсыз кылат.

Сунушталууда: