Tartalomjegyzék:

Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz: 9 lépés (képekkel)
Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz: 9 lépés (képekkel)

Videó: Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz: 9 lépés (képekkel)

Videó: Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz: 9 lépés (képekkel)
Videó: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Július
Anonim
Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz
Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz
Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz
Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz
Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz
Egyszerű WiFi a BLE (Bluetooth Low Energy) hídhoz

Frissítés 2017. december 4 - felülvizsgált Feather nRF52 vázlatok és hibakeresési tippek. Hozzáadott képek a dobozba szerelt hídról

Ez az egyszerű projekt WiFi hozzáférést biztosít minden olyan Bluetooth Low Energy (BLE) modulhoz, amely megvalósítja a Nordic UART -t a TX Notify segítségével. A Wifi2BLE híd teljesen átlátszó. Csak továbbítja a WiFi adatokat a BLE eszköznek, és továbbítja a BLE eszköz adatait a WiFi kapcsolathoz.

Az ingyenes pfodDesignerV3 kódot generál a Nordic UART szolgáltatás megvalósításához számos BLE modulon, beleértve az Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 és V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend és, Adafruit Bluefruit LE SPI (azaz Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE vagy Bluefruit LE SPI Friend) és bármely más tábla, amely lehetővé teszi saját szolgáltatás programozását.

Ez a Wifi2BLE híd tapasztalatlan, forrasztani tudó konstruktőr számára alkalmas. Csak két táblát, egy szalagkábelt és két ellenállást használ

Az egyes táblák részletes tesztelése mellett ez az útmutató tartalmaz egy Súgó - nem működik lépést, további hibakeresési tippekkel.

Ezek az utasítások online is elérhetők

Miért ez a projekt?

Ez a projekt megoldja a BLE (Bluetooth Low Energy) számos problémáját.

  • Csak a legújabb mobilok és számítógépek támogatják a BLE -t. A Wifi2BLE híd lehetővé teszi, hogy bármely mobil vagy számítógép, amely rendelkezik WiFi kapcsolattal, csatlakozzon a BLE eszközhöz és vezérelje azt.
  • A BLE hatótávolsága korlátozott. A Wifi2BLE híd lehetővé teszi a BLE eszköz elérését a ház bármely pontjáról (ahol van WiFi kapcsolat) és kívülről az interneten keresztül.
  • A BLE -alkalmazások létrehozásához meg kell tanulnia az Androidot vagy az iOS -t. A Wifi2BLE híd univerzális telnet kapcsolatot biztosít bármely terminálprogramon keresztül. Továbbá könnyedén hozzáadhat egy weboldalt a WiFi modulhoz, hogy saját egyéni felületet hozzon létre.
  • A BLE V5 hálós hálózatot ígér az összes otthoni BLE -eszköz csatlakoztatásához, amint a szoftver felzárkózik a legújabb Bluetooth -specifikációhoz. A Wifi2BLE híd BLE V5 eszközt használ, és így internet -hozzáférést biztosít az otthoni hálózathoz, amikor megérkezik.

Azonnali felhasználásom ebben a projektben az, hogy hozzáadom a társalgó BLE fényvezérlőjét a WiFi hálózathoz, hogy lehetővé tegyék a ház bármely pontjáról történő vezérlést. Bár ez az oktatóanyag a pfodApp -ot használja példaként a BLE -kártyák WiFi -n keresztüli vezérlésére, a projekt befejezéséhez nem kell pfodApp -ot vásárolnia.

1. lépés: Alkatrészlista

Költség ~ 60 USD 2017. november 30 -án, a szállítás + egy kis műanyag ház nélkül

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

Adafruit HUZZAH ESP8266 Breakout - ~ 10 USD

Szalagkábel különálló női végekkel-Busz kalózkábel ~ US $ 5 https://www.sparkfun.com/products/9556 VAGY 10 tűs IDC aljzat Rainbow Breakout kábel ~ US $ 4 9556 VAGY hasonló

Break Away Férfi fejlécek - derékszögben - ~ 2 USD

USB - TTL 3V3 soros kábel - ~ 10 USD https://www.sparkfun.com/products/12977 (előnyben részesítve, mivel a csapok fel vannak tüntetve) VAGY https://www.sparkfun.com/products/12977 (a csapok NEM címkézett)

USB A - Micro B kábel - ~ US $ 4 https://www.sparkfun.com/products/12977 (3 láb hosszú) VAGY ~ 3 USD https://www.sparkfun.com/products/12977 (6 hüvelyk hosszú) VAGY ~ 2 USD https://www.sparkfun.com/products/12977 (6 hüvelyk hosszú) VAGY ~ 5 USD https://www.sparkfun.com/products/12977 (6 láb hosszú) VAGY hasonló

2 x 100 ohmos ellenállás - ~ US $ 1

USB tápegység (500 mA vagy több) - ~ 6 USD https://www.sparkfun.com/products/12890 VAGY ~ 7 USD https://www.adafruit.com/product/1994 VAGY hasonló

Arduino IDE V1.8.5 és egy számítógép a futtatásához.

Egy műanyag dobozhoz a Jaycar UB5 egyikét használtam (kék) 83 mm x 54 mm x 31 mm ~ A $ 4

2. lépés: Wifi2BLE áramkör

Wifi2BLE áramkör
Wifi2BLE áramkör

A Wifi2BLE áramkör fent látható. A pdf verzió itt található. Mint látható, az áramkör nagyon egyszerű. Csak 4 vezeték és két 100 ohmos védőellenállás. A védőellenállások arra az esetre vonatkoznak, ha a HUZZAH ESP8266 vagy a Feather nRF52 programozása után nem sikerül csatlakoztatni a TX / RX vonalakat.

MEGJEGYZÉS: A TX és RX csapok Feather nRF52 tábla jelölése helytelen. A TX tüske valójában a DFU csap mellett található, az RX csap pedig a MISO csap mellett

Győződjön meg arról, hogy a TX/RX vonalakat a fentiek szerint csatlakoztatja. Szerencsére a védőellenállások elvégezték a munkájukat, és a táblák nem sérültek, miközben rendeztem, hogy a táblák miért nem veszik át egymást.

3. lépés: Wifi2BLE felépítése

Wifi2BLE felépítés
Wifi2BLE felépítés
Wifi2BLE felépítés
Wifi2BLE felépítés
Wifi2BLE felépítés
Wifi2BLE felépítés

A derékszögű fejlécek a HUZZAH ESP8266-ra vannak forrasztva, hogy ki lehessen húzni a programozáshoz. A szalagkábel négy vezetékét használják a két tábla összekapcsolására. Tartsa meg a női érintkezőket, és vágja le a szalagkábel másik végét. A szalagkábelnek ugyanazok a színei voltak, mint a Sparkfun USB -TTL programozókábelének, ezért a megfelelő vezetéket választottam. Fekete a GND -hez, piros 5V+-hoz, narancssárga a TX -hez (csatlakozik az ESP8266 RX -hez) és barna az RX -hez (csatlakozik az ESP8266 TX -hez)

A Feather nRF52 kártya hátoldalán bekötöttem a védőellenállásokat. (A figyelmes kivitelezők, akik ismerik az ellenálláskódjaikat, látni fogják, hogy két 68 ohmos ellenállást használtam kéz a kézben a 100 ohmos helyett), majd szigeteltem őket zsugorfóliával.

A piros kábel a Feather nRF52 USB tűhöz van forrasztva, hogy felvegye az 5 V -os USB -t a HUZZAH ESP8266 modul táplálásához, a fekete kábel pedig a Feather nRF52 GND tűhöz.

Ez minden más, mint a modulok programozása, az alábbiakban leírtak szerint, műanyag dobozba helyezése és USB -tápegység csatlakoztatása a Feather nRF52 -hez.

4. lépés: Wifi2BLE programozás

Wifi2BLE programozás
Wifi2BLE programozás
Wifi2BLE programozás
Wifi2BLE programozás
Wifi2BLE programozás
Wifi2BLE programozás

HUZZAH ESP8266 programozása

A pajzs programozásához kövesse a https://github.com/esp8266/Arduino webhelyen az Installing With Boards Manager alatt található utasításokat. Amikor megnyitja a Fórumkezelőt az Eszközök → Tábla menüből, válassza a Típus hozzájárult lehetőséget, és telepítse az esp8266 platformot. Ez a projekt az ESP8266 2.3.0 verziójával készült. Más verziók saját hibakészlettel rendelkeznek, és előfordulhat, hogy nem működnek ezzel a kóddal.

MEGJEGYZÉS: NE használja az Adafruit Board telepítőt, mivel az itt használt vázlat nem áll össze a kód alatt.

Zárja be és nyissa meg újra az Arduino IDE-t, és most kiválaszthatja az „Adafruit HUZZAH ESP8266” lehetőséget az Eszközök → Fórum menüben.

A pfodESP8266WiFiBufferedClient könyvtár legújabb verzióját is telepítenie kell. Ez a könyvtár az ESP8266.com IDE beépülő modul V2.3 verziójával működik. (Ha korábban már telepítette a pfodESP2866WiFi könyvtárat, törölje azt teljesen.)

  • a) Töltse le ezt a pfodESP8266WiFiBufferedClient.zip fájlt a számítógépére, helyezze át az asztalra vagy más könnyen megtalálható mappába
  • b) Ezután használja az Arduino 1.8.5 IDE menü Vázlat → Könyvtár importálása → Könyvtár hozzáadása parancsát a telepítéshez. (Ha az Arduino nem engedi telepíteni, mert a könyvtár már létezik, akkor keresse meg és törölje a régebbi pfodESP8266BufferedClient mappát, majd importálja ezt)
  • c) Állítsa le és indítsa újra az Arduino IDE-t, és a Fájl-> Példák alatt most látnia kell a pfodESP8266BufferedClient parancsot.

A hálózati ssid és jelszó, valamint az IP és a port beállítása

A pfodESP8266BufferedClient könyvtár telepítése után nyissa meg az Arduino IDE -t, és másolja át ezt a vázlatot, a Wifi_Bridge.ino fájlt az IDE -be. A modul programozása előtt be kell állítania a hálózat ssid -jét és jelszavát, és ki kell választania egy nem használt IP -címet.

Szerkessze ezt a három sort a Wifi_Bridge.ino tetején

char ssid = "**** ***"; char jelszó = "**** *****"; char staticIP = "10.1.1.180";

A Fing (Android vagy iOS) alkalmazást használom a helyi hálózat szkennelésére és a már használt IP azonosítására. Általában biztonságos, ha nem használt IP -t választ a.180 és.254 tartományban

Először is hagyja a portNo értéket 23 -ként, a telnet kapcsolat szabványos portjaként.

Miután elvégezte ezeket a módosításokat, programozhatja az ESP8266 programot.

HUZZAH ESP8266 programozása

A HUZZAH ESP8266 programozásához csatlakoztassa az USB -t a soros kábelhez, ahogy a képen látható. Ellenőrizze a fotót és a vezetékeket. Lásd még az ESP8266 programozási tippeket (az espcomm nem sikerült)

A Sparkfun USB TTL 3V3 soros kábelt használom, mert a TX és RX vezetékek meg vannak jelölve. Győződjön meg arról, hogy a TX vezeték az RX csaphoz van csatlakoztatva, és az RX vezeték a TX csaphoz van csatlakoztatva a fent látható módon. Ha az Adafruit kábelt használja, annak csatlakozói nincsenek megjelölve, de színkóddal vannak ellátva, a piros az áramellátás, a fekete földelt, a zöld a TX és a fehér az RX.

Csatlakoztassa az USB -soros kábelt a számítógéphez, és válassza ki a COM portot az Eszközök → Port menüben. Hagyja a CPU frekvenciáját, a vaku méretét és a feltöltési sebességet az alapértelmezett beállításokon.

Ezután tegye az Adafruit HUZZAH ESP2866 modult programozási módba úgy, hogy lenyomva tartja a GPIO0 nyomógombot, és rákattint a Reset nyomógombra, majd elengedi a GPIO0 nyomógombot. A GPIO0 lednek halványan kell világítania. Ezután válassza a Fájl → Feltöltés lehetőséget, vagy használja a jobbra mutató nyilat a program összeállításához és feltöltéséhez. Ha hibaüzenetet kap a feltöltéskor, ellenőrizze, hogy a kábelcsatlakozások a megfelelő tűkhöz vannak -e csatlakoztatva, és próbálja újra.

A programozás befejeztével a modul piros LED -je világít. Ez azt jelzi, hogy sikeresen csatlakozott a helyi hálózathoz, és elindította a szervert a kapcsolat elfogadására.

A HUZZAH ESP2866 tesztelése

A HUZZAH ESP2866 teszteléséhez hagyja csatlakoztatva a programozókábelt, és nyissa meg az Arduino IDE Eszközök → Soros monitor lehetőséget, és állítsa be a 9600 baud értéket (jobb alsó sarok). Ezután nyisson meg egy terminálprogramot a számítógépén, én a TeraTerm for Windows és a CoolTerm for Mac rendszert használom, és csatlakozzam a Wifi_Bridge.ino vázlatban megadott IP -hez és porthoz.

Amikor csatlakoztatja a piros LED -et a modulnak villognia kell, jelezve, hogy van kapcsolat. Most már képesnek kell lennie arra, hogy gépeljen a számítógép terminálablakába, és a karaktereknek meg kell jelenniük az Arduino IDE monitor ablakában, és fordítva.

Wifi kapcsolat időtúllépése

A Wifi_Bridge.ino kód kapcsolódási idővel rendelkezik.

uint32_t connectionTimeout = 60000; // 60 másodperces csatlakozási időtúllépés

Ha 60 másodpercig nem érkezik WiFi adat a HUZZAH ESP8266 modulhoz, akkor a modulok lezárják a kapcsolatot, és várnak egy újra. Ez biztosítja, hogy a modul helyreálljon a „félig zárt” kapcsolatokból, amelyek megtörténtek, a kliens csak eltűnik a rossz WiFi -kapcsolat, az útválasztó áramkimaradása vagy az ügyfél kényszerített leállítása miatt. További részletekért lásd: Félig nyitott (leesett) TCP/IP socket kapcsolatok észlelése.

Ez a csatlakozási időtúllépés 60 másodpercre van állítva. de szükség szerint csökkenthető vagy növelhető. Ha 0 -ra állítja, az soha nem túllép, ami nem ajánlott.

A Feather nRF52 programozása

A Feather nRF52 programozásához kövesse a Feather nRF52 Arduino Board támogatásának letöltésére és telepítésére vonatkozó utasításokat. Ellenőrizze, hogy csatlakozhat -e és programozhatja -e a táblát az USB -kábelen keresztül.

MEGJEGYZÉS: A toll programozása előtt húzza ki a HUZZAH ESP8266 modult a Feather nRF52 -ből

A Feather nRF52 csatlakoztatása BLE eszközhöz két lépésből áll. Először azonosítsa a készüléken a MAC -címet (és típust), és ellenőrizze, hogy támogatja -e a Nordic UART szolgáltatást a TX Notify segítségével, majd ezt a címet és típust vigye át a hídvázlatra.

5. lépés: Csatlakozás BLE eszközhöz

Csatlakozás BLE eszközhöz
Csatlakozás BLE eszközhöz
Csatlakozás BLE eszközhöz
Csatlakozás BLE eszközhöz
Csatlakozás BLE eszközhöz
Csatlakozás BLE eszközhöz

A HUZZAH ESP8266 programozása után a Feather nRF52 vázlatba kódolni kell a csatlakoztatni kívánt eszköz BLE -címét és típusát. Ez kétlépéses folyamat. I) Futtassa a szkennelési programot, és keresse meg a közelben lévő BLE -eszközöket, amelyek megvalósítják a Nordic UART szolgáltatást (TX Notify), majd másolja át a szkenner kimenetét a Feather bridge vázlatába, hogy csatlakozzon az adott eszközhöz.

BLE -perifériák keresése

A kompatibilis BLE -perifériák azonosításához töltse be a central_bleuart_scanner.ino programot a Feather nRF52 -be. Ez a program folyamatosan keresi az új eszközöket, majd ellenőrzi, hogy támogatják -e a Nordic UART szolgáltatást a TX Notify segítségével.

Nordic UART szolgáltatás

A Nordic UART Service három részből áll, a Service UUID -ból, valamint az RX és TX jellemzőkből. Íme néhány mintakód, amelyet a pfodDesignerV3 generált a RedBear NanoV2 számára

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

A pfodDesignerV3 számos BLE modulhoz képes mintakódot generálni. Mivel azonban nincs „BLE” specifikáció egy „szabványos” UART -kapcsolatra, nem minden modul használja a Nordic UART szolgáltatást. Például a HM-10 modulok (Itead BLE pajzs), az RFduno és a Romeo BLE saját egyedi uart szolgáltatásait használják, így nem csatlakoznak a Feather nRF52-hez.

A következő táblák csatlakoznak:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 és V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Boards, Adafruit Bluefruit LE SPI (azaz Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE vagy Bluefruit LE SPI Friend) Valamint az egyedi szolgáltatásokkal kódolható táblák vagy a BLEPeripheral könyvtárat használó táblák.

Az itt használt példatábla az Arduino/Genuino 101, a pfodDesignerV3 által generált kóddal. Az ingyenes pfodDesignerV3 lehetővé teszi a pfodApp menük létrehozását, majd létrehozza az Arduino kódot, amely szükséges a pontos menü megjelenítéséhez Android -mobilján (fizetett) pfodApp használatával. A pfodApp Wifi -n, valamint Bluetooth Classicon, BLE -n és SMS -en keresztül is csatlakozni fog, így ezen a Wifi2BLE hídon keresztül is csatlakozhat. Még ha nem is szeretné használni a pfodApp -ot vezérlőalkalmazásként, akkor is használhatja a pfodDesignerV3 -t skandináv UART szolgáltatáskód létrehozásához a BLE kártyához.

Ez a bemutató link leírja az Arduino/Genuino 101 BLE beállítását, valamint egy egyszerű LED be/ki vezérlő létrehozását a pfodDesignerV3 segítségével. A pfodDesignerV3 által készített vázlat az Arduino101_led_control.ino

Az Arduino/Genuino 101 programozása az Arduino101_led_control.ino programmal lehetővé teszi, hogy csatlakozzon a pfodApp -hoz, és megjelenítse az alábbi képernyőt Android -mobilján.

Ez azonban csak egy példa, és a projekt befejezéséhez nem kell megvásárolnia a pfodApp alkalmazást. A fontos rész az, hogy az ingyenes pfodDesignerV3 alkalmazás kódot generál az Arduino/Genuino 101 számára, amely egy északi UART szolgáltatást valósít meg. Tehát vizsgáljuk meg.

Ez azonban csak egy példa, és nem kell megvásárolnia a pfodApp alkalmazást a projekt befejezéséhez. A fontos rész az, hogy az ingyenes pfodDesignerV3 alkalmazás kódot generál az Arduino/Genuino 101 számára, amely egy északi UART szolgáltatást valósít meg. Tehát vizsgáljuk meg.

Nordic UART szolgáltatás keresése

Ha a HUZZAH ESP8266 modult leválasztotta a Feather nRF52 -ről, programozza a Feather nRF52 -t a central_bleuart_scanner.ino programmal, majd nyissa meg az Arduino IDE Tools → Serial Monitor elemet, és állítsa az átviteli sebességet 9600 -ra. Az Arduino/Genuino 101 bekapcsolása a az első képernyőfelvétel fent.

Amint láthatja, a szkenner két BLE -eszközt talált, egy Arduino/Genuino 101 -et, amely északi UART szolgáltatást talált rajta, DE a TX jellemző nem támogatta a Notify -t. A szkenner talált egy RFduino BLE modult is, de az RFduino nem használja a Nordic UART szolgáltatást, hanem a sajátját. A Bluetooth -bizottság emiatt hibáztatja, hogy nem adott meg „szabványos” UART -szolgáltatást, hanem hagyta, hogy minden gyártó saját maga hozzon létre egyet.

A fentiekben leírtak szerint a 101 kódot a pfodDesignerV3 generálta elsősorban a pfodApp alkalmazáshoz. A pfodApp nem annyira válogat a TX Notify -ban, mint a Feather nRF52 uart -kód. A pfodApp programozottan működik a 101 -el, de a Feather nRF52 ragaszkodik a TX Notify -hez, így a kód kis módosítása szükséges a Feather kielégítéséhez.

Nyissa meg az Arduino101_led_control.ino -t az Arduino IDE -ben, és a teteje közelében találja ezt a két sort. A második sor csak a jellemző leírása, és nem befolyásolja a műveletet.

BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", Változtassa meg őket

BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX - (Értesítés)");

Ezután programozza újra a 101-et ezzel a szerkesztett verzióval, Arduino101_Notify_led_control.ino. Majd amikor újra futtatja a Feather nRF52 szkennert (central_bleuart_scanner.ino), a Soros monitor mutatja a fenti második képernyőképet.

A Genuino 101 esetében nincs hiba, és a szkenner kinyomtatja a Feather nRF52 hídvázlathoz szükséges kódot, hogy csatlakozzon a 101 -hez. A piros LED egyszer villog minden olyan eszközön, amely megtalálható a Nordic UART Service (TX Notify) szolgáltatásban.

6. lépés: Csatlakozás BLE perifériához

LED jelzések

A Feather nRF52 két LED -del rendelkezik, kék és piros. Ha a kártya BLE eszközhöz van csatlakoztatva, a kék LED állandó, különben villog. A szkenner nem marad csatlakoztatva az eszközhöz, így a kék LED általában villog. A piros LED egyszer felvillan minden Nordic UART Service (TX Notify) eszközön. Szkennerként történő futtatáskor a Red Led számolja a talált Nordic UART Service (TX Notify) eszközök számát. Hídként való futáskor a piros LED egyszer felvillan, amikor a BLE kódú címhez csatlakozik.

Csatlakozás BLE perifériához

Most, hogy a szkenner vázlata megadta a csatlakoztatni kívánt BLE -eszköz részleteit, átmásolhatja a kimenetet a central_bleuart_bridge.ino vázlatba. A vázlat tetején található a következő kód.

// A következő három kódsor a central_bleuart_scanner.ino kimenetből származik

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

Cserélje ki a három sor kódot a BLE eszköz szkennerének kimenetével, amelyhez át kívánja kötni a kapcsolatot. Ezután programozza a Feather nRF52 -t a szerkesztett central_bleuart_bridge.ino vázlattal.

A central_bleuart_bridge vázlat tesztelése

Mielőtt újra csatlakoztatná a HUZZAH ESP8266 -at a Feather nRF52 -hez, ellenőrizze a kapcsolatot a BLE eszközzel. Hagyja a Feather nRF52 -t az Arduino IDE -hez csatlakoztatva, nyissa meg az Eszközök → Soros monitor lehetőséget 9600 baudon, majd ellenőrizze, hogy a cél BLE -eszköz be van -e kapcsolva.

Amikor a fent leírt módon létrejön a kapcsolat a BLE készülékkel, a kék LED folyamatosan világít, és a piros LED körülbelül 10 másodpercenként villog. Ez lehetővé teszi, hogy a kapcsolat létrejöjjön és megmaradjon.

Ezután a Soros monitorban megadhatja azokat a parancsokat, amelyeket el szeretne küldeni a BLE -eszközére, és figyelheti a működését, és figyelemmel kísérheti a visszaküldött válaszokat. Ha minden rendben van, kapcsolja ki és csatlakoztassa a HUZZAH ESP8266 modult.

7. lépés: Csatlakozás a BLE eszközhöz WiFi -n keresztül - az összes összekapcsolása

Miután beprogramozta és tesztelte a HUZZAH ESP8266 modult és a hálózati ssid -jét és jelszavát, valamint az IP -t konfigurált hídkódját (Wifi_Bridge.ino), és programozta és tesztelte a Feather nRF52 -t a BLE -eszköz címével konfigurált hídkódjával (central_bleuart_bridge.ino). és írja be, majd csatlakoztathatja őket, és csatlakoztathat egy USB -tápegységet a Tollmodulhoz, hogy mindkettőt bekapcsolja.

A HUZZAH modul vörös LED -jének folyamatosan világítania kell, amikor csatlakozik a helyi hálózati útválasztóhoz, és a Feather Blue LED -nek folyamatosan világítania kell, amikor csatlakozik a BLE -eszközéhez, és a Feather Red LED -nek körülbelül 10 másodpercenként kell villognia, jelezve, hogy A BLE eszköz csatlakoztatva van.

Nyissa meg a telnet programot, és csatlakozzon a HUZZAH IP -jéhez és portjához. A HUZZAH piros LED -jének lassan villognia kell, jelezve, hogy a program csatlakozott, és parancsokat kell küldenie a BLE -eszközére WiFi -n keresztül, és figyelnie kell a BLE -eszköz működését, és látni kell a válaszokat a telnet ablakában. Ne feledje, ha a BLE készüléke nem küld vissza adatokat 60 másodpercig, a HUZZAH kód leállítja a kapcsolatot, és megszakad, és a HUZZAH piros LED ismét kialszik.

8. lépés: Súgó - nem működik

Először hajtsa végre a fent részletezett tesztelési lépéseket, a HUZZAH ESP2866 tesztelését és a central_bleuart_bridge vázlat tesztelését.

Szkennelési problémák

Ha a szkenner nem találja meg a BLE eszközt, akkor vagy túl messze van, vagy nem reklámozza, vagy már csatlakozik valamihez. Próbálja közelebb vinni a szkennert, és kapcsolja be a készüléket, majd kapcsolja ki az összes többi eszközt, amelyek a BLE -eszközzel kapcsolatban lehetnek.

Ha ilyen szkenner kimenetet kap.

Csatlakoztatva a 98: 4F: EE: 0C: FC: 8F skandináv UART szolgáltatást keres… Nincs találat VAGY nem fedezhető fel !!!!! Nem sikerült azonosítani egy északi UART szolgáltatást !!!!!!!! Ha északi UART szolgáltatásra számított, helyezze közelebb a szkennert a BLE készülékhez !!!!

Előfordulhat, hogy elég közel van a BLE -eszközhöz, hogy észlelje, de nem elég közel ahhoz, hogy sikeresen elvégezze a szolgáltatás felfedezését a Nordic UART szolgáltatás megtalálásához. Próbáljon közelebb lépni a BLE eszközhöz.

Végső megoldásként használhatja az ingyenes Nordic nRF Connect alkalmazást Androidra vagy iOS -re. Ez az alkalmazás nagyobb hatótávolsággal és érzékenységgel rendelkezik. Megmondja, hogy a BLE eszköz rendelkezik -e Nordic UART szolgáltatással. A Wifi2BLE híd használatához azonban továbbra is rá kell vennie a szkennert, hogy futtassa és csatlakoztassa, és azonosítsa a Nordic UART Serivice szolgáltatást, mivel az a szkennerhez hasonló kódot használ.

Ha mélyebbre akar ásni, használhatja az Adafruit Bluefruit LE Sniffer modult, hogy megnézze, mi van a levegőben.

BLE csatlakozási problémák

Ha sikerült beolvasnia a BLE eszközt, akkor a csatlakozási problémák legvalószínűbb okai I) a BLE eszköz túl messze van, II) valami más már csatlakozott a BLE eszközhöz

WiFi csatlakozási problémák

Ha a HUZZAH ESP8266 piros LED nem világít folyamatosan, akkor nincs kapcsolata a hálózatával az útválasztón keresztül. Ellenőrizze az SSID -t és a jelszót a Wifi_Bridge.ino webhelyen, és használja a Fing Android vagy iOS alkalmazást, hogy ellenőrizze, hogy az Ön által kiosztott IP -cím még nincs -e használatban. Próbálja meg kikapcsolni az összes számítógépet és eszközt, és kapcsolja be az útválasztót (hagyja 20 másodpercig kikapcsolva), majd szkenneljen újra a Fing billentyűvel. Végül, ha a kapcsolat folyamatosan megszakad, ne felejtse el a Wifi_Bridge.ino kódban lévő kapcsolat időtúllépési beállítását.

9. lépés: Kiterjesztések és következtetések

Az itt bemutatott projekt a legegyszerűbb verzió. Számos lehetséges kiterjesztés létezik, például:-

  • A Feather nRF52 egyszerre akár 4 BLE -eszközhöz is csatlakoztatható, így módosíthatja a kódot, hogy több érvényes címet adjon hozzá, és akár 4 eszközt vezérelhet egy WiFi kapcsolaton keresztül. Tekintse meg a Feather nRF52 kártya telepítésével kapott példakódot.
  • Lyukaszthat az útválasztón, hogy hozzáférést biztosítson a BLE eszközhöz az internet bármely pontjáról. Lásd: DIY IoT eszközök csatlakoztatása az internethez a pfodApp segítségével.
  • Használhatja az Olcsó/Egyszerű Wifi Shield kódját, hogy lehetővé tegye a HUZZAH WiFi hálózati paramétereinek konfigurálását egy weboldalon keresztül, átprogramozás nélkül. Hozzá kell adnia egy konfigurációs nyomógombot az áramkörhöz.
  • Hozzáadhat egy konfigurációs nyomógombot (ugyanazzal a gombbal, mint fent), amely lehetővé teszi, hogy a Feather nRF52 észleli a BLE -eszközöket Nordic UART (TX Notify) segítségével, majd elmenti a legerősebb jelű eszköz csatlakozási adatait. Az eredmény mentéséhez használnia kell az Adafruit nRF52 kártya telepítéséhez mellékelt nffs könyvtárat.
  • Hozzáadhat egy weboldalt a HUZZAH ESP8266 kódhoz, hogy egyéni felületet biztosítson a BLE eszközéhez. Használhatja a pfodDesignerV3 és a pfodApp alkalmazásokat is, hogy egyéni felületet adjon hozzá, anélkül, hogy módosítaná ezt a projektet.

Következtetés

Ez az egyszerű projekt WiFi hozzáférést biztosít minden olyan Bluetooth Low Energy (BLE) modulhoz, amely megvalósítja a Nordic UART -t a TX Notify segítségével. A Wifi2BLE híd teljesen átlátszó. Csak továbbítja a WiFi adatokat a BLE eszköznek, és továbbítja a BLE eszköz adatait a WiFi kapcsolathoz.

Az egyszerű felépítés és a részletes tesztelési utasítások ezt a projektet alkalmassá teszik azoknak a kezdőknek, akik számítógépükről vagy a BLE normál tartományán kívül szeretnének hozzáférni BLE eszközükhöz.

Ez a projekt fontosabbá válik, amint a BLE eszközszoftver felzárkózik az új Bluetooth V5 Mesh specifikációhoz. Ezután a Wifi2BLE internet -hozzáférést biztosít az egész ház automatizálásához.

Ajánlott: