Indholdsfortegnelse:

Enkel WiFi til BLE (Bluetooth Low Energy) Bridge: 9 trin (med billeder)
Enkel WiFi til BLE (Bluetooth Low Energy) Bridge: 9 trin (med billeder)

Video: Enkel WiFi til BLE (Bluetooth Low Energy) Bridge: 9 trin (med billeder)

Video: Enkel WiFi til BLE (Bluetooth Low Energy) Bridge: 9 trin (med billeder)
Video: wifi-fjernbetjening til IR- og RF-koder Broadlink RM4C Pro, Home Assistant - styr klimaanlægget 2024, Juli
Anonim
Enkel WiFi til BLE (Bluetooth Low Energy) Bridge
Enkel WiFi til BLE (Bluetooth Low Energy) Bridge
Enkel WiFi til BLE (Bluetooth Low Energy) Bridge
Enkel WiFi til BLE (Bluetooth Low Energy) Bridge
Enkel WiFi til BLE (Bluetooth Low Energy) Bridge
Enkel WiFi til BLE (Bluetooth Low Energy) Bridge

Opdatering 4. december 2017 - reviderede Feather nRF52 -skitser og fejlfindingstip. Tilføjet billeder af bro monteret i kasse

Dette enkle projekt giver WiFi -adgang til ethvert Bluetooth Low Energy (BLE) -modul, der implementerer Nordics UART med TX Notify. Wifi2BLE -broen er fuldstændig gennemsigtig. Det sender bare WiFi -dataene til BLE -enheden og sender BLE -enhedens data tilbage til WiFi -forbindelsen.

Den gratis pfodDesignerV3 genererer kode til implementering af en nordisk UART-service på mange BLE-moduler, herunder Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 og V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend og Flora Boards, Adafruit Bluefruit LE SPI (dvs. Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE eller Bluefruit LE SPI Friend) og andre tavler, der lader dig programmere din egen service.

Denne Wifi2BLE -bro er velegnet til uerfaren konstruktør, der kan lodde. Det bruger kun to brædder, et båndkabel og to modstande

Ud over detaljeret test for hvert bord indeholder denne instruktør et trin om hjælp - det virker ikke med flere tips til fejlfinding.

Disse instruktioner er også tilgængelige online

Hvorfor dette projekt?

Dette projekt løser en række problemer, som BLE (Bluetooth Low Energy) har.

  • Kun nyere mobiler og computere understøtter BLE. Wifi2BLE -broen tillader enhver mobil eller computer med en WiFi -forbindelse at oprette forbindelse til og styre BLE -enheden.
  • BLE har begrænset rækkevidde. Wifi2BLE -broen giver dig adgang til BLE -enheden hvor som helst i huset (hvor der er en WiFi -forbindelse) og udefra via internettet.
  • Oprettelse af BLE -apps kræver, at du lærer Android eller iOS. Wifi2BLE -broen giver en universel telnetforbindelse via ethvert terminalprogram. Yderligere kan du let tilføje en webside til WiFi -modulet for at oprette din egen brugerdefinerede grænseflade.
  • BLE V5 lover mesh -netværk for at forbinde alle dine hjemmebLE -enheder, når softwaren indhenter den nyeste Bluetooth -specifikation. Wifi2BLE -broen bruger en BLE V5 -enhed, og vil derfor give internetadgang til dette hjemmenetværk, når den ankommer.

Min umiddelbare brug til dette projekt er at tilføje stuen BLE -lysstyring til WiFi -netværket, så det kan styres fra hvor som helst i huset. Selvom denne vejledning bruger pfodApp som eksempel på styring af BLE -kortene via WiFi, behøver du ikke købe pfodApp for at fuldføre dette projekt.

Trin 1: Deleliste

Omkostninger ~ US $ 60 pr. 30. november 2017, eksklusiv forsendelse + en lille plastkabinet

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

Adafruit HUZZAH ESP8266 Breakout - ~ US $ 10

Båndkabel med separate hun-ender-Bus Piratkabel ~ US $ 5 https://www.sparkfun.com/products/9556 ELLER 10-benet IDC-stik Rainbow Breakout-kabel ~ US $ 4 https://www.sparkfun.com/products/ 9556 ELLER lignende

Break Away Male Headers - Right Angle - ~ US $ 2

USB til TTL 3V3 serielt kabel - ~ US $ 10 https://www.sparkfun.com/products/12977 (foretrækkes, da det har benene mærket) ELLER https://www.sparkfun.com/products/12977 (ben er IKKE mærket)

USB A til Micro B -kabel - ~ US $ 4 https://www.sparkfun.com/products/12977 (3 fod lang) ELLER ~ US $ 3 https://www.sparkfun.com/products/12977 (6 tommer lang) ELLER ~ US $ 2 https://www.sparkfun.com/products/12977 (6 tommer lang) ELLER ~ US $ 5 https://www.sparkfun.com/products/12977 (6 fod lang) ELLER lignende

2 x 100 ohm modstande - ~ US $ 1

USB -strømforsyning (500mA eller mere) - ~ US $ 6 https://www.sparkfun.com/products/12890 ELLER ~ US $ 7 https://www.adafruit.com/product/1994 ELLER lignende

Arduino IDE V1.8.5 og en computer til at køre den på.

Til en plastkasse brugte jeg en fra Jaycar UB5 (blå) 83mm x 54mm x 31mm ~ 4 $

Trin 2: Wifi2BLE -kredsløb

Wifi2BLE kredsløb
Wifi2BLE kredsløb

Wifi2BLE -kredsløbet er vist ovenfor. En pdf -version er her. Som du kan se er kredsløbet meget enkelt. Kun 4 ledninger og to 100 ohm beskyttelsesmodstande. Beskyttelsesmodstandene er i tilfælde af, at du mangler tilslutning af TX / RX-linjer efter programmering af HUZZAH ESP8266 eller Feather nRF52.

BEMÆRK: Feather nRF52-kortmærket for TX- og RX-benene er ukorrekte. TX -stiften er faktisk den ved siden af DFU -stiften, og RX -stiften er den ved siden af MISO -stiften

Sørg for at tilslutte TX/RX -linjer som vist ovenfor. Heldigvis gjorde beskyttelsesmodstandene deres arbejde, og brædder blev ikke beskadiget, mens jeg fandt ud af, hvorfor brædderne ikke tog hinanden.

Trin 3: Wifi2BLE konstruktion

Wifi2BLE konstruktion
Wifi2BLE konstruktion
Wifi2BLE konstruktion
Wifi2BLE konstruktion
Wifi2BLE konstruktion
Wifi2BLE konstruktion

Højre vinklede stifter blev loddet fast på HUZZAH ESP8266 for at tillade, at den kobles fra til programmering. Fire ledninger i båndkablet bruges til at forbinde de to plader. Behold hunstikforbindelserne, og skær den anden ende af båndkablet af. Mit båndkabel havde de samme farver som Sparkfun USB til TTL -programmeringskablet, så jeg valgte den ledning, der matchede den. Sort til GND, rød til 5V+, orange til TX (tilsluttes til ESP8266 RX) og brun til RX (tilsluttes til ESP8266 TX)

Jeg har tilsluttet beskyttelsesmodstandene på bagsiden af Feather nRF52 -kortet. (Observante konstruktører, der kender deres modstandskoder, vil se, at jeg har brugt to 68 ohm modstande, jeg har ved hånden i stedet for 100 ohm) og derefter isoleret dem med noget krympepakning.

Det røde kabel er loddet til Feather nRF52 USB -stiften for at hente USB 5V for at drive HUZZAH ESP8266 -modulet, og det sorte kabel er loddet til Feather nRF52 GND -stiften.

Det er alt andet end at programmere modulerne, som beskrevet nedenfor, lægge det i en plastikboks og tilslutte en USB -strømforsyning til Feather nRF52.

Trin 4: Wifi2BLE -programmering

Wifi2BLE programmering
Wifi2BLE programmering
Wifi2BLE programmering
Wifi2BLE programmering
Wifi2BLE programmering
Wifi2BLE programmering

Programmering af HUZZAH ESP8266

Følg instruktionerne på https://github.com/esp8266/Arduino under Installation med Boards Manager for at programmere skjoldet. Når du åbner Boards Manager fra menuen Værktøjer → Board, og vælg Type Contributed, og installer esp8266 -platformen. Dette projekt blev kompileret ved hjælp af ESP8266 version 2.3.0. Andre versioner har deres eget sæt fejl og fungerer muligvis ikke med denne kode.

BEMÆRK: Brug IKKE Adafruit Board -installationen, da skitsen, der bruges her, ikke vil kompilere under denne kode.

Luk og åbn Arduino IDE igen, og du kan nu vælge “Adafruit HUZZAH ESP8266” fra menuen Værktøjer → Board.

Du skal også installere den nyeste version af pfodESP8266WiFiBufferedClient -biblioteket. Dette bibliotek fungerer med ESP8266.com IDE plug-in V2.3. (Hvis du tidligere har installeret pfodESP2866WiFi -biblioteket, skal du slette bibliotekets bibliotek helt.)

  • a) Download denne pfodESP8266WiFiBufferedClient.zip -fil til din computer, flyt den til dit skrivebord eller en anden mappe, du nemt kan finde
  • b) Brug derefter Arduino 1.8.5 IDE menuindstilling Skitse → Importer bibliotek → Tilføj bibliotek for at installere det. (Hvis Arduino ikke lader dig installere det, fordi biblioteket allerede findes, skal du finde og slette den ældre pfodESP8266BufferedClient -mappe og derefter importere denne)
  • c) Stop og genstart Arduino IDE og under Fil-> Eksempler skal du nu se pfodESP8266BufferedClient.

Indstilling af netværkssid og adgangskode samt IP og port

Når du har installeret pfodESP8266BufferedClient -biblioteket, skal du åbne Arduino IDE og kopiere denne skitse, Wifi_Bridge.ino, til IDE. Inden du programmerer modulet, skal du indstille dit netværks ssid og adgangskode og vælge en ubrugt IP.

Rediger disse tre linjer nær toppen af Wifi_Bridge.ino

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

Jeg bruger Fing (Android eller iOS) -appen til at scanne mit lokale netværk og identificere den IP, der allerede er brugt. Det er normalt sikkert at vælge en ubrugt IP i området.180 til.254

Til at starte med kan du forlade portNo som 23, standardporten til en telnetforbindelse.

Når du har foretaget disse ændringer, kan du programmere ESP8266.

Programmering af HUZZAH ESP8266

For at programmere HUZZAH ESP8266 skal du tilslutte USB til serielt kabel som vist på billedet. Tjek billedet og dine ledninger. Se også ESP8266 programmeringstip (espcomm mislykkedes)

Jeg bruger Sparkfun USB til TTL 3V3 serielt kabel, fordi det har TX- og RX -ledninger mærket. Sørg for, at TX -ledningen er tilsluttet RX -stiften, og at RX -ledningen er sat i TX -stiften som vist ovenfor. Hvis du bruger Adafruit -kablet, har terminalerne ikke mærket, men er farvekodet, rød er strøm, sort er jord, grøn er TX og hvid er RX.

Tilslut USB til serielt kabel til din computer, og vælg det COM -port i menuen Værktøjer → Port. Lad CPU -frekvensen, flashstørrelsen og uploadhastigheden være på deres standardindstillinger.

Sæt derefter Adafruit HUZZAH ESP2866 -modulet i programmeringstilstand ved at holde GPIO0 -knappen nede og klikke på Reset -knappen og derefter slippe GPIO0 -knappen. GPIO0 -LED'en skal forblive svagt oplyst. Vælg derefter Fil → Upload eller brug højre pil til at kompilere og uploade programmet. Hvis du får en fejlmeddelelse ved upload, skal du kontrollere, at dine kabelforbindelser er tilsluttet de korrekte ben, og prøv igen.

Når programmeringen er gennemført, skal den røde lysdiode på modulet lyse. Det indikerer, at den har oprettet forbindelse til dit lokale netværk og startede serveren for at acceptere en forbindelse.

Test af HUZZAH ESP2866

For at teste HUZZAH ESP2866, lad programmeringskablet være tilsluttet, og åbn Arduino IDE Tools → Serial Monitor og indstil 9600 baud (nederste højre hjørne). Åbn derefter et terminalprogram på din computer, jeg bruger TeraTerm til Windows og CoolTerm til Mac, og opret forbindelse til IP og portNo du angav i Wifi_Bridge.ino -skitsen.

Når du tilslutter den røde LED på modulet, skal modulet begynde at blinke, hvilket indikerer, at der er en forbindelse. Du skal nu kunne skrive i computerens terminalvindue, og tegnene skal vises i Arduino IDEs skærmvindue og omvendt.

Wifi -forbindelsens timeout

Wifi_Bridge.ino -koden har en forbindelsestid.

uint32_t connectionTimeout = 60000; // 60sek. Forbindelsestid

Hvis der ikke modtages WiFi -data fra HUZZAH ESP8266 -modulet i 60 sekunder, lukker modulerne forbindelsen og venter på en ny. Dette sikrer, at modulet genopretter fra 'halvt lukkede' forbindelser, som sker, og klienten forsvinder bare på grund af dårlig WiFi -forbindelse, strømtab på routeren eller tvungen nedlukning af klienten. Se Detektion af halvåbnede (droppede) TCP/IP-stikforbindelser for flere detaljer.

Denne forbindelsestid er sat til 60 sek. men kan reduceres eller øges efter behov. Indstilling til 0 betyder aldrig timeout, hvilket ikke anbefales.

Programmering af fjer nRF52

For at programmere Feather nRF52 skal du følge instruktionerne for at downloade og installere Arduino Board -understøttelsen til Feather nRF52. Kontroller, at du kan oprette forbindelse til og programmere kortet via USB -kablet.

BEMÆRK: Tag HUZZAH ESP8266 -modulet ud af Feather nRF52, før du prøver at programmere fjeren

Tilslutning af Feather nRF52 til en BLE -enhed består af to trin. Først identificeres MAC -adressen (og typen) på enheden og kontrolleres, at den understøtter den nordiske UART -tjeneste med TX Notify og derefter overfører denne adresse og type til broskitsen.

Trin 5: Tilslutning til en BLE -enhed

Tilslutning til en BLE -enhed
Tilslutning til en BLE -enhed
Tilslutning til en BLE -enhed
Tilslutning til en BLE -enhed
Tilslutning til en BLE -enhed
Tilslutning til en BLE -enhed

Når HUZZAH ESP8266 er programmeret, skal du kode BLE -adressen og typen af den enhed, du vil oprette forbindelse til, i Feather nRF52 -skitsen. Dette er en to -trins proces. I) Kør scanningsprogrammet for at finde nærliggende BLE -enheder, der implementerer Nordic UART Service (TX Notify), og kopier derefter scannerens output til Feather bridge -skitsen for at få den til at oprette forbindelse til den pågældende enhed.

Scanner efter BLE -periferiudstyr

For at identificere kompatible BLE -eksterne enheder skal du indlæse programmet central_bleuart_scanner.ino i din Feather nRF52. Dette program scanner løbende efter nye enheder og kontrollerer derefter, om de understøtter den nordiske UART -service med TX Notify.

Nordisk UART Service

Den nordiske UART Service består af tre dele, Service UUID og RX og TX egenskaberne. Her er en prøvekode genereret af pfodDesignerV3 til RedBear NanoV2

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 kan generere prøvekode til et antal BLE -moduler. Men fordi der ikke er nogen BLE -specifikation for en 'standard' UART -forbindelse, bruger ikke alle moduler den nordiske UART -service. F.eks. Bruger HM-10-moduler (Itead BLE-skjold), RFduno og Romeo BLE deres egne unikke uart-tjenester og vil derfor ikke oprette forbindelse til Feather nRF52.

Følgende tavler forbinder:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 og V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend og Flora Boards, Adafruit Bluefruit LE SPI (dvs. Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE eller Bluefruit LE SPI Friend) Samt tavler, der kan kodes med brugerdefinerede tjenester eller tavler, der kan bruge BLEPeripheral library.

Eksempelkortet, der bruges her, er Arduino/Genuino 101 med kode genereret af pfodDesignerV3. Den gratis pfodDesignerV3 giver dig mulighed for at oprette pfodApp -menuer og derefter generere den Arduino -kode, der er nødvendig for at vise den nøjagtige menu på din Android -mobil ved hjælp af (betalt) pfodApp. pfodApp vil også oprette forbindelse via Wifi samt Bluetooth Classic, BLE og SMS, og kan derfor oprette forbindelse via denne Wifi2BLE -bro. Selvom du ikke ønsker at bruge pfodApp som din kontrolapp, kan du stadig bruge pfodDesignerV3 til at generere en nordisk UART -servicekode til dit BLE -kort.

Dette tutorial -link beskriver opsætning af Arduino/Genuino 101 BLE og oprettelse af en enkel LED -tænd/sluk -kontrol med pfodDesignerV3. Skitsen produceret af pfodDesignerV3 er Arduino101_led_control.ino

Programmering af Arduino/Genuino 101 med Arduino101_led_control.ino lader dig oprette forbindelse med pfodApp og vise følgende skærm på din Android -mobil.

Dette er dog kun et eksempel, og du behøver ikke købe pfodApp for at fuldføre dette projekt. Den vigtige del er, at den gratis pfodDesignerV3 -app har genereret kode til Arduino/Genuino 101, der implementerer en nordisk UART -service. Så lad os scanne efter det.

Dette er dog kun et eksempel, og du behøver ikke købe pfodApp for at fuldføre dette projekt. Den vigtige del er, at den gratis pfodDesignerV3 -app har genereret kode til Arduino/Genuino 101, der implementerer en nordisk UART -service. Så lad os scanne efter det.

Scanner efter en nordisk UART -service

Når HUZZAH ESP8266 -modulet er afbrudt fra Feather nRF52, skal du programmere Feather nRF52 med central_bleuart_scanner.ino og derefter åbne Arduino IDE Tools → Serial Monitor og indstille baudhastigheden til 9600. det første skærmbillede ovenfor.

Som du kan se fandt scanneren to BLE -enheder, en Arduino/Genuino 101 med fundet en nordisk UART -service på den, MEN TX -karakteristikken understøttede ikke Notify. Scanneren fandt også et RFduino BLE -modul, men RFduino bruger ikke den nordiske UART -tjeneste, men bruger i stedet sit eget. Bluetooth -udvalget har ikke skylden for dette for ikke at angive en 'standard' UART -service, men i stedet lade hver producent udgøre deres egen.

Som dækket ovenfor blev 101 -koden genereret af pfodDesignerV3 primært til brug med pfodApp. pfodApp vælger ikke så meget om TX Notify som Feather nRF52 uart -koden er. pfodApp fungerer med 101 som programmeret, men Feather nRF52 insisterer på TX Notify, så en lille ændring af koden er nødvendig for at tilfredsstille fjeren.

Åbn Arduino101_led_control.ino i Arduino IDE og nær toppen finder du disse to linjer. Den anden linje er blot en beskrivelse af karakteristikken og påvirker ikke operationen.

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

Skift dem til

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

Omprogrammer derefter 101 med denne redigerede version, Arduino101_Notify_led_control.ino. Når du derefter kører Feather nRF52-scanneren igen (central_bleuart_scanner.ino), viser Serial Monitor det andet skærmbillede ovenfor.

Ingen fejl for Genuino 101 nu, og scanneren udskriver den kode, der er nødvendig til Feather nRF52 -broskitsen, så den kan oprette forbindelse til 101. Scanneren kontrollerer alle enheder, den finder inden for rækkevidde. Den røde LED blinker én gang for hver enhed, der findes med Nordic UART Service (TX Notify).

Trin 6: Tilslutning til en BLE -perifer

LED indikationer

Feather nRF52 har to lysdioder, blå og rød. Når kortet er tilsluttet en BLE -enhed, er den blå LED konstant, ellers blinker den. Scanneren forbliver ikke forbundet til enheden, så den blå lysdiode blinker normalt. Den røde lysdiode blinker én gang for hver nordisk UART Service (TX Notify) enhed. Når den kører som en scanner, tæller den røde LED antallet af fundne nordiske UART Service (TX Notify) -enheder. Når den kører som en bro, blinker den røde LED en gang, når den er forbundet til koden BLE -adresse.

Tilslutning til en BLE -perifer

Nu hvor scannerskitsen har givet detaljerne for den BLE -enhed, du vil oprette forbindelse til, kan du kopiere outputtet til den centrale_bleuart_bridge.ino -skitse. Nær toppen af skitsen finder du følgende kode.

// Disse næste tre linjer med kode kommer fra central_bleuart_scanner.ino -udgangen

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

Udskift de tre kodelinjer med output fra scanneren til den BLE -enhed, du vil bygge bro til. Programmer derefter Feather nRF52 med den redigerede central_bleuart_bridge.ino skitse.

Test af den centrale_bleuart_bridge -skitse

Inden du sætter HUZZAH ESP8266 tilbage i Feather nRF52, skal du teste forbindelsen til din BLE -enhed. Efterlad Feather nRF52 tilsluttet din Arduino IDE, åbn Værktøjer → Seriel skærm ved 9600 baud, og kontroller derefter, at din BLE -målenhed er tændt.

Når der er oprettet forbindelse til din BLE -enhed, som beskrevet ovenfor, lyser den blå lysdiode konstant, og den røde lysdiode blinker hver 10. sekund eller deromkring. Dette lader dig ikke forbindelsen er blevet oprettet og vedligeholdt.

Derefter kan du i Serial Monitor indtaste de kommandoer, du forventer at sende til din BLE -enhed, og se den fungere og overvåge ethvert svar, den sender tilbage. Hvis alt er godt, kan du slukke og tilslutte HUZZAH ESP8266 -modulet.

Trin 7: Tilslutning til BLE -enheden via WiFi - Sæt det hele sammen

Når du har programmeret og testet HUZZAH ESP8266 -modulet med sin brokode (Wifi_Bridge.ino) konfigureret til dit netværkssid og adgangskode og IP OG programmeret og testet Feather nRF52 med sin brokode (central_bleuart_bridge.ino) konfigureret med BLE -enhedens adresse og skriv, så kan du tilslutte dem og tilslutte en USB -forsyning til Feather -modulet for at tænde dem begge.

HUZZAH -modulet Rød LED skal lyse fast, da det opretter forbindelse til din lokale netværksrouter, og Feather Blue -LED'en skal lyse fast, når det tilsluttes din BLE -enhed, og Feather Red -LED'en skal blinke hver 10 sek eller deromkring for at indikere bare på BLE -enheden er tilsluttet.

Åbn dit telnet -program, og opret forbindelse til HUZZAHs IP og port. HUZZAH rød lysdiode skal blinke langsomt for at indikere, at dit program er tilsluttet, og du skal sende kommandoer til din BLE -enhed via WiFi og se BLE -enheden fungere og se enhver reaktion i dit telnetvindue. Husk, at hvis din BLE -enhed ikke sender data tilbage i 60 sekunder, vil HUZZAH -koden afbryde forbindelsen og afbryde forbindelsen, og HUZZAH Rød lysdiode vil lyse fast igen.

Trin 8: Hjælp - Det virker ikke

Udfør først de testtrin, der er beskrevet ovenfor, testning af HUZZAH ESP2866 og testning af den centrale_bleuart_bridge -skitse.

Problemer med scanning

Hvis scanneren ikke kan finde dig BLE -enheden, er den enten for langt væk eller ikke annonceret eller allerede forbundet til noget. Prøv at flytte scanneren tættere på og tænde for enheden og slukke alle andre i nærheden af mobile enheder, der muligvis har forbindelse til BLE -enheden.

Hvis du får et scanneroutput som dette.

Tilsluttet 98: 4F: EE: 0C: FC: 8F Leder efter nordisk UART -service … Ingen fundet ELLER Ikke opdagelig !!!!! Kunne ikke identificere en nordisk UART -service !!!!!!!! Hvis du havde forventet en nordisk UART -service, skal du flytte scanneren tættere på BLE -enheden !!!!

Det kan være, at du er tæt nok på BLE -enheden til at registrere den, men ikke tæt nok til at kunne foretage en serviceopdagelse til at finde den nordiske UART -tjeneste. Prøv at flytte tættere på BLE -enheden.

Som en sidste udvej kan du bruge den gratis nordiske nRF Connect -app til Android eller iOS. Den app har bedre rækkevidde og følsomhed. Den fortæller dig, om BLE -enheden har en nordisk UART -service. Du skal dog stadig få scanneren til at køre og oprette forbindelse og identificere den nordiske UART -tjeneste, før du forsøger at bruge Wifi2BLE -broen, da den bruger kode, der ligner scanneren.

Hvis du vil grave dybere, kan du bruge Adafruit Bluefruit LE Sniffer -modulet til at se, hvad der er i luften.

BLE -forbindelsesproblemer

Hvis det lykkedes dig at scanne BLE -enheden, er de mest sandsynlige årsager til forbindelsesproblemer I) BLE -enheden er for langt væk, II) noget andet er allerede forbundet til BLE -enheden

Problemer med WiFi -forbindelse

Hvis HUZZAH ESP8266 rød lysdiode ikke lyser konstant, har den ikke forbindelse til dit netværk via din router. Kontroller den ssid og adgangskode, du har kode til Wifi_Bridge.ino, og brug Fing -appen Android eller iOS til at kontrollere, at den tildelte IP -adresse ikke allerede bruges. Prøv at slukke alle dine computere og enheder, og slå routeren til og fra (lad den være slukket i 20 sekunder), og scan derefter med Fing igen. Endelig, hvis forbindelsen bliver ved med at falde ud, skal du huske indstillingen for forbindelsestimeout i Wifi_Bridge.ino -koden.

Trin 9: Udvidelser og konklusion

Projektet, der præsenteres her, er den enkleste version. Der er en række mulige udvidelser såsom:-

  • Feather nRF52 er i stand til at oprette forbindelse til op til 4 BLE -enheder på én gang, så du kan ændre koden for at tilføje flere gyldige adresser og styre op til 4 enheder fra den ene WiFi -forbindelse. Se eksempelkoden, der fulgte med installationen af Feather nRF52 -kortet.
  • Du kan slå et hul i din router for at give adgang til BLE -enheden hvor som helst på internettet. Se Tilslutning af DIY IoT -enheder til internettet med pfodApp.
  • Du kan bruge koden fra Cheap/Simple Wifi Shield til at give dig mulighed for at konfigurere WiFi -netværksparametrene for HUZZAH via en webside uden omprogrammering. Du skal tilføje en konfigurationsknap til kredsløbet.
  • Du kan tilføje en konfigurationsknap (ved hjælp af den samme knap som ovenfor), der får Feather nRF52 til at scanne efter BLE -enheder med en nordisk UART (TX Notify) og derefter gemme forbindelsesdetaljerne for den med det stærkeste signal. For at gemme resultatet skal du bruge nffs -biblioteket, der fulgte med Adafruit nRF52 -kortinstallationen.
  • Du kan tilføje en webside til HUZZAH ESP8266 -koden for at give en brugerdefineret grænseflade til din BLE -enhed. Du kan også bruge pfodDesignerV3 og pfodApp tilføje en brugerdefineret grænseflade uden ændringer af dette projekt overhovedet.

Konklusion

Dette enkle projekt giver WiFi -adgang til ethvert Bluetooth Low Energy (BLE) -modul, der implementerer Nordics UART med TX Notify. Wifi2BLE -broen er fuldstændig gennemsigtig. Det sender bare WiFi -dataene til BLE -enheden og sender BLE -enhedens data tilbage til WiFi -forbindelsen.

Den enkle konstruktion og de detaljerede testinstruktioner gør dette til et velegnet projekt for begyndere, der ønsker at få adgang til deres BLE -enhed fra deres computer eller uden for BLE's normale område.

Dette projekt bliver vigtigere, når BLE -enhedssoftwaren indhenter den nye Bluetooth V5 Mesh -specifikation. Derefter giver Wifi2BLE internetadgang til hele din husautomatisering.

Anbefalede: