Innehållsförteckning:

Enkel WiFi till BLE (Bluetooth Low Energy) Bridge: 9 steg (med bilder)
Enkel WiFi till BLE (Bluetooth Low Energy) Bridge: 9 steg (med bilder)

Video: Enkel WiFi till BLE (Bluetooth Low Energy) Bridge: 9 steg (med bilder)

Video: Enkel WiFi till BLE (Bluetooth Low Energy) Bridge: 9 steg (med bilder)
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, Juli
Anonim
Enkel WiFi till BLE (Bluetooth Low Energy) Bridge
Enkel WiFi till BLE (Bluetooth Low Energy) Bridge
Enkel WiFi till BLE (Bluetooth Low Energy) Bridge
Enkel WiFi till BLE (Bluetooth Low Energy) Bridge
Enkel WiFi till BLE (Bluetooth Low Energy) Bridge
Enkel WiFi till BLE (Bluetooth Low Energy) Bridge

Uppdatering 4 december 2017 - reviderade Feather nRF52 -skisser och felsökningstips. Har lagt till bilder på bron monterad i låda

Detta enkla projekt ger WiFi -åtkomst till alla Bluetooth Low Energy (BLE) -moduler som implementerar Nordics UART med TX Notify. Wifi2BLE -bron är helt transparent. Det skickar bara WiFi -data till BLE -enheten och skickar BLE -enhetens data tillbaka till WiFi -anslutningen.

Gratis pfodDesignerV3 genererar kod för att implementera en nordisk UART-tjänst på många BLE-moduler, inklusive Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 och V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend och 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) och andra styrelser som låter dig programmera din egen tjänst.

Denna Wifi2BLE -bro är lämplig för oerfaren konstruktör som kan löda. Den använder bara två brädor, en bandkabel och två motstånd

Förutom detaljerad testning för varje bräda, innehåller denna instruerbara steget Hjälp - Det fungerar inte med fler felsökningstips.

Dessa instruktioner finns också tillgängliga online

Varför detta projekt?

Detta projekt löser ett antal problem som BLE (Bluetooth Low Energy) har.

  • Endast nya mobiler och datorer stöder BLE. Wifi2BLE -bron gör att alla mobiler eller datorer med WiFi -anslutning kan ansluta till och styra BLE -enheten.
  • BLE har begränsat räckvidd. Wifi2BLE -bron ger dig åtkomst till BLE -enheten var som helst i huset (där det finns en WiFi -anslutning) och från utsidan via Internet.
  • För att skapa BLE -appar krävs att du lär dig Android eller iOS. Wifi2BLE -bron ger en universell telnet -anslutning via valfritt terminalprogram. Ytterligare mer kan du enkelt lägga till en webbsida till WiFi -modulen för att skapa ditt eget anpassade gränssnitt.
  • BLE V5 lovar nätverksnätverk för att ansluta alla dina hem BLE -enheter, när programvaran hinner med den senaste Bluetooth -specifikationen. Wifi2BLE -bron använder en BLE V5 -enhet och ger sålunda internetåtkomst till detta hemnätverk när den anländer.

Min omedelbara användning för detta projekt är att lägga till BLE -ljuskontrollen i vardagsrummet till WiFi -nätverket så att den kan kontrolleras var som helst i huset. Även om denna handledning använder pfodApp som exempel på att styra BLE -korten via WiFi, behöver du inte köpa pfodApp för att slutföra detta projekt.

Steg 1: Dellista

Kostnad ~ US $ 30 per 30 november 2017, exklusive frakt + ett litet plasthölje

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

Adafruit HUZZAH ESP8266 Breakout - ~ US $ 10

Bandkabel med separata honändar-Bus Pirate Cable ~ US $ 5 https://www.sparkfun.com/products/9556 ELLER 10-polig IDC-kontakt Rainbow Breakout Cable ~ US $ 4 https://www.sparkfun.com/products/ 9556 ELLER liknande

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

USB till TTL 3V3 seriekabel - ~ US $ 10 https://www.sparkfun.com/products/12977 (föredras eftersom stiften är märkta) ELLER https://www.sparkfun.com/products/12977 (stift är INTE märkt)

USB A till Micro B -kabel - ~ US $ 4 https://www.sparkfun.com/products/12977 (3 fot lång) ELLER ~ US $ 3 https://www.sparkfun.com/products/12977 (6 tum lång) ELLER ~ US $ 2 https://www.sparkfun.com/products/12977 (6 tum lång) ELLER ~ US $ 5 https://www.sparkfun.com/products/12977 (6 fot lång) ELLER liknande

2 x 100 ohm motstånd - ~ US $ 1

USB -strömförsörjning (500mA eller mer) - ~ US $ 6 https://www.sparkfun.com/products/12890 ELLER ~ US $ 7 https://www.adafruit.com/product/1994 ELLER liknande

Arduino IDE V1.8.5 och en dator att köra den på.

Till en plastlåda använde jag en från Jaycar UB5 (blå) 83mm x 54mm x 31mm ~ 4 $

Steg 2: Wifi2BLE -krets

Wifi2BLE -krets
Wifi2BLE -krets

Wifi2BLE -kretsen visas ovan. En pdf -version finns här. Som du kan se är kretsen mycket enkel. Bara 4 ledningar och två 100 ohm skyddsmotstånd. Skyddsmotstånden är ifall du missar att ansluta TX / RX-linjerna efter programmering av HUZZAH ESP8266 eller Feather nRF52.

OBS: Feather nRF52-märkningen för TX- och RX-stiften är felaktiga. TX -stiftet är faktiskt det bredvid DFU -stiftet och RX -stiftet är det bredvid MISO -stiftet

Se till att du ansluter TX/RX -linjerna som visas ovan. Lyckligtvis gjorde skyddsmotstånden sitt jobb och brädorna skadades inte medan jag redde ut varför brädorna inte tog varandra.

Steg 3: Wifi2BLE -konstruktion

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

Rätvinkliga huvudstiften löddes på HUZZAH ESP8266 för att låta den kopplas ur för programmering. Fyra trådar i bandkabeln används för att ansluta de två korten. Behåll honkontakten och klipp av den andra änden av bandkabeln. Min bandkabel hade samma färger som Sparkfun USB till TTL programmeringskabel så jag valde den tråd som skulle passa den. Svart för GND, röd för 5V+, orange för TX (ansluter till ESP8266 RX) och brun för RX (ansluter till ESP8266 TX)

Jag kopplade skyddsmotstånden på baksidan av Feather nRF52 -kortet. (Observanta konstruktörer som känner till deras motståndskoder kommer att se att jag har använt två 68 ohm motstånd jag har till hands i stället för 100 ohm) och sedan isolerat dem med lite krympfolie.

Den röda kabeln löds till Feather nRF52 USB -stift för att hämta USB 5V för att driva HUZZAH ESP8266 -modulen och den svarta kabeln löds till Feather nRF52 GND -stiftet.

Det är allt utom programmering av modulerna, som beskrivs nedan, lägga den i en plastlåda och ansluta en USB -strömförsörjning till Feather nRF52.

Steg 4: Wifi2BLE -programmering

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

Programmering av HUZZAH ESP8266

För att programmera skölden, följ instruktionerna på https://github.com/esp8266/Arduino under Installation with Boards Manager. När du öppnar Boards Manager från Verktyg → Board -menyn och väljer Type Contributed och installera esp8266 -plattformen. Detta projekt sammanställdes med hjälp av ESP8266 version 2.3.0. Andra versioner kommer att ha sin egen uppsättning buggar och kanske inte fungerar med den här koden.

OBS: ANVÄND INTE Adafruit Board -installationen eftersom skissen som används här inte kommer att kompileras under den koden.

Stäng och öppna Arduino IDE igen och du kan nu välja "Adafruit HUZZAH ESP8266" från menyn Verktyg → Board.

Du måste också installera den senaste versionen av biblioteket pfodESP8266WiFiBufferedClient. Detta bibliotek fungerar med ESP8266.com IDE plug-in V2.3. (Om du tidigare har installerat pfodESP2866WiFi -biblioteket, ta bort bibliotekskatalogen helt.)

  • a) Ladda ner denna pfodESP8266WiFiBufferedClient.zip -fil till din dator, flytta den till ditt skrivbord eller någon annan mapp som du enkelt hittar
  • b) Använd sedan Arduino 1.8.5 IDE -menyalternativet Skiss → Importera bibliotek → Lägg till bibliotek för att installera det. (Om Arduino inte låter dig installera det eftersom biblioteket redan finns, hitta och ta bort den äldre mappen pfodESP8266BufferedClient och importera sedan den här)
  • c) Stoppa och starta om Arduino IDE och under File-> Exempel ska du nu se pfodESP8266BufferedClient.

Ställa in nätverkssid och lösenord samt IP och port

När du har installerat pfodESP8266BufferedClient -biblioteket öppnar du Arduino IDE och kopierar denna skiss, Wifi_Bridge.ino, till IDE. Innan du programmerar modulen måste du ange nätverkets ssid och lösenord och välja en oanvänd IP.

Redigera dessa tre rader nära toppen av Wifi_Bridge.ino

char ssid = "**** ***"; char lösenord = "**** *****"; char staticIP = "10.1.1.180";

Jag använder appen Fing (Android eller iOS) för att skanna mitt lokala nätverk och identifiera den IP som redan används. Det är vanligtvis säkert att välja en oanvänd IP i intervallet.180 till.254

Till att börja med kan du lämna portNo som 23, standardporten för en telnet -anslutning.

När du har gjort dessa ändringar kan du programmera ESP8266.

Programmering av HUZZAH ESP8266

För att programmera HUZZAH ESP8266, anslut USB till seriekabel enligt bilden. Kontrollera bilden och din ledning. Se även ESP8266 programmeringstips (espcomm misslyckades)

Jag använder Sparkfun USB till TTL 3V3 seriekabel eftersom den har TX- och RX -ledningarna märkta. Se till att TX -kabeln är ansluten till RX -stiftet och att RX -kabeln är ansluten till TX -stiftet enligt ovan. Om du använder Adafruit -kabeln har den inte terminalerna märkta utan är färgkodade, rött är ström, svart är slipat, grönt är TX och vitt är RX.

Anslut USB till seriell kabel till din dator och välj den COM -port i Verktyg → Port -menyn. Låt CPU -frekvensen, blixtstorleken och uppladdningshastigheten ligga på standardinställningarna.

Sätt sedan Adafruit HUZZAH ESP2866 -modulen i programmeringsläge genom att hålla ned GPIO0 -tryckknappen och klicka på knappen Återställ och sedan släppa GPIO0 -tryckknappen. GPIO0 -lampan ska förbli svagt belyst. Välj sedan Arkiv → Ladda upp eller använd högerpil för att kompilera och ladda upp programmet. Om du får ett felmeddelande när du laddar upp, kontrollera att dina kabelanslutningar är anslutna till rätt stift och försök igen.

När programmeringen är klar ska den röda lysdioden på modulen lysa. Det indikerar att den har anslutit till ditt lokala nätverk och startat servern för att acceptera en anslutning.

Testar HUZZAH ESP2866

För att testa HUZZAH ESP2866, lämna programmeringskabeln ansluten och öppna Arduino IDE Tools → Serial Monitor och ställ in 9600 baud (nedre högra hörnet). Öppna sedan ett terminalprogram på din dator, jag använder TeraTerm för Windows och CoolTerm för Mac och ansluter till IP och portNo du ställer in i Wifi_Bridge.ino -skissen.

När du ansluter den röda lysdioden på modulen bör börja blinka, vilket indikerar att det finns en anslutning. Du ska nu kunna skriva in i datorns terminalfönster och tecknen ska visas i Arduino IDEs skärmfönster och tvärtom.

Tidsgräns för wifi -anslutning

Wifi_Bridge.ino -koden har en anslutningstid.

uint32_t connectionTimeout = 60000; // 60sek anslutningstid

Om det inte finns någon WiFi -data som tas emot av HUZZAH ESP8266 -modulen i 60 sekunder stänger modulerna anslutningen och väntar på en ny. Detta säkerställer att modulen återhämtar sig från "halvstängda" anslutningar som händer om klienten bara försvinner på grund av dålig WiFi -anslutning, strömförlust vid routern eller tvångsstängning av klienten. Se Detektering av halvöppna (droppade) TCP/IP-uttag för mer information.

Anslutningstiden är inställd på 60 sekunder. men kan minska eller öka efter behov. Att ställa in det till 0 betyder att det aldrig tar timeout, vilket inte rekommenderas.

Programmering av fjädern nRF52

För att programmera Feather nRF52, följ instruktionerna för att ladda ner och installera Arduino Board -stödet för Feather nRF52. Kontrollera att du kan ansluta till och programmera kortet via USB -kabeln.

OBS: Koppla ur HUZZAH ESP8266 -modulen från fjädern nRF52 innan du försöker programmera fjädern

Anslutning av Feather nRF52 till en BLE -enhet består av två steg. Identifiera först MAC -adressen (och typen) på enheten och kontrollera att den stöder den nordiska UART -tjänsten med TX Notify och sedan överför den adressen och typen till bryggskissen.

Steg 5: Anslutning till en BLE -enhet

Anslutning till en BLE -enhet
Anslutning till en BLE -enhet
Anslutning till en BLE -enhet
Anslutning till en BLE -enhet
Anslutning till en BLE -enhet
Anslutning till en BLE -enhet

När HUZZAH ESP8266 är programmerad måste du koda BLE -adressen och typen av enheten du vill ansluta till Feather nRF52 -skissen. Detta är en tvåstegsprocess. I) Kör skanningsprogrammet för att hitta närliggande BLE -enheter som implementerar Nordic UART -tjänsten (TX Notify) och kopiera sedan skannerns utdata till Feather bridge -skissen för att få den att ansluta till den enheten.

Sök efter BLE -kringutrustning

För att identifiera kompatibla BLE -kringutrustning, ladda programmet central_bleuart_scanner.ino i din Feather nRF52. Detta program söker kontinuerligt efter nya enheter och kontrollerar sedan om de stöder den nordiska UART -tjänsten med TX Notify.

Nordisk UART -tjänst

Den nordiska UART -tjänsten består av tre delar, Service UUID och RX- och TX -egenskaper. Här är några exempelkoder som genereras av pfodDesignerV3 för RedBear NanoV2

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 kan generera provkod för ett antal BLE -moduler. Men eftersom det inte finns någon BLE -specifikation för en "standard" UART -anslutning använder inte alla moduler den nordiska UART -tjänsten. Till exempel HM-10-moduler (Itead BLE-sköld), RFduno och Romeo BLE använder sina egna unika uart-tjänster och kommer därför inte att ansluta till Feather nRF52.

Följande brädor ansluter:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 och V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and 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 styrelser som kan kodas med anpassade tjänster eller tavlor som kan använda BLEPeripheral library.

Exempelkortet som används här är Arduino/Genuino 101 med kod genererad av pfodDesignerV3. Den fria pfodDesignerV3 låter dig skapa pfodApp -menyer och genererar sedan Arduino -koden som är nödvändig för att visa just den menyn på din Android -mobil med (betald) pfodApp. pfodApp kommer också att ansluta via Wifi, samt Bluetooth Classic, BLE och SMS, och kan därför ansluta via denna Wifi2BLE -bro. Men även om du inte vill använda pfodApp som kontrollapp kan du fortfarande använda pfodDesignerV3 för att skapa en nordisk UART -servicekod för ditt BLE -kort.

Denna handledningslänk beskriver hur du konfigurerar Arduino/Genuino 101 BLE och skapar en enkel LED -på/av -kontroll med pfodDesignerV3. Skissen som produceras av pfodDesignerV3 är Arduino101_led_control.ino

Genom att programmera Arduino/Genuino 101 med Arduino101_led_control.ino kan du ansluta till pfodApp och visa följande skärm på din Android -mobil.

Detta är dock bara ett exempel och du behöver inte köpa pfodApp för att slutföra projektet. Den viktiga delen är att den fria pfodDesignerV3 -appen har genererat kod för Arduino/Genuino 101 som implementerar en nordisk UART -tjänst. Så låt oss söka efter det.

Detta är dock bara ett exempel och du behöver inte köpa pfodApp för att slutföra projektet. Den viktiga delen är att den fria pfodDesignerV3 -appen har genererat kod för Arduino/Genuino 101 som implementerar en nordisk UART -tjänst. Så låt oss söka efter det.

Sök efter en nordisk UART -tjänst

Med HUZZAH ESP8266 -modulen frånkopplad från Feather nRF52, programmera Feather nRF52 med central_bleuart_scanner.ino och öppna sedan Arduino IDE Tools → Serial Monitor och ställ in baudhastigheten till 9600. första skärmdumpen ovan.

Som du kan se hittade skannern två BLE -enheter, en Arduino/Genuino 101 med en nordisk UART -tjänst på den, men TX -egenskapen stödde inte Notify. Skannern hittade också en RFduino BLE -modul men RFduino använder inte den nordiska UART -tjänsten utan använder istället sin egen. Bluetooth -kommittén bär inte skulden för detta för att inte specificera en "standard" UART -tjänst, utan istället låta varje tillverkare göra sin egen.

Som täckt ovan genererades 101 -koden av pfodDesignerV3 främst för användning med pfodApp. pfodApp är inte lika noga med TX Notify som Feather nRF52 uart -koden är. pfodApp fungerar med 101 som programmerat men Feather nRF52 insisterar på TX Notify så en liten ändring av koden behövs för att tillfredsställa fjädern.

Öppna Arduino101_led_control.ino i Arduino IDE och nära toppen hittar du dessa två rader. Den andra raden är bara en beskrivning av egenskapen och påverkar inte operationen.

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

Ändra dem till

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

Programmera sedan om 101 med denna redigerade version, Arduino101_Notify_led_control.ino. När du sedan kör Feather nRF52-skannern igen (central_bleuart_scanner.ino) visar Serial Monitor den andra skärmdumpen ovan.

Inga fel för Genuino 101 nu och skannern skriver ut koden som behövs för Feather nRF52 -bryggskissen så att den ansluter till 101. Skannern kontrollerar varje enhet den hittar inom räckvidd. Den röda lysdioden blinkar en gång för varje enhet som hittas med Nordic UART Service (TX Notify).

Steg 6: Anslutning till en BLE -enhet

LED -indikationer

Feather nRF52 har två lysdioder, blå och röd. När kortet är anslutet till en BLE -enhet är den blå lysdioden konstant, annars blinkar den. Skannern förblir inte ansluten till enheten så den blå lampan blinkar vanligtvis. Den röda lysdioden blinkar en gång för varje Nordic UART Service (TX Notify) -enhet. När du kör som skanner räknar den röda lysdioden antalet nordiska UART -tjänster (TX Notify) som hittats. När den körs som en bro blinkar den röda lysdioden en gång när den är ansluten till koden BLE -adress.

Ansluter till en BLE -kringutrustning

Nu när skannerskissen har tillhandahållit detaljerna för den BLE -enhet du vill ansluta till kan du kopiera utmatningen till den centrala_bleuart_bridge.ino -skissen. Nära toppen av skissen hittar du följande kod.

// Dessa tre kommande rader kod kommer från central_bleuart_scanner.ino -utgången

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

Ersätt de tre kodraderna med utdata från skannern för BLE -enheten du vill överbrygga till. Programmera sedan Feather nRF52 med den redigerade central_bleuart_bridge.ino -skissen.

Testar skissen central_bleuart_bridge

Testa anslutningen till din BLE -enhet innan du ansluter HUZZAH ESP8266 till Feather nRF52. Lämna Feather nRF52 ansluten till dig Arduino IDE, öppna Verktyg → Seriell bildskärm vid 9600 baud och kontrollera sedan att din BLE -enhet är påslagen.

När anslutningen har gjorts till din BLE -enhet, som beskrivits ovan, kommer den blå lysdioden att lysa konstant och den röda lysdioden blinkar var 10: e sekund eller så. Detta låter dig inte anslutningen har upprättats och underhållits.

Sedan i Serial Monitor kan du ange de kommandon du förväntar dig att skicka till din BLE -enhet och se hur den fungerar och övervaka alla svar den skickar tillbaka. Om allt är bra kan du stänga av och plugga in HUZZAH ESP8266 -modulen.

Steg 7: Anslutning till BLE -enheten via WiFi - sätta ihop allt

När du har programmerat och testat HUZZAH ESP8266 -modulen med sin bryggkod (Wifi_Bridge.ino) konfigurerad för ditt nätverkssid och lösenord och IP OCH programmerat och testat Feather nRF52 med sin brokod (central_bleuart_bridge.ino) konfigurerad med BLE -enhetens adress och skriv, så kan du ansluta dem och ansluta en USB -matning till fjädermodulen för att driva dem båda.

HUZZAH -modulen Röd lysdiod ska lysa fast när den ansluter till din lokala nätverksrouter och Feather Blue -lysdioden ska lysa fast när den ansluts till din BLE -enhet och den fjäderröda lysdioden ska blinka var 10: e sekund eller så för att indikera bara på BLE -enheten är ansluten.

Öppna ditt telnetprogram och anslut till HUZZAHs IP och port. HUZZAH röd lysdiod ska blinka långsamt för att indikera att ditt program har anslutit och du ska skicka kommandon till din BLE -enhet via WiFi och se hur BLE -enheten fungerar och se alla svar i ditt telnetfönster. Kom ihåg att om din BLE -enhet inte skickar tillbaka data under 60sek, kommer HUZZAH -koden att avbryta anslutningen och koppla från och HUZZAH Red -lampan lyser fast igen.

Steg 8: Hjälp - Det fungerar inte

Gör först teststegen som beskrivs ovan, testa HUZZAH ESP2866 och testa skissen central_bleuart_bridge.

Problem med skanning

Om skannern inte kan hitta dig BLE -enheten är den antingen för långt borta eller inte reklam eller redan ansluten till något. Prova att flytta skannern närmare och slå på enheten och stäng av alla andra i närheten av mobila enheter som kan ha en anslutning till BLE -enheten.

Om du får en skannerutmatning så här.

Ansluten till 98: 4F: EE: 0C: FC: 8F Söker nordisk UART -tjänst … Ingen hittad ELLER Inte upptäckt !!!!! Kunde inte identifiera en nordisk UART -tjänst !!!!!!!! Om du väntade dig en nordisk UART -tjänst, flytta skannern närmare BLE -enheten !!!!

Det kan vara så att du är tillräckligt nära BLE -enheten för att upptäcka den men inte tillräckligt nära för att lyckas göra en Service -upptäckt för att hitta den nordiska UART -tjänsten. Prova att flytta närmare BLE -enheten.

Som en sista utväg kan du använda gratis Nordic nRF Connect -appen för Android eller iOS. Den appen har bättre räckvidd och känslighet. Det kommer att berätta om BLE -enheten har en nordisk UART -tjänst. Men du måste fortfarande få skannern att köra och ansluta och identifiera den nordiska UART -tjänsten innan du försöker använda Wifi2BLE -bron eftersom den använder kod som liknar skannern.

Om du vill gräva djupare kan du använda Adafruit Bluefruit LE Sniffer -modulen för att se vad som finns i luften.

BLE -anslutningsproblem

Om du lyckades skanna BLE -enheten är de troligaste orsakerna till anslutningsproblem I) BLE -enheten är för långt borta, II) något annat har redan anslutit till BLE -enheten

WiFi -anslutningsproblem

Om HUZZAH ESP8266 röd lysdiod inte lyser fast har den ingen anslutning till ditt nätverk via din router. Kontrollera ssid och lösenord som du har koden i Wifi_Bridge.ino och använd Fing -appen Android eller iOS för att kontrollera att den tilldelade IP -adressen inte redan används. Prova att stänga av alla dina datorer och enheter och slå på routern (låt den vara avstängd i 20 sekunder) och skanna sedan med Fing igen. Slutligen, om anslutningen fortsätter att bryta, kom ihåg inställningen för anslutningstiden i Wifi_Bridge.ino -koden.

Steg 9: Tillägg och slutsats

Projektet som presenteras här är den enklaste versionen. Det finns ett antal möjliga tillägg som:-

  • Feather nRF52 kan ansluta till upp till 4 BLE -enheter samtidigt så att du kan ändra koden för att lägga till fler giltiga adresser och styra upp till 4 enheter från en WiFi -anslutning. Se exempelkoden som följer med installationen av Feather nRF52 -kortet.
  • Du kan slå ett hål i din router för att ge åtkomst till BLE -enheten var som helst på internet. Se Ansluta DIY IoT -enheter till Internet med pfodApp.
  • Du kan använda koden från Cheap/Simple Wifi Shield för att låta dig konfigurera WiFi -nätverksparametrarna för HUZZAH via en webbsida, utan omprogrammering. Du måste lägga till en konfigurationsknapp i kretsen.
  • Du kan lägga till en konfigurationsknapp (med samma knapp som ovan) som gör att Feather nRF52 söker efter BLE -enheter med en Nordic UART (TX Notify) och sedan sparar anslutningsinformationen för den med den starkaste signalen. För att spara resultatet måste du använda nffs -biblioteket som medföljer Adafruit nRF52 -kortet.
  • Du kan lägga till en webbsida i HUZZAH ESP8266 -koden för att tillhandahålla ett anpassat gränssnitt för din BLE -enhet. Du kan också använda pfodDesignerV3 och pfodApp lägga till ett anpassat gränssnitt utan några ändringar i detta projekt alls.

Slutsats

Detta enkla projekt ger WiFi -åtkomst till alla Bluetooth Low Energy (BLE) -moduler som implementerar Nordics UART med TX Notify. Wifi2BLE -bron är helt transparent. Det skickar bara WiFi -data till BLE -enheten och skickar BLE -enhetens data tillbaka till WiFi -anslutningen.

Den enkla konstruktionen och de detaljerade testinstruktionerna gör detta till ett lämpligt projekt för nybörjare som vill komma åt sin BLE -enhet från sin dator eller utanför BLE: s normala intervall.

Detta projekt kommer att bli viktigare när BLE -enhetens programvara kommer ikapp den nya Bluetooth V5 Mesh -specifikationen. Då kommer Wifi2BLE att ge internetåtkomst till hela din husautomation.

Rekommenderad: