INHOUDSOPGAWE:

Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug: 9 stappe (met foto's)
Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug: 9 stappe (met foto's)

Video: Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug: 9 stappe (met foto's)

Video: Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug: 9 stappe (met foto's)
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Julie
Anonim
Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug
Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug
Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug
Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug
Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug
Eenvoudige WiFi na BLE (Bluetooth Low Energy) brug

Opdatering 4 Desember 2017 - hersiene Feather nRF52 -sketse en ontfoutingswenke. Bygevoeg foto's van die brug wat in die boks gemonteer is

Hierdie eenvoudige projek bied WiFi -toegang tot enige Bluetooth Low Energy (BLE) module wat Nordic se UART implementeer met TX Notify. Die Wifi2BLE -brug is heeltemal deursigtig. Dit stuur net die WiFi -data na die BLE -toestel en stuur die BLE -toestel se data terug na die WiFi -verbinding.

Die gratis pfodDesignerV3 genereer kode om 'n Nordiese UART-diens te implementeer op baie BLE-modules, waaronder Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 en V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend en Flora Boards, Adafruit Bluefruit LE SPI (dws Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE of Bluefruit LE SPI Friend) en enige ander bord waarmee u u eie diens kan programmeer.

Hierdie Wifi2BLE -brug is geskik vir onervare konstrukteurs wat kan soldeer. Dit gebruik slegs twee borde, een lintkabel en twee weerstande

Behalwe gedetailleerde toetse vir elke bord, bevat hierdie instruksies ook 'n stap Help - dit werk nie, met meer wenke om foute te vind.

Hierdie instruksies is ook aanlyn beskikbaar

Waarom hierdie projek?

Hierdie projek los 'n aantal probleme op wat BLE (Bluetooth Low Energy) ondervind.

  • Slegs onlangse selfone en rekenaars ondersteun BLE. Met die Wifi2BLE -brug kan enige selfoon of rekenaar met 'n WiFi -verbinding die BLE -toestel verbind en beheer.
  • BLE het 'n beperkte omvang. Die Wifi2BLE -brug bied toegang tot die BLE -toestel vanaf enige plek in die huis (waar daar 'n WiFi -verbinding is) en van buite via die internet.
  • Om BLE -programme te skep, moet u Android of iOS leer. Die Wifi2BLE -brug bied 'n universele telnetverbinding via enige terminale program. Verder kan u maklik 'n webblad by die WiFi -module voeg om u eie pasgemaakte koppelvlak te skep.
  • BLE V5 beloof netwerke om al u BLE -toestelle by u huis aan te sluit, sodra die sagteware die nuutste Bluetooth -spesifikasie inhaal. Die Wifi2BLE -brug gebruik 'n BLE V5 -toestel en bied dus toegang tot hierdie tuisnetwerk wanneer dit aankom.

My onmiddellike gebruik vir hierdie projek is om die BLE -ligbeheer van die sitkamer by die WiFi -netwerk te voeg sodat dit vanaf enige plek in die huis beheer kan word. Alhoewel hierdie tutoriaal pfodApp gebruik as 'n voorbeeld om die BLE -borde via WiFi te beheer, hoef u nie pfodApp aan te skaf om hierdie projek te voltooi nie.

Stap 1: Onderdele lys

Koste ~ US $ 60 op 30 November 2017, aflewering uitgesluit + 'n klein plastiekomhulsel

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

Adafruit HUZZAH ESP8266 Breakout - ~ US $ 10

Lintkabel met aparte eindpunte-Bus Pirate Cable ~ US $ 5 https://www.sparkfun.com/products/9556 OF 10-pins IDC Socket Rainbow Breakout Cable ~ US $ 4 https://www.sparkfun.com/products/ 9556 OF soortgelyk

Breek weg manlike opskrifte - reghoekig - ~ US $ 2

USB na TTL 3V3 seriële kabel - ~ US $ 10 https://www.sparkfun.com/products/12977 (verkieslik omdat die penne gemerk is) OF https://www.sparkfun.com/products/12977 (penne is NIE gemerk)

USB A tot Micro B -kabel - ~ US $ 4 https://www.sparkfun.com/products/12977 (3 voet lank) OF ~ US $ 3 https://www.sparkfun.com/products/12977 (6 duim lank) OF ~ US $ 2 https://www.sparkfun.com/products/12977 (6 duim lank) OF ~ US $ 5 https://www.sparkfun.com/products/12977 (6 voet lank) OF soortgelyk

2 x 100 ohm weerstande - ~ US $ 1

USB -kragtoevoer (500mA of meer) - ~ US $ 6 https://www.sparkfun.com/products/12890 OF ~ US $ 7 https://www.adafruit.com/product/1994 OF soortgelyk

Arduino IDE V1.8.5 en 'n rekenaar om dit op te laat loop.

Vir 'n plastiekboks gebruik ek een van Jaycar UB5 (blou) 83mm x 54mm x 31mm ~ A $ 4

Stap 2: Wifi2BLE -stroombaan

Wifi2BLE -stroombaan
Wifi2BLE -stroombaan

Die Wifi2BLE -stroombaan word hierbo getoon. 'N pdf -weergawe is hier. Soos u kan sien, is die kring baie eenvoudig. Slegs 4 drade en twee beskermingsweerstands van 100 ohm. Die beskermingsweerstands is ingeval u die TX / RX-lyne misloop nadat u die HUZZAH ESP8266 of die Feather nRF52 geprogrammeer het.

LET WEL: die Feather nRF52-bordmerk vir die TX- en RX-penne is nie korrek nie. Die TX -pen is eintlik die een langs die DFU -pen en die RX -pen is die een langs die MISO -pen

Maak seker dat u die TX/RX -lyne verbind soos hierbo getoon. Gelukkig het die beskermingsweerstands hul werk gedoen en die planke is nie beskadig nie, terwyl ek uitvind waarom die planke nie na mekaar toe vat nie.

Stap 3: Wifi2BLE -konstruksie

Wifi2BLE Konstruksie
Wifi2BLE Konstruksie
Wifi2BLE Konstruksie
Wifi2BLE Konstruksie
Wifi2BLE Konstruksie
Wifi2BLE Konstruksie

Reghoekige koppenne is aan die HUZZAH ESP8266 gesoldeer sodat dit ontkoppel kan word vir programmering. Vier drade van die lintkabel word gebruik om die twee borde met mekaar te verbind. Hou die vroulike penverbindings en sny die ander kant van die lintkabel af. My lintkabel het dieselfde kleure as die Sparkfun USB na TTL -programmeringskabel, so ek het die draad gekies om daarby te pas. Swart vir GND, rooi vir 5V+, oranje vir TX (verbind met ESP8266 RX) en bruin vir RX (verbind met ESP8266 TX)

Ek het die beskermingsweerstande aan die agterkant van die Feather nRF52 -bord bedraad. (Oplettende konstruktore wat hul weerstandskodes ken, sal sien dat ek twee 68 ohm weerstande wat ek byderhand het in plaas van 100 ohm) gebruik het en dit dan met 'n krimpfolie geïsoleer het.

Die Rooi kabel word aan die Feather nRF52 USB -pen gesoldeer om die USB 5V op te neem om die HUZZAH ESP8266 -module aan te dryf en die Swart kabel word aan die Feather nRF52 GND -pen gesoldeer.

Dit is alles behalwe vir die programmering van die modules, soos hieronder beskryf, in 'n plastiekboks geplaas en 'n USB -kragbron in die Feather nRF52 gekoppel.

Stap 4: Wifi2BLE -programmering

Wifi2BLE -programmering
Wifi2BLE -programmering
Wifi2BLE -programmering
Wifi2BLE -programmering
Wifi2BLE -programmering
Wifi2BLE -programmering

Die programmering van die HUZZAH ESP8266

Om die skild te programmeer, volg die instruksies op https://github.com/esp8266/Arduino onder Installing With Boards Manager. As u die bestuurdersbestuurder in die menu → Gereedskap → raad oopmaak, kies Tipe bygedra en installeer die esp8266 -platform. Hierdie projek is saamgestel met behulp van die ESP8266 weergawe 2.3.0. Ander weergawes het hul eie stel foute en werk moontlik nie met hierdie kode nie.

OPMERKING: MOENIE die Adafruit Board -installasie gebruik nie, aangesien die skets wat hier gebruik word, nie saamgestel sal word onder die kode nie.

Sluit die Arduino IDE en maak dit weer oop, en u kan nou "Adafruit HUZZAH ESP8266" in die menu → Gereedskap → Bord kies.

U moet ook die nuutste weergawe van die pfodESP8266WiFiBufferedClient -biblioteek installeer. Hierdie biblioteek werk met ESP8266.com IDE-inprop V2.3. (As u die pfodESP2866WiFi -biblioteek voorheen geïnstalleer het, moet u die biblioteekgids heeltemal verwyder.)

  • a) Laai hierdie pfodESP8266WiFiBufferedClient.zip -lêer af na u rekenaar, skuif dit na u lessenaar of na 'n ander gids wat u maklik kan vind
  • b) Gebruik dan die Arduino 1.8.5 IDE -kieslysopsie Skets → Invoerbiblioteek → Voeg biblioteek by om dit te installeer. (As Arduino u nie toelaat om dit te installeer omdat die biblioteek reeds bestaan nie, soek en verwyder dan die ouer pfodESP8266BufferedClient -lêergids en voer dit dan in)
  • c) Stop en herbegin die Arduino IDE en onder File-> Voorbeelde behoort u nou pfodESP8266BufferedClient te sien.

Stel die netwerk ssid en wagwoord en IP en poort in

Nadat u die pfodESP8266BufferedClient -biblioteek geïnstalleer het, maak die Arduino IDE oop en kopieer hierdie skets, Wifi_Bridge.ino, na die IDE. Voordat u die module programmeer, moet u die SSID en wagwoord van u netwerk stel en 'n ongebruikte IP kies.

Wysig hierdie drie reëls bo -aan Wifi_Bridge.ino

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

Ek gebruik die Fing -app (Android of iOS) om my plaaslike netwerk te skandeer en die IP te identifiseer wat reeds gebruik word. Dit is gewoonlik veilig om 'n ongebruikte IP te kies in die reeks.180 tot.254

Om mee te begin kan u die poort No as 23, die standaardpoort vir 'n telnetverbinding, laat.

Sodra u die veranderinge aangebring het, kan u die ESP8266 programmeer.

Die programmering van die HUZZAH ESP8266

Om die HUZZAH ESP8266 te programmeer, koppel die USB aan die seriële kabel soos op die foto getoon. Gaan die foto en u bedrading na. Sien ook ESP8266 -programmeerwenke (veral nie)

Ek gebruik die Sparkfun USB na TTL 3V3 seriële kabel omdat die TX- en RX -drade gemerk is. Maak seker dat die TX -kabel in die RX -pen ingeprop is en dat RX -kabel in die TX -pen is, soos hierbo getoon. As u die Adafruit -kabel gebruik, is die terminale nie gemerk nie, maar is dit gekodeer, rooi is krag, swart is gemaal, groen is TX en wit is RX.

Koppel die USB -na -seriële kabel aan op u rekenaar en kies die COM -poort in die menu → Gereedskap → Poort. Laat die CPU -frekwensie, flitsgrootte en oplaaisnelheid by hul standaardinstellings.

Plaas dan die Adafruit HUZZAH ESP2866 -module in die programmeermodus deur die GPIO0 -drukknop ingedruk te hou, op die Reset -drukknop te klik en dan die GPIO0 -drukknop los te laat. Die GPIO0 -led moet swak verlig bly. Kies dan Lêer → Laai op of gebruik die pyltjie regs om die program saam te stel en op te laai. As u 'n foutboodskap kry om op te laai, moet u seker maak dat u kabelverbindings die regte penne ingeprop het en probeer weer.

Sodra die programmering voltooi is, moet die Rooi Led op die module brand. Dit dui aan dat dit suksesvol met u plaaslike netwerk gekoppel is en dat die bediener 'n verbinding begin aanvaar het.

Toets die HUZZAH ESP2866

Om die HUZZAH ESP2866 te toets, laat die programmeerkabel aangeslote en maak die Arduino IDE Tools → Serial Monitor oop en stel 9600 baud in (regter onderhoek). Maak dan 'n terminale program op u rekenaar oop, ek gebruik TeraTerm vir Windows en CoolTerm vir Mac, en maak verbinding met die IP en poort Nee wat u in die Wifi_Bridge.ino -skets gestel het.

As u die rooi led op die module aansluit, moet die module begin flikker, wat aandui dat daar 'n verbinding is. U moet nou in u rekenaar se eindvenster kan tik, en die karakters moet in die monitorvenster van die Arduino IDE verskyn, en omgekeerd.

Wifi -verbinding se tydsduur

Die Wifi_Bridge.ino -kode het 'n verbindingstyd.

uint32_t connectionTimeout = 60000; // Verbindingstyd van 60 sek

As die HUZZAH ESP8266 -module vir 60 sekondes geen WiFi -data ontvang nie, sluit die modules die verbinding en wag 'n nuwe een. Dit verseker dat die module herstel van 'halfgeslote' verbindings wat gebeur, maar die kliënt verdwyn net as gevolg van 'n slegte WiFi -verbinding, kragverlies by die router of gedwonge sluiting van die kliënt. Sien Opsporing van half-oop (laat val) TCP/IP-aansluitverbindings vir meer besonderhede.

Hierdie verbindingstyd is 60 sekondes. maar kan verminder of verhoog soos nodig. Om dit op 0 te stel, beteken dat daar nooit 'n tydsverloop is nie, wat nie aanbeveel word nie.

Programmering van die veer nRF52

Om die Feather nRF52 te programmeer, volg die instruksies vir die aflaai en installering van die Arduino Board -ondersteuning vir die Feather nRF52. Kontroleer of u die kaart kan koppel en via die USB -kabel kan programmeer.

LET WEL: Ontkoppel die HUZZAH ESP8266 -module van die Feather nRF52 voordat u die Feather probeer programmeer

Die verbinding van die Feather nRF52 met 'n BLE -toestel bestaan uit twee stappe. Identifiseer eers die MAC -adres (en tipe) op die toestel en kontroleer of dit die Nordic UART -diens ondersteun met TX Notify en dan die adres en tipe na die brugskets oordra.

Stap 5: Koppel aan 'n BLE -toestel

Koppel aan 'n BLE -toestel
Koppel aan 'n BLE -toestel
Koppel aan 'n BLE -toestel
Koppel aan 'n BLE -toestel
Koppel aan 'n BLE -toestel
Koppel aan 'n BLE -toestel

Sodra die HUZZAH ESP8266 geprogrammeer is, moet u die BLE -adres en die tipe toestel waarmee u wil koppel, in die Feather nRF52 -skets kodeer. Dit is 'n twee -stap proses. I) Begin die skandeerprogram om nabygeleë BLE -toestelle te vind wat die Nordic UART Service implementeer (TX Notify) en kopieer dan die uitvoer van die skandeerder in die Feather bridge -skets om dit aan te sluit op die toestel.

Soek na BLE -randapparatuur

Laai die central_bleuart_scanner.ino -program in u Feather nRF52 om versoenbare BLE -randapparatuur te identifiseer. Hierdie program soek voortdurend na nuwe toestelle en kyk dan of dit die Nordic UART -diens ondersteun met TX Notify.

Nordiese UART -diens

Die Nordic UART Service bestaan uit drie dele, die Service UUID en die RX en TX kenmerke. Hier is 'n voorbeeldkode wat deur pfodDesignerV3 vir die RedBear NanoV2 gegenereer is

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 kan voorbeeldkode vir 'n aantal BLE -modules genereer. Omdat daar geen BLE -spesifikasie vir 'n 'standaard' UART -verbinding is nie, maak nie alle modules gebruik van die Nordiese UART -diens nie. HM-10-modules (Itead BLE-skild), RFduno en Romeo BLE gebruik byvoorbeeld hul eie unieke uart-dienste en sal dus nie aan die Feather nRF52 koppel nie.

Die volgende borde sal verbind word:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 en V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend en Flora Boards, Adafruit Bluefruit LE SPI (dws Bluefruit LE Shield), Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE of Bluefruit LE SPI Friend) sowel as borde wat gekodeer kan word met persoonlike dienste of borde wat BLEPeripheral library kan gebruik.

Die voorbeeldbord wat hier gebruik word, is die Arduino/Genuino 101 met kode wat deur pfodDesignerV3 gegenereer word. Met die gratis pfodDesignerV3 kan u pfodApp -spyskaarte skep en dan die Arduino -kode genereer om die presiese spyskaart op u Android -selfoon te wys met behulp van (betaalde) pfodApp. pfodApp maak ook verbinding via Wifi, sowel as Bluetooth Classic, BLE en SMS, en kan dus via hierdie Wifi2BLE -brug aansluit. Selfs as u nie pfodApp as u beheerprogram wil gebruik nie, kan u steeds die pfodDesignerV3 gebruik om 'n Nordiese UART -dienskode vir u BLE -bord te genereer.

Hierdie tutoriaalskakel beskryf die opstel van die Arduino/Genuino 101 BLE en die skep van 'n eenvoudige LED aan/uit -beheer met pfodDesignerV3. Die skets wat deur die pfodDesignerV3 vervaardig is, is Arduino101_led_control.ino

Deur die Arduino/Genuino 101 met die Arduino101_led_control.ino te programmeer, kan u met pfodApp skakel en die volgende skerm op u Android -selfoon vertoon.

Dit is egter slegs 'n voorbeeld, en u hoef nie pfodApp te koop om hierdie projek te voltooi nie. Die belangrike deel is dat die gratis pfodDesignerV3 -app kode genereer vir die Arduino/Genuino 101 wat 'n Nordiese UART -diens implementeer. Laat ons dus daarvoor soek.

Dit is egter slegs 'n voorbeeld, en u hoef nie pfodApp te koop om hierdie projek te voltooi nie. Die belangrike deel is dat die gratis pfodDesignerV3 -app kode genereer vir die Arduino/Genuino 101 wat 'n Nordiese UART -diens implementeer. Laat ons dus daarvoor soek.

Soek vir 'n Nordiese UART -diens

Met die HUZZAH ESP8266 -module wat van die Feather nRF52 ontkoppel is, programmeer u die Feather nRF52 met die central_bleuart_scanner.ino en maak dan die Arduino IDE Tools → Serial Monitor oop en stel die baud -tempo in op 9600. As u die Arduino/Genuino 101 aanskakel, word die uitvoer getoon in die eerste skermskoot hierbo.

Soos u kan sien, het die skandeerder twee BLE -toestelle gevind, 'n Arduino/Genuino 101 met 'n Nordiese UART -diens, maar die TX -kenmerk ondersteun Notify nie. Die skandeerder het ook 'n RFduino BLE -module gevind, maar RFduino gebruik nie die Nordiese UART -diens nie, maar gebruik eerder sy eie. Die Bluetooth -komitee dra die skuld hiervoor omdat hy nie 'n 'standaard' UART -diens spesifiseer nie, maar dat elke vervaardiger hul eie besluit moet maak.

Soos hierbo gedek, is die 101 -kode gegenereer deur pfodDesignerV3 hoofsaaklik vir gebruik met pfodApp. pfodApp is nie so kieskeurig oor TX Notify soos die Feather nRF52 uart -kode is nie. pfodApp werk met die 101 soos geprogrammeer, maar die Feather nRF52 dring aan op TX Notify, sodat 'n klein verandering aan die kode nodig is om die Feather tevrede te stel.

Maak die Arduino101_led_control.ino oop in die Arduino IDE en bo -aan vind u hierdie twee lyne. Die tweede reël is slegs 'n beskrywing van die kenmerk en beïnvloed nie die werking nie.

BLECaracteristic txCharacteristic = BLECaracteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX-;

Verander hulle na

BLECarakteristies txCharacteristic = BLECarakteristies ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX - (Notify)");

Herprogrammeer dan die 101 met hierdie bewerkte weergawe, Arduino101_Notify_led_control.ino. As u die Feather nRF52-skandeerder dan weer laat loop (central_bleuart_scanner.ino), wys die Serial Monitor die tweede skermskoot hierbo.

Daar is geen foute met die Genuino 101 nie en die skandeerder druk die kode af wat nodig is vir die Feather nRF52 -brugskets, sodat dit met die 101 kan koppel. Die rooi LED flits een keer vir elke toestel wat met Nordic UART Service (TX Notify) gevind word.

Stap 6: Koppel aan 'n BLE -randapparaat

LED -aanduidings

Die Feather nRF52 het twee LED's, blou en rooi. As die bord aan 'n BLE -toestel gekoppel is, is die blou led konstant, anders flikker dit. Die skandeerder bly nie aan die toestel gekoppel nie, so die blou LED knipper gewoonlik. Die rooi led flits een keer vir elke Nordic UART Service (TX Notify) toestel. As u as skandeerder werk, tel die rooi led die aantal Nordiese UART -diens (TX Notify) -toestelle. As dit as 'n brug loop, flikker die Rooi Led een keer as dit aan die kode BLE -adres gekoppel is.

Koppel aan 'n BLE -randapparaat

Noudat die skandeerderskets die besonderhede bevat van die BLE -toestel waarmee u wil koppel, kan u die uitvoer na die skets central_bleuart_bridge.ino kopieer. Bo -aan die skets vind u die volgende kode.

// Hierdie volgende drie reëls kode kom van die sentrale_bleuart_scanner.ino -uitvoer

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

Vervang die drie reëls kode met die uitset van die skandeerder vir die BLE -toestel waarheen u wil oorbrug. Programmeer dan die Feather nRF52 met die bewerkte sentrale_bleuart_bridge.ino -skets.

Toets die sentrale_bleuart_brug -skets

Toets die verbinding met u BLE -toestel voordat u die HUZZAH ESP8266 weer in die Feather nRF52 aansluit. Laat die Feather nRF52 aan u Arduino IDE gekoppel wees, maak die gereedskap → Serial Monitor op 9600 baud oop en kyk dan of u BLE -doelwit -toestel aangeskakel is.

As die verbinding met u BLE -toestel gemaak is, soos hierbo beskryf, sal die blou led konstant brand en die rooi led sal elke 10 sekondes flikker. Hiermee kan u nie die verbinding tot stand bring en behou word nie.

Dan kan u in die Serial Monitor die opdragte wat u verwag om na u BLE -toestel te stuur, invoer en kyk hoe dit werk en die reaksie wat dit terugstuur, monitor. As alles goed is, kan u die HUZZAH ESP8266 -module afskakel en aansluit.

Stap 7: Koppel aan die BLE -toestel via WiFi - voeg alles bymekaar

Nadat u die HUZZAH ESP8266 -module geprogrammeer en getoets het met sy brugkode (Wifi_Bridge.ino) wat vir u netwerk ssid en wagwoord gekonfigureer is, en die Feather nRF52 met sy brugkode (central_bleuart_bridge.ino) gekonfigureer met die adres van die BLE -toestel geprogrammeer en getoets het. en tik, dan kan u dit aan mekaar koppel en 'n USB -toevoer by die Feather -module aansluit om hulle aan te skakel.

Die HUZZAH -module Rooi LED moet stewig brand terwyl dit met u plaaslike netwerkrouter verbind word, en die Feather Blue -led moet stewig brand as dit met u BLE -toestel verbind word en die Feather Red -led moet elke 10 sekondes of so flikker om net aan te dui BLE -toestel is gekoppel.

Maak u telnet -program oop en maak verbinding met die HUZZAH se IP en poort. Die HUZZAH -rooi led moet stadig flikker om aan te dui dat u program gekoppel is, en u moet opdragte na u BLE -toestel stuur via WiFi en kyk hoe die BLE -toestel werk en enige reaksie in u telnetvenster sien. Onthou, as u BLE -toestel geen data vir 60 sekondes terugstuur nie, sal die HUZZAH -kode die verbinding beëindig en ontkoppel, en die HUZZAH Rooi LED sal weer stewig bly.

Stap 8: Hulp - dit werk nie

Doen eers die bogenoemde toetsstappe, toets die HUZZAH ESP2866 en toets die skets central_bleuart_bridge.

Skandeerprobleme

As die skandeerder u nie 'n BLE -toestel kan vind nie, is dit óf te ver weg, óf nie adverteer nie, of is dit reeds aan iets gekoppel. Probeer die skandeerder nader en skakel die toestel aan en skakel alle ander toestelle in die buurt af wat moontlik 'n verbinding met die BLE -toestel het.

As u so 'n skandeerderuitset kry.

Gekoppel aan 98: 4F: EE: 0C: FC: 8F Op soek na Nordiese UART -diens … Geen gevind OF Nie opspoorbaar nie !!!!! Kon nie 'n Nordiese UART -diens identifiseer nie !!!!!!!! As u 'n Nordiese UART -diens verwag het, skuif die skandeerder nader aan die BLE -toestel !!!!

Dit kan wees dat u naby die BLE -toestel naby is om dit op te spoor, maar nie naby genoeg is om 'n diensontdekking suksesvol te doen om die Nordiese UART -diens te vind nie. Probeer om nader aan die BLE -toestel te beweeg.

As laaste uitweg kan u die gratis Nordic nRF Connect -app vir Android of iOS gebruik. Die app het 'n beter reikwydte en sensitiwiteit. Dit sal u vertel of die BLE -toestel 'n Nordiese UART -diens het. U moet egter steeds die skandeerder laat hardloop en die Nordic UART -diens identifiseer voordat u die Wifi2BLE -brug probeer gebruik, aangesien dit kode soortgelyk aan die skandeerder gebruik.

As u dieper wil delf, kan u die Adafruit Bluefruit LE Sniffer -module gebruik om te sien wat in die lug is.

BLE -verbindingsprobleme

As u daarin geslaag het om die BLE -toestel te skandeer, is die mees waarskynlike oorsake van verbindingsprobleme I) die BLE -toestel is te ver weg, II) het iets anders reeds aan die BLE -toestel gekoppel

Probleme met WiFi -verbinding

As die HUZZAH ESP8266 Rooi LED nie brand nie, het dit geen verbinding met u netwerk via u router nie. Kontroleer die ssid en wagwoord wat u in Wifi_Bridge.ino het, en gebruik die Fing -app Android of iOS om te kontroleer of die IP -adres wat u toegeken het, nie reeds gebruik word nie. Probeer om al u rekenaars en toestelle uit te skakel en skakel die router aan (laat dit vir 20 sekondes af) en scan dan weer met Fing. As die verbinding uiteindelik uitval, onthou dan die instelling van die verbindingstyd in die Wifi_Bridge.ino -kode.

Stap 9: Uitbreidings en gevolgtrekking

Die projek wat hier aangebied word, is die eenvoudigste weergawe. Daar is 'n aantal moontlike uitbreidings, soos:-

  • Die Feather nRF52 kan tot 4 BLE -toestelle tegelyk verbind, sodat u die kode kan verander om meer geldige adresse by te voeg en tot 4 toestelle vanaf die een WiFi -verbinding te beheer. Sien die voorbeeldkode wat by die Feather nRF52 -bord geïnstalleer word.
  • U kan 'n gat in u router maak om toegang tot die BLE -toestel te kry vanaf enige plek op die internet. Sien Koppel DIY IoT -toestelle aan die internet met pfodApp.
  • U kan die kode van Cheap/Simple Wifi Shield gebruik om die WiFi -netwerkparameters vir die HUZZAH via 'n webblad op te stel sonder om te herprogrammeer. U moet 'n konfigurasie -drukknoppie by die kring voeg.
  • U kan 'n konfigurasie -drukknoppie byvoeg (met dieselfde knoppie as hierbo) wat die Feather nRF52 laat soek na BLE -toestelle met 'n Nordic UART (TX Notify) en dan die verbindingsbesonderhede stoor vir die een met die sterkste sein. Om die resultaat te stoor, moet u die nffs -biblioteek gebruik wat by die Adafruit nRF52 -bord geïnstalleer is.
  • U kan 'n webblad by die HUZZAH ESP8266 -kode voeg om 'n pasgemaakte koppelvlak vir u BLE -toestel te bied. U kan ook pfodDesignerV3 gebruik, en pfodApp kan 'n pasgemaakte koppelvlak byvoeg, sonder enige veranderinge aan hierdie projek.

Afsluiting

Hierdie eenvoudige projek bied WiFi -toegang tot enige Bluetooth Low Energy (BLE) -module wat Nordic se UART implementeer met TX Notify. Die Wifi2BLE -brug is heeltemal deursigtig. Dit stuur net die WiFi -data na die BLE -toestel en stuur die BLE -toestel se data terug na die WiFi -verbinding.

Die eenvoudige konstruksie en die gedetailleerde toetsinstruksies maak dit 'n geskikte projek vir beginners wat vanaf hul rekenaar of buite die BLE se normale omvang toegang tot hul BLE -toestel wil kry.

Hierdie projek sal belangriker word sodra die BLE -toestelsagteware die nuwe Bluetooth V5 Mesh -spesifikasie inhaal. Dan bied Wifi2BLE internettoegang tot u hele huis se outomatisering.

Aanbeveel: