Мазмұны:

BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi: 9 қадам (суреттермен)
BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi: 9 қадам (суреттермен)

Бейне: BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi: 9 қадам (суреттермен)

Бейне: BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi: 9 қадам (суреттермен)
Бейне: НОВЫЙ BLUETOOTH — ЭТО КРУТО! | РАЗБОР BLE Audio 2024, Шілде
Anonim
BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi
BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi
BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi
BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi
BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi
BLE (Bluetooth төмен энергия) көпіріне қарапайым WiFi

2017 жылдың 4 желтоқсанын жаңарту - Feather nRF52 эскиздері мен жөндеу бойынша кеңестер. Қорапқа салынған көпір суреттері қосылды

Бұл қарапайым жоба TX Notify көмегімен Nordic's UART енгізетін кез келген Bluetooth Low Energy (BLE) модуліне WiFi қол жеткізуді қамтамасыз етеді. Wifi2BLE көпірі толығымен мөлдір. Ол WiFi деректерін BLE құрылғысына береді және BLE құрылғысының деректерін WiFi қосылымына қайтарады.

Тегін pfodDesignerV3 көптеген BLE модульдерінде скандинавиялық 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 сіздің үйдегі барлық BLE құрылғыларын қосуға арналған желілік желіні уәде етеді, егер бағдарламалық жасақтама Bluetooth -дің соңғы сипаттамасына сәйкес келсе. Wifi2BLE көпірі BLE V5 құрылғысын пайдаланады, сондықтан ол осы үй желісіне Интернетке кіруді қамтамасыз етеді.

Мен бұл жобаны тез арада қолданамын - демалыс бөлмесін BLE жарықтандырғышын WiFi желісіне қосу, оны үйдің кез келген жерінен басқаруға мүмкіндік береді. Бұл нұсқаулықта WiFi арқылы BLE тақталарын басқарудың мысалы ретінде pfodApp қолданылғанымен, бұл жобаны аяқтау үшін сізге pfodApp сатып алудың қажеті жоқ.

1 -қадам: бөлшектер тізімі

Құны ~ 60 АҚШ доллары, 2017 ж. 30 қарашадағы жағдай, жеткізілім + шағын пластикалық қоршауды қоспағанда

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 АҚШ доллары

Adafruit HUZZAH ESP8266 Breakout - ~ 10 АҚШ доллары

Бөлек әйелдік ұштары бар таспа кабелі-Автобус қарақшыларының кабелі ~ 5 АҚШ доллары https://www.sparkfun.com/products/9556 НЕМЕСЕ 10-істікшелі IDC Socket Rainbow Breakout кабелі ~ 4 АҚШ доллары https://www.sparkfun.com/products/ 9556 НЕМЕСЕСЕ ұқсас

Ерлердің тақырыптарын ажыратыңыз - тік бұрыш - ~ 2 АҚШ доллары

USB - TTL 3V3 сериялық кабеліне - ~ 10 АҚШ доллары https://www.sparkfun.com/products/12977 (Белгіленген түйреуіштермен таңдалады) НЕМЕСЕ https://www.sparkfun.com/products/12977 (түйреуіштер ЕМЕС белгіленген)

USB A - Micro B кабелі - ~ 4 АҚШ доллары https://www.sparkfun.com/products/12977 (ұзындығы 3 фут) НЕМЕСЕ ~ 3 АҚШ доллары https://www.sparkfun.com/products/12977 (ұзындығы 6 дюйм) НЕМЕСЕ ~ 2 АҚШ доллары https://www.sparkfun.com/products/12977 (ұзындығы 6 дюйм) НЕМЕСЕ ~ 5 АҚШ доллары https://www.sparkfun.com/products/12977 (ұзындығы 6 фут) НЕМЕСЕ ұқсас

2 x 100 Ом резисторы - ~ 1 АҚШ доллары

USB қуат көзі (500мА немесе одан көп) - ~ 6 АҚШ доллары https://www.sparkfun.com/products/12890 НЕМЕСЕ ~ 7 АҚШ доллары https://www.adafruit.com/product/1994 НЕМЕСЕ ұқсас

Arduino IDE V1.8.5 және оны іске қосатын компьютер.

Пластикалық қорап үшін Jaycar UB5 (көк) 83mm x 54mm x 31mm ~ A $ 4 біреуін қолдандым.

2 -қадам: Wifi2BLE схемасы

Wifi2BLE схемасы
Wifi2BLE схемасы

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 5В алу үшін 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 файлын компьютерге жүктеңіз, оны жұмыс үстеліне немесе басқа қалтаға оңай табыңыз.
  • b) Содан кейін оны орнату үшін Arduino 1.8.5 IDE мәзірінің эскизі → Кітапхананы импорттау → Кітапхананы қосу опциясын қолданыңыз. (Егер кітапхана бұрыннан бар болғандықтан Arduino оны орнатуға рұқсат етпесе, онда ескі pfodESP8266BufferedClient қалтасын тауып, жойыңыз, содан кейін оны импорттаңыз)
  • c) Arduino IDE-ді тоқтатыңыз және қайта іске қосыңыз, ал Файл-> Мысалдар бөлімінде сіз енді 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 -ды анықтау үшін қолданамын. Әдетте.180 -.254 аралығында қолданылмайтын IP таңдау қауіпсіз

Бастау үшін портNo 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 жиілігін, жарқылдың өлшемін және жүктеу жылдамдығын әдепкі параметрлер бойынша қалдырыңыз.

Содан кейін Adafruit HUZZAH ESP2866 модулін бағдарламалау режиміне қойыңыз, GPIO0 түймесін басып тұрып, Reset түймесін басып, GPIO0 түймесін босатыңыз. GPIO0 светодиод жарығы нашар болуы керек. Содан кейін Файл → Жүктеу опциясын таңдаңыз немесе бағдарламаны құрастыру және жүктеу үшін Оң жақ көрсеткіні пайдаланыңыз. Егер сіз жүктеу кезінде қате туралы хабарлама алсаңыз, кабельдік қосылымдардың дұрыс түйреуіштерге қосылғанын тексеріп, әрекетті қайталаңыз.

Бағдарламалау аяқталғаннан кейін модульдегі қызыл жарық жанады. Бұл сіздің жергілікті желіге сәтті қосылғанын және серверді қосылымды қабылдауға қосқанын көрсетеді.

HUZZAH ESP2866 сынағы

HUZZAH ESP2866 тестілеу үшін бағдарламалау кабелін қосулы күйде қалдырыңыз және Arduino IDE Tools → Serial Monitor ашыңыз және 9600 бауды орнатыңыз (төменгі оң жақ бұрыш). Содан кейін компьютерде терминалды бағдарламаны ашыңыз, мен Windows үшін TeraTerm және Mac үшін CoolTerm қолданамын, және сіз Wifi_Bridge.ino эскизінде орнатылмаған IP пен портқа қосыламын.

Қызыл светодиодты қосқан кезде модуль қосылып тұрғанын білдіретін жыпылықтай бастайды. Енді сіз компьютердің терминал терезесіне тере білуіңіз керек және таңбалар Arduino IDE мониторының терезесінде және керісінше пайда болуы керек.

Wifi қосылымының күту уақыты

Wifi_Bridge.ino кодының қосылу уақыты бар.

uint32_t connectionTimeout = 60000; // 60 секунд қосылу уақыты аяқталды

Егер HUZZAH ESP8266 модулі 60 секунд ішінде Wi -Fi туралы деректер алмаса, онда модульдер қосылымды жауып, жаңасын күтеді. Бұл модульдің WiFi байланысының нашарлығына, маршрутизатордағы қуаттың жоғалуына немесе клиенттің мәжбүрлі өшірілуіне байланысты жоғалып кетуіне байланысты «жартылай жабық» қосылымдардан қалпына келуін қамтамасыз етеді. Қосымша мәліметтер алу үшін TCP/IP розеткасының жартылай ашылғанын анықтау бөлімін қараңыз.

Бұл қосылу уақыты 60 секундқа орнатылды. бірақ қажет болған жағдайда төмендетуге немесе көбейтуге болады. Оны 0 -ге қою ешқашан ұсынылмайды, бұл ұсынылмайды.

Қауырсынды бағдарламалау nRF52

Feather nRF52 бағдарламалау үшін Feather nRF52 үшін Arduino Board қолдауын жүктеу және орнату бойынша нұсқауларды орындаңыз. USB кабелі арқылы тақтаға қосылуға және бағдарламалауға болатынын тексеріңіз.

ЕСКЕРТПЕ: Қауырсын бағдарламалау алдында HUZZAH ESP8266 модулін Feather nRF52 құрылғысынан ажыратыңыз

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 құрылғыларын табу үшін сканерлеу бағдарламасын іске қосыңыз, содан кейін оны сканердің шығысын мамық көпірінің эскизіне көшіріп, оны осы құрылғыға қосыңыз.

BLE перифериялық құрылғыларын іздеу

Үйлесімді BLE перифериялық құрылғыларын анықтау үшін central_bleuart_scanner.ino бағдарламасын Feather nRF52 -ге жүктеңіз. Бұл бағдарлама үнемі жаңа құрылғыларды іздейді, содан кейін олар TX Notify көмегімен Nordic UART қызметін қолдайтынын тексереді.

Солтүстік 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 кітапханасын қолдана алатын арнайы қызметтермен немесе тақталармен кодталатын тақталар.

Мұнда қолданылатын тақта - pfodDesignerV3 жасаған коды бар Arduino/Genuino 101. Тегін pfodDesignerV3 сізге pfodApp мәзірлерін құруға мүмкіндік береді, содан кейін (ақылы) pfodApp көмегімен Android ұялы телефонындағы дәл мәзірді көрсету үшін қажетті Arduino кодын жасайды. pfodApp сонымен қатар Wi -Fi, сонымен қатар Bluetooth Classic, BLE және SMS арқылы қосылады, сондықтан Wifi2BLE көпірі арқылы қосыла алады. Егер сіз pfodApp -ты бақылау бағдарламасы ретінде пайдаланғыңыз келмесе де, сіз BLE тақтасы үшін скандинавиялық UART қызмет кодын жасау үшін pfodDesignerV3 қолдана аласыз.

Бұл оқулық сілтемесі Arduino/Genuino 101 BLE -ді орнатуды және pfodDesignerV3 көмегімен қарапайым жарықдиодты қосу/өшіруді басқаруды сипаттайды. PfodDesignerV3 шығарған эскиз - Arduino101_led_control.ino

Arduino/Genuino 101 бағдарламасын Arduino101_led_control.ino көмегімен бағдарламалау сізге pfodApp арқылы қосылуға және Android ұялы телефонында келесі экранды көрсетуге мүмкіндік береді.

Бірақ бұл жай ғана мысал және бұл жобаны аяқтау үшін сізге pfodApp сатып алудың қажеті жоқ. Маңызды бөлігі - тегін pfodDesignerV3 қосымшасында Nordic UART қызметін іске асыратын Arduino/Genuino 101 үшін код бар. Сондықтан оны іздеуге рұқсат етіңіз.

Бірақ бұл жай ғана мысал және бұл жобаны аяқтау үшін сізге pfodApp сатып алудың қажеті жоқ. Маңызды бөлігі - тегін pfodDesignerV3 қосымшасында Nordic 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 сипаттамасы хабарламаны қолдамады. Сканер сонымен қатар RFduino BLE модулін тапты, бірақ RFduino Nordic UART қызметін пайдаланбайды, керісінше өзінің модулін пайдаланады. Bluetooth комитеті 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 көрсеткіштері

Қауырсындық nRF52 -де екі светодиод бар, көк және қызыл. Тақтаны BLE құрылғысына қосқанда, Blue Led тұрақты болады, әйтпесе ол жыпылықтайды. Сканер құрылғыға қосылмайды, сондықтан оның көк шамы әдетте жыпылықтайды. Қызыл Nordic UART Service (TX Notify) құрылғысы үшін бір рет жыпылықтайды. Сканер ретінде жұмыс істегенде, Қызыл Led Nordic 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 қосылған күйінде қалдырып, Құралдар → Сериялық мониторды 9600 бауда ашыңыз, содан кейін мақсатты 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 құрылғысы қосылған.

Телнет бағдарламасын ашыңыз және HUZZAH IP -портына қосылыңыз. HUZZAH Қызыл шамы сіздің бағдарламаңыз қосылғанын көрсету үшін баяу жыпылықтауы керек және сіз WiFi арқылы BLE құрылғысына пәрмендер жіберіп, BLE құрылғысының жұмыс істеуін бақылап, телнет терезесінде кез келген жауапты көре аласыз. Есіңізде болсын, егер сіздің BLE құрылғыңыз 60 секунд ішінде ешқандай деректерді жібермесе, HUZZAH коды қосылымды үзеді және ажыратылады, ал HUZZAH Қызыл светодиод қайтадан қосылады.

8 -қадам: Анықтама - бұл жұмыс істемейді

Алдымен HUZZAH ESP2866 тестілеуін және central_bleuart_bridge эскизін тексеру, жоғарыда сипатталған тестілеу қадамдарын орындаңыз.

Сканерлеу ақаулары

Егер сканер BLE құрылғысын таба алмаса, ол тым алыста немесе жарнамаланбаған немесе бір нәрсеге қосылған. Сканерді жақындатып, құрылғыны велосипедпен айналдырып көріңіз және BLE құрылғысымен байланысы бар мобильді құрылғылардың жанында қалған барлық басқа құрылғыларды өшіріп көріңіз.

Егер сіз сканердің осындай нәтижесін алсаңыз.

98: 4F қосылды: EE: 0C: FC: 8F Nordic UART қызметін іздеуде… Ешқайсысы табылмады немесе табылмады !!!!! Солтүстік UART қызметін анықтау мүмкін болмады !!!!!!!! Егер сіз скандинавиялық UART қызметін күтетін болсаңыз, сканерді BLE құрылғысына жақындатыңыз !!!!

Мүмкін, сіз оны анықтау үшін BLE құрылғысына жеткілікті жақынсыз, бірақ Nordic UART қызметін табу үшін Сервистік табысты табысты жүргізу үшін жеткіліксіз. BLE құрылғысына жақындауға тырысыңыз.

Соңғы шара ретінде сіз Android немесе iOS үшін Nordic nRF Connect тегін қосымшасын пайдалана аласыз. Бұл қосымшаның диапазоны мен сезімталдығы жақсы. Бұл сізге BLE құрылғысында Nordic UART қызметі бар -жоғын айтады. Wifi2BLE көпірін қолданар алдында сканерге ұқсас кодты қолданбас бұрын, сканерді іске қосуға және Nordic UART қызметін анықтауға әлі де қажет болады.

Егер сіз тереңірек қазғыңыз келсе, ауада не бар екенін білу үшін Adafruit Bluefruit LE Sniffer модулін қолдана аласыз.

BLE қосылымындағы ақаулар

Егер сіз BLE құрылғысын сканерлеп үлгерсеңіз, онда байланыс ақауларының ықтимал себептері I) BLE құрылғысы тым алыста, II) BLE құрылғысына басқа нәрсе қосылған.

WiFi қосылымындағы ақаулар

Егер HUZZAH ESP8266 Қызыл светодиод шамы жанбаса, онда ол сіздің маршрутизатор арқылы желіге қосылмаған. Wifi_Bridge.ino ішіндегі кодыңыз бар ssid пен құпия сөзді тексеріңіз және Android немесе iOS Fing қосымшасын қолданып, сіз бөлінген IP әлі қолданылмағанын тексеріңіз. Барлық компьютерлер мен құрылғыларды өшіріп көріңіз және маршрутизаторды велосипедпен айналдырыңыз (20 секундқа өшіріп қойыңыз), содан кейін Fing көмегімен қайтадан сканерлеңіз. Егер байланыс үзіле берсе, Wifi_Bridge.ino кодындағы қосылымның күту уақытының параметрін есте сақтаңыз.

9 -қадам: кеңейтімдер мен қорытынды

Мұнда ұсынылған жоба - ең қарапайым нұсқа. Мүмкін болатын бірнеше кеңейтімдер бар:-

  • Feather nRF52 бірден 4 BLE құрылғысына қосыла алады, сондықтан сіз бір WiFi қосылымынан жарамды мекенжайларды қосу және 4 құрылғыға дейін басқару үшін кодты өзгерте аласыз. Feather nRF52 тақтасын орнатумен бірге келетін кодты қараңыз.
  • Интернеттің кез келген жерінен BLE құрылғысына кіруді қамтамасыз ету үшін маршрутизаторға тесік қоюға болады. PfodApp көмегімен DIY IoT құрылғыларын Интернетке қосу бөлімін қараңыз.
  • Сіз HUZZAH үшін Wi -Fi желісінің параметрлерін веб -бет арқылы қайта бағдарламасыз конфигурациялауға мүмкіндік беру үшін арзан/қарапайым Wifi Shield кодын қолдана аласыз. Схемаға конфигурация батырмасын қосу қажет.
  • Сіз Feather nRF52 -ді BLE құрылғыларын скандинавиялық UART (TX Notify) бар сканерлеуге мүмкіндік беретін конфигурация түймесін (жоғарыдағыдай түймешікті қолдана) қосуға болады, содан кейін қосылым мәліметтерін ең күшті сигналға сақтауға болады. Нәтижені сақтау үшін сізге Adafruit nRF52 тақтасы орнатылған nffs кітапханасын пайдалану қажет болады.
  • HLEZAH ESP8266 кодына веб -бетті қосуға болады, бұл сіздің BLE құрылғыңыздың реттелетін интерфейсін қамтамасыз етеді. Сіз сондай -ақ pfodDesignerV3 және pfodApp қолдана аласыз, бұл жобаға өзгеріссіз реттелетін интерфейс қосыңыз.

Қорытынды

Бұл қарапайым жоба TX Notify көмегімен Nordic's UART -ті қолданатын кез келген Bluetooth Low Energy (BLE) модуліне WiFi қол жеткізуді қамтамасыз етеді. Wifi2BLE көпірі толығымен мөлдір. Ол WiFi деректерін BLE құрылғысына береді және BLE құрылғысының деректерін WiFi қосылымына қайтарады.

Қарапайым құрылыс және егжей -тегжейлі тестілеу нұсқаулары бұл BLE құрылғысына компьютерден немесе BLE қалыпты ауқымынан тыс кіруді қалайтын жаңадан бастаушылар үшін қолайлы жоба болып табылады.

Бұл жоба BLE құрылғысының бағдарламалық жасақтамасы жаңа Bluetooth V5 Mesh спецификациясын алғаннан кейін маңызды бола бастайды. Содан кейін Wifi2BLE бүкіл үйді автоматтандыруға Интернетке қосылуды қамтамасыз етеді.

Ұсынылған: