Përmbajtje:

WiFi e thjeshtë në BLE (Bluetooth me energji të ulët) Ura: 9 hapa (me fotografi)
WiFi e thjeshtë në BLE (Bluetooth me energji të ulët) Ura: 9 hapa (me fotografi)

Video: WiFi e thjeshtë në BLE (Bluetooth me energji të ulët) Ura: 9 hapa (me fotografi)

Video: WiFi e thjeshtë në BLE (Bluetooth me energji të ulët) Ura: 9 hapa (me fotografi)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Korrik
Anonim
WiFi e thjeshtë në urën BLE (Bluetooth me energji të ulët)
WiFi e thjeshtë në urën BLE (Bluetooth me energji të ulët)
WiFi e thjeshtë në urën BLE (Bluetooth me energji të ulët)
WiFi e thjeshtë në urën BLE (Bluetooth me energji të ulët)
WiFi e thjeshtë në urën BLE (Bluetooth me energji të ulët)
WiFi e thjeshtë në urën BLE (Bluetooth me energji të ulët)

Përditësimi 4 Dhjetor 2017 - skica të rishikuara të pendës nRF52 dhe këshilla për korrigjimin. U shtuan fotografi të urës të montuara në kuti

Ky projekt i thjeshtë siguron qasje WiFi në çdo modul Bluetooth me Energji të Ulët (BLE) që zbaton UART të Nordic me TX Notify. Ura Wifi2BLE është plotësisht transparente. Thjesht i kalon të dhënat WiFi në pajisjen BLE dhe i kalon të dhënat e pajisjes BLE përsëri në lidhjen WiFi.

PfodDesignerV3 falas gjeneron kod për të zbatuar një Shërbim Nordik UART në shumë module BLE duke përfshirë, Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 dhe V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend dhe Adafruit Bluefruit LE UART Friend, Adafruit Bluefruit LE SPI (dmth Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE ose Bluefruit LE SPI Friend) dhe çdo bord tjetër që ju lejon të programoni shërbimin tuaj.

Kjo urë Wifi2BLE është e përshtatshme për konstruktorin pa përvojë që mund të bashkojë. Ai përdor vetëm dy dërrasa, një kabllo shiriti dhe dy rezistorë

Përveç testimit të detajuar për secilën tabelë, ky udhëzues përfshin një ndihmë - Nuk funksionon me më shumë këshilla për gjetjen e gabimeve.

Këto udhëzime janë gjithashtu në dispozicion në internet

Pse ky Projekt?

Ky projekt zgjidh një numër problemesh që ka BLE (Bluetooth Low Energy).

  • Vetëm celularët dhe kompjuterët e fundit mbështesin BLE. Ura Wifi2BLE lejon çdo celular ose kompjuter me lidhje WiFi të lidhet dhe të kontrollojë pajisjen BLE.
  • BLE ka një gamë të kufizuar. Ura Wifi2BLE ju lejon të hyni në pajisjen BLE nga kudo në shtëpi (ku ka lidhje WiFi) dhe nga jashtë përmes internetit.
  • Krijimi i aplikacioneve BLE kërkon që ju të mësoni Android ose iOS. Ura Wifi2BLE siguron një lidhje universale telnet përmes çdo programi terminal. Për më tepër, lehtë mund të shtoni një faqe në internet në modulin WiFi për të krijuar ndërfaqen tuaj të personalizuar.
  • BLE V5 premton rrjetëzim rrjetor për të lidhur të gjitha pajisjet tuaja shtëpiake BLE, pasi softveri të arrijë me specifikimet më të fundit Bluetooth. Ura Wifi2BLE përdor një pajisje BLE V5 dhe kështu do të sigurojë qasje në internet në këtë rrjet shtëpiak kur të arrijë.

Përdorimi im i menjëhershëm për këtë projekt është të shtoj kontrollin e dritës BLE të dhomës së sallonit në rrjetin WiFi për të lejuar që ai të kontrollohet nga kudo në shtëpi. Edhe pse ky tutorial përdor pfodApp si shembullin e kontrollit të bordeve BLE përmes WiFi, nuk keni nevojë të blini pfodApp për të përfunduar këtë projekt.

Hapi 1: Lista e Pjesëve

Kostoja 60 60 dollarë amerikanë në 30 nëntor 2017, duke përjashtuar transportin + një rrethim të vogël plastik

Pendë Adafruit nRF52 Bluefruit LE - nRF52832 - ~ 25 US $

Breakout Adafruit HUZZAH ESP8266 - 10 dollarë amerikanë

Kabllo me shirita me skaje të veçanta femërore-Kabllo Pirate autobusi 5 5 dollarë amerikanë https://www.sparkfun.com/products/9556 OSE 10-pin IDC Socket Rainbow Breakout Cable ~ 4 dollarë amerikanë https://www.sparkfun.com/products/ 9556 OSE të ngjashme

Titujt meshkuj të shkëputur - Këndi i drejtë - ~ 2 dollarë amerikanë

Kabllo Seriale USB në TTL 3V3 - ~ 10 US $ https://www.sparkfun.com/products/12977 (Preferohet pasi ka etiketat e kunjave) OSE https://www.sparkfun.com/products/12977 (kunjat NUK etiketuar)

Kabllo USB A në Micro B - ~ 4 dollarë amerikanë https://www.sparkfun.com/products/12977 (3 këmbë e gjatë) OSE ~ 3 dollarë amerikanë https://www.sparkfun.com/products/12977 (6 inç e gjatë) OSE 2 2 US $ https://www.sparkfun.com/products/12977 (6 inç i gjatë) OSE ~ 5 US $ https://www.sparkfun.com/products/12977 (6 këmbë e gjatë) OSE e ngjashme

2 rezistente 100 x 100 Ohm - ~ 1 dollarë amerikanë

Furnizimi me energji USB (500mA ose më shumë) - ~ 6 dollarë amerikanë https://www.sparkfun.com/products/12890 OSE 7 7 dollarë amerikanë https://www.adafruit.com/product/1994 OSE të ngjashme

Arduino IDE V1.8.5 dhe një kompjuter për ta ekzekutuar atë.

Për një kuti plastike kam përdorur një nga Jaycar UB5 (blu) 83mm x 54mm x 31mm ~ 4 $

Hapi 2: Qarku Wifi2BLE

Qarku Wifi2BLE
Qarku Wifi2BLE

Qarku Wifi2BLE është treguar më lart. Një version pdf është këtu. Siç mund ta shihni, qarku është shumë i thjeshtë. Vetëm 4 tela dhe dy rezistorë mbrojtës 100 ohm. Rezistencat e mbrojtjes janë në rast se humbisni lidhjen e linjave TX / RX pas programimit të HUZZAH ESP8266 ose Feather nRF52.

SHENIM: Shënimi i pllakës FeR nRF52 për kunjat TX dhe RX është i pasaktë. Kunja TX është në të vërtetë ajo pranë kunjit DFU dhe kunja RX është ajo pranë kunjit MISO

Sigurohuni që të lidhni linjat TX/RX siç tregohet më sipër. Për fat të mirë, rezistencat mbrojtëse bënë punën e tyre dhe dërrasat nuk u dëmtuan ndërsa unë zgjidha pse bordet nuk po i afroheshin njëri -tjetrit.

Hapi 3: Ndërtimi Wifi2BLE

Ndërtimi Wifi2BLE
Ndërtimi Wifi2BLE
Ndërtimi Wifi2BLE
Ndërtimi Wifi2BLE
Ndërtimi Wifi2BLE
Ndërtimi Wifi2BLE

Kunjat e kokës me kënd të drejtë bashkohen në HUZZAH ESP8266 për të lejuar që ai të shkëputet për programim. Katër tela të kabllit të shiritit përdoren për të lidhur dy dërrasat. Mbani lidhëset e kunjave femra dhe prerë skajin tjetër të kabllit të shiritit. Kablloja ime e shiritit kishte të njëjtat ngjyra si kablloja e programimit Sparkfun USB to TTL kështu që zgjodha tela që të përputhej me të. E zezë për GND, E kuqe për 5V+, Portokalli për TX (lidhet me ESP8266 RX) dhe Kafe për RX (lidhet me ESP8266 TX)

I instalova rezistencat mbrojtëse në anën e pasme të tabelës Feather nRF52. (Ndërtuesit vëzhgues të cilët i dinë kodet e tyre të rezistencës do të shohin se kam përdorur dy rezistorë 68 ohm që kam në dorë në vend të atyre 100 ohm) dhe pastaj i kam izoluar me një mbështjellës të tkurrur.

Kablloja e Kuqe është ngjitur në kunjin USB Feather nRF52 për të marrë USB 5V për të fuqizuar modulin HUZZAH ESP8266 dhe kablli i Zi ngjitet në kunjin Feather nRF52 GND.

Ajo që ka gjithçka përveç programimit të moduleve, siç përshkruhet më poshtë, vendosja e tij në një kuti plastike dhe lidhja e një furnizimi me energji USB në Feather nRF52.

Hapi 4: Programimi Wifi2BLE

Programimi Wifi2BLE
Programimi Wifi2BLE
Programimi Wifi2BLE
Programimi Wifi2BLE
Programimi Wifi2BLE
Programimi Wifi2BLE

Programimi i HUZZAH ESP8266

Për të programuar mburojën ndiqni udhëzimet e dhëna në https://github.com/esp8266/Arduino nën Instalimi Me Menaxherët e Bordeve. Kur hapni Bordet Menaxher nga menyja Tools → Board dhe zgjidhni Type Contributed dhe instaloni platformën esp8266. Ky projekt u përpilua duke përdorur versionin ESP8266 2.3.0. Versionet e tjera do të kenë grupin e tyre të gabimeve dhe mund të mos punojnë me këtë kod.

SHENIM: MOS përdorni instalimin e Bordit Adafruit pasi skica e përdorur këtu nuk do të përpilohet nën atë kod.

Mbyllni dhe rihapni Arduino IDE dhe tani mund të zgjidhni "Adafruit HUZZAH ESP8266" nga menyja Tools → Board.

Ju gjithashtu duhet të instaloni versionin më të fundit të bibliotekës pfodESP8266WiFiBufferedClient. Kjo bibliotekë punon me plug-in ESP8266.com IDE V2.3. (Nëse e keni instaluar më parë bibliotekën pfodESP2866WiFi, fshini atë drejtori të bibliotekës plotësisht.)

  • a) Shkarkoni këtë skedar pfodESP8266WiFiBufferedClient.zip në kompjuterin tuaj, zhvendoseni atë në desktopin tuaj ose në ndonjë dosje tjetër që mund ta gjeni lehtësisht
  • b) Pastaj përdorni opsionin e menusë Arduino 1.8.5 IDE Sketch → Import Bibliotekë → Shto Bibliotekë për ta instaluar. (Nëse Arduino nuk ju lejon ta instaloni sepse biblioteka ekziston tashmë, atëherë gjeni dhe fshini dosjen më të vjetër pfodESP8266BufferedClient dhe më pas importoni këtë)
  • c) Ndaloni dhe rinisni Arduino IDE dhe nën File-> Shembuj që tani duhet të shihni pfodESP8266BufferedClient.

Vendosja e ssid dhe fjalëkalimi i Rrjetit dhe IP dhe porti

Pasi të keni instaluar bibliotekën pfodESP8266BufferedClient, hapni Arduino IDE dhe kopjoni këtë skicë, Wifi_Bridge.ino, në IDE. Para se të programoni modulin, duhet të vendosni ssid -in dhe fjalëkalimin e rrjetit tuaj dhe të zgjidhni një IP të papërdorur.

Ndryshoni këto tre rreshta pranë majës së Wifi_Bridge.ino

char ssid = "**** ***"; fjalëkalim char = "**** *****"; char staticIP = "10.1.1.180";

Unë përdor aplikacionin Fing (Android ose iOS) për të skanuar rrjetin tim lokal dhe për të identifikuar IP -në që janë përdorur tashmë. Zakonisht është e sigurt të zgjedhësh një IP të papërdorur në rangun.180 deri.254

Për të filluar me të, mund të lini portën Nr 23, porta standarde për një lidhje telnet.

Pasi të keni bërë ato ndryshime, mund të programoni ESP8266.

Programimi i HUZZAH ESP8266

Për të programuar HUZZAH ESP8266, lidhni USB me kabllin serik siç tregohet në foto. Kontrolloni foton dhe instalimet tuaja elektrike. Shihni gjithashtu Këshillat e Programimit ESP8266 (espcomm dështoi)

Unë përdor Sparkfun USB për TTL 3V3 Serial Cable sepse ai ka shënuar prizat TX dhe RX. Sigurohuni që priza TX të jetë e lidhur në kunjin RX dhe lidhësi RX është i lidhur në kunjin TX siç tregohet më sipër. Nëse jeni duke përdorur kabllon Adafruit, ai nuk ka terminalet e shënuar, por është i koduar me ngjyra, e kuqja është fuqi, e zeza është e bluar, e gjelbër është TX dhe e bardha është RX.

Futni kabllon USB në Serial në kompjuterin tuaj dhe zgjidhni atë portën COM në menunë Tools → Port. Lini Frekuencën e CPU -së, Madhësinë e Blicit dhe Shpejtësinë e Ngarkimit në cilësimet e tyre të paracaktuara.

Pastaj vendoseni modulin Adafruit HUZZAH ESP2866 në modalitetin e programimit duke mbajtur të shtypur butonin GPIO0 dhe duke klikuar butonin Reset dhe më pas lëshoni butonin GPIO0. Ledi GPIO0 duhet të mbetet i ndriçuar dobët. Pastaj zgjidhni Skedarin → Ngarko ose përdorni butonin Shigjeta e djathtë për të përpiluar dhe ngarkuar programin. Nëse merrni një mesazh gabimi në ngarkim, kontrolloni lidhjet tuaja kabllore janë të kyçura në kunjat e duhur dhe provoni përsëri.

Pasi të përfundojë programimi, Red Led në modul duhet të ndizet. Kjo tregon se është lidhur me sukses me rrjetin tuaj lokal dhe ka filluar që serveri të pranojë një lidhje.

Testimi i HUZZAH ESP2866

Për të testuar HUZZAH ESP2866, lini kabllon e programimit të lidhur dhe hapni Arduino IDE Tools Monitor Monitor Serial dhe vendosni 9600 baud (këndi i poshtëm i djathtë). Pastaj hapni një program terminal në kompjuterin tuaj, unë përdor TeraTerm për Windows dhe CoolTerm për Mac, dhe lidheni me IP dhe portin Nuk vendosni në skicën Wifi_Bridge.ino.

Kur lidhni Red Led në modul duhet të fillojë të ndizet, duke treguar se ka një lidhje. Tani duhet të jeni në gjendje të shkruani në dritaren e terminalit të kompjuterëve tuaj dhe personazhet duhet të shfaqen në dritaren e monitorit të Arduino IDE dhe anasjelltas.

Koha e lidhjes me lidhjen Wi -Fi

Kodi Wifi_Bridge.ino ka një kohë lidhjeje.

uint32_t connectionTimeout = 60000; // Afati i lidhjes 60 sekonda

Nëse nuk ka të dhëna WiFi të marra nga moduli HUZZAH ESP8266 për 60 sekonda, atëherë modulet mbyllin lidhjen dhe presin për një të re. Kjo siguron që moduli të rimëkëmbet nga lidhjet 'gjysmë të mbyllura' të cilat ndodhin pasi klienti thjesht zhduket për shkak të lidhjes së keqe WiFi, humbjes së energjisë në ruter ose mbylljes së detyruar të klientit. Shihni Zbulimin e Lidhjeve Socket TCP/IP Half-Open (Dropped) për më shumë detaje.

Ky afat i lidhjes është caktuar në 60 sekonda. por mund të ulet ose shtohet sipas nevojës. Vendosja e tij në 0 do të thotë të mos e kaloni kurrë kohën që nuk rekomandohet.

Programimi i pendës nRF52

Për të programuar Feather nRF52, ndiqni udhëzimet për shkarkimin dhe instalimin e mbështetjes së Bordit Arduino për Feather nRF52. Kontrolloni se si mund të lidheni dhe programoni bordin përmes kabllit USB.

SH NOTNIM: Shkëputni modulin HUZZAH ESP8266 nga Feather nRF52 para se të provoni të programoni pendën

Lidhja e Feather nRF52 me një pajisje BLE përbëhet nga dy hapa. Së pari identifikimi i adresës MAC (dhe llojit) në pajisje dhe kontrollimi i saj mbështet shërbimin Nordic UART me TX Notify dhe pastaj transferimin e asaj adrese dhe lloji në skicën e urës.

Hapi 5: Lidhja me një pajisje BLE

Lidhja me një pajisje BLE
Lidhja me një pajisje BLE
Lidhja me një pajisje BLE
Lidhja me një pajisje BLE
Lidhja me një pajisje BLE
Lidhja me një pajisje BLE

Pasi të jetë programuar HUZZAH ESP8266, duhet të kodoni adresën BLE dhe llojin e pajisjes me të cilën dëshironi të lidheni në skicën Feather nRF52. Ky është një proces me dy hapa. I) Drejtoni programin e skanimit për të gjetur pajisjet BLE aty pranë që zbatojnë Shërbimin Nordic UART (TX Notify) dhe më pas kopjoni daljen e atij skaneri në skicën e urës Feather për ta lidhur atë me atë pajisje.

Skanimi për pajisjet periferike të BLE

Për të identifikuar periferikësh të pajtueshëm BLE, ngarkoni programin central_bleuart_scanner.ino në pendën tuaj nRF52. Ky program skanon vazhdimisht për pajisje të reja dhe më pas kontrollon nëse ato mbështesin shërbimin nordik UART me TX Notify.

Shërbimi Nordik UART

Shërbimi Nordik UART përbëhet nga tre pjesë, Shërbimi UUID dhe karakteristikat RX dhe TX. Këtu është një kod mostër i krijuar nga pfodDesignerV3 për RedBear NanoV2

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 mund të gjenerojë kodin shembull për një numër modulesh BLE. Sidoqoftë, për shkak se nuk ka asnjë specifikim BLE për një lidhje "standarde" UART, jo të gjitha modulet përdorin shërbimin Nordik UART. Për shembull modulet HM-10 (mburoja Itead BLE), RFduno dhe Romeo BLE përdorin shërbimet e tyre unike të uart dhe kështu nuk do të lidhen me pendën nRF52.

Pllakat e mëposhtme do të lidhen:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 dhe V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Boards, Adafruit Bluefruit LE SPI (dmth Bluefruit LE Shield), Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE ose Bluefruit LE SPI Friend) Si dhe tabela që mund të kodohen me Shërbime me porosi ose tabela që mund të përdorin bibliotekën BLEPeriferike.

Shembulli i bordit i përdorur këtu është Arduino/Genuino 101 me kod të gjeneruar nga pfodDesignerV3. PfodDesignerV3 falas ju lejon të krijoni menutë pfodApp dhe më pas gjeneron kodin Arduino të nevojshëm për të treguar atë meny të saktë në celularin tuaj Android duke përdorur (paguar) pfodApp. pfodApp gjithashtu do të lidhet përmes Wifi, si dhe Bluetooth Classic, BLE dhe SMS, dhe kështu mund të lidhet përmes kësaj ure Wifi2BLE. Sidoqoftë, edhe nëse nuk doni të përdorni pfodApp si aplikacionin tuaj të kontrollit, përsëri mund të përdorni pfodDesignerV3 për të gjeneruar një kod shërbimi Nordik UART për bordin tuaj BLE.

Kjo lidhje udhëzuese përshkruan ngritjen e Arduino/Genuino 101 BLE dhe krijimin e një kontrolli të thjeshtë LED të ndezjes/fikjes me pfodDesignerV3. Skica e prodhuar nga pfodDesignerV3 është Arduino101_led_control.ino

Programimi i Arduino/Genuino 101 me Arduino101_led_control.ino do t'ju lejojë të lidheni me pfodApp dhe të shfaqni ekranin e mëposhtëm në celularin tuaj Android.

Sidoqoftë, ky është vetëm një shembull dhe nuk keni nevojë të blini pfodApp për të përfunduar këtë projekt. Pjesa e rëndësishme është se aplikacioni falas pfodDesignerV3 ka gjeneruar kod për Arduino/Genuino 101 që zbaton një Shërbim Nordik UART. Pra, le ta skanojmë.

Sidoqoftë, ky është vetëm një shembull dhe nuk keni nevojë të blini pfodApp për të përfunduar këtë projekt. Pjesa e rëndësishme është se aplikacioni falas pfodDesignerV3 ka gjeneruar kod për Arduino/Genuino 101 që zbaton një Shërbim Nordik UART. Pra, le ta skanojmë.

Skanimi për një shërbim nordik UART

Me modulin HUZZAH ESP8266 të shkëputur nga Feather nRF52, programoni Feather nRF52 me central_bleuart_scanner.ino dhe më pas hapni Arduino IDE Tools Monitor Monitor Serial dhe vendosni shpejtësinë në 9600. Fuqizimi i Arduino/Genuino 101 jep daljen e treguar në ekrani i parë i shkrepur më sipër.

Siç mund ta shihni skaneri gjeti dy pajisje BLE, një Arduino/Genuino 101 me të gjetur një shërbim nordik UART në të, POR karakteristika TX nuk e mbështet Notify. Skaneri gjithashtu gjeti një modul RFduino BLE, por RFduino nuk përdor Shërbimin Nordik UART, por përdor një të vetin. Komiteti Bluetooth fajëson këtë për mos specifikimin e një shërbimi 'standard' UART, në vend që të lërë secilin prodhues të krijojë një të vetin.

Siç u përmend më lart, kodi 101 u krijua nga pfodDesignerV3 kryesisht për përdorim me pfodApp. pfodApp nuk është aq i zgjedhur për TX Notify sa është kodi i uart i Feather nRF52. pfodApp punon me 101 siç është programuar, por Feather nRF52 këmbëngul në TX Notify kështu që një ndryshim i vogël në kod është i nevojshëm për të kënaqur pendën.

Hapni Arduino101_led_control.ino në Arduino IDE dhe pranë majës do të gjeni këto dy rreshta. Linja e dytë është vetëm një përshkrim i karakteristikës dhe nuk ndikon në funksionim.

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

Ndryshoni ato në

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

Pastaj ri-programoni 101 me këtë version të redaktuar, Arduino101_Notify_led_control.ino. Pastaj kur ri-ekzekutoni skanerin Feather nRF52 (central_bleuart_scanner.ino), Monitoruesi Serial tregon ekranin e dytë të shkrepur më sipër.

Asnjë gabim për Genuino 101 tani dhe skaneri printon kodin e nevojshëm për skicën e urës Feather nRF52 në mënyrë që të lidhet me 101. Skaneri do të kontrollojë çdo pajisje që gjen në rreze. Ledi i kuq ndizet një herë për secilën pajisje të gjetur me Shërbimin Nordic UART (TX Notify).

Hapi 6: Lidhja me një BLE Periferike

Indikacionet LED

Feather nRF52 ka dy led, blu dhe të kuq. Kur bordi është i lidhur me një pajisje BLE, Blue Led është konstant, përndryshe po ndizet. Skaneri nuk qëndron i lidhur me pajisjen, kështu që drita blu e tij zakonisht ndizet. Ledi i kuq ndizet një herë për secilën pajisje të Shërbimit Nordic UART (TX Notify). Kur funksionon si skaner, Red Led numëron numrin e pajisjeve të gjetura të Shërbimit Nordic UART (TX Notify). Kur funksionon si urë, Red Led ndizet një herë kur lidhet me adresën e kodit BLE.

Lidhja me një Periferik BLE

Tani që skica e skanerit ka dhënë detajet për pajisjen BLE me të cilën dëshironi të lidheni, mund ta kopjoni daljen në skicën central_bleuart_bridge.ino. Pranë majës së asaj skice do të gjeni kodin e mëposhtëm.

// Këto tre rreshta të ardhshëm të kodit vijnë nga dalja 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;

Zëvendësoni tre rreshtat e kodit me daljen nga skaneri për pajisjen BLE në të cilën dëshironi të kaloni. Pastaj programoni Feather nRF52 me skicën e redaktuar të central_bleuart_bridge.ino.

Testimi i skicës central_bleuart_bridge

Para se ta lidhni përsëri HUZZAH ESP8266 në Feather nRF52, provoni lidhjen me pajisjen tuaj BLE. Duke e lënë pendën nRF52 të lidhur me ju Arduino IDE, hapni Tools → Serial Monitor në 9600 baud dhe më pas kontrolloni se pajisja juaj e synuar BLE është e ndezur.

Kur lidhja të bëhet me pajisjen tuaj BLE, siç përshkruhet më lart, led blu do të ndizet vazhdimisht dhe led e kuqe do të ndizet një herë në 10 sekonda ose më shumë. Kjo ju lejon të mos krijoni dhe mbani lidhjen.

Pastaj në Serial Monitor mund të futni komandat që prisni të dërgoni në pajisjen tuaj BLE dhe të shikoni se si funksionon dhe të monitoroni çdo përgjigje që ajo dërgon përsëri. Nëse gjithçka është mirë, mund të fikni dhe të lidhni modulin HUZZAH ESP8266.

Hapi 7: Lidhja me pajisjen BLE përmes WiFi - Vendosja e të gjitha së bashku

Pasi të keni programuar dhe testuar modulin HUZZAH ESP8266 me kodin e urës (Wifi_Bridge.ino) të konfiguruar për ssid dhe fjalëkalimin e rrjetit tuaj dhe IP DHE programuar dhe testuar Feather nRF52 me kodin e urës (central_bleuart_bridge.ino) të konfiguruar me adresën e pajisjes BLE dhe shkruani, atëherë mund t'i lidhni së bashku dhe të lidhni një furnizim USB në modulin Feather për t'i fuqizuar të dy.

Moduli HUZZAH Red led duhet të ndizet mirë pasi lidhet me ruterin tuaj të rrjetit lokal dhe ledi Feather Blue duhet të ndizet i fortë ndërsa lidhet me pajisjen tuaj BLE dhe ledi i Kuq i Pupla duhet të ndizet një herë në 10 sekonda ose më shumë për të treguar vetëm në Pajisja BLE është e lidhur.

Hapni programin tuaj telnet dhe lidheni me IP dhe portin e HUZZAH. Ledi HUZZAH Red duhet të ndizet ngadalë për të treguar që programi juaj është lidhur dhe ju duhet të dërgoni komanda në pajisjen tuaj BLE përmes WiFi dhe të shikoni pajisjen BLE të funksionojë dhe të shihni çdo përgjigje në dritaren tuaj të telnet. Mbani mend nëse pajisja juaj BLE nuk dërgon asnjë të dhënë mbrapa për 60 sekonda, kodi HUZZAH do të përfundojë lidhjen dhe do të shkëputet dhe led HUZZAH Red do të bëhet përsëri i fortë.

Hapi 8: Ndihmë - nuk funksionon

Së pari bëni hapat e testimit të detajuar më sipër, Testimin e HUZZAH ESP2866 dhe Testimin e skicës central_bleuart_bridge.

Problemet e skanimit

Nëse skaneri nuk mund t'ju gjejë pajisjen BLE ose është shumë larg ose nuk reklamon ose tashmë është e lidhur me diçka. Provoni ta afroni skanerin më afër dhe aktivizoni pajisjen me biçikletë dhe fikni të gjitha pajisjet e tjera të afërta që mund të kenë lidhje me pajisjen BLE.

Nëse merrni një dalje skaneri si kjo.

Lidhur me 98: 4F: EE: 0C: FC: 8F Duke kërkuar shërbim nordik UART … Asnjëra nuk u gjet OSE E pazbulueshme !!!!! Nuk mund të identifikoja një shërbim nordik UART !!!!!!!! Nëse prisnit një Shërbim Nordik UART, lëvizni Skanerin më afër pajisjes BLE !!!!

Mund të ndodhë që ju jeni mjaft afër pajisjes BLE për ta zbuluar atë, por jo aq afër sa të bëni me sukses një zbulim të Shërbimit për të gjetur shërbimin Nordic UART. Provoni të afroheni më pranë pajisjes BLE.

Si mjetin e fundit mund të përdorni aplikacionin falas nordik nRF Connect për Android ose iOS. Ai aplikacion ka gamë dhe ndjeshmëri më të mirë. Do t'ju tregojë nëse pajisja BLE ka një Shërbim Nordik UART. Sidoqoftë, do t'ju duhet akoma që skaneri të ekzekutohet dhe lidhet dhe identifikohet Shërbimi Nordik UART para se të përpiqeni të përdorni urën Wifi2BLE pasi përdor kod të ngjashëm me skanerin.

Nëse doni të gërmoni më thellë, mund të përdorni modulin Adafruit Bluefruit LE Sniffer për të parë atë që është në ajër.

Problemet e lidhjes BLE

Nëse keni arritur të skanoni pajisjen BLE atëherë shkaqet më të mundshme të problemeve të lidhjes janë I) pajisja BLE është shumë larg, II) diçka tjetër është lidhur tashmë me pajisjen BLE

Problemet e lidhjes me WiFi

Nëse ledi HUZZAH ESP8266 Red nuk ndizet mirë atëherë nuk ka lidhje me rrjetin tuaj nëpërmjet ruterit tuaj. Kontrolloni ssid -in dhe fjalëkalimin që keni në Wifi_Bridge.ino dhe përdorni aplikacionin Fing Android ose iOS për të kontrolluar që IP -ja që keni ndarë nuk është duke u përdorur tashmë. Provoni të fikni të gjithë kompjuterët dhe pajisjet tuaja dhe aktivizoni ciklin e ruterit (lëreni të fiket për 20 sekonda) dhe pastaj skanoni përsëri me Fing. Së fundi, nëse lidhja vazhdon të bjerë jashtë, mbani mend cilësimin e kohës së lidhjes në kodin Wifi_Bridge.ino.

Hapi 9: Zgjerimet dhe Përfundimi

Projekti i paraqitur këtu është versioni më i thjeshtë. Ekzistojnë një numër zgjerimesh të mundshme siç janë:-

  • Feather nRF52 është i aftë të lidhet me deri në 4 pajisje BLE në të njëjtën kohë, kështu që ju mund të modifikoni kodin për të shtuar adresa më të vlefshme dhe kontrolloni deri në 4 pajisje nga një lidhje WiFi. Shikoni kodin shembull që vjen me instalimin e bordit Feather nRF52.
  • Ju mund të hapni një vrimë në ruterin tuaj për të siguruar qasje në pajisjen BLE nga kudo në internet. Shihni Lidhja e pajisjeve DIY IoT me Internetin me pfodApp.
  • Ju mund të përdorni kodin nga Cheap/Simple Wifi Shield për t'ju lejuar të konfiguroni parametrat e rrjetit WiFi për HUZZAH përmes një faqe në internet, pa riprogramim. Ju do të duhet të shtoni një buton të konfigurimit në qark.
  • Ju mund të shtoni një buton të konfigurimit (duke përdorur të njëjtin buton si më sipër) që bën Feather nRF52 të skanojë pajisjet BLE me një Nordic UART (TX Notify) dhe më pas të ruani detajet e lidhjes për atë me sinjalin më të fortë. Për të ruajtur rezultatin, do t'ju duhet të përdorni bibliotekën nffs që vjen me instalimin e bordit Adafruit nRF52.
  • Ju mund të shtoni një faqe në internet në kodin HUZZAH ESP8266 për të siguruar një ndërfaqe të personalizuar për pajisjen tuaj BLE. Ju gjithashtu mund të përdorni pfodDesignerV3 dhe pfodApp shtoni një ndërfaqe të personalizuar pa asnjë ndryshim në këtë projekt fare.

Përfundim

Ky projekt i thjeshtë siguron qasje WiFi në çdo modul Bluetooth me Energji të Ulët (BLE) që zbaton UART të Nordic me TX Notify. Ura Wifi2BLE është plotësisht transparente. Thjesht i kalon të dhënat WiFi në pajisjen BLE dhe i kalon të dhënat e pajisjes BLE përsëri në lidhjen WiFi.

Ndërtimi i thjeshtë dhe udhëzimet e hollësishme të testimit e bëjnë këtë një projekt të përshtatshëm për fillestarët që duan të kenë akses në pajisjen e tyre BLE nga kompjuteri i tyre ose jashtë kufirit normal të BLE.

Ky projekt do të bëhet më i rëndësishëm pasi softueri i pajisjes BLE të arrijë me specifikimin e ri të rrjetit Bluetooth V5. Pastaj Wifi2BLE do të sigurojë qasje në internet në automatizimin e të gjithë shtëpisë tuaj.

Recommended: