Taula de continguts:

Pont WiFi simple a BLE (Bluetooth de baix consum): 9 passos (amb imatges)
Pont WiFi simple a BLE (Bluetooth de baix consum): 9 passos (amb imatges)

Vídeo: Pont WiFi simple a BLE (Bluetooth de baix consum): 9 passos (amb imatges)

Vídeo: Pont WiFi simple a BLE (Bluetooth de baix consum): 9 passos (amb imatges)
Vídeo: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Juliol
Anonim
Pont senzill WiFi a BLE (Bluetooth de baix consum)
Pont senzill WiFi a BLE (Bluetooth de baix consum)
Pont senzill WiFi a BLE (Bluetooth de baix consum)
Pont senzill WiFi a BLE (Bluetooth de baix consum)
Pont senzill WiFi a BLE (Bluetooth de baix consum)
Pont senzill WiFi a BLE (Bluetooth de baix consum)

Actualització del 4 de desembre de 2017: esbossos i consells de depuració revisats de Feather nRF52. S'han afegit imatges del pont muntat a la caixa

Aquest senzill projecte proporciona accés WiFi a qualsevol mòdul Bluetooth de Baixa Energia (BLE) que implementi UART de Nordic amb TX Notify. El pont Wifi2BLE és completament transparent. Simplement transmet les dades WiFi al dispositiu BLE i torna les dades del dispositiu BLE a la connexió WiFi.

El pfodDesignerV3 gratuït genera codi per implementar un servei UART nòrdic en molts mòduls BLE, inclosos Adafruit Bluefruit Feather nRF52, Arduino / Genuino 101, RedBearLab BLE Nano V2 i V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend i Flora Boards, Adafruit Bluefruit LE SPI (és a dir, Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE o Bluefruit LE SPI Friend) i qualsevol altra placa que us permeti programar el vostre propi servei.

Aquest pont Wifi2BLE és adequat per a constructors sense experiència que puguin soldar. Utilitza només dues taules, un cable de cinta i dues resistències

A més de proves detallades per a cada tauler, aquest instructiu inclou un pas Ajuda: no funciona amb més consells per trobar falles.

Aquestes instruccions també estan disponibles en línia

Per què aquest projecte?

Aquest projecte resol una sèrie de problemes que té BLE (Bluetooth Low Energy).

  • Només els mòbils i ordinadors recents admeten BLE. El pont Wifi2BLE permet que qualsevol mòbil o ordinador amb connexió WiFi es connecti i controli el dispositiu BLE.
  • BLE té un abast limitat. El pont Wifi2BLE permet accedir al dispositiu BLE des de qualsevol lloc de la casa (on hi ha una connexió WiFi) i des de l’exterior a través d’Internet.
  • La creació d’aplicacions BLE requereix que aprengueu Android o iOS. El pont Wifi2BLE proporciona una connexió telnet universal a través de qualsevol programa de terminal. A més, podeu afegir fàcilment una pàgina web al mòdul WiFi per crear la vostra pròpia interfície personalitzada.
  • BLE V5 promet xarxes de malla per connectar tots els dispositius BLE de casa, un cop el programari es posi al dia amb les últimes especificacions Bluetooth. El pont Wifi2BLE utilitza un dispositiu BLE V5 i, per tant, proporcionarà accés a Internet a aquesta xarxa domèstica quan arribi.

El meu ús immediat per a aquest projecte és afegir el control de llum BLE del saló a la xarxa WiFi per permetre que es pugui controlar des de qualsevol lloc de la casa. Tot i que aquest tutorial utilitza pfodApp com a exemple de control de les plaques BLE a través de WiFi, no cal comprar pfodApp per completar aquest projecte.

Pas 1: llista de peces

Cost ~ 60 dòlars EUA al 30 de novembre de 2017, sense enviament + un petit tancament de plàstic

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

Adafruit HUZZAH ESP8266 Breakout - ~ US $ 10

Cable de cinta amb extrems femella separats: cable pirata de bus ~ 5 dòlars EUA https://www.sparkfun.com/products/9556 O cable IDC de 10 pines Rainbow Breakout ~ 4 dòlars EUA https://www.sparkfun.com/products/ 9556 O similar

Capçaleres masculines trencades: angle recte - ~ 2 dòlars EUA

Cable sèrie USB a TTL 3V3 - ~ 10 US $ https://www.sparkfun.com/products/12977 (preferit ja que té els pins etiquetats) O https://www.sparkfun.com/products/12977 (els pins NO són etiquetat)

Cable USB A a Micro B: ~ US $ 4 https://www.sparkfun.com/products/12977 (3 peus de llarg) O ~ US $ 3 https://www.sparkfun.com/products/12977 (6 polzades de llarg) O ~ US $ 2 https://www.sparkfun.com/products/12977 (6 polzades de llarg) O ~ US $ 5 https://www.sparkfun.com/products/12977 (6 peus de llarg) O similar

2 x 100 ohm resistències - ~ 1 dòlar EUA

Font d'alimentació USB (500 mA o més) - ~ 6 dòlars EUA https://www.sparkfun.com/products/12890 O ~ 7 dòlars EUA https://www.adafruit.com/product/1994 O similar

Arduino IDE V1.8.5 i un ordinador per executar-lo.

Per a una caixa de plàstic, he utilitzat una de Jaycar UB5 (blava) de 83 mm x 54 mm x 31 mm ~ 4 USD

Pas 2: Circuit Wifi2BLE

Circuit Wifi2BLE
Circuit Wifi2BLE

El circuit Wifi2BLE es mostra a la part superior. Aquí hi ha una versió en pdf. Com podeu veure, el circuit és molt senzill. Només 4 cables i dues resistències de protecció de 100 ohms. Les resistències de protecció són en cas que no connecteu les línies TX / RX després de programar el HUZZAH ESP8266 o el Feather nRF52.

NOTA: El marcatge de la placa Feather nRF52 per als pins TX i RX no és correcte. El pin TX és en realitat el que hi ha al costat del pin DFU i el pin RX és el que hi ha al costat del pin MISO

Assegureu-vos de connectar les línies TX / RX tal com es mostra a la part superior. Afortunadament, les resistències de protecció van fer la seva feina i les taules no es van danyar mentre vaig esbrinar per què les taules no es prenien entre elles.

Pas 3: construcció de Wifi2BLE

Construcció Wifi2BLE
Construcció Wifi2BLE
Construcció Wifi2BLE
Construcció Wifi2BLE
Construcció Wifi2BLE
Construcció Wifi2BLE

Els passadors de capçalera en angle recte es van soldar a l'HUZZAH ESP8266 per permetre que es desconnectés per a la programació. Per connectar les dues plaques s’utilitzen quatre cables del cable de cinta. Mantingueu els connectors femelles i talleu l’altre extrem del cable de cinta. El meu cable de cinta tenia els mateixos colors que el cable de programació Sparkfun USB a TTL, de manera que vaig escollir el cable per fer-lo coincidir. Negre per a GND, vermell per a 5V +, taronja per a TX (es connecta a ESP8266 RX) i marró per a RX (es connecta a ESP8266 TX)

Vaig connectar les resistències de protecció a la part posterior de la placa Feather nRF52. (Els constructors observadors que coneguin els seus codis de resistències veuran que he utilitzat dues resistències de 68 ohm que tinc a mà en lloc de 100 ohmis) i les he aïllat amb un embolcall retràctil.

El cable vermell es solda al pin USB Feather nRF52 per agafar l’USB 5V per alimentar el mòdul HUZZAH ESP8266 i el cable negre es solda al pin Feather nRF52 GND.

Tot allò que hi ha excepte per programar els mòduls, tal com es descriu a continuació, col·locar-los en una caixa de plàstic i connectar una font d'alimentació USB al Feather nRF52.

Pas 4: programació Wifi2BLE

Programació Wifi2BLE
Programació Wifi2BLE
Programació Wifi2BLE
Programació Wifi2BLE
Programació Wifi2BLE
Programació Wifi2BLE

Programació del HUZZAH ESP8266

Per programar l’escut, seguiu les instruccions de https://github.com/esp8266/Arduino a Instal·lació amb el gestor de plaques. Quan obriu el Gestor de taulers des del menú Eines → Tauler i seleccioneu Tipus de contribució i instal·leu la plataforma esp8266. Aquest projecte es va compilar amb la versió 2.3.0 de l'ESP8266. Altres versions tindran el seu propi conjunt d’errors i és possible que no funcionin amb aquest codi.

NOTA: NO utilitzeu la instal·lació d'Adafruit Board ja que l'esbós utilitzat aquí no es compilarà sota aquest codi.

Tanqueu i torneu a obrir l'IDE d'Arduino i ara podeu seleccionar "Adafruit HUZZAH ESP8266" al menú Eines → Tauler.

També heu d’instal·lar l’última versió de la biblioteca pfodESP8266WiFiBufferedClient. Aquesta biblioteca funciona amb el connector IDE ESP8266.com V2.3. (Si prèviament heu instal·lat la biblioteca pfodESP2866WiFi, suprimiu completament aquest directori de biblioteca).

  • a) Baixeu aquest fitxer pfodESP8266WiFiBufferedClient.zip a l'ordinador, moveu-lo a l'escriptori o a qualsevol altra carpeta que pugueu trobar fàcilment
  • b) A continuació, utilitzeu l'opció de menú IDE d'Arduino 1.8.5 Esbós → Importa biblioteca → Afegeix biblioteca per instal·lar-la. (Si Arduino no us permet instal·lar-lo perquè la biblioteca ja existeix, cerqueu i suprimiu la carpeta antiga pfodESP8266BufferedClient i, a continuació, importeu-la)
  • c) Atureu i reinicieu l'IDE d'Arduino i a Fitxer-> Exemples ara hauríeu de veure pfodESP8266BufferedClient.

Configuració del ssid i la contrasenya de la xarxa, IP i port

Després d'haver instal·lat la biblioteca pfodESP8266BufferedClient, obriu l'IDE Arduino i copieu aquest esbós, Wifi_Bridge.ino, a l'IDE. Abans de programar el mòdul, heu d’establir el ssid i la contrasenya de la vostra xarxa i escollir una IP no utilitzada.

Editeu aquestes tres línies a prop de la part superior de Wifi_Bridge.ino

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

Utilitzo l'aplicació Fing (Android o iOS) per escanejar la meva xarxa local i identificar la IP que ja s'utilitza. Normalment és segur triar una IP no utilitzada en el rang de.180 a.254

Per començar podeu deixar el portNo com a 23, el port estàndard per a una connexió telnet.

Un cop hàgiu fet aquests canvis, podeu programar l'ESP8266.

Programació del HUZZAH ESP8266

Per programar el HUZZAH ESP8266, connecteu el cable USB a sèrie com es mostra a la foto. Comproveu la foto i el cablejat. Vegeu també els consells de programació ESP8266 (espcomm ha fallat)

Utilitzo el cable sèrie Sparkfun USB a TTL 3V3 perquè té els cables TX i RX marcats. Assegureu-vos que el cable TX estigui connectat al pin RX i que el cable RX estigui connectat al pin TX com es mostra a la part anterior. Si utilitzeu el cable Adafruit, no té els terminals marcats, però està codificat per color, el vermell és alimentat, el negre està connectat a terra, el verd és TX i el blanc és RX.

Connecteu el cable USB a sèrie a l’ordinador i seleccioneu-lo al port COM al menú Eines → Port. Deixeu la freqüència de la CPU, la mida del flaix i la velocitat de càrrega a la configuració predeterminada.

A continuació, poseu el mòdul Adafruit HUZZAH ESP2866 al mode de programació mantenint premut el polsador GPIO0 i fent clic al botó Restableix i deixeu anar el polsador GPIO0. El led GPIO0 hauria de quedar poc il·luminat. A continuació, seleccioneu Fitxer → Carrega o utilitzeu el botó de fletxa dreta per compilar i carregar el programa. Si rebeu un missatge d'error, comproveu que les connexions del cable estiguin connectades als pins correctes i torneu-ho a provar.

Un cop finalitzada la programació, s'hauria d'encendre el Led vermell del mòdul. Això indica que s'ha connectat amb èxit a la vostra xarxa local i ha iniciat el servidor per acceptar una connexió.

Provant el HUZZAH ESP2866

Per provar el HUZZAH ESP2866, deixeu el cable de programació connectat i obriu Arduino IDE Tools → Serial Monitor i configureu 9600 baud (cantonada inferior dreta). A continuació, obriu un programa de terminal a l’ordinador, faig servir TeraTerm per a Windows i CoolTerm per a Mac i em connecto a l’IP i al port No configurat a l’esbós de Wifi_Bridge.ino.

Quan connecteu el Led vermell del mòdul, hauria de començar a parpellejar, indicant que hi ha connexió. Ara hauríeu de poder escriure a la finestra del terminal de l'ordinador i els caràcters haurien d'aparèixer a la finestra del monitor de l'IDE d'Arduino i viceversa.

Temps d'espera de connexió Wifi

El codi Wifi_Bridge.ino té un temps de connexió.

uint32_t connectionTimeout = 60000; // Temps de connexió de 60 segons

Si no hi ha dades WiFi rebudes pel mòdul HUZZAH ESP8266 durant 60 segons, els mòduls tanquen la connexió i esperen una nova. Això garanteix que el mòdul es recuperi de les connexions "mig tancades" que es produïssin quan el client només desaparegués a causa de la mala connexió WiFi, la pèrdua d'energia al router o el tancament forçat del client. Consulteu Detecció de connexions de sòcol TCP / IP mig obertes (caigudes) per obtenir més informació.

Aquest temps d'espera de connexió s'estableix en 60 segons. però pot disminuir o augmentar segons sigui necessari. Establir-lo a 0 vol dir que no s’espera mai, cosa que no es recomana.

Programació del Feather nRF52

Per programar el Feather nRF52, seguiu les instruccions per descarregar i instal·lar el suport de la placa Arduino per al Feather nRF52. Comproveu que us podeu connectar i programar la placa mitjançant el cable USB.

NOTA: Desconnecteu el mòdul HUZZAH ESP8266 del Feather nRF52 abans d'intentar programar el Feather

La connexió del Feather nRF52 a un dispositiu BLE consta de dos passos. Primer identifiqueu l’adreça MAC (i el tipus) al dispositiu i comproveu que admeti el servei UART nòrdic amb TX Notify i després transferiu aquesta adreça i el tipus a l’esbós del pont.

Pas 5: connexió a un dispositiu BLE

Connexió a un dispositiu BLE
Connexió a un dispositiu BLE
Connexió a un dispositiu BLE
Connexió a un dispositiu BLE
Connexió a un dispositiu BLE
Connexió a un dispositiu BLE

Un cop s’ha programat l’HUZZAH ESP8266, haureu de codificar l’adreça BLE i el tipus del dispositiu al qual us voleu connectar a l’esbós Feather nRF52. Es tracta d’un procés en dos passos. I) Executeu el programa d'escaneig per trobar dispositius BLE propers que implementin el servei UART nòrdic (notificació TX) i, a continuació, copieu la sortida d'aquest escàner a l'esbós del pont Feather per connectar-lo a aquest dispositiu.

Cerca de perifèrics BLE

Per identificar perifèrics BLE compatibles, carregueu el programa central_bleuart_scanner.ino al vostre Feather nRF52. Aquest programa busca contínuament nous dispositius i, a continuació, comprova si admeten el servei UART nòrdic amb TX Notify.

Servei UART nòrdic

El servei UART nòrdic consta de tres parts, el servei UUID i les característiques RX i TX. Aquí teniu alguns exemples de codi generats per pfodDesignerV3 per a RedBear NanoV2

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 pot generar codi de mostra per a diversos mòduls BLE. Tanmateix, com que no hi ha cap especificació BLE per a una connexió UART "estàndard", no tots els mòduls fan servir el servei UART nòrdic. Per exemple, els mòduls HM-10 (Itead BLE shield), RFduno i Romeo BLE utilitzen els seus propis serveis uart únics i, per tant, no es connectaran al Feather nRF52.

Es connectaran els següents taulers: - Adafruit Bluefruit Feather nRF52, Arduino / Genuino 101, RedBearLab BLE Nano V2 i V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Boards, Adafruit Bluefruit LE SPI (és a dir, Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE o Bluefruit LE SPI Friend) A més de taulers que es poden codificar amb serveis personalitzats o taulers que poden utilitzar la biblioteca BLEPeripheral.

El tauler d’exemple utilitzat aquí és l’Arduino / Genuino 101 amb codi generat per pfodDesignerV3. El pfodDesignerV3 gratuït us permet crear menús de pfodApp i, a continuació, genera el codi Arduino necessari per mostrar aquest menú exacte al vostre mòbil Android mitjançant pfodApp (de pagament). pfodApp també es connectarà a través de Wifi, així com Bluetooth Classic, BLE i SMS, de manera que es pot connectar a través d’aquest pont Wifi2BLE. Tanmateix, fins i tot si no voleu utilitzar pfodApp com a aplicació de control, podeu utilitzar pfodDesignerV3 per generar un codi de servei UART nòrdic per a la vostra placa BLE.

Aquest enllaç tutorial descriu la configuració de l’Arduino / Genuino 101 BLE i la creació d’un senzill control d’encesa / apagada LED amb pfodDesignerV3. L’esbós produït per pfodDesignerV3 és Arduino101_led_control.ino

Programar l’Arduino / Genuino 101 amb l’Arduino101_led_control.ino us permetrà connectar-vos amb pfodApp i mostrar la pantalla següent al vostre mòbil Android.

Tanmateix, aquest és només un exemple i no cal comprar pfodApp per completar aquest projecte. El més important és que l’aplicació gratuïta pfodDesignerV3 té un codi de generació per a l’Arduino / Genuino 101 que implementa un servei UART nòrdic. Així que anem a buscar-lo.

Tanmateix, aquest és només un exemple i no cal comprar pfodApp per completar aquest projecte. El més important és que l’aplicació gratuïta pfodDesignerV3 té un codi de generació per a l’Arduino / Genuino 101 que implementa un servei UART nòrdic. Així que anem a buscar-lo.

S'està cercant un servei UART nòrdic

Amb el mòdul HUZZAH ESP8266 desconnectat del Feather nRF52, programa el Feather nRF52 amb central_bleuart_scanner.ino i obre Arduino IDE Tools → Serial Monitor i estableix la velocitat de transmissió a 9600. la primera captura de pantalla de dalt.

Com podeu veure, l'escàner ha trobat dos dispositius BLE, un Arduino / Genuino 101 amb un servei UART nòrdic, PER the la característica TX no admet Notificar. L'escàner també va trobar un mòdul RFduino BLE, però RFduino no utilitza el servei UART nòrdic, sinó que en fa un de propi. El comitè Bluetooth no en té la culpa per no especificar un servei UART "estàndard", en lloc de deixar que cada fabricant en faci el seu.

Tal com es descriu més amunt, el codi 101 va ser generat per pfodDesignerV3 principalment per utilitzar-lo amb pfodApp. pfodApp no és tan rellevant sobre TX Notify com el codi uart Feather nRF52. pfodApp funciona amb el 101 tal com està programat, però el Feather nRF52 insisteix a TX Notify, de manera que cal un petit canvi al codi per satisfer el Feather.

Obriu l'Arduino101_led_control.ino a l'IDE Arduino i, a la part superior, trobareu aquestes dues línies. La segona línia és només una descripció de la característica i no afecta l'operació.

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

Canvieu-los a

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

A continuació, torneu a programar el 101 amb aquesta versió editada, Arduino101_Notify_led_control.ino. A continuació, quan torneu a executar l’escàner Feather nRF52 (central_bleuart_scanner.ino), el monitor de sèrie mostra la segona captura de pantalla de més amunt.

Ara no hi ha errors per al Genuino 101 i l’escàner imprimeix el codi necessari per a l’esbós de pont Feather nRF52 perquè es connecti al 101. L’escàner comprovarà tots els dispositius que trobi al seu abast. El led vermell parpelleja una vegada per cada dispositiu que es troba amb el servei UART nòrdic (notificació TX).

Pas 6: Connexió a un perifèric BLE

Indicacions LED

El Feather nRF52 té dos leds, el blau i el vermell. Quan la placa està connectada a un dispositiu BLE, el Led Blau és constant, en cas contrari parpelleja. L'escàner no es manté connectat al dispositiu, de manera que el LED blau sol parpellejar. El led vermell parpelleja una vegada per a cada dispositiu de servei UART nòrdic (notificació TX). Quan s'executa com a escàner, el Led vermell compta el nombre de dispositius de servei UART nòrdics (notificació TX) trobats. Quan s’executa com a pont, el LED vermell parpelleja una vegada quan es connecta a l’adreça BLE del codi.

Connexió a un perifèric BLE

Ara que l'esbós de l'escàner ha proporcionat els detalls del dispositiu BLE al qual voleu connectar-vos, podeu copiar la sortida a l'esbós central_bleuart_bridge.ino. A la part superior d’aquest esbós trobareu el següent codi.

// Aquestes tres línies de codi següents provenen de la sortida central_bleuart_scanner.ino

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

Substituïu les tres línies de codi per la sortida de l'escàner del dispositiu BLE al qual vulgueu connectar. A continuació, programa el Feather nRF52 amb l'esbós central_bleuart_bridge.ino editat.

Prova de l'esbós central_bleuart_bridge

Abans de tornar a connectar el HUZZAH ESP8266 al Feather nRF52, proveu la connexió al dispositiu BLE. Si deixeu el Feather nRF52 connectat al vostre IDE Arduino, obriu Eines → Monitor sèrie a 9600 baud i, a continuació, comproveu que el dispositiu BLE objectiu estigui engegat.

Quan es faci la connexió amb el dispositiu BLE, tal com es descriu anteriorment, el led blau s’encendrà constantment i el led vermell parpellejarà cada 10 segons aproximadament. Això us permet no establir i mantenir la connexió.

A continuació, al Serial Monitor podeu introduir les ordres que espereu enviar al vostre dispositiu BLE i veure-ho funcionar i controlar qualsevol resposta que enviï. Si tot està bé, podeu apagar i connectar el mòdul HUZZAH ESP8266.

Pas 7: Connexió al dispositiu BLE mitjançant WiFi: unir-ho tot

Un cop hàgiu programat i provat el mòdul HUZZAH ESP8266 amb el seu codi de pont (Wifi_Bridge.ino) configurat per a la vostra xarxa ssid i contrasenya i IP I heu programat i provat el Feather nRF52 amb el seu codi de pont (central_bleuart_bridge.ino) configurat amb l'adreça del dispositiu BLE i escriviu-les, podreu connectar-les i connectar un subministrament USB al mòdul Feather per encendre'ls tots dos.

El led vermell del mòdul HUZZAH hauria d’encendre-se fixament quan es connecta al vostre encaminador de xarxa local i el led Feather Blue hauria d’encendre-se al connectar-se al dispositiu BLE i el led Feather Red hauria de parpellejar cada 10 segons aproximadament El dispositiu BLE està connectat.

Obriu el programa telnet i connecteu-vos a la IP i al port de HUZZAH. El LED vermell HUZZAH hauria de parpellejar lentament per indicar que el vostre programa s’ha connectat i que heu d’enviar comandes al vostre dispositiu BLE mitjançant WiFi i veure com funciona el dispositiu BLE i veure qualsevol resposta a la finestra de telnet. Recordeu que si el dispositiu BLE no envia cap dada durant 60 segons, el codi HUZZAH esgotarà la connexió i es desconnectarà i el led vermell HUZZAH tornarà a funcionar.

Pas 8: ajuda: no funciona

Primer feu els passos de prova detallats anteriorment, provant el HUZZAH ESP2866 i provant l'esbós central_bleuart_bridge.

Problemes d’escaneig

Si l’escàner no us pot trobar el dispositiu BLE, està massa lluny o no fa publicitat o ja està connectat a alguna cosa. Proveu d’apropar l’escàner i engegueu el dispositiu en bicicleta i apagueu tots els altres dispositius mòbils que puguin tenir connexió al dispositiu BLE.

Si obteniu una sortida d’escàner com aquesta.

Connectat a 98: 4F: EE: 0C: FC: 8F Cercant servei UART nòrdic … No s'ha trobat cap O no es pot descobrir !!!!! No s'ha pogut identificar un servei UART nòrdic !!!!!!!! Si esperàveu un servei UART nòrdic, acosteu l’escàner al dispositiu BLE !!!!

Pot ser que estigueu prou a prop del dispositiu BLE per detectar-lo, però que no estigueu prou a prop com per fer un descobriment de servei per trobar el servei UART nòrdic. Proveu d'apropar-vos al dispositiu BLE.

Com a últim recurs, podeu utilitzar l’aplicació gratuïta Nordic nRF Connect per a Android o iOS. Aquesta aplicació té un millor abast i sensibilitat. Us indicarà si el dispositiu BLE té un servei UART nòrdic. Tot i això, encara haureu de fer funcionar l’escàner, connectar-lo i identificar el servei UART nòrdic abans d’intentar utilitzar el pont Wifi2BLE ja que utilitza un codi similar a l’escàner.

Si voleu aprofundir més, podeu utilitzar el mòdul Adafruit Bluefruit LE Sniffer per veure què hi ha a l’aire.

Problemes de connexió BLE

Si heu aconseguit escanejar el dispositiu BLE, les causes més probables de problemes de connexió són I) el dispositiu BLE està massa lluny, II) ja s’ha connectat una altra cosa al dispositiu BLE

Problemes de connexió WiFi

Si el led vermell HUZZAH ESP8266 no s’encén, no té connexió a la vostra xarxa a través del router. Comproveu el ssid i la contrasenya que teniu al codi Wifi_Bridge.ino i utilitzeu l'aplicació Fing per a Android o iOS per comprovar que la IP que heu assignat encara no s'està utilitzant. Proveu d’apagar tots els vostres equips i dispositius i enceneu el router (deixeu-lo apagat durant 20 segons) i torneu a escanejar amb Fing. Finalment, si la connexió continua deixant de funcionar, recordeu la configuració del temps d’espera de la connexió al codi Wifi_Bridge.ino.

Pas 9: extensions i conclusió

El projecte que es presenta aquí és la versió més senzilla. Hi ha diverses extensions possibles, com ara: -

  • El Feather nRF52 és capaç de connectar-se a fins a 4 dispositius BLE alhora, de manera que podeu modificar el codi per afegir adreces més vàlides i controlar fins a 4 dispositius des de la connexió WiFi. Consulteu l'exemple de codi que s'inclou amb la instal·lació de la placa Feather nRF52.
  • Podeu fer un forat al vostre encaminador per proporcionar accés al dispositiu BLE des de qualsevol lloc d'Internet. Consulteu Connexió de dispositius IoT de bricolatge a Internet amb pfodApp.
  • Podeu utilitzar el codi de Cheap / Simple Wifi Shield per permetre-vos configurar els paràmetres de xarxa WiFi per a HUZZAH a través d’una pàgina web, sense reprogramar-los. Hauríeu d’afegir un botó de configuració al circuit.
  • Podeu afegir un polsador de configuració (amb el mateix botó anterior) que fa que Feather nRF52 busqui dispositius BLE amb un UART nòrdic (notificació TX) i deseu els detalls de la connexió del que tingui el senyal més fort. Per desar el resultat, haureu d’utilitzar la biblioteca nffs que ve amb la instal·lació de la placa Adafruit nRF52.
  • Podeu afegir una pàgina web al codi HUZZAH ESP8266 per proporcionar una interfície personalitzada per al vostre dispositiu BLE. També podeu utilitzar pfodDesignerV3 i pfodApp afegir una interfície personalitzada sense cap canvi en aquest projecte.

Conclusió

Aquest senzill projecte proporciona accés WiFi a qualsevol mòdul Bluetooth Low Energy (BLE) que implementi UART de Nordic amb TX Notify. El pont Wifi2BLE és completament transparent. Simplement transmet les dades WiFi al dispositiu BLE i torna les dades del dispositiu BLE a la connexió WiFi.

La senzilla construcció i les instruccions detallades de proves fan d’aquest un projecte adequat per a principiants que vulguin accedir al seu dispositiu BLE des del seu ordinador o des de fora del rang normal de BLE.

Aquest projecte serà més important un cop el programari del dispositiu BLE es posi al dia amb la nova especificació Bluetooth V5 Mesh. A continuació, Wifi2BLE proporcionarà accés a Internet a tota la domòtica.

Recomanat: