Satura rādītājs:

Vienkāršs WiFi uz BLE (Bluetooth zemas enerģijas) tilts: 9 soļi (ar attēliem)
Vienkāršs WiFi uz BLE (Bluetooth zemas enerģijas) tilts: 9 soļi (ar attēliem)

Video: Vienkāršs WiFi uz BLE (Bluetooth zemas enerģijas) tilts: 9 soļi (ar attēliem)

Video: Vienkāršs WiFi uz BLE (Bluetooth zemas enerģijas) tilts: 9 soļi (ar attēliem)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Jūlijs
Anonim
Vienkāršs WiFi uz BLE (Bluetooth Low Energy) tiltu
Vienkāršs WiFi uz BLE (Bluetooth Low Energy) tiltu
Vienkāršs WiFi uz BLE (Bluetooth Low Energy) tiltu
Vienkāršs WiFi uz BLE (Bluetooth Low Energy) tiltu
Vienkāršs WiFi uz BLE (Bluetooth Low Energy) tiltu
Vienkāršs WiFi uz BLE (Bluetooth Low Energy) tiltu

2017. gada 4. decembra atjauninājums - pārskatītas Feather nRF52 skices un atkļūdošanas padomi. Pievienoti kastē uzstādīta tilta attēli

Šis vienkāršais projekts nodrošina WiFi piekļuvi jebkuram Bluetooth Low Energy (BLE) modulim, kas īsteno Nordic UART ar TX Notify. Wifi2BLE tilts ir pilnīgi caurspīdīgs. Tas vienkārši nodod WiFi datus BLE ierīcei un nodod BLE ierīces datus atpakaļ WiFi savienojumam.

Bezmaksas pfodDesignerV3 ģenerē kodu, lai ieviestu Ziemeļvalstu UART pakalpojumu daudzos BLE moduļos, tostarp Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 un V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend un, Adafruit Bluefruit LE SPI (ti, Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE vai Bluefruit LE SPI Friend) un jebkuri citi dēļi, kas ļauj programmēt savus pakalpojumus.

Šis Wifi2BLE tilts ir piemērots nepieredzējušam konstruktoram, kurš prot lodēt. Tas izmanto tikai divus dēļus, vienu lentes kabeli un divus rezistorus

Līdzās detalizētai katras tāfeles pārbaudei, šajā pamācībā ir iekļauts arī Palīdzības - tas nedarbojas solis, kurā ir vairāk padomu kļūdu meklēšanā.

Šīs instrukcijas ir pieejamas arī tiešsaistē

Kāpēc šis projekts?

Šis projekts atrisina vairākas BLE (Bluetooth Low Energy) problēmas.

  • Tikai nesenie mobilie tālruņi un datori atbalsta BLE. Wifi2BLE tilts ļauj jebkuram mobilajam tālrunim vai datoram ar WiFi savienojumu izveidot savienojumu ar BLE ierīci un to vadīt.
  • BLE diapazons ir ierobežots. Wifi2BLE tilts ļauj piekļūt BLE ierīcei no jebkuras vietas mājā (kur ir WiFi savienojums) un no ārpuses, izmantojot internetu.
  • Lai izveidotu BLE lietotnes, jums jāiemācās Android vai iOS. Wifi2BLE tilts nodrošina universālu telnet savienojumu, izmantojot jebkuru termināļa programmu. Turklāt jūs varat viegli pievienot tīmekļa lapu WiFi modulim, lai izveidotu savu pielāgoto saskarni.
  • BLE V5 sola tīkla tīklu, lai savienotu visas jūsu mājas BLE ierīces, tiklīdz programmatūra sasniegs jaunākās Bluetooth specifikācijas. Wifi2BLE tilts izmanto BLE V5 ierīci un tādējādi nodrošinās interneta piekļuvi šim mājas tīklam, kad tas ieradīsies.

Es nekavējoties izmantoju šo projektu, lai WiFi tīklam pievienotu atpūtas telpas BLE gaismas vadību, lai to varētu kontrolēt no jebkuras vietas mājā. Lai gan šajā apmācībā tiek izmantots pfodApp kā piemērs BLE paneļu kontrolei, izmantojot WiFi, jums nav jāiegādājas pfodApp, lai pabeigtu šo projektu.

1. darbība: detaļu saraksts

Izmaksas ~ 60 ASV dolāri 2017. gada 30. novembrī, neskaitot piegādi + nelielu plastmasas korpusu

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 ASV dolāri

Adafruit HUZZAH ESP8266 Breakout - ~ 10 ASV dolāri

Lentes kabelis ar atsevišķiem sieviešu galiem-autobusu pirātu kabelis ~ 5 ASV dolāri https://www.sparkfun.com/products/9556 VAI 10 kontaktu IDC ligzda Rainbow Breakout Cable ~ 4 ASV dolāri https://www.sparkfun.com/products/ 9556 VAI līdzīgi

Atdalīšanās vīriešu galvenes - taisnā leņķī - ~ 2 ASV dolāri

USB uz TTL 3V3 seriālo kabeli - ~ 10 ASV dolāri https://www.sparkfun.com/products/12977 (vēlams, jo ar tapām ir marķējums) VAI https://www.sparkfun.com/products/12977 (tapas NAV marķēts)

USB A līdz Micro B kabelis - ~ 4 ASV dolāri https://www.sparkfun.com/products/12977 (3 pēdas garš) VAI ~ 3 ASV dolāri https://www.sparkfun.com/products/12977 (6 collas garš) VAI ~ 2 ASV dolāri https://www.sparkfun.com/products/12977 (6 collas garš) VAI ~ 5 USD https://www.sparkfun.com/products/12977 (6 pēdas garš) VAI līdzīgi

2 x 100 omu rezistori - ~ 1 ASV dolārs

USB barošanas avots (500 mA vai vairāk) - ~ 6 ASV dolāri https://www.sparkfun.com/products/12890 VAI ~ 7 ASV dolāri https://www.adafruit.com/product/1994 VAI līdzīgi

Arduino IDE V1.8.5 un dators, lai to palaistu.

Plastmasas kastē es izmantoju vienu no Jaycar UB5 (zils) 83 mm x 54 mm x 31 mm ~ 4 ASV dolāri

2. darbība: Wifi2BLE ķēde

Wifi2BLE ķēde
Wifi2BLE ķēde

Wifi2BLE ķēde ir parādīta iepriekš. Šeit ir pdf versija. Kā redzat, ķēde ir ļoti vienkārša. Tikai 4 vadi un divi 100 omu aizsardzības rezistori. Aizsardzības rezistori ir gadījumā, ja pēc HUZZAH ESP8266 vai Feather nRF52 programmēšanas jūs nepareizi pievienojat TX / RX līnijas.

PIEZĪME. TX un RX tapām paredzētā Feather nRF52 plāksnes marķējums nav pareizs. TX tapa faktiski ir tā, kas atrodas blakus DFU tapai, un RX tapa ir tā, kas atrodas blakus MISO tapai

Noteikti pievienojiet TX/RX līnijas, kā parādīts iepriekš. Par laimi, aizsardzības rezistori darīja savu darbu, un dēļi netika bojāti, kamēr es sakārtoju, kāpēc dēļi viens pret otru netiek ņemti.

3. darbība. Wifi2BLE būvniecība

Wifi2BLE konstrukcija
Wifi2BLE konstrukcija
Wifi2BLE konstrukcija
Wifi2BLE konstrukcija
Wifi2BLE konstrukcija
Wifi2BLE konstrukcija

Taisnleņķa galvenes tapas pielodētas pie HUZZAH ESP8266, lai to varētu atvienot programmēšanai. Divu dēļu savienošanai tiek izmantoti četri lentes kabeļa vadi. Saglabājiet sieviešu tapas savienotājus un nogrieziet lentes kabeļa otru galu. Manam lentes kabelim bija tādas pašas krāsas kā programmēšanas kabelim Sparkfun USB uz TTL, tāpēc es izvēlējos vadu, lai tas atbilstu. Melns GND, sarkans 5V+, oranžs TX (savieno ar ESP8266 RX) un brūns RX (savieno ar ESP8266 TX)

Es pieslēdzu aizsardzības rezistorus Feather nRF52 plates aizmugurē. (Uzmanīgi konstruktori, kuri zina savus rezistoru kodus, redzēs, ka esmu izmantojis divus 68 omu rezistorus, kurus es paņēmu uz rokas, nevis 100 omus), un pēc tam tos izolēju ar saraušanās apvalku.

Sarkanais kabelis ir pielodēts ar Feather nRF52 USB tapu, lai uzņemtu USB 5V, lai darbinātu HUZZAH ESP8266 moduli, un melnais kabelis ir pielodēts ar Feather nRF52 GND tapu.

Tas viss ir, izņemot moduļu programmēšanu, kā aprakstīts zemāk, ievietojot to plastmasas kastē un pievienojot USB barošanas bloku Feather nRF52.

4. darbība: Wifi2BLE programmēšana

Wifi2BLE programmēšana
Wifi2BLE programmēšana
Wifi2BLE programmēšana
Wifi2BLE programmēšana
Wifi2BLE programmēšana
Wifi2BLE programmēšana

HUZZAH ESP8266 programmēšana

Lai ieprogrammētu vairogu, izpildiet norādījumus, kas sniegti vietnē https://github.com/esp8266/Arduino sadaļā Instalēšana ar dēļu pārvaldnieku. Atverot dēļu pārvaldnieku no izvēlnes Rīki → Padome un atlasot Veids ieguldīts, un instalējiet platformu esp8266. Šis projekts tika apkopots, izmantojot ESP8266 versiju 2.3.0. Citām versijām būs savs kļūdu komplekts, un tās var nedarboties ar šo kodu.

PIEZĪME. NELIETOJIET Adafruit Board instalāciju, jo šeit izmantotā skice netiks apkopota saskaņā ar šo kodu.

Aizveriet un atkārtoti atveriet Arduino IDE, un tagad izvēlnē Rīki → Dēlis varat izvēlēties “Adafruit HUZZAH ESP8266”.

Jums arī jāinstalē pfodESP8266WiFiBufferedClient bibliotēkas jaunākā versija. Šī bibliotēka darbojas ar ESP8266.com IDE spraudni V2.3. (Ja iepriekš esat instalējis bibliotēku pfodESP2866WiFi, pilnībā izdzēsiet šo bibliotēkas direktoriju.)

  • a) Lejupielādējiet šo failu pfodESP8266WiFiBufferedClient.zip savā datorā, pārvietojiet to uz darbvirsmu vai kādu citu viegli atrodamu mapi
  • b) Pēc tam izmantojiet Arduino 1.8.5 IDE izvēlnes opciju Skice → Importēt bibliotēku → Pievienot bibliotēku, lai to instalētu. (Ja Arduino neļauj to instalēt, jo bibliotēka jau pastāv, atrodiet un izdzēsiet vecāko mapi pfodESP8266BufferedClient un pēc tam importējiet šo)
  • c) Apturiet un restartējiet Arduino IDE, un sadaļā Fails-> Piemēri tagad vajadzētu redzēt pfodESP8266BufferedClient.

Tīkla ssid un paroles, kā arī IP un porta iestatīšana

Kad esat instalējis bibliotēku pfodESP8266BufferedClient, atveriet Arduino IDE un nokopējiet šo skici Wifi_Bridge.ino IDE. Pirms moduļa programmēšanas jums jāiestata tīkla ssid un parole un jāizvēlas neizmantots IP.

Rediģējiet šīs trīs rindas Wifi_Bridge.ino augšdaļā

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

Es izmantoju lietotni Fing (Android vai iOS), lai skenētu savu vietējo tīklu un identificētu jau izmantoto IP. Parasti ir droši izvēlēties neizmantotu IP diapazonā no.180 līdz.254

Lai sāktu, varat atstāt portu Nr kā 23, kas ir standarta ports telnet savienojumam.

Kad esat veicis šīs izmaiņas, varat ieprogrammēt ESP8266.

HUZZAH ESP8266 programmēšana

Lai ieprogrammētu HUZZAH ESP8266, pievienojiet USB seriālajam kabelim, kā parādīts fotoattēlā. Pārbaudiet fotoattēlu un vadu. Skatiet arī ESP8266 programmēšanas padomus (espcomm neizdevās)

Es izmantoju Sparkfun USB līdz TTL 3V3 sērijas kabeli, jo tam ir atzīmēti TX un RX vadi. Pārliecinieties, vai TX vads ir pievienots RX tapai un RX vads ir pievienots TX tapai, kā parādīts iepriekš. Ja izmantojat Adafruit kabeli, tam nav atzīmēti termināļi, bet ir krāsu kods, sarkans ir jauda, melns ir pieslīpēts, zaļš ir TX un balts ir RX.

Pievienojiet datoram USB sērijas kabeli un izvēlnē Rīki → Port izvēlieties to COM portam. Atstājiet CPU frekvenci, zibspuldzes izmēru un augšupielādes ātrumu noklusējuma iestatījumos.

Pēc tam ievietojiet Adafruit HUZZAH ESP2866 moduli programmēšanas režīmā, turot nospiestu pogu GPIO0 un noklikšķinot uz pogas Atiestatīt, un pēc tam atlaižot spiedpogu GPIO0. GPIO0 gaismas diodei vajadzētu palikt vāji apgaismotai. Pēc tam izvēlieties Fails → Augšupielādēt vai izmantojiet pogu Labā bultiņa, lai apkopotu un augšupielādētu programmu. Ja augšupielādējot tiek parādīts kļūdas ziņojums, pārbaudiet, vai kabeļu savienojumi ir pievienoti pareizajām tapām, un mēģiniet vēlreiz.

Kad programmēšana ir pabeigta, moduļa sarkanajai gaismas diodei vajadzētu iedegties. Tas norāda, ka tas ir veiksmīgi izveidojis savienojumu ar vietējo tīklu un ir sācis serveri, lai pieņemtu savienojumu.

Testējot HUZZAH ESP2866

Lai pārbaudītu HUZZAH ESP2866, atstājiet pievienoto programmēšanas kabeli un atveriet Arduino IDE Tools → Serial Monitor un iestatiet 9600 baudus (apakšējā labajā stūrī). Pēc tam datorā atveriet termināļa programmu, es izmantoju TeraTerm operētājsistēmai Windows un CoolTerm operētājsistēmai Mac, kā arī izveidoju savienojumu ar IP un portuNo, ko iestatījāt Wifi_Bridge.ino skicē.

Pievienojot moduļa sarkanajām gaismas diodēm, jāsāk mirgot, norādot, ka ir izveidots savienojums. Tagad jums vajadzētu būt iespējai ievadīt sava datora termināļa logā, un rakstzīmes jāparādās Arduino IDE monitora logā un otrādi.

Wifi savienojuma taimauts

Kodam Wifi_Bridge.ino ir savienojuma laiks.

uint32_t connectionTimeout = 60000; // 60 sek. Savienojuma taimauts

Ja HUZZAH ESP8266 modulis 60 sekundes nesaņem WiFi datus, moduļi pārtrauc savienojumu un gaida jaunu. Tas nodrošina, ka modulis atgūstas no “daļēji slēgtiem” savienojumiem, kas notika, klients vienkārši pazūd slikta WiFi savienojuma, maršrutētāja enerģijas zuduma vai klienta piespiedu izslēgšanas dēļ. Sīkāku informāciju skatiet sadaļā Pusatvērtu (nokritušu) TCP/IP ligzdu savienojumu noteikšana.

Šis savienojuma taimauts ir iestatīts uz 60 sek. bet pēc vajadzības to var samazināt vai palielināt. Ja iestatāt to uz 0, nekad nav noildzis laiks, kas nav ieteicams.

Feather nRF52 programmēšana

Lai ieprogrammētu Feather nRF52, izpildiet norādījumus par Arduino Board atbalsta lejupielādi un instalēšanu Feather nRF52. Pārbaudiet, vai varat izveidot savienojumu ar programmu un programmēt, izmantojot USB kabeli.

PIEZĪME: Pirms mēģināt programmēt spalvu, atvienojiet HUZZAH ESP8266 moduli no Feather nRF52

Feather nRF52 pievienošana BLE ierīcei sastāv no divām darbībām. Vispirms identificējot ierīces MAC adresi (un tipu) un pārbaudot, vai tā atbalsta Nordic UART pakalpojumu, izmantojot TX Notify, un pēc tam pārsūtot šo adresi un veidu uz tilta skici.

5. darbība. Savienojuma izveide ar BLE ierīci

Savienojums ar BLE ierīci
Savienojums ar BLE ierīci
Savienojums ar BLE ierīci
Savienojums ar BLE ierīci
Savienojums ar BLE ierīci
Savienojums ar BLE ierīci

Kad HUZZAH ESP8266 ir ieprogrammēts, Feather nRF52 skicē ir jāievada tās ierīces BLE adrese un veids, ar kuru vēlaties izveidot savienojumu. Tas ir divpakāpju process. I) Palaidiet skenēšanas programmu, lai atrastu tuvumā esošās BLE ierīces, kas īsteno Ziemeļvalstu UART pakalpojumu (TX Notify), un pēc tam nokopējiet šī skenera izvadi Feather tilta skicē, lai izveidotu savienojumu ar šo ierīci.

BLE perifērijas ierīču skenēšana

Lai identificētu saderīgas BLE perifērijas ierīces, ielādējiet programmu central_bleuart_scanner.ino savā Feather nRF52. Šī programma nepārtraukti meklē jaunas ierīces un pēc tam pārbauda, vai tās atbalsta Nordic UART pakalpojumu ar TX Notify.

Ziemeļvalstu UART pakalpojums

Ziemeļvalstu UART pakalpojums sastāv no trim daļām, pakalpojuma UUID un RX un TX īpašībām. Šeit ir daži pfodDesignerV3 ģenerēti koda paraugi RedBear NanoV2

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 var ģenerēt parauga kodu vairākiem BLE moduļiem. Tomēr, tā kā “standarta” UART savienojumam nav BLE specifikācijas, ne visi moduļi izmanto Nordic UART pakalpojumu. Piemēram, HM-10 moduļi (Itead BLE vairogs), RFduno un Romeo BLE izmanto savus unikālos uart pakalpojumus un tādējādi nesavienosies ar Feather nRF52.

Tiks savienoti šādi dēļi:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 un V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Boards, Adafruit Bluefruit LE SPI (ti, Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE vai Bluefruit LE SPI Friend) Kā arī dēļi, kurus var kodēt ar pielāgotiem pakalpojumiem vai dēļi, kuros var izmantot BLEPeripheral bibliotēku.

Šeit izmantotais piemēra dēlis ir Arduino/Genuino 101 ar kodu, ko ģenerējis pfodDesignerV3. Bezmaksas pfodDesignerV3 ļauj jums izveidot pfodApp izvēlnes un pēc tam ģenerēt Arduino kodu, kas nepieciešams, lai parādītu precīzu izvēlni jūsu Android mobilajā ierīcē, izmantojot (apmaksātu) pfodApp. pfodApp arī izveidos savienojumu, izmantojot Wifi, kā arī Bluetooth Classic, BLE un SMS, un tādējādi var izveidot savienojumu, izmantojot šo Wifi2BLE tiltu. Tomēr, pat ja nevēlaties izmantot pfodApp kā kontroles lietotni, jūs joprojām varat izmantot pfodDesignerV3, lai ģenerētu Ziemeļvalstu UART pakalpojuma kodu savai BLE platei.

Šī apmācības saite apraksta Arduino/Genuino 101 BLE iestatīšanu un vienkāršas LED ieslēgšanas/izslēgšanas vadības izveidi, izmantojot pfodDesignerV3. PfodDesignerV3 izveidotā skice ir Arduino101_led_control.ino

Programmējot Arduino/Genuino 101 ar Arduino101_led_control.ino, varēsit izveidot savienojumu ar pfodApp un parādīt šādu ekrānu savā Android mobilajā ierīcē.

Tomēr tas ir tikai piemērs, un jums nav jāiegādājas pfodApp, lai pabeigtu šo projektu. Svarīgi ir tas, ka bezmaksas lietotne pfodDesignerV3 ir ģenerējusi kodu Arduino/Genuino 101, kas ievieš Ziemeļvalstu UART pakalpojumu. Tāpēc ļaujim to meklēt.

Tomēr tas ir tikai piemērs, un jums nav jāiegādājas pfodApp, lai pabeigtu šo projektu. Svarīgi ir tas, ka bezmaksas lietotne pfodDesignerV3 ir ģenerējusi kodu Arduino/Genuino 101, kas ievieš Ziemeļvalstu UART pakalpojumu. Tāpēc ļaujim to meklēt.

Ziemeļu UART pakalpojuma meklēšana

Kad HUZZAH ESP8266 modulis ir atvienots no Feather nRF52, ieprogrammējiet Feather nRF52 ar central_bleuart_scanner.ino un pēc tam atveriet Arduino IDE Tools → Serial Monitor un iestatiet pārraides ātrumu uz 9600. Arduino/Genuino 101 ieslēgšana nodrošina izvadi, kas parādīta pirmais ekrānuzņēmums iepriekš.

Kā redzat, skeneris atrada divas BLE ierīces, Arduino/Genuino 101 ar tajā atrastu Ziemeļvalstu UART pakalpojumu, BET TX raksturojums neatbalstīja paziņojumu. Skeneris arī atrada RFduino BLE moduli, bet RFduino neizmanto Nordic UART pakalpojumu, bet izmanto savu. Bluetooth komiteja par to vaino, ka nav norādījusi “standarta” UART pakalpojumu, bet atstājusi katru ražotāju izveidot savu.

Kā minēts iepriekš, 101 kodu pfodDesignerV3 ģenerēja galvenokārt lietošanai kopā ar pfodApp. pfodApp nav tik izvēlīgs par TX Notify, kā ir Feather nRF52 uart kods. pfodApp darbojas ar 101, kā ieprogrammēts, bet Feather nRF52 uzstāj uz TX Notify, tāpēc, lai apmierinātu spalvu, ir jāveic nelielas koda izmaiņas.

Atveriet Arduino101_led_control.ino Arduino IDE un augšpusē atradīsit šīs divas līnijas. Otrā rinda ir tikai raksturlieluma apraksts un neietekmē darbību.

BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", Mainiet tos uz

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

Pēc tam pārprogrammējiet 101 ar šo rediģēto versiju Arduino101_Notify_led_control.ino. Tad, atkārtoti palaižot Feather nRF52 skeneri (central_bleuart_scanner.ino), sērijas monitors parāda otro ekrānuzņēmumu iepriekš.

Tagad Genuino 101 nav kļūdu, un skeneris izdrukā Feather nRF52 tilta skicei nepieciešamo kodu, lai tas izveidotu savienojumu ar 101. Skeneris pārbaudīs visas ierīces, kas atrodas diapazonā. Sarkanais indikators mirgo vienreiz katrai ierīcei, kas atrodama, izmantojot Nordic UART pakalpojumu (TX Notify).

6. darbība. Savienojuma izveide ar BLE perifēriju

LED indikācijas

Feather nRF52 ir divi gaismas diodes - zils un sarkans. Kad tāfele ir pievienota BLE ierīcei, zilā gaismas diode ir nemainīga, pretējā gadījumā tā mirgo. Skeneris nepaliek savienots ar ierīci, tāpēc tā zilā gaismas diode parasti mirgo. Sarkanais indikators mirgo vienreiz katrai Nordic UART Service (TX Notify) ierīcei. Darbojoties kā skeneris, sarkanās gaismas diodes saskaita atrasto Nordic UART Service (TX Notify) ierīču skaitu. Darbojoties kā tilts, sarkanā gaismas diode vienreiz mirgo, kad tā ir savienota ar kodu BLE adresi.

Savienojuma izveide ar BLE perifēriju

Tagad, kad skenera skice ir sniegusi informāciju par BLE ierīci, ar kuru vēlaties izveidot savienojumu, varat kopēt izvadi central_bleuart_bridge.ino skicē. Skices augšdaļā atradīsit šādu kodu.

// Šīs nākamās trīs koda rindas nāk no izejas 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;

Aizstājiet trīs koda rindas ar BLE ierīces skenera izvadi, ar kuru vēlaties izveidot tiltu. Pēc tam ieprogrammējiet Feather nRF52 ar rediģēto central_bleuart_bridge.ino skici.

Central_bleuart_bridge skices testēšana

Pirms pievienojat HUZZAH ESP8266 atpakaļ Feather nRF52, pārbaudiet savienojumu ar savu BLE ierīci. Atstājot Feather nRF52 savienotu ar jums Arduino IDE, atveriet Rīki → Sērijas monitors ar 9600 baudām un pēc tam pārbaudiet, vai jūsu mērķa BLE ierīce ir ieslēgta.

Kad ir izveidots savienojums ar jūsu BLE ierīci, kā aprakstīts iepriekš, zilā gaismas diode nepārtraukti iedegsies un sarkanā lampiņa mirgos reizi 10 sekundēs. Tādējādi jūs nevarat izveidot un uzturēt savienojumu.

Pēc tam sērijas monitorā varat ievadīt komandas, kuras plānojat nosūtīt uz savu BLE ierīci, skatīties, kā tā darbojas, un uzraudzīt visas atbildes, ko tā nosūta atpakaļ. Ja viss ir kārtībā, varat izslēgt un pievienot spraudni HUZZAH ESP8266 modulim.

7. darbība. Savienojuma izveide ar BLE ierīci, izmantojot WiFi - visu kopā

Kad esat ieprogrammējis un pārbaudījis HUZZAH ESP8266 moduli ar tā tilta kodu (Wifi_Bridge.ino), kas konfigurēts jūsu tīkla SSID un parolei, un IP UN ieprogrammēts un pārbaudīts Feather nRF52 ar tilta kodu (central_bleuart_bridge.ino), kas konfigurēts ar BLE ierīces adresi un ierakstiet, tad varat tos savienot kopā un pievienot USB barošanas bloku Feather modulim, lai tos abus darbinātu.

HUZZAH moduļa sarkanajam gaismas diodei vajadzētu iedegties nepārtraukti, kad tas savienojas ar jūsu vietējā tīkla maršrutētāju, un spalvu zilajam gaismas diodei vajadzētu iedegties nepārtraukti, kad tas savienojas ar jūsu BLE ierīci, un spalvu sarkanajam gaismas diodei vajadzētu mirgot apmēram ik pēc 10 sekundēm, lai norādītu tikai BLE ierīce ir pievienota.

Atveriet savu telnet programmu un izveidojiet savienojumu ar HUZZAH IP un portu. HUZZAH sarkanajam gaismas diodei vajadzētu lēnām mirgot, norādot, ka jūsu programma ir pievienota, un jums ir jānosūta komandas uz savu BLE ierīci, izmantojot WiFi, un jāskatās, kā darbojas BLE ierīce, un redziet visas atbildes savā telnet logā. Atcerieties, ja jūsu BLE ierīce nesūta datus atpakaļ 60 sekundes, HUZZAH kods pārtrauks savienojuma iestāšanos un atvienosies, un HUZZAH sarkanā gaismas diode atkal iedegsies.

8. darbība: palīdzība - tas nedarbojas

Vispirms veiciet iepriekš aprakstītās pārbaudes darbības, pārbaudot HUZZAH ESP2866 un skices central_bleuart_bridge pārbaudi.

Skenēšanas problēmas

Ja skeneris nevar atrast jums BLE ierīci, tas ir pārāk tālu vai netiek reklamēts vai jau ir savienots ar kaut ko. Mēģiniet pārvietot skeneri tuvāk un ieslēgt ierīci ar strāvas padevi un izslēgt visas pārējās tuvumā esošās mobilās ierīces, kurām var būt savienojums ar BLE ierīci.

Ja tiek iegūta šāda skenera izeja.

Savienots ar 98: 4F: EE: 0C: FC: 8F Meklēju Ziemeļvalstu UART pakalpojumu … Nav atrasts VAI nav atklājams !!!!! Nevarēja identificēt Ziemeļvalstu UART pakalpojumu !!!!!!!! Ja jūs gaidījāt Ziemeļvalstu UART pakalpojumu, pārvietojiet skeneri tuvāk BLE ierīcei !!!!

Iespējams, ka esat pietiekami tuvu BLE ierīcei, lai to atklātu, bet neesat pietiekami tuvu, lai veiksmīgi atklātu pakalpojumu, lai atrastu Ziemeļvalstu UART pakalpojumu. Mēģiniet tuvināties BLE ierīcei.

Pēdējā gadījumā varat izmantot bezmaksas Nordic nRF Connect lietotni Android vai iOS ierīcēm. Šai lietotnei ir labāks diapazons un jutība. Tas jums pateiks, vai BLE ierīcei ir Ziemeļvalstu UART pakalpojums. Tomēr, pirms mēģināt izmantot Wifi2BLE tiltu, jo tas izmanto kodu, kas līdzīgs skenerim, jums joprojām ir jāieslēdz skeneris, lai tas darbotos un izveidotu savienojumu, un jāidentificē Nordic UART Serivice.

Ja vēlaties rakt dziļāk, varat izmantot Adafruit Bluefruit LE Sniffer moduli, lai redzētu, kas ir gaisā.

BLE savienojuma problēmas

Ja jums izdevās skenēt BLE ierīci, visticamāk, savienojuma problēmu cēloņi ir I) BLE ierīce ir pārāk tālu, II) kaut kas cits jau ir pievienots BLE ierīcei

WiFi savienojuma problēmas

Ja HUZZAH ESP8266 sarkanā gaismas diode nedeg nepārtraukti, tad tai nav savienojuma ar tīklu, izmantojot maršrutētāju. Pārbaudiet ssid un paroli, kuru esat ieguvis vietnē Wifi_Bridge.ino, un izmantojiet lietotni Fing Android vai iOS, lai pārbaudītu, vai jūsu piešķirtais IP vēl netiek izmantots. Mēģiniet izslēgt visus savus datorus un ierīces un ieslēgt maršrutētāju (ieslēdziet to 20 sekundes) un pēc tam vēlreiz skenējiet ar Fing. Visbeidzot, ja savienojums nepārtraukti pārtrūkst, atcerieties savienojuma taimauta iestatījumu kodā Wifi_Bridge.ino.

9. solis: paplašinājumi un secinājumi

Šeit iesniegtais projekts ir vienkāršākā versija. Ir vairāki iespējamie paplašinājumi, piemēram:-

  • Feather nRF52 vienlaikus var izveidot savienojumu ar līdz 4 BLE ierīcēm, lai jūs varētu modificēt kodu, lai pievienotu vairāk derīgu adrešu un kontrolētu līdz 4 ierīcēm no viena WiFi savienojuma. Skatiet piemēra kodu, kas tiek piegādāts kopā ar Feather nRF52 plates instalēšanu.
  • Jūs varat izveidot caurumu maršrutētājā, lai nodrošinātu piekļuvi BLE ierīcei no jebkuras vietas internetā. Skatiet DIY IoT ierīču pievienošana internetam, izmantojot pfodApp.
  • Jūs varētu izmantot kodu no Cheap/Simple Wifi Shield, lai, izmantojot tīmekļa lapu, bez pārprogrammēšanas konfigurētu HUZZAH WiFi tīkla parametrus. Ķēdei jāpievieno konfigurācijas spiedpoga.
  • Varat pievienot konfigurācijas spiedpogu (izmantojot to pašu pogu, kas norādīta iepriekš), kas ļauj Feather nRF52 meklēt BLE ierīces ar Nordic UART (TX Notify) un pēc tam saglabāt detaļas savienojumam ar spēcīgāko signālu. Lai saglabātu rezultātu, jums būs jāizmanto nffs bibliotēka, kas tiek piegādāta kopā ar Adafruit nRF52 plates instalēšanu.
  • Jūs varat pievienot Web lapu kodam HUZZAH ESP8266, lai nodrošinātu pielāgotu saskarni jūsu BLE ierīcei. Varat arī izmantot pfodDesignerV3 un pfodApp, lai pievienotu pielāgotu saskarni bez izmaiņām šajā projektā.

Secinājums

Šis vienkāršais projekts nodrošina WiFi piekļuvi jebkuram Bluetooth Low Energy (BLE) modulim, kas īsteno Nordic UART ar TX Notify. Wifi2BLE tilts ir pilnīgi caurspīdīgs. Tas vienkārši nodod WiFi datus BLE ierīcei un nodod BLE ierīces datus atpakaļ WiFi savienojumam.

Vienkāršā uzbūve un detalizētās testēšanas instrukcijas padara šo projektu par piemērotu iesācējiem, kuri vēlas piekļūt savai BLE ierīcei no sava datora vai ārpus BLE normālā diapazona.

Šis projekts kļūs svarīgāks, tiklīdz BLE ierīces programmatūra sasniegs jauno Bluetooth V5 Mesh specifikāciju. Tad Wifi2BLE nodrošinās interneta piekļuvi visai jūsu mājas automatizācijai.

Ieteicams: