Съдържание:

Прост WiFi към BLE (Bluetooth Low Energy) мост: 9 стъпки (със снимки)
Прост WiFi към BLE (Bluetooth Low Energy) мост: 9 стъпки (със снимки)

Видео: Прост WiFi към BLE (Bluetooth Low Energy) мост: 9 стъпки (със снимки)

Видео: Прост WiFi към BLE (Bluetooth Low Energy) мост: 9 стъпки (със снимки)
Видео: ТОП 1 САМАЯ ПРОДАВАЕМАЯ В 2023 ГОДУ КАМЕРА ВИДЕОНАБЛЮДЕНИЯ!!! 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 и съвети за отстраняване на грешки. Добавени са снимки на мост, монтиран в кутия

Този прост проект осигурява WiFi достъп до всеки Bluetooth модул с ниска енергия (BLE), който реализира UART на Nordic с TX Notify. Мостът Wifi2BLE е напълно прозрачен. Той просто предава WiFi данните на BLE устройството и предава данните на BLE устройството обратно към WiFi връзката.

Безплатният pfodDesignerV3 генерира код за внедряване на Nordic UART услуга на много BLE модули, включително Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 и V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend и Flora, Adafruit Bluefruit LE SPI (т.е. Blue Shield 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 осигурява универсална telnet връзка чрез всяка терминална програма. Освен това можете лесно да добавите уеб страница към WiFi модула, за да създадете свой собствен персонализиран интерфейс.
  • BLE V5 обещава мрежова мрежа за свързване на всички ваши домашни BLE устройства, след като софтуерът настигне най -новата Bluetooth спецификация. Мостът Wifi2BLE използва устройство BLE V5 и така ще осигури интернет достъп до тази домашна мрежа, когато пристигне.

Непосредствената ми употреба за този проект е да добавя BLE осветление на фоайето към WiFi мрежата, за да може да се управлява от всяка точка на къщата. Въпреки че този урок използва pfodApp като пример за управление на BLE дъските чрез WiFi, не е нужно да купувате pfodApp, за да завършите този проект.

Стъпка 1: Списък на частите

Цена ~ 60 щ.д. към 30 ноември 2017 г., с изключение на доставката + малък пластмасов корпус

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 щ.д.

Adafruit HUZZAH ESP8266 Breakout - ~ 10 щ.д.

Лентов кабел с отделни женски краища-Пиратски кабел за автобус ~ US $ 5 https://www.sparkfun.com/products/9556 ИЛИ 10-пинов IDC гнездо Rainbow Breakout Cable ~ US $ 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 щ.д. ИЛИ ~ US $ 2 https://www.sparkfun.com/products/12977 (дълъг 6 инча) ИЛИ ~ US $ 5 https://www.sparkfun.com/products/12977 (дълъг 6 фута) ИЛИ

2 резистора по 100 ома - ~ 1 щ.д.

USB захранване (500mA или повече) - ~ US $ 6 https://www.sparkfun.com/products/12890 ИЛИ ~ US $ 7 https://www.adafruit.com/product/1994 ИЛИ подобно

Arduino IDE V1.8.5 и компютър, на който да се изпълнява.

За пластмасова кутия използвах такава от Jaycar UB5 (синя) 83 мм x 54 мм x 31 мм ~ A $ 4

Стъпка 2: Схема Wifi2BLE

Верига Wifi2BLE
Верига Wifi2BLE

Схемата Wifi2BLE е показана по -горе. PDF версия е тук. Както можете да видите схемата е много проста. Само 4 проводника и два 100 ома защитни резистора. Защитните резистори са в случай, че пропуснете свързването на TX / RX линиите след програмиране на HUZZAH ESP8266 или Feather nRF52.

ЗАБЕЛЕЖКА: Маркировката на перото nRF52 за щифтовете TX и RX е неправилна. TX щифтът всъщност е този до пина DFU, а RX щифтът е този до щифта MISO

Уверете се, че сте свързали TX/RX линиите, както е показано по -горе. За щастие защитните резистори си свършиха работата и платките не бяха повредени, докато разбрах защо платките не се хващат един към друг.

Стъпка 3: Конструкция на Wifi2BLE

Конструкция на Wifi2BLE
Конструкция на Wifi2BLE
Конструкция Wifi2BLE
Конструкция Wifi2BLE
Конструкция на Wifi2BLE
Конструкция на Wifi2BLE

Щифтите на правоъгълните заглавки са запоени върху HUZZAH ESP8266, за да могат да бъдат изключени за програмиране. Четири проводника на лентовия кабел се използват за свързване на двете платки. Дръжте женските конектори и отрежете другия край на лентовия кабел. Моят лентов кабел имаше същите цветове като кабела за програмиране на USB към TTL на Sparkfun, така че избрах проводника, който да съответства на него. Черен за GND, червен за 5V+, оранжев за TX (свързва се с ESP8266 RX) и кафяв за RX (свързва се с ESP8266 TX)

Свързах защитните резистори на гърба на платката Feather nRF52. (Наблюдателните конструктори, които знаят кодовете си на резистори, ще видят, че съм използвал два 68 ома резистора, които държа на ръка, вместо 100 ома) и след това ги изолирах с някаква свиваща се обвивка.

Червеният кабел е запоен към USB щифта Feather nRF52, за да вземе USB 5V за захранване на модула HUZZAH ESP8266, а черният кабел е запоен към щифта Feather nRF52 GND.

Това е всичко, с изключение на програмирането на модулите, както е описано по -долу, поставянето му в пластмасова кутия и включването на USB захранване във Feather nRF52.

Стъпка 4: Програмиране на Wifi2BLE

Програмиране на Wifi2BLE
Програмиране на Wifi2BLE
Програмиране на Wifi2BLE
Програмиране на Wifi2BLE
Програмиране на Wifi2BLE
Програмиране на Wifi2BLE

Програмиране на HUZZAH ESP8266

За да програмирате щита, следвайте инструкциите, дадени на https://github.com/esp8266/Arduino под Инсталиране с мениджър на платки. При отваряне на Boards Manager от меню Tools → Board и изберете Type Contributed и инсталирайте платформата esp8266. Този проект е компилиран с помощта на ESP8266 версия 2.3.0. Други версии ще имат собствен набор от грешки и може да не работят с този код.

ЗАБЕЛЕЖКА: НЕ използвайте инсталацията на Adafruit Board, тъй като използваната тук скица няма да се компилира под този код.

Затворете и отворете отново Arduino IDE и сега можете да изберете „Adafruit HUZZAH ESP8266“от менюто Инструменти → Борд.

Също така трябва да инсталирате най -новата версия на библиотеката pfodESP8266WiFiBufferedClient. Тази библиотека работи с ESP8266.com IDE плъгин V2.3. (Ако преди това сте инсталирали библиотеката pfodESP2866WiFi, изтрийте тази директория на библиотеката напълно.)

  • а) Изтеглете този pfodESP8266WiFiBufferedClient.zip файл на вашия компютър, преместете го на работния плот или друга папка, която лесно можете да намерите
  • б) След това използвайте опцията от менюто на Arduino 1.8.5 IDE Sketch → Import Library → Add Library, за да я инсталирате. (Ако Arduino не ви позволява да го инсталирате, защото библиотеката вече съществува, намерете и изтрийте по -старата папка pfodESP8266BufferedClient и след това импортирайте тази)
  • в) Спрете и рестартирайте Arduino IDE и под Файл-> Примери сега трябва да видите pfodESP8266BufferedClient.

Задаване на ssid и парола на мрежата и 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, който вече се използва. Обикновено е безопасно да се избере неизползван IP в диапазона от.180 до.254

Като начало можете да оставите portNo като 23, стандартния порт за telnet връзка.

След като направите тези промени, можете да програмирате ESP8266.

Програмиране на HUZZAH ESP8266

За да програмирате HUZZAH ESP8266, свържете USB към сериен кабел, както е показано на снимката. Проверете снимката и кабелите си. Вижте също съвети за програмиране на ESP8266 (неуспешен espcomm)

Използвам Sparkfun USB към TTL 3V3 сериен кабел, защото има маркирани TX и RX изводи. Уверете се, че TX кабелът е включен в RX щифта и RX кабелът е включен в TX щифта, както е показано по -горе. Ако използвате кабела Adafruit, той няма маркирани терминали, но е с цветен код, червеното е захранване, черното е заземено, зеленото е TX и бялото е RX.

Включете USB към сериен кабел в компютъра си и го изберете COM порт в меню Инструменти → Порт. Оставете честотата на процесора, размера на светкавицата и скоростта на качване при настройките им по подразбиране.

След това поставете модула Adafruit HUZZAH ESP2866 в режим на програмиране, като задържите натиснат бутона GPIO0 и щракнете върху бутона Reset и след това пуснете бутона GPIO0. Светодиодът GPIO0 трябва да остане слабо осветен. След това изберете Файл → Качване или използвайте бутона Стрелка надясно, за да компилирате и качите програмата. Ако получите съобщение за грешка при качването, проверете дали кабелните ви връзки са включени в правилните щифтове и опитайте отново.

След като програмирането приключи, червеният светодиод на модула трябва да светне. Това показва, че той е успешно свързан с вашата локална мрежа и стартира сървъра, за да приеме връзка.

Тестване на HUZZAH ESP2866

За да тествате HUZZAH ESP2866, оставете кабела за програмиране свързан и отворете Arduino IDE Tools → Serial Monitor и задайте 9600 бода (долния десен ъгъл). След това отворете терминална програма на компютъра си, използвам TeraTerm за Windows и CoolTerm за Mac и се свързвам с IP и порт Не сте задали в скицата Wifi_Bridge.ino.

Когато свържете червения светодиод, модулът трябва да започне да мига, което показва, че има връзка. Вече трябва да можете да въвеждате в терминалния прозорец на компютрите си и символите да се появяват в прозореца на монитора на Arduino IDE и обратно.

Време за изчакване на Wi -Fi връзка

Кодът на Wifi_Bridge.ino има време за връзка.

uint32_t connectionTimeout = 60000; // Време за изчакване на връзка 60сек

Ако няма получени WiFi данни от модула HUZZAH ESP8266 за 60 секунди, тогава модулите затварят връзката и чакат нова. Това гарантира, че модулът се възстановява от „наполовина затворени“връзки, които се случват, когато клиентът просто изчезне поради лоша WiFi връзка, загуба на енергия в рутера или принудително изключване на клиента. Вижте Откриване на полуотворени (пуснати) TCP/IP гнездо на връзки за повече подробности.

Времето за изчакване на връзката е настроено на 60 сек. но може да намалее или да се увеличи при необходимост. Задаването на 0 означава никога не изчакване, което не се препоръчва.

Програмиране на перо nRF52

За да програмирате Feather nRF52, следвайте инструкциите за изтегляне и инсталиране на поддръжката на Arduino Board за Feather nRF52. Проверете дали можете да се свържете и да програмирате платката чрез USB кабела.

ЗАБЕЛЕЖКА: Изключете модула HUZZAH ESP8266 от перата nRF52, преди да опитате да програмирате перото

Свързването на Feather nRF52 към BLE устройство се състои от две стъпки. Първо идентифицирайте MAC адреса (и типа) на устройството и проверете дали той поддържа услугата Nordic UART с TX Notify и след това прехвърлете този адрес и тип към скицата на моста.

Стъпка 5: Свързване към BLE устройство

Връзка с BLE устройство
Връзка с BLE устройство
Връзка с BLE устройство
Връзка с BLE устройство
Връзка с BLE устройство
Връзка с BLE устройство

След като HUZZAH ESP8266 е програмиран, трябва да кодирате BLE адреса и типа на устройството, с което искате да се свържете, в скицата Feather nRF52. Това е процес на две стъпки. I) Стартирайте програмата за сканиране, за да намерите наблизо BLE устройства, които прилагат Nordic UART услугата (TX Notify) и след това копирайте изхода на този скенер в скицата на Feather bridge, за да го накарате да се свърже с това устройство.

Сканиране за BLE периферни устройства

За да идентифицирате съвместими BLE периферни устройства, заредете програмата central_bleuart_scanner.ino във вашия Feather nRF52. Тази програма непрекъснато сканира за нови устройства и след това проверява дали те поддържат услугата Nordic UART с TX Notify.

Nordic UART услуга

Nordic UART услугата се състои от три части, UUID на услугата и характеристиките RX и TX. Ето някои примерен код, генериран от pfodDesignerV3 за RedBear NanoV2

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 може да генерира примерен код за редица BLE модули. Въпреки това, тъй като няма BLE спецификация за „стандартна“UART връзка, не всички модули използват услугата 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 и Flora Boards, Adafruit Bluefruit LE SPI (т.е. Blue Shield LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE или Bluefruit LE SPI Friend) Както и дъски, които могат да бъдат кодирани с персонализирани услуги или дъски, които могат да използват BLEPeripheral библиотека.

Примерната дъска, използвана тук, е Arduino/Genuino 101 с код, генериран от pfodDesignerV3. Безплатният pfodDesignerV3 ви позволява да създавате менюта на pfodApp и след това генерира кода на Arduino, необходим за показване на точното меню на вашия мобилен телефон с Android чрез (платено) pfodApp. pfodApp също ще се свърже чрез Wifi, както и чрез Bluetooth Classic, BLE и SMS, и така може да се свърже чрез този Wifi2BLE мост. Въпреки това, дори ако не искате да използвате pfodApp като приложение за управление, пак можете да използвате pfodDesignerV3 за генериране на Nordic UART код за услуга за вашата BLE платка.

Този урок описва настройката на Arduino/Genuino 101 BLE и създаването на прост LED контрол за включване/изключване с pfodDesignerV3. Скицата, произведена от pfodDesignerV3 е Arduino101_led_control.ino

Програмирането на Arduino/Genuino 101 с Arduino101_led_control.ino ще ви позволи да се свържете с pfodApp и да покажете следния екран на вашия мобилен телефон с Android.

Това обаче е само пример и не е нужно да купувате pfodApp, за да завършите този проект. Важната част е, че безплатното приложение pfodDesignerV3 има генериран код за Arduino/Genuino 101, който реализира Nordic UART услуга. Така че нека го сканираме.

Това обаче е само пример и не е нужно да купувате pfodApp, за да завършите този проект. Важната част е, че безплатното приложение pfodDesignerV3 има генериран код за Arduino/Genuino 101, който реализира Nordic UART услуга. Така че нека го сканираме.

Сканиране за Nordic UART услуга

С изключен модул HUZZAH ESP8266 от Feather nRF52, програмирайте Feather nRF52 с central_bleuart_scanner.ino и след това отворете Arduino IDE Tools → Serial Monitor и задайте скоростта на предаване на 9600. Захранването на Arduino/Genuino 101 дава изхода, показан в първата снимка на екрана по -горе.

Както можете да видите, скенерът е открил две BLE устройства, Arduino/Genuino 101 с намерена на него услуга Nordic UART, НО характеристиката на TX не поддържа Notify. Скенерът също намери RFduino BLE модул, но RFduino не използва Nordic UART услугата, а използва своя собствен. Комитетът по Bluetooth носи вината за това, че не е посочил „стандартна“UART услуга, вместо това оставя всеки производител да измисли своя.

Както е описано по -горе, кодът 101 е генериран от pfodDesignerV3 предимно за използване с pfodApp. pfodApp не е толкова пристрастен към TX Notify, колкото кода на uart код Feather nRF52. pfodApp работи с 101, както е програмиран, но Feather nRF52 настоява за TX Notify, така че е необходима малка промяна в кода, за да се удовлетвори Feather.

Отворете Arduino101_led_control.ino в IDE на Arduino и близо до върха ще намерите тези два реда. Вторият ред е само описание на характеристиката и не влияе на операцията.

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

Променете ги на

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 (TX Notify).

Стъпка 6: Свързване към BLE периферно устройство

LED индикации

Перото nRF52 има два светодиода, син и червен. Когато платката е свързана с BLE устройство, синият светодиод е постоянен, в противен случай мига. Скенерът не остава свързан с устройството, така че неговият син светодиод обикновено мига. Червеният светодиод мига веднъж за всяко устройство за Nordic UART Service (TX Notify). Когато работи като скенер, червеният светодиод отчита броя на намерените устройства за 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 устройството, към което искате да се свържете. След това програмирайте Feather 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: Свързване към BLE устройството чрез WiFi - Всичко това заедно

След като сте програмирали и тествали модула HUZZAH ESP8266 с неговия код за мост (Wifi_Bridge.ino), конфигуриран за вашата мрежова ssid и парола и IP И програмирал и тествал Feather nRF52 с кода на моста (central_bleuart_bridge.ino), конфигуриран с адреса на BLE устройството и въведете, след което можете да ги свържете заедно и да включите USB захранване към модула Feather, за да ги захранвате и двете.

Червеният светодиод HUZZAH трябва да свети плътно, когато се свързва с маршрутизатора на вашата локална мрежа, а светодиодът Feather Blue трябва да свети плътно, тъй като се свързва с вашето BLE устройство, а светодиодът Feather Red трябва да мига веднъж на всеки 10 секунди, за да показва само Устройството BLE е свързано.

Отворете програмата си telnet и се свържете към IP адреса и порта на HUZZAH. Червеният светодиод HUZZAH трябва да мига бавно, за да покаже, че програмата ви е свързана, и трябва да изпращате команди към вашето BLE устройство чрез WiFi и да гледате как работи BLE устройството и да виждате отговор в прозореца на telnet. Не забравяйте, че ако вашето BLE устройство не изпраща никакви данни обратно за 60 секунди, кодът на HUZZAH ще прекъсне връзката и ще прекъсне връзката и червеният светодиод на HUZZAH отново ще стане стабилен.

Стъпка 8: Помощ - не работи

Първо направете стъпките за тестване, описани по -горе, Тестване на HUZZAH ESP2866 и Тестване на скицата central_bleuart_bridge.

Проблеми със сканирането

Ако скенерът не може да ви намери BLE устройство, той е или твърде далеч, или не рекламира, или вече е свързан с нещо. Опитайте да преместите скенера по -близо и да включите устройството, като изключите всички други в близост до мобилни устройства, които може да имат връзка с BLE устройството.

Ако получите изход за скенер като този.

Свързан към 98: 4F: EE: 0C: FC: 8F Търся Nordic UART услуга … Никой не е намерен ИЛИ Не е откриваем !!!!! Не може да се идентифицира скандинавска UART услуга !!!!!!!! Ако очаквате Nordic UART услуга, преместете скенера по -близо до BLE устройството !!!!

Възможно е да сте достатъчно близо до BLE устройството, за да го откриете, но не достатъчно близо, за да направите успешно откриване на услуга, за да намерите услугата Nordic UART. Опитайте да се приближите до устройството BLE.

В краен случай можете да използвате безплатното приложение Nordic nRF Connect за Android или iOS. Това приложение има по -добър обхват и чувствителност. Той ще ви каже дали BLE устройството има Nordic UART услуга. Все пак ще трябва да накарате скенера да работи и да се свърже и идентифицира Nordic UART Serivice, преди да опитате да използвате Wifi2BLE моста, тъй като той използва код, подобен на скенера.

Ако искате да копаете по -дълбоко, можете да използвате модула Adafruit Bluefruit LE Sniffer, за да видите какво има във въздуха.

Проблеми с BLE връзката

Ако сте успели да сканирате BLE устройството, тогава най -вероятните причини за проблеми с връзката са I) BLE устройството е твърде далеч, II) нещо друго вече е свързано към BLE устройството

Проблеми с WiFi връзката

Ако светодиодът HUZZAH ESP8266 Red не свети постоянно, значи няма връзка с вашата мрежа чрез вашия рутер. Проверете ssid и паролата, които имате в Wifi_Bridge.ino, и използвайте приложението Fing за Android или iOS, за да проверите дали разпределеният от вас IP адрес вече не се използва. Опитайте да изключите всичките си компютри и устройства и да включите цикъла на рутера (оставете го изключен за 20 секунди), след което сканирайте отново с Fing.

Стъпка 9: Разширения и заключение

Представеният тук проект е най -простата версия. Има няколко възможни разширения като:-

  • Feather nRF52 може да се свързва с до 4 BLE устройства едновременно, така че можете да промените кода, за да добавите повече валидни адреси и да контролирате до 4 устройства от една WiFi връзка. Вижте примерния код, който се доставя с инсталацията на платката Feather nRF52.
  • Можете да пробиете дупка във вашия рутер, за да осигурите достъп до BLE устройството от всяка точка на интернет. Вижте Свързване на DIY IoT устройства с интернет с pfodApp.
  • Можете да използвате кода от Cheap/Simple Wifi Shield, за да можете да конфигурирате параметрите на WiFi мрежата за HUZZAH чрез уеб страница, без препрограмиране. Трябва да добавите бутон за конфигуриране към веригата.
  • Можете да добавите бутон за конфигуриране (използвайки същия бутон като по -горе), който прави Feather nRF52 да сканира за BLE устройства със Nordic UART (TX Notify) и след това да запазите подробностите за връзката за този с най -силен сигнал. За да запазите резултата, ще трябва да използвате библиотеката nffs, която се доставя с инсталираната платка Adafruit nRF52.
  • Можете да добавите уеб страница към кода на HUZZAH ESP8266, за да предоставите персонализиран интерфейс за вашето BLE устройство. Можете също да използвате pfodDesignerV3 и pfodApp да добавите персонализиран интерфейс без никакви промени в този проект.

Заключение

Този прост проект осигурява WiFi достъп до всеки Bluetooth модул с ниска енергия (BLE), който реализира UART на Nordic с TX Notify. Мостът Wifi2BLE е напълно прозрачен. Той просто предава WiFi данните на BLE устройството и предава данните на BLE устройството обратно към WiFi връзката.

Простата конструкция и подробните инструкции за тестване правят това подходящ проект за начинаещи, които искат да получат достъп до своето BLE устройство от компютъра си или извън нормалния обхват на BLE.

Този проект ще стане по -важен, след като софтуерът на BLE устройството настигне новата спецификация на Bluetooth V5 Mesh. Тогава Wifi2BLE ще осигури интернет достъп до цялата ви автоматизация на къщата.

Препоръчано: