Innholdsfortegnelse:

Enkel Bridge to BLE (Bluetooth Low Energy) Bridge: 9 trinn (med bilder)
Enkel Bridge to BLE (Bluetooth Low Energy) Bridge: 9 trinn (med bilder)

Video: Enkel Bridge to BLE (Bluetooth Low Energy) Bridge: 9 trinn (med bilder)

Video: Enkel Bridge to BLE (Bluetooth Low Energy) Bridge: 9 trinn (med bilder)
Video: FULL BUILD | Rebuilding A DESTROYED Porsche 911 Turbo! 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

Oppdatering 4. desember 2017 - reviderte Feather nRF52 -skisser og feilsøkingstips. Lagt til bilder av bridge montert i eske

Dette enkle prosjektet gir WiFi -tilgang til alle Bluetooth Low Energy (BLE) moduler som implementerer Nordic's UART med TX Notify. Wifi2BLE -broen er helt gjennomsiktig. Den sender bare WiFi -dataene til BLE -enheten og sender BLE -enhetens data tilbake til WiFi -tilkoblingen.

Gratis pfodDesignerV3 genererer kode for å implementere en nordisk UART-tjeneste på mange BLE-moduler, inkludert 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 som lar deg programmere din egen tjeneste.

Denne Wifi2BLE -broen er egnet for uerfarne konstruktører som kan lodde. Den bruker bare to brett, en båndkabel og to motstander

I tillegg til detaljert testing for hvert brett, inneholder denne instruksjonen et trinn om hjelp - det fungerer ikke med flere tips om feilsøking.

Disse instruksjonene er også tilgjengelig online

Hvorfor dette prosjektet?

Dette prosjektet løser en rekke problemer som BLE (Bluetooth Low Energy) har.

  • Bare nyere mobiler og datamaskiner støtter BLE. Wifi2BLE -broen lar enhver mobil eller datamaskin med WiFi -tilkobling koble til og kontrollere BLE -enheten.
  • BLE har begrenset rekkevidde. Wifi2BLE -broen gir deg tilgang til BLE -enheten fra hvor som helst i huset (hvor det er en WiFi -tilkobling) og fra utsiden via Internett.
  • For å lage BLE -apper må du lære Android eller iOS. Wifi2BLE -broen gir en universell telnetforbindelse via et hvilket som helst terminalprogram. Videre kan du enkelt legge til en webside i WiFi -modulen for å lage ditt eget tilpassede grensesnitt.
  • BLE V5 lover nettverksnettverk for å koble til alle hjemmets BLE -enheter, når programvaren når den siste Bluetooth -spesifikasjonen. Wifi2BLE -broen bruker en BLE V5 -enhet, og vil derfor gi internettilgang til dette hjemmenettverket når den kommer.

Min umiddelbare bruk for dette prosjektet er å legge til BLE -lysstyring i stuen i WiFi -nettverket slik at den kan kontrolleres fra hvor som helst i huset. Selv om denne opplæringen bruker pfodApp som eksempel på å kontrollere BLE -kortene via WiFi, trenger du ikke kjøpe pfodApp for å fullføre dette prosjektet.

Trinn 1: Deleliste

Kostnad ~ US $ 60 per 30. november 2017, eksklusive frakt + et lite plasthylster

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 dollar

Adafruit HUZZAH ESP8266 Breakout - ~ $ 10

Båndkabel med separate hun-ender-Bus Pirate Cable ~ US $ 5 https://www.sparkfun.com/products/9556 ELLER 10-pinners IDC Socket Rainbow Breakout Cable ~ US $ 4 https://www.sparkfun.com/products/ 9556 ELLER lignende

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

USB til TTL 3V3 seriell kabel - ~ US $ 10 https://www.sparkfun.com/products/12977 (Foretrukket ettersom pinnene er merket) ELLER https://www.sparkfun.com/products/12977 (pins er IKKE merket)

USB A til Micro B -kabel - ~ US $ 4 https://www.sparkfun.com/products/12977 (3 fot 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 fot lang) ELLER lignende

2 x 100 ohm motstander - ~ US $ 1

USB -strømforsyning (500mA eller mer) - ~ 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 datamaskin for å kjøre den på.

Til en plastboks brukte jeg en fra Jaycar UB5 (blå) 83 mm x 54 mm x 31 mm ~ 4 dollar

Trinn 2: Wifi2BLE -krets

Wifi2BLE krets
Wifi2BLE krets

Wifi2BLE -kretsen er vist ovenfor. En pdf -versjon er her. Som du kan se er kretsen veldig enkel. Bare 4 ledninger og to 100 ohm beskyttelsesmotstander. Beskyttelsesmotstandene er i tilfelle du savner å koble TX / RX-linjene etter programmering av HUZZAH ESP8266 eller Feather nRF52.

MERK: Feather nRF52-merket for TX- og RX-pinnene er feil. TX -pinnen er faktisk den ved siden av DFU -pinnen og RX -pinnen er den ved siden av MISO -pinnen

Sørg for å koble TX/RX -linjene som vist ovenfor. Heldigvis gjorde beskyttelsesmotstandene jobben sin og brettene ble ikke skadet mens jeg fant ut hvorfor platene ikke tok hverandre.

Trinn 3: Wifi2BLE konstruksjon

Wifi2BLE konstruksjon
Wifi2BLE konstruksjon
Wifi2BLE konstruksjon
Wifi2BLE konstruksjon
Wifi2BLE konstruksjon
Wifi2BLE konstruksjon

Rettvinklet toppnål ble loddet på HUZZAH ESP8266 for å la den kobles fra for programmering. Fire ledninger i båndkabelen brukes til å koble de to kortene. Behold hunkontaktene og klipp av den andre enden av båndkabelen. Min båndkabel hadde de samme fargene som Sparkfun USB til TTL -programmeringskabelen, så jeg valgte ledningen for å matche den. Svart for GND, rød for 5V+, oransje for TX (kobles til ESP8266 RX) og brun for RX (kobles til ESP8266 TX)

Jeg koblet beskyttelsesmotstandene på baksiden av Feather nRF52 -kortet. (Observante konstruktører som kjenner motstandskodene sine, vil se at jeg har brukt to 68 ohm motstander jeg har på hånden i stedet for 100 ohm) og deretter isolert dem med litt krympepakning.

Den røde kabelen er loddet til Feather nRF52 USB -pinnen for å hente USB 5V for å drive HUZZAH ESP8266 -modulen, og den svarte kabelen er loddet til Feather nRF52 GND -pinnen.

Det er alt annet enn programmering av modulene, som beskrevet nedenfor, legge den i en plastboks og koble en USB -strømforsyning til Feather nRF52.

Trinn 4: Wifi2BLE -programmering

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

Programmering av HUZZAH ESP8266

Følg instruksjonene på https://github.com/esp8266/Arduino under Installing With Boards Manager for å programmere skjoldet. Når du åpner Boards Manager fra Verktøy → Board -menyen og velger Type Contributed og installer esp8266 -plattformen. Dette prosjektet ble kompilert ved bruk av ESP8266 versjon 2.3.0. Andre versjoner vil ha sitt eget sett med feil og fungerer kanskje ikke med denne koden.

MERK: IKKE bruk Adafruit Board -installasjonen ettersom skissen som brukes her ikke vil kompilere under den koden.

Lukk og åpne Arduino IDE igjen, og du kan nå velge “Adafruit HUZZAH ESP8266” fra Verktøy → Styremeny.

Du må også installere den nyeste versjonen av pfodESP8266WiFiBufferedClient -biblioteket. Dette biblioteket fungerer med ESP8266.com IDE plug-in V2.3. (Hvis du tidligere har installert pfodESP2866WiFi -biblioteket, må du slette bibliotekskatalogen helt.)

  • a) Last ned denne pfodESP8266WiFiBufferedClient.zip -filen til datamaskinen din, flytt den til skrivebordet eller en annen mappe du enkelt kan finne
  • b) Bruk deretter Arduino 1.8.5 IDE -menyalternativet Skisse → Importer bibliotek → Legg til bibliotek for å installere det. (Hvis Arduino ikke lar deg installere det fordi biblioteket allerede finnes, finn og slett den eldre pfodESP8266BufferedClient -mappen og importer denne)
  • c) Stopp og start Arduino IDE på nytt og under Fil-> Eksempler bør du nå se pfodESP8266BufferedClient.

Angi nettverkssid og passord og IP og port

Etter at du har installert pfodESP8266BufferedClient -biblioteket, åpner du Arduino IDE og kopierer denne skissen, Wifi_Bridge.ino, til IDE. Før du programmerer modulen, må du angi nettverkets ssid og passord og velge en ubrukt IP.

Rediger disse tre linjene nær toppen av Wifi_Bridge.ino

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

Jeg bruker Fing (Android eller iOS) -appen til å skanne mitt lokale nettverk og identifisere IP -en som allerede er brukt. Det er vanligvis trygt å velge en ubrukt IP i området.180 til.254

Til å begynne med kan du la portNo være 23, standardporten for en telnet -tilkobling.

Når du har gjort disse endringene kan du programmere ESP8266.

Programmering av HUZZAH ESP8266

For å programmere HUZZAH ESP8266, koble USB til seriell kabel som vist på bildet. Sjekk bildet og ledningene dine. Se også ESP8266 programmeringstips (espcomm mislyktes)

Jeg bruker Sparkfun USB til TTL 3V3 seriekabel fordi den har TX- og RX -ledninger merket. Kontroller at TX -ledningen er plugget inn i RX -pinnen og at RX -ledningen er plugget inn i TX -pinnen som vist ovenfor. Hvis du bruker Adafruit -kabelen, har den ikke merket terminalene, men er fargekodet, rød er strøm, svart er bakken, grønn er TX og hvit er RX.

Koble USB til seriell kabel til datamaskinen og velg den COM -porten i Verktøy → Port -menyen. La CPU -frekvensen, blitsstørrelsen og opplastingshastigheten stå på standardinnstillingene.

Sett deretter Adafruit HUZZAH ESP2866 -modulen i programmeringsmodus ved å holde inne GPIO0 -knappen og klikke på Reset -trykknappen og deretter slippe GPIO0 -knappen. GPIO0 -lampen skal forbli svakt opplyst. Velg deretter Fil → Last opp eller bruk høyre pil -knappen for å kompilere og laste opp programmet. Hvis du får en feilmelding ved opplasting, må du kontrollere at kabeltilkoblingene er plugget inn i riktige pinner, og prøv igjen.

Når programmeringen er fullført, skal den røde lysdioden på modulen lyse. Det indikerer at den har blitt koblet til ditt lokale nettverk og startet serveren for å godta en tilkobling.

Tester HUZZAH ESP2866

For å teste HUZZAH ESP2866, la programmeringskabelen være tilkoblet og åpne Arduino IDE Tools → Serial Monitor og sett 9600 baud (nedre høyre hjørne). Åpne deretter et terminalprogram på datamaskinen din, jeg bruker TeraTerm for Windows og CoolTerm for Mac, og koble til IP og portNo du angir i Wifi_Bridge.ino -skissen.

Når du kobler den røde lysdioden på modulen skal begynne å blinke, noe som indikerer at det er en tilkobling. Du bør nå kunne skrive inn datamaskinens terminalvindu, og tegnene skal vises i Arduino IDEs skjermvindu og omvendt.

Tidsavbrudd for wifi -tilkobling

Wifi_Bridge.ino -koden har en tilkoblingstid.

uint32_t connectionTimeout = 60000; // 60sek tilkoblingstid

Hvis det ikke er noen WiFi -data mottatt av HUZZAH ESP8266 -modulen i 60 sekunder, avslutter modulene tilkoblingen og venter på en ny. Dette sikrer at modulen gjenoppretter fra "halvt lukkede" tilkoblinger, noe som skjer og at klienten bare forsvinner på grunn av dårlig WiFi -tilkobling, strømtap på ruteren eller tvungen nedleggelse av klienten. Se Deteksjon av halvåpne (droppet) TCP/IP-kontaktforbindelser for mer informasjon.

Denne tilkoblingstiden er satt til 60 sekunder. men kan reduseres eller økes etter behov. Å sette den til 0 betyr aldri timeout som ikke anbefales.

Programmering av fjæren nRF52

For å programmere Feather nRF52, følg instruksjonene for å laste ned og installere Arduino Board -støtten for Feather nRF52. Kontroller at du kan koble til og programmere kortet via USB -kabelen.

MERK: Koble HUZZAH ESP8266 -modulen fra Feather nRF52 før du prøver å programmere fjæren

Koble Feather nRF52 til en BLE -enhet består av to trinn. Identifiser først MAC -adressen (og typen) på enheten og kontroller at den støtter den nordiske UART -tjenesten med TX Notify og deretter overfører den adressen og typen til broskissen.

Trinn 5: Tilkobling til en BLE -enhet

Tilkobling til en BLE -enhet
Tilkobling til en BLE -enhet
Tilkobling til en BLE -enhet
Tilkobling til en BLE -enhet
Tilkobling til en BLE -enhet
Tilkobling til en BLE -enhet

Når HUZZAH ESP8266 er programmert, må du kode BLE -adressen og typen på enheten du vil koble til i Feather nRF52 -skissen. Dette er en to -trinns prosess. I) Kjør skanneprogrammet for å finne BLE -enheter i nærheten som implementerer Nordic UART Service (TX Notify), og kopier deretter skannerens utgang til Feather bridge -skissen for å få den til å koble til den enheten.

Søker etter BLE -utstyr

For å identifisere kompatible BLE -eksterne enheter, laster du programmet central_bleuart_scanner.ino inn i Feather nRF52. Dette programmet søker kontinuerlig etter nye enheter og kontrollerer deretter om de støtter den nordiske UART -tjenesten med TX Notify.

Nordisk UART -tjeneste

Den nordiske UART -tjenesten består av tre deler, Service UUID og RX- og TX -egenskapene. Her er noen eksempler på kode generert av pfodDesignerV3 for 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 for et antall BLE -moduler. Men fordi det ikke er noen BLE -spesifikasjon for en "standard" UART -tilkobling, bruker ikke alle modulene den nordiske UART -tjenesten. For eksempel bruker HM-10-moduler (Itead BLE-skjold), RFduno og Romeo BLE sine egne unike uart-tjenester, og vil derfor ikke koble seg til Feather nRF52.

Følgende tavler vil koble til:- 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 som kan kodes med tilpassede tjenester eller tavler som kan bruke BLEPeripheral library.

Eksempelkortet som brukes her er Arduino/Genuino 101 med kode generert av pfodDesignerV3. Den gratis pfodDesignerV3 lar deg lage pfodApp -menyer og genererer deretter Arduino -koden som er nødvendig for å vise den nøyaktige menyen på Android -mobilen din ved hjelp av (betalt) pfodApp. pfodApp vil også koble til via Wifi, i tillegg til Bluetooth Classic, BLE og SMS, og kan dermed koble til via denne Wifi2BLE -broen. Selv om du ikke vil bruke pfodApp som kontrollapp, kan du likevel bruke pfodDesignerV3 til å generere en nordisk UART -servicekode for BLE -kortet.

Denne opplæringslenken beskriver hvordan du konfigurerer Arduino/Genuino 101 BLE og oppretter en enkel LED på/av -kontroll med pfodDesignerV3. Skissen produsert av pfodDesignerV3 er Arduino101_led_control.ino

Ved å programmere Arduino/Genuino 101 med Arduino101_led_control.ino kan du koble deg til pfodApp og vise følgende skjermbilde på din Android -mobil.

Dette er imidlertid bare et eksempel, og du trenger ikke å kjøpe pfodApp for å fullføre dette prosjektet. Den viktige delen er at gratis pfodDesignerV3 -appen har generert kode for Arduino/Genuino 101 som implementerer en nordisk UART -tjeneste. Så la oss søke etter det.

Dette er imidlertid bare et eksempel, og du trenger ikke å kjøpe pfodApp for å fullføre dette prosjektet. Den viktige delen er at gratis pfodDesignerV3 -appen har generert kode for Arduino/Genuino 101 som implementerer en nordisk UART -tjeneste. Så la oss søke etter det.

Søker etter en nordisk UART -tjeneste

Med HUZZAH ESP8266 -modulen frakoblet Feather nRF52, programmerer du Feather nRF52 med central_bleuart_scanner.ino og åpner deretter Arduino IDE Tools → Serial Monitor og setter overføringshastigheten til 9600. Når du slår på Arduino/Genuino 101 får du utgangen vist i det første skjermbildet ovenfor.

Som du kan se fant skanneren to BLE -enheter, en Arduino/Genuino 101 med funnet en nordisk UART -tjeneste på den, MEN TX -karakteristikken støttet ikke Notify. Skanneren fant også en RFduino BLE -modul, men RFduino bruker ikke den nordiske UART -tjenesten, men bruker i stedet sin egen. Bluetooth -komiteen har ikke skylden for dette for ikke å spesifisere en "standard" UART -tjeneste, i stedet la hver produsent gjøre sin egen.

Som dekket ovenfor ble 101 -koden generert av pfodDesignerV3 først og fremst for bruk med pfodApp. pfodApp velger ikke så mye på TX Notify som Feather nRF52 uart -koden er. pfodApp fungerer med 101 som programmert, men Feather nRF52 insisterer på TX Notify, så en liten endring av koden er nødvendig for å tilfredsstille fjæren.

Åpne Arduino101_led_control.ino i Arduino IDE og nær toppen finner du disse to linjene. Den andre linjen er bare en beskrivelse av karakteristikken og påvirker ikke operasjonen.

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

Endre dem til

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

Programmer deretter 101 på nytt med denne redigerte versjonen, Arduino101_Notify_led_control.ino. Når du deretter kjører Feather nRF52-skanneren på nytt (central_bleuart_scanner.ino), viser Serial Monitor det andre skjermbildet ovenfor.

Ingen feil for Genuino 101 nå, og skanneren skriver ut koden som er nødvendig for Feather nRF52 -broskissen, slik at den kobles til 101. Skanneren vil kontrollere hver enhet den finner innenfor rekkevidde. Den røde lysdioden blinker én gang for hver enhet som finnes med Nordic UART Service (TX Notify).

Trinn 6: Koble til en BLE -enhet

LED -indikasjoner

Feather nRF52 har to lysdioder, blå og rød. Når kortet er koblet til en BLE -enhet, er den blå lysdioden konstant, ellers blinker den. Skanneren forblir ikke koblet til enheten, så den blå lampen blinker vanligvis. Den røde lysdioden blinker én gang for hver Nordic UART Service (TX Notify) -enhet. Når du kjører som skanner, teller den røde LED antall nordiske UART Service (TX Notify) enheter som er funnet. Når du kjører som en bro, blinker den røde lysdioden én gang når den er koblet til koden BLE -adresse.

Koble til en BLE -enhet

Nå som skannerskissen har gitt detaljene for BLE -enheten du vil koble til, kan du kopiere utgangen til den sentrale_bleuart_bridge.ino -skissen. Nær toppen av skissen finner du følgende kode.

// Disse tre neste kodelinjene kommer fra central_bleuart_scanner.ino -utgangen

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

Erstatt de tre kodelinjene med utdataene fra skanneren for BLE -enheten du vil bygge bro til. Programmer deretter Feather nRF52 med den redigerte sentrale_bleuart_bridge.ino -skissen.

Tester skissen central_bleuart_bridge

Før du kobler HUZZAH ESP8266 tilbake til Feather nRF52, må du teste tilkoblingen til BLE -enheten. La Feather nRF52 være koblet til deg Arduino IDE, åpne Verktøy → Seriell skjerm på 9600 baud og kontroller at BLE -enheten er slått på.

Når tilkoblingen er gjort til BLE -enheten din, som beskrevet ovenfor, vil den blå lysdioden lyse konstant, og den røde lysdioden vil blinke hver 10. sekund eller så. Dette lar deg ikke koble til og opprettholde.

Deretter kan du i Serial Monitor skrive inn kommandoene du forventer å sende til BLE -enheten din og se den fungere og overvåke eventuelle svar den sender tilbake. Hvis alt er bra, kan du slå av og koble til HUZZAH ESP8266 -modulen.

Trinn 7: Koble til BLE -enheten via WiFi - sette alt sammen

Når du har programmert og testet HUZZAH ESP8266 -modulen med brokoden (Wifi_Bridge.ino) konfigurert for nettverkssid og passord og IP OG programmert og testet Feather nRF52 med brokode (central_bleuart_bridge.ino) konfigurert med BLE -enhetens adresse og skriv, så kan du koble dem sammen og koble en USB -forsyning til Feather -modulen for å slå dem begge på.

HUZZAH -modulen Rød LED skal lyse fast når den kobles til din lokale nettverksrouter, og Feather Blue -lampen skal lyse fast når den kobles til BLE -enheten, og Feather Red -lampen skal blinke en gang hvert 10. sekund for å indikere bare på BLE -enheten er tilkoblet.

Åpne telnet -programmet og koble til HUZZAHs IP og port. Den HUZZAH røde lysdioden skal blinke sakte for å indikere at programmet ditt er tilkoblet, og du bør sende kommandoer til BLE -enheten din via WiFi og se BLE -enheten fungere og se eventuelle svar i telnet -vinduet. Husk at hvis BLE -enheten ikke sender data tilbake i 60 sekunder, vil HUZZAH -koden stanse tilkoblingen og koble fra, og HUZZAH Red LED vil lyse fast igjen.

Trinn 8: Hjelp - Det fungerer ikke

Utfør først teststrinnene som er beskrevet ovenfor, Testing av HUZZAH ESP2866 og testing av skissen central_bleuart_bridge.

Problemer med skanning

Hvis skanneren ikke finner deg BLE -enheten, er den enten for langt unna eller ikke reklame eller allerede koblet til noe. Prøv å flytte skanneren nærmere og slå på enheten og slå av alle andre i nærheten av mobile enheter som kan ha en forbindelse til BLE -enheten.

Hvis du får en skannerutgang som denne.

Koblet til 98: 4F: EE: 0C: FC: 8F Leter etter nordisk UART -tjeneste … Ingen funnet ELLER Ikke oppdagbar !!!!! Kunne ikke identifisere en nordisk UART -tjeneste !!!!!!!! Hvis du ventet en nordisk UART -tjeneste, flytt skanneren nærmere BLE -enheten !!!!

Det kan være at du er nær nok BLE -enheten til å oppdage den, men ikke nær nok til å gjøre en tjenesteoppdagelse for å finne den nordiske UART -tjenesten. Prøv å bevege deg nærmere BLE -enheten.

Som en siste utvei kan du bruke gratis Nordic nRF Connect -appen for Android eller iOS. Den appen har bedre rekkevidde og følsomhet. Den vil fortelle deg om BLE -enheten har en nordisk UART -tjeneste. Imidlertid må du fortsatt få skanneren til å kjøre og koble til og identifisere den nordiske UART -tjenesten før du prøver å bruke Wifi2BLE -broen, siden den bruker kode som ligner på skanneren.

Hvis du vil grave dypere, kan du bruke Adafruit Bluefruit LE Sniffer -modulen for å se hva som er i luften.

BLE -tilkoblingsproblemer

Hvis du klarte å skanne BLE -enheten, er de mest sannsynlige årsakene til tilkoblingsproblemer I) BLE -enheten er for langt unna, II) noe annet har allerede koblet seg til BLE -enheten

Problemer med WiFi -tilkobling

Hvis HUZZAH ESP8266 rød lysdiode ikke lyser fast, har den ikke tilkobling til nettverket ditt via ruteren. Kontroller ssid og passord du har koden til Wifi_Bridge.ino og bruk Fing -appen Android eller iOS for å kontrollere at IP -en du tildelte ikke allerede brukes. Prøv å slå av alle datamaskinene og enhetene og slå på ruteren (la den stå av i 20 sekunder), og skann deretter med Fing igjen. Til slutt, hvis tilkoblingen fortsetter å falle ut, husk innstillingen for timeout for tilkobling i Wifi_Bridge.ino -koden.

Trinn 9: Utvidelser og konklusjon

Prosjektet som presenteres her er den enkleste versjonen. Det er en rekke mulige utvidelser som:-

  • Feather nRF52 kan koble til opptil 4 BLE -enheter samtidig, slik at du kan endre koden for å legge til flere gyldige adresser og kontrollere opptil 4 enheter fra den ene WiFi -tilkoblingen. Se eksempelkoden som følger med installasjonen av Feather nRF52 -kortet.
  • Du kan slå hull i ruteren for å gi tilgang til BLE -enheten fra hvor som helst på internett. Se Koble DIY IoT -enheter til Internett med pfodApp.
  • Du kan bruke koden fra Cheap/Simple Wifi Shield for å la deg konfigurere WiFi -nettverksparameterne for HUZZAH via en webside, uten omprogrammering. Du må legge til en konfigurasjonsknapp i kretsen.
  • Du kan legge til en konfigurasjonsknapp (med samme knapp som ovenfor) som gjør at Feather nRF52 søker etter BLE -enheter med en nordisk UART (TX Notify) og deretter lagrer tilkoblingsdetaljene for den med det sterkeste signalet. For å lagre resultatet må du bruke nffs -biblioteket som følger med installasjonen av Adafruit nRF52 -kortet.
  • Du kan legge til en webside i HUZZAH ESP8266 -koden for å gi et tilpasset grensesnitt for BLE -enheten. Du kan også bruke pfodDesignerV3 og pfodApp legge til et tilpasset grensesnitt uten endringer i dette prosjektet i det hele tatt.

Konklusjon

Dette enkle prosjektet gir WiFi -tilgang til alle Bluetooth Low Energy (BLE) moduler som implementerer Nordic's UART med TX Notify. Wifi2BLE -broen er helt gjennomsiktig. Den sender bare WiFi -dataene til BLE -enheten og sender BLE -enhetens data tilbake til WiFi -tilkoblingen.

Den enkle konstruksjonen og de detaljerte testinstruksjonene gjør dette til et egnet prosjekt for nybegynnere som ønsker å få tilgang til BLE -enheten fra datamaskinen eller utenfor BLEs normale område.

Dette prosjektet vil bli viktigere når BLE -enhetsprogramvaren kommer igjen med den nye Bluetooth V5 Mesh -spesifikasjonen. Da vil Wifi2BLE gi internettilgang til hele husautomatiseringen.

Anbefalt: