Cuprins:

Podul WiFi simplu către BLE (Bluetooth Low Energy): 9 pași (cu imagini)
Podul WiFi simplu către BLE (Bluetooth Low Energy): 9 pași (cu imagini)

Video: Podul WiFi simplu către BLE (Bluetooth Low Energy): 9 pași (cu imagini)

Video: Podul WiFi simplu către BLE (Bluetooth Low Energy): 9 pași (cu imagini)
Video: 💦Blackview BV9200 REVIZIE cinstită împotriva șocurilor 2024, Noiembrie
Anonim
WiFi simplu către podul BLE (Bluetooth Low Energy)
WiFi simplu către podul BLE (Bluetooth Low Energy)
WiFi simplu către podul BLE (Bluetooth Low Energy)
WiFi simplu către podul BLE (Bluetooth Low Energy)
WiFi simplu către podul BLE (Bluetooth Low Energy)
WiFi simplu către podul BLE (Bluetooth Low Energy)

Actualizare 4 decembrie 2017 - schițe revizuite Feather nRF52 și sfaturi de depanare. S-au adăugat imagini cu podul montat în cutie

Acest proiect simplu oferă acces WiFi la orice modul Bluetooth Low Energy (BLE) care implementează UART-ul Nordic cu TX Notify. Podul Wifi2BLE este complet transparent. Trece doar datele WiFi la dispozitivul BLE și transmite datele dispozitivului BLE la conexiunea WiFi.

PfodDesignerV3 gratuit generează cod pentru a implementa un serviciu Nordic UART pe multe module BLE, inclusiv 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 (adică Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE sau Bluefruit LE SPI Friend) și orice alte placi care vă permit să vă programați propriul serviciu.

Acest pod Wifi2BLE este potrivit pentru constructorii neexperimentați care pot lipi. Folosește doar două plăci, un cablu cu bandă și două rezistențe

Pe lângă testarea detaliată pentru fiecare placă, această instrucțiune include un pas Ajutor - Nu funcționează, cu mai multe sfaturi pentru găsirea defecțiunilor.

Aceste instrucțiuni sunt disponibile și online

De ce acest proiect?

Acest proiect rezolvă o serie de probleme pe care le are BLE (Bluetooth Low Energy).

  • Numai telefoanele mobile și computerele recente acceptă BLE. Puntea Wifi2BLE permite oricărui telefon mobil sau computer cu conexiune WiFi să se conecteze și să controleze dispozitivul BLE.
  • BLE are o autonomie limitată. Podul Wifi2BLE vă permite să accesați dispozitivul BLE de oriunde din casă (unde există o conexiune WiFi) și din exterior, prin Internet.
  • Crearea aplicațiilor BLE necesită învățarea Android sau iOS. Puntea Wifi2BLE asigură o conexiune telnet universală prin orice program terminal. Mai mult, puteți adăuga cu ușurință o pagină web la modulul WiFi pentru a crea propria interfață personalizată.
  • BLE V5 promite rețeaua de rețea pentru a conecta toate dispozitivele BLE de acasă, odată ce software-ul prinde din urmă cea mai recentă specificație Bluetooth. Puntea Wifi2BLE utilizează un dispozitiv BLE V5 și astfel va oferi acces la internet la această rețea de domiciliu atunci când va sosi.

Utilizarea mea imediată pentru acest proiect este să adaug controlul luminii BLE al salonului la rețeaua WiFi pentru a permite controlul acestuia de oriunde din casă. Deși acest tutorial folosește pfodApp ca exemplu de control al plăcilor BLE prin WiFi, nu este nevoie să cumpărați pfodApp pentru a finaliza acest proiect.

Pasul 1: Lista pieselor

Cost ~ 60 USD la 30 noiembrie 2017, fără expediere + o carcasă mică din plastic

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 USD

Adafruit HUZZAH ESP8266 Breakout - ~ 10 USD

Cablu panglică cu capete feminine separate - Cablu pirat autobuz ~ 5 USD https://www.sparkfun.com/products/9556 SAU 10-pin IDC Socket Rainbow Breakout Cable ~ 4 USD https://www.sparkfun.com/products/ 9556 SAU similar

Anteturi masculine Break Away - Unghi drept - ~ 2 USD

Cablu serial USB la TTL 3V3 - ~ 10 USD https://www.sparkfun.com/products/12977 (Preferat deoarece are pinii etichetați) SAU https://www.sparkfun.com/products/12977 (pinii NU sunt etichetat)

Cablu USB A la Micro B - ~ 4 USD https://www.sparkfun.com/products/12977 (3 picioare lungime) SAU ~ 3 USD US https://www.sparkfun.com/products/12977 (6 inci lungime) SAU ~ US $ 2 https://www.sparkfun.com/products/12977 (6 inci lungime) SAU ~ US $ 5 https://www.sparkfun.com/products/12977 (lungimea de 6 picioare) SAU similar

2 rezistențe de 100 ohmi - ~ 1 USD

Alimentare USB (500mA sau mai mult) - ~ 6 USD https://www.sparkfun.com/products/12890 SAU ~ 7 USD https://www.adafruit.com/product/1994 SAU similar

Arduino IDE V1.8.5 și un computer pentru a-l rula.

Pentru o cutie de plastic am folosit una de la Jaycar UB5 (albastru) 83mm x 54mm x 31mm ~ A $ 4

Pasul 2: Circuitul Wifi2BLE

Circuit Wifi2BLE
Circuit Wifi2BLE

Circuitul Wifi2BLE este prezentat mai sus. O versiune pdf este aici. După cum puteți vedea, circuitul este foarte simplu. Doar 4 fire și două rezistențe de protecție de 100 ohmi. Rezistențele de protecție sunt în cazul în care conectați greșit liniile TX / RX după programarea HUZZAH ESP8266 sau a Feather nRF52.

NOTĂ: Marcajul plăcii Feather nRF52 pentru pinii TX și RX este incorect. Pinul TX este de fapt cel de lângă pinul DFU, iar pinul RX este cel de lângă pinul MISO

Asigurați-vă că conectați liniile TX / RX așa cum se arată mai sus. Din fericire, rezistențele de protecție și-au făcut treaba, iar plăcile nu au fost deteriorate, în timp ce am arătat de ce plăcile nu se luau una pe cealaltă.

Pasul 3: Construcție Wifi2BLE

Construcție Wifi2BLE
Construcție Wifi2BLE
Construcție Wifi2BLE
Construcție Wifi2BLE
Construcție Wifi2BLE
Construcție Wifi2BLE

Știfturile cu unghi drept au fost lipite pe HUZZAH ESP8266 pentru a permite deconectarea acestuia pentru programare. Pentru conectarea celor două plăci sunt utilizate patru fire ale cablului cu bandă. Păstrați conectorii pinului feminin și tăiați celălalt capăt al cablului cu bandă. Cablul meu panglică avea aceleași culori ca cablul de programare Sparkfun USB to TTL, așa că am ales firul care să se potrivească acestuia. Negru pentru GND, roșu pentru 5V +, portocaliu pentru TX (se conectează la ESP8266 RX) și maro pentru RX (se conectează la ESP8266 TX)

Am conectat rezistențele de protecție pe partea din spate a plăcii Feather nRF52. (Constructorii observatori care știu codurile lor de rezistență vor vedea că am folosit două rezistențe de 68 ohm pe care le pun mâna pe mână în loc de cele de 100 ohmi) și apoi le-am izolat cu niște folii termocontractabile.

Cablul roșu este lipit la pinul USB Feather nRF52 pentru a prelua USB 5V pentru a alimenta modulul HUZZAH ESP8266, iar cablul negru este lipit la pinul Feather nRF52 GND.

Cu toate acestea, cu excepția programării modulelor, așa cum este descris mai jos, introducerea într-o cutie de plastic și conectarea unei surse de alimentare USB la Feather nRF52.

Pasul 4: Programare Wifi2BLE

Programare Wifi2BLE
Programare Wifi2BLE
Programare Wifi2BLE
Programare Wifi2BLE
Programare Wifi2BLE
Programare Wifi2BLE

Programarea HUZZAH ESP8266

Pentru a programa scutul, urmați instrucțiunile date pe https://github.com/esp8266/Arduino sub Instalarea cu Managerul plăcilor. Când deschideți Boards Manager din meniul Tools → Board și selectați Type Contributed și instalați platforma esp8266. Acest proiect a fost compilat utilizând versiunea 2.3.0 ESP8266. Alte versiuni vor avea propriul set de bug-uri și este posibil să nu funcționeze cu acest cod.

NOTĂ: NU utilizați instalarea Adafruit Board deoarece schița utilizată aici nu va fi compilată sub codul respectiv.

Închideți și redeschideți ID-ul Arduino și acum puteți selecta „Adafruit HUZZAH ESP8266” din meniul Instrumente → Placă.

De asemenea, trebuie să instalați cea mai recentă versiune a bibliotecii pfodESP8266WiFiBufferedClient. Această bibliotecă funcționează cu plug-in-ul IDE ESP8266.com V2.3. (Dacă ați instalat anterior biblioteca pfodESP2866WiFi, ștergeți complet acel director de bibliotecă.)

  • a) Descărcați acest fișier pfodESP8266WiFiBufferedClient.zip pe computer, mutați-l pe desktop sau în alt dosar pe care îl puteți găsi cu ușurință
  • b) Apoi utilizați opțiunea de meniu IDE Arduino 1.8.5 Sketch → Import Library → Add Library pentru ao instala. (Dacă Arduino nu vă permite să îl instalați deoarece biblioteca există deja, găsiți și ștergeți folderul mai vechi pfodESP8266BufferedClient și apoi importați-l)
  • c) Opriți și reporniți ID-ul Arduino și în Fișier-> Exemple ar trebui să vedeți acum pfodESP8266BufferedClient.

Setarea rețelei SSID și a parolei și a IP-ului și a portului

După ce ați instalat biblioteca pfodESP8266BufferedClient, deschideți Arduino IDE și copiați această schiță, Wifi_Bridge.ino, în IDE. Înainte de a programa modulul, trebuie să setați SSD-ul și parola rețelei și să alegeți un IP neutilizat.

Editați aceste trei linii în partea de sus a Wifi_Bridge.ino

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

Folosesc aplicația Fing (Android sau iOS) pentru a scana rețeaua mea locală și pentru a identifica adresa IP care este deja utilizată. De obicei, este sigur să alegeți un IP neutilizat în intervalul.180 până la.254

Pentru început, puteți părăsi portul No 23, portul standard pentru o conexiune telnet.

După ce ați făcut aceste modificări, puteți programa ESP8266.

Programarea HUZZAH ESP8266

Pentru a programa HUZZAH ESP8266, conectați cablul USB la Serial așa cum se arată în fotografie. Verificați fotografia și cablajul. A se vedea, de asemenea, sfaturi de programare ESP8266 (espcomm a eșuat)

Folosesc cablul serial Sparkfun USB to TTL 3V3 pentru că are marcate cablurile TX și RX. Asigurați-vă că cablul TX este conectat la pinul RX și cablul RX este conectat la pinul TX așa cum se arată mai sus. Dacă utilizați cablul Adafruit, acesta nu are terminalele marcate, dar este codat în culori, roșu este alimentare, negru este împământat, verde este TX și alb este RX.

Conectați cablul USB la serial în computer și selectați-l port COM în meniul Instrumente → Port. Lăsați frecvența procesorului, dimensiunea blițului și viteza de încărcare la setările implicite.

Apoi puneți modulul Adafruit HUZZAH ESP2866 în modul de programare ținând apăsat butonul GPIO0 și făcând clic pe butonul Reset și apoi eliberând butonul GPIO0. Ledul GPIO0 ar trebui să rămână slab luminat. Apoi selectați Fișier → Încărcați sau utilizați butonul Săgeată dreapta pentru a compila și încărca programul. Dacă primiți un mesaj de eroare la încărcare, verificați dacă conexiunile cablului sunt conectate la pinii corecți și încercați din nou.

Odată ce programarea este finalizată, Ledul roșu de pe modul ar trebui să se aprindă. Asta indică faptul că s-a conectat cu succes la rețeaua dvs. locală și a pornit serverul pentru a accepta o conexiune.

Testarea HUZZAH ESP2866

Pentru a testa HUZZAH ESP2866, lăsați cablul de programare conectat și deschideți Arduino IDE Tools → Serial Monitor și setați 9600 baud (colțul din dreapta jos). Apoi deschideți un program terminal pe computerul dvs., eu folosesc TeraTerm pentru Windows și CoolTerm pentru Mac și mă conectez la IP și la port Nu ați setat în schița Wifi_Bridge.ino.

Când conectați Ledul roșu de pe modul, ar trebui să înceapă să clipească, indicând că există o conexiune. Acum ar trebui să puteți introduce în fereastra terminalului computerelor dvs. și caracterele ar trebui să apară în fereastra monitorului Arduino IDE și invers.

Expirare conexiune Wifi

Codul Wifi_Bridge.ino are o durată de conectare.

uint32_t connectionTimeout = 60000; // Timp de conectare de 60 sec

Dacă nu există date WiFi primite de modulul HUZZAH ESP8266 timp de 60 de secunde, modulele închid conexiunea și așteaptă una nouă. Acest lucru asigură că modulul se recuperează din conexiunile „pe jumătate închise” care se întâmplă când clientul dispare doar din cauza conexiunii WiFi defecte, a pierderii de energie la router sau a opririi forțate a clientului. Consultați Detectarea conexiunilor de soclu TCP / IP semi-deschise (abandonate) pentru mai multe detalii.

Acest timp de expirare a conexiunii este setat la 60 sec. dar poate scădea sau crește după cum este necesar. Dacă îl setați la 0 înseamnă că nu expirați niciodată, ceea ce nu este recomandat.

Programarea Feather nRF52

Pentru a programa Feather nRF52, urmați instrucțiunile privind descărcarea și instalarea suportului pentru placa Arduino pentru Feather nRF52. Verificați dacă vă puteți conecta la și programați placa prin cablul USB.

NOTĂ: Deconectați modulul HUZZAH ESP8266 de la Feather nRF52 înainte de a încerca să programați Feather

Conectarea Feather nRF52 la un dispozitiv BLE constă din doi pași. Mai întâi identificați adresa MAC (și tipul) de pe dispozitiv și verificați dacă acesta acceptă serviciul Nordic UART cu TX Notify și apoi transferați adresa și tipul respectiv în schița de bridge.

Pasul 5: Conexiune la un dispozitiv BLE

Conexiune la un dispozitiv BLE
Conexiune la un dispozitiv BLE
Conexiune la un dispozitiv BLE
Conexiune la un dispozitiv BLE
Conexiune la un dispozitiv BLE
Conexiune la un dispozitiv BLE

Odată ce HUZZAH ESP8266 este programat, trebuie să codați adresa BLE și tipul dispozitivului la care doriți să vă conectați în schița Feather nRF52. Acesta este un proces în doi pași. I) Rulați programul de scanare pentru a găsi dispozitive BLE din apropiere care implementează serviciul Nordic UART (Notificare TX) și apoi copiați ieșirea acelui scaner în schița Feather Bridge pentru a se conecta la acel dispozitiv.

Scanarea perifericelor BLE

Pentru a identifica periferice BLE compatibile, încărcați programul central_bleuart_scanner.ino în Feather nRF52. Acest program scanează continuu pentru dispozitive noi și apoi verifică dacă acestea acceptă serviciul Nordic UART cu TX Notify.

Serviciul Nordic UART

Serviciul Nordic UART este format din trei părți, UUID-ul serviciului și caracteristicile RX și TX. Iată câteva exemple de cod generate de pfodDesignerV3 pentru RedBear NanoV2

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 poate genera cod de eșantion pentru un număr de module BLE. Cu toate acestea, deoarece nu există specificații BLE pentru o conexiune UART „standard”, nu toate modulele utilizează serviciul Nordic UART. De exemplu, modulele HM-10 (scutul Itead BLE), RFduno și Romeo BLE utilizează propriile servicii uart unice și, prin urmare, nu se vor conecta la Feather nRF52.

Se vor conecta următoarele plăci: - 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 (adică Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE sau Bluefruit LE SPI Friend), precum și plăci care pot fi codificate cu servicii personalizate sau plăci care pot utiliza biblioteca BLEPeripheral.

Exemplul de bord utilizat aici este Arduino / Genuino 101 cu cod generat de pfodDesignerV3. PfodDesignerV3 gratuit vă permite să creați meniuri pfodApp și apoi să generați codul Arduino necesar pentru a afișa acel meniu exact pe mobilul dvs. Android utilizând (plătit) pfodApp. pfodApp se va conecta, de asemenea, prin Wifi, precum și prin Bluetooth Classic, BLE și SMS, astfel încât să se poată conecta prin acest pod Wifi2BLE. Cu toate acestea, chiar dacă nu doriți să utilizați pfodApp ca aplicație de control, puteți utiliza în continuare pfodDesignerV3 pentru a genera un cod de serviciu nordic UART pentru placa dvs. BLE.

Acest link tutorial descrie configurarea Arduino / Genuino 101 BLE și crearea unui control LED on / off simplu cu pfodDesignerV3. Schița produsă de pfodDesignerV3 este Arduino101_led_control.ino

Programarea Arduino / Genuino 101 cu Arduino101_led_control.ino vă va permite să vă conectați cu pfodApp și să afișați următorul ecran pe mobilul dvs. Android.

Cu toate acestea, acesta este doar un exemplu și nu este nevoie să cumpărați pfodApp pentru a finaliza acest proiect. Partea importantă este că aplicația gratuită pfodDesignerV3 generează cod pentru Arduino / Genuino 101 care implementează un serviciu nordic UART. Deci, să scanăm după el.

Cu toate acestea, acesta este doar un exemplu și nu este nevoie să cumpărați pfodApp pentru a finaliza acest proiect. Partea importantă este că aplicația gratuită pfodDesignerV3 are un cod generator pentru Arduino / Genuino 101 care implementează un serviciu nordic UART. Deci, să scanăm după el.

Scanarea unui serviciu nordic UART

Cu modulul HUZZAH ESP8266 deconectat de la Feather nRF52, programați Feather nRF52 cu central_bleuart_scanner.ino și apoi deschideți Arduino IDE Tools → Serial Monitor și setați rata de transmisie la 9600. Pornirea Arduino / Genuino 101 oferă ieșirea prezentată în primul ecran de mai sus.

După cum puteți vedea, scanerul a găsit două dispozitive BLE, un Arduino / Genuino 101 care a găsit un serviciu UART nordic, DAR caracteristica TX nu a acceptat Notificare. Scanerul a găsit, de asemenea, un modul RFduino BLE, dar RFduino nu folosește serviciul Nordic UART, ci folosește unul propriu. Comitetul Bluetooth este vinovat pentru acest lucru pentru că nu a specificat un serviciu UART „standard”, lăsând în schimb fiecare producător să-și compună unul.

Așa cum este prezentat mai sus, codul 101 a fost generat de pfodDesignerV3 în principal pentru utilizare cu pfodApp. pfodApp nu este la fel de selectat despre notificarea TX precum este codul uart Feather nRF52. pfodApp funcționează cu 101 așa cum este programat, dar Feather nRF52 insistă asupra notificării TX, astfel încât este necesară o mică modificare a codului pentru a satisface Feather.

Deschideți Arduino101_led_control.ino în ID-ul Arduino și în partea de sus veți găsi aceste două linii. A doua linie este doar o descriere a caracteristicii și nu afectează operația.

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

Schimbați-le în

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

Apoi, reprogramați 101 cu această versiune editată, Arduino101_Notify_led_control.ino. Apoi, când rulați din nou scanerul Feather nRF52 (central_bleuart_scanner.ino), monitorul serial afișează a doua captură de ecran de mai sus.

Nu există erori pentru Genuino 101 acum, iar scanerul imprimă codul necesar pentru schița bridge Feather nRF52, astfel încât să se conecteze la 101. Scannerul va verifica fiecare dispozitiv pe care îl găsește în raza de acțiune. Ledul roșu clipește o dată pentru fiecare dispozitiv găsit cu serviciul Nordic UART (Notificare TX).

Pasul 6: Conectarea la un periferic BLE

Indicatii LED

Feather nRF52 are două leduri, albastru și roșu. Când placa este conectată la un dispozitiv BLE, Ledul albastru este constant, altfel clipește. Scanerul nu rămâne conectat la dispozitiv, astfel încât ledul său albastru clipește de obicei. Ledul roșu clipește o dată pentru fiecare dispozitiv Nordic UART Service (Notificare TX). Când rulează ca scaner, Ledul roșu contorizează numărul de dispozitive Nordic UART Service (Notificare TX) găsite. Când rulează ca o punte, Ledul roșu clipește o dată când este conectat la adresa cod BLE.

Conectarea la un periferic BLE

Acum că schița scanerului a furnizat detaliile dispozitivului BLE la care doriți să vă conectați, puteți copia ieșirea în schița central_bleuart_bridge.ino. Aproape de partea de sus a acelei schițe veți găsi următorul cod.

// Următoarele trei linii de cod provin din ieșirea 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;

Înlocuiți cele trei linii de cod cu ieșirea de pe scaner pentru dispozitivul BLE la care doriți să conectați. Apoi programați Feather nRF52 cu schița editată central_bleuart_bridge.ino.

Testarea schiței central_bleuart_bridge

Înainte de a conecta HUZZAH ESP8266 la Feather nRF52, testați conexiunea la dispozitivul dvs. BLE. Lăsând Feather nRF52 conectat la dvs. Arduino IDE, deschideți Instrumente → Monitor serial la 9600 baud și apoi verificați dacă dispozitivul BLE țintă este alimentat.

Când conexiunea este realizată la dispozitivul dvs. BLE, așa cum este descris mai sus, ledul albastru se va aprinde constant, iar ledul roșu va clipi o dată la fiecare 10 sec. Acest lucru vă permite să nu ați făcut conexiunea și a fost menținută.

Apoi în Serial Monitor puteți introduce comenzile pe care vă așteptați să le trimiteți dispozitivului dvs. BLE și să le urmăriți funcționarea și să monitorizați orice răspuns pe care îl trimite înapoi. Dacă totul este bine, puteți opri și conecta modulul HUZZAH ESP8266.

Pasul 7: Conectarea la dispozitivul BLE prin WiFi - Punerea în comun

Odată ce ați programat și testat modulul HUZZAH ESP8266 cu codul său bridge (Wifi_Bridge.ino) configurat pentru SSID și parolă de rețea și IP ȘI ați programat și testat Feather nRF52 cu codul său bridge (central_bleuart_bridge.ino) configurat cu adresa dispozitivului BLE și tastați, apoi le puteți conecta și conecta o sursă USB la modulul Feather pentru a le alimenta pe amândouă.

Ledul roșu al modulului HUZZAH ar trebui să se aprindă solid când se conectează la routerul dvs. de rețea locală, iar ledul Feather Blue ar trebui să se aprindă în timp ce se conectează la dispozitivul dvs. BLE, iar ledul roșu Feather ar trebui să clipească o dată la fiecare 10 sec sau cam așa pentru a indica doar pe Dispozitivul BLE este conectat.

Deschideți programul telnet și conectați-vă la IP-ul și portul HUZZAH. Ledul roșu HUZZAH ar trebui să clipească încet pentru a indica faptul că programul dvs. s-a conectat și ar trebui să trimiteți comenzi către dispozitivul dvs. BLE prin WiFi și să urmăriți funcționarea dispozitivului BLE și să vedeți orice răspuns în fereastra dvs. telnet. Amintiți-vă dacă dispozitivul dvs. BLE nu trimite date înapoi timp de 60 de secunde, codul HUZZAH va expira conexiunea și se va deconecta, iar ledul roșu HUZZAH va rămâne solid.

Pasul 8: Ajutor - Nu funcționează

Mai întâi faceți pașii de testare detaliați mai sus, Testarea HUZZAH ESP2866 și Testarea schiței central_bleuart_bridge.

Probleme de scanare

Dacă scanerul nu vă poate găsi dispozitivul BLE, acesta este fie prea departe, fie nu face publicitate sau este deja conectat la ceva. Încercați să apropiați scanerul și să porniți cu bicicleta dispozitivul și să opriți toate celelalte dispozitive mobile care pot avea o conexiune la dispozitivul BLE.

Dacă obțineți o ieșire de scanare ca aceasta.

Conectat la 98: 4F: EE: 0C: FC: 8F În căutarea serviciului nordic UART … Nu a fost găsit SAU Nu este de descoperit !!!!! Nu s-a putut identifica un serviciu UART nordic !!!!!!!! Dacă vă așteptați la un serviciu nordic UART, apropiați scanerul de dispozitivul BLE !!!!

Este posibil să fiți suficient de aproape de dispozitivul BLE pentru a-l detecta, dar nu suficient de aproape pentru a face cu succes o descoperire a Serviciului pentru a găsi serviciul Nordic UART. Încercați să vă apropiați de dispozitivul BLE.

În ultimă instanță, puteți utiliza aplicația gratuită Nordic nRF Connect pentru Android sau iOS. Această aplicație are o autonomie și o sensibilitate mai bune. Vă va spune dacă dispozitivul BLE are un serviciu UART nordic. Cu toate acestea, va trebui totuși să faceți scanerul să ruleze, să se conecteze și să identifice Seria Nordică UART înainte de a încerca să utilizați puntea Wifi2BLE deoarece folosește cod similar cu scanerul.

Dacă doriți să săpați mai adânc, puteți utiliza modulul Adafruit Bluefruit LE Sniffer pentru a vedea ce este în aer.

Probleme de conexiune BLE

Dacă ați reușit să scanați dispozitivul BLE, atunci cele mai probabile cauze ale problemelor de conectare sunt I) dispozitivul BLE este prea departe, II) altceva s-a conectat deja la dispozitivul BLE

Probleme de conexiune WiFi

Dacă ledul roșu HUZZAH ESP8266 nu se aprinde solid, atunci nu are o conexiune la rețea prin intermediul routerului. Verificați codul ssid și parola pe care o aveți în Wifi_Bridge.ino și utilizați aplicația Fing pentru Android sau iOS pentru a verifica dacă IP-ul pe care l-ați alocat nu este deja utilizat. Încercați să opriți toate computerele și dispozitivele și să alimentați routerul cu bicicleta (lăsați-l oprit timp de 20 de secunde) și apoi scanați din nou cu Fing.

Pasul 9: Extensii și concluzii

Proiectul prezentat aici este cea mai simplă versiune. Există o serie de extensii posibile, cum ar fi: -

  • Feather nRF52 este capabil să se conecteze la până la 4 dispozitive BLE simultan, astfel încât să puteți modifica codul pentru a adăuga mai multe adrese valide și să controlați până la 4 dispozitive dintr-o singură conexiune WiFi. Vedeți exemplul de cod care vine odată cu instalarea plăcii Feather nRF52.
  • Ați putea face o gaură în router pentru a oferi acces la dispozitivul BLE de oriunde de pe internet. Consultați Conectarea dispozitivelor DIY IoT la Internet cu pfodApp.
  • Puteți utiliza codul de la Cheap / Simple Wifi Shield pentru a vă permite să configurați parametrii de rețea WiFi pentru HUZZAH printr-o pagină web, fără reprogramare. Ar trebui să adăugați un buton de configurare la circuit.
  • Puteți adăuga un buton de configurare (folosind același buton ca mai sus) care face scanarea Feather nRF52 pentru dispozitive BLE cu un UART nordic (Notificare TX) și apoi salvați detaliile conexiunii pentru cel cu cel mai puternic semnal. Pentru a salva rezultatul, va trebui să utilizați biblioteca nffs care vine împreună cu instalarea Adafruit nRF52.
  • Puteți adăuga o pagină web la codul HUZZAH ESP8266 pentru a furniza o interfață personalizată pentru dispozitivul dvs. BLE. De asemenea, ați putea folosi pfodDesignerV3 și pfodApp adăugați o interfață personalizată fără modificări la acest proiect.

Concluzie

Acest proiect simplu oferă acces WiFi la orice modul Bluetooth Low Energy (BLE) care implementează UART-ul Nordic cu TX Notify. Podul Wifi2BLE este complet transparent. Trece doar datele WiFi la dispozitivul BLE și transmite datele dispozitivului BLE la conexiunea WiFi.

Construcția simplă și instrucțiunile detaliate de testare fac din acesta un proiect potrivit pentru începătorii care doresc să își acceseze dispozitivul BLE de pe computer sau din afara intervalului normal al BLE.

Acest proiect va deveni mai important odată ce software-ul dispozitivului BLE recuperează noile specificații Bluetooth V5 Mesh. Apoi, Wifi2BLE va oferi acces la internet pentru automatizarea întregii case.

Recomandat: