Sisällysluettelo:

Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle: 9 vaihetta (kuvilla)
Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle: 9 vaihetta (kuvilla)

Video: Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle: 9 vaihetta (kuvilla)

Video: Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle: 9 vaihetta (kuvilla)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Marraskuu
Anonim
Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle
Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle
Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle
Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle
Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle
Yksinkertainen WiFi BLE (Bluetooth Low Energy) -sillalle

Päivitys 4. joulukuuta 2017 - tarkistetut Feather nRF52 -luonnokset ja virheenkorjausvinkit. Lisätty kuvia laatikkoon asennetusta sillasta

Tämä yksinkertainen projekti tarjoaa WiFi -yhteyden mihin tahansa Bluetooth Low Energy (BLE) -moduuliin, joka toteuttaa Nordicin UART -toiminnon TX -ilmoituksen avulla. Wifi2BLE -silta on täysin läpinäkyvä. Se vain siirtää WiFi -tiedot BLE -laitteelle ja siirtää BLE -laitteen tiedot takaisin WiFi -yhteydelle.

Ilmainen pfodDesignerV3 luo koodin pohjoismaisen UART-palvelun toteuttamiseksi monissa BLE-moduuleissa, mukaan lukien Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ja V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UARD Friend ja, Adafruit Bluefruit LE SPI (eli Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE tai Bluefruit LE SPI Friend) ja kaikki muut levyt, joiden avulla voit ohjelmoida oman palvelusi.

Tämä Wifi2BLE -silta sopii kokemattomalle rakentajalle, joka osaa juottaa. Se käyttää vain kahta levyä, yhtä nauhakaapelia ja kahta vastusta

Kunkin levyn yksityiskohtaisen testauksen lisäksi tämä ohje sisältää Ohje - Se ei toimi -vaiheen ja lisää vianetsintävihjeitä.

Nämä ohjeet ovat saatavilla myös verkossa

Miksi tämä projekti?

Tämä projekti ratkaisee useita BLE (Bluetooth Low Energy) -ongelmia.

  • Vain viimeisimmät matkapuhelimet ja tietokoneet tukevat BLE: tä. Wifi2BLE -sillan avulla kaikki mobiililaitteet tai tietokoneet, joilla on WiFi -yhteys, voivat muodostaa yhteyden ja ohjata BLE -laitetta.
  • BLE on rajallinen. Wifi2BLE -sillan avulla voit käyttää BLE -laitetta mistä tahansa talosta (missä on WiFi -yhteys) ja ulkopuolelta Internetin kautta.
  • BLE -sovellusten luominen edellyttää Androidin tai iOS: n oppimista. Wifi2BLE -silta tarjoaa yleisen telnet -yhteyden minkä tahansa pääteohjelman kautta. Lisäksi voit helposti lisätä verkkosivun WiFi -moduuliin oman mukautetun käyttöliittymän luomiseksi.
  • BLE V5 lupaa verkkoverkon, joka yhdistää kaikki kotisi BLE -laitteet, kun ohjelmisto saavuttaa uusimman Bluetooth -määrityksen. Wifi2BLE -silta käyttää BLE V5 -laitetta, joten se tarjoaa Internet -yhteyden tähän kotiverkkoon sen saapuessa.

Välitön käyttöni tässä projektissa on lisätä lounge -huoneen BLE -valonohjaus WiFi -verkkoon, jotta sitä voidaan ohjata mistä tahansa talosta. Vaikka tämä opetusohjelma käyttää pfodAppia esimerkkinä BLE -levyjen ohjaamisesta WiFi -yhteyden kautta, sinun ei tarvitse ostaa pfodAppia tämän projektin loppuun saattamiseksi.

Vaihe 1: Osaluettelo

Kustannukset ~ 60 dollaria 30. marraskuuta 2017, ilman toimituskuluja + pieni muovikotelo

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

Adafruit HUZZAH ESP8266 Breakout - ~ US $ 10

Nauhakaapeli, jossa erilliset naaraspäät-Bussi-merirosvokaapeli ~ US $ 5 https://www.sparkfun.com/products/9556 TAI 10-nastainen IDC-liitäntä Rainbow Breakout -kaapeli ~ US $ 4 https://www.sparkfun.com/products/ 9556 TAI vastaava

Break Away urosotsikot - suorassa kulmassa - ~ US $ 2

USB - TTL 3V3 -sarjakaapeli - ~ US $ 10 https://www.sparkfun.com/products/12977 (suositeltavaa, koska nastat on merkitty) TAI https://www.sparkfun.com/products/12977 (nastat EI merkitty)

USB A - Micro B -kaapeli - ~ US $ 4 https://www.sparkfun.com/products/12977 (3 jalkaa pitkä) TAI ~ US $ 3 https://www.sparkfun.com/products/12977 (6 tuumaa pitkä) TAI ~ US $ 2 https://www.sparkfun.com/products/12977 (6 tuumaa pitkä) TAI ~ US $ 5 https://www.sparkfun.com/products/12977 (6 jalkaa pitkä) TAI vastaava

2 x 100 ohmin vastukset - ~ US $ 1

USB -virtalähde (500 mA tai enemmän) - ~ US $ 6 https://www.sparkfun.com/products/12890 TAI ~ 7 USD https://www.adafruit.com/product/1994 TAI vastaava

Arduino IDE V1.8.5 ja tietokone sen suorittamiseen.

Muovilaatikossa käytin Jaycar UB5: n (sininen) 83mm x 54mm x 31mm ~ A $ 4

Vaihe 2: Wifi2BLE -piiri

Wifi2BLE -piiri
Wifi2BLE -piiri

Wifi2BLE -piiri on esitetty yllä. PDF -versio on täällä. Kuten näette, piiri on hyvin yksinkertainen. Vain 4 johtoa ja kaksi 100 ohmin suojavastaa. Suojavastukset ovat siinä tapauksessa, että kytket TX / RX-linjat väärin HUZZAH ESP8266: n tai Feather nRF52: n ohjelmoinnin jälkeen.

HUOMAUTUS: Feather nRF52 -levyn merkintä TX- ja RX-nastoille on virheellinen. TX -nasta on itse asiassa DFU -nastan vieressä ja RX -tappi on MISO -nastan vieressä

Varmista, että liität TX/RX -linjat yllä olevan kuvan mukaisesti. Onneksi suojavastukset tekivät tehtävänsä ja levyt eivät vaurioituneet, kun selvitin, miksi levyt eivät tarttuneet toisiinsa.

Vaihe 3: Wifi2BLE -rakentaminen

Wifi2BLE -rakenne
Wifi2BLE -rakenne
Wifi2BLE -rakenne
Wifi2BLE -rakenne
Wifi2BLE -rakenne
Wifi2BLE -rakenne

Suorakulmaiset otsikkotapit juotettiin HUZZAH ESP8266 -laitteeseen, jotta se voidaan irrottaa ohjelmointia varten. Kaksi levyä kytketään nauhakaapelin neljällä johdolla. Pidä naarasliittimet kiinni ja katkaise nauhakaapelin toinen pää. Nauhakaapelin värit olivat samat kuin Sparkfunin USB -TTL -ohjelmointikaapelissa, joten valitsin siihen sopivan johdon. Musta GND: lle, punainen 5 V+: lle, Oranssi TX: lle (yhdistää ESP8266 RX: lle) ja ruskea RX: lle (yhdistää ESP8266 TX: lle)

Johdotin Feather nRF52 -levyn takana olevat suojausvastukset. (Huolelliset rakentajat, jotka tuntevat vastuskoodinsa, näkevät, että olen käyttänyt kahta 68 ohmin vastusta käsin 100 ohmin sijasta) ja eristänyt ne sitten kutistekääreellä.

Punainen kaapeli on juotettu Feather nRF52 USB -nastaan USB 5V: n ottamiseksi HUZZAH ESP8266 -moduulin virtalähteeksi, ja musta kaapeli on juotettu Feather nRF52 GND -tappiin.

Kaikki muu on paitsi moduulien ohjelmointi alla kuvatulla tavalla, sen asettaminen muovilaatikkoon ja USB -virtalähteen kytkeminen Feather nRF52 -laitteeseen.

Vaihe 4: Wifi2BLE -ohjelmointi

Wifi2BLE -ohjelmointi
Wifi2BLE -ohjelmointi
Wifi2BLE -ohjelmointi
Wifi2BLE -ohjelmointi
Wifi2BLE -ohjelmointi
Wifi2BLE -ohjelmointi

HUZZAH ESP8266 -ohjelmointi

Ohjelmoi kilpi noudattamalla ohjeita, jotka on annettu osoitteessa https://github.com/esp8266/Arduino kohdassa Asentaminen Boards Managerin kanssa. Kun avaat Boards Managerin Työkalut → Hallitus -valikosta, valitse Type Contributed ja asenna esp8266 -alusta. Tämä projekti on koottu käyttäen ESP8266 -versiota 2.3.0. Muilla versioilla on omat vikansa, eivätkä ne välttämättä toimi tämän koodin kanssa.

HUOMAUTUS: ÄLÄ käytä Adafruit Board -asennusta, koska tässä käytetty luonnos ei käänny tämän koodin alle.

Sulje ja avaa Arduino IDE uudelleen ja voit nyt valita Työkalut → Hallitus -valikosta”Adafruit HUZZAH ESP8266”.

Sinun on myös asennettava pfodESP8266WiFiBufferedClient -kirjaston uusin versio. Tämä kirjasto toimii ESP8266.com IDE -laajennuksen V2.3 kanssa. (Jos olet aiemmin asentanut pfodESP2866WiFi -kirjaston, poista kyseinen kirjastohakemisto kokonaan.)

  • a) Lataa tämä pfodESP8266WiFiBufferedClient.zip -tiedosto tietokoneellesi, siirrä se työpöydällesi tai johonkin muuhun helposti löydettävään kansioon
  • b) Asenna sitten Arduino 1.8.5 IDE -valikkovaihtoehto Luonnos → Tuo kirjasto → Lisää kirjasto. (Jos Arduino ei anna sinun asentaa sitä, koska kirjasto on jo olemassa, etsi ja poista vanhempi pfodESP8266BufferedClient -kansio ja tuo tämä sitten)
  • c) Pysäytä ja käynnistä Arduino IDE uudelleen ja kohdassa Tiedosto-> Esimerkit sinun pitäisi nyt nähdä pfodESP8266BufferedClient.

Verkon SSID: n ja salasanan sekä IP: n ja portin asettaminen

Kun olet asentanut pfodESP8266BufferedClient -kirjaston, avaa Arduino IDE ja kopioi tämä luonnos, Wifi_Bridge.ino, IDE: hen. Ennen kuin ohjelmoit moduulia, sinun on asetettava verkon SSID ja salasana ja valittava käyttämätön IP.

Muokkaa näitä kolmea riviä Wifi_Bridge.ino -sivun yläosassa

char ssid = "*****"; char -salasana = "**** *****"; char staticIP = "10.1.1.180";

Käytän Fing -sovellusta (Android tai iOS) paikallisen verkon skannaamiseen ja jo käytetyn IP -osoitteen tunnistamiseen. Yleensä on turvallista valita käyttämätön IP -osoite väliltä.180 -.254

Aluksi voit jättää portin nro 23, joka on telnet -yhteyden vakioportti.

Kun olet tehnyt nämä muutokset, voit ohjelmoida ESP8266: n.

HUZZAH ESP8266 -ohjelmointi

Ohjelmoidaksesi HUZZAH ESP8266, kytke USB -sarjakaapeli kuvan osoittamalla tavalla. Tarkista kuva ja johdot. Katso myös ESP8266 -ohjelmointivinkkejä (espcomm epäonnistui)

Käytän Sparkfun USB -TTL 3V3 -sarjakaapelia, koska siinä on TX- ja RX -johdot merkitty. Varmista, että lähetysjohto on kytketty RX -nastaan ja lähetysjohto on kytketty lähetystapaan edellä kuvatulla tavalla. Jos käytät Adafruit -kaapelia, siinä ei ole liittimiä, mutta se on värikoodattu, punainen on virta, musta on maadoitettu, vihreä on TX ja valkoinen on RX.

Liitä USB -sarjakaapeli tietokoneeseen ja valitse se COM -portiksi Työkalut → Portti -valikosta. Jätä suorittimen taajuus, salaman koko ja latausnopeus oletusasetuksiin.

Aseta sitten Adafruit HUZZAH ESP2866 -moduuli ohjelmointitilaan pitämällä GPIO0 -painike painettuna ja napsauttamalla Reset -painiketta ja vapauttamalla sitten GPIO0 -painike. GPIO0 -ledin pitäisi pysyä himmeänä. Valitse sitten Tiedosto → Lataa tai käännä ja lataa ohjelma oikealla nuolinäppäimellä. Jos saat virheilmoituksen lähetettäessä, tarkista, että kaapeliliitännät on kytketty oikeisiin nastoihin, ja yritä uudelleen.

Kun ohjelmointi on valmis, moduulin punaisen merkkivalon pitäisi syttyä. Tämä osoittaa, että se on muodostanut yhteyden paikalliseen verkkoon ja käynnistänyt palvelimen hyväksymään yhteyden.

Testaus HUZZAH ESP2866

Testaa HUZZAH ESP2866 jättämällä ohjelmointikaapeli kiinni ja avaamalla Arduino IDE Tools → Serial Monitor ja asettamalla 9600 baud (oikea alakulma). Avaa sitten pääteohjelma tietokoneellasi, käytän TeraTerm for Windowsia ja CoolTermiä Macille ja muodostan yhteyden Wifi_Bridge.ino -luonnoksessa määrittämääsi IP -osoitteeseen ja porttiin.

Kun liität moduulin punaisen merkkivalon, sen pitäisi alkaa vilkkua, mikä osoittaa yhteyden olevan olemassa. Sinun pitäisi nyt pystyä kirjoittamaan tietokoneesi pääteikkunaan ja merkkien pitäisi näkyä Arduino IDE: n näyttöikkunassa ja päinvastoin.

Wifi -yhteyden aikakatkaisu

Wifi_Bridge.ino -koodilla on yhteysaika.

uint32_t connectionTimeout = 60000; // 60 sekunnin yhteyden aikakatkaisu

Jos HUZZAH ESP8266 -moduuli ei vastaanota WiFi -tietoja 60 sekunnin ajan, moduulit sulkevat yhteyden ja odottavat uutta. Tämä varmistaa, että moduuli toipuu "puoliksi suljetuista" yhteyksistä, joita tapahtui, asiakas katoaa vain huonon WiFi -yhteyden, reitittimen virran katkeamisen tai asiakkaan pakotetun sammutuksen vuoksi. Katso lisätietoja kohdasta Puoliauki (pudonnut) TCP/IP-liitäntäyhteyksien tunnistus.

Tämä yhteyden aikakatkaisu on asetettu 60 sekuntiin. mutta sitä voidaan pienentää tai lisätä tarpeen mukaan. Jos asetat sen arvoon 0, älä koskaan aikakatkaise, mikä ei ole suositeltavaa.

Feather nRF52 -ohjelmointi

Jos haluat ohjelmoida Feather nRF52 -laitteen, noudata ohjeita Arduino Board -tuen lataamisesta ja asentamisesta Feather nRF52: lle. Tarkista, voitko muodostaa yhteyden ja ohjelmoida kortin USB -kaapelilla.

HUOMAUTUS: Irrota HUZZAH ESP8266 -moduuli Feather nRF52 -laitteesta, ennen kuin yrität ohjelmoida sulkaa

Feather nRF52: n liittäminen BLE -laitteeseen koostuu kahdesta vaiheesta. Ensin tunnistetaan laitteen MAC -osoite (ja -tyyppi) ja tarkistetaan, että se tukee Nordic UART -palvelua TX Notify -palvelun avulla ja siirretään sitten osoite ja tyyppi siltapiirrokseen.

Vaihe 5: Yhdistäminen BLE -laitteeseen

Yhteys BLE -laitteeseen
Yhteys BLE -laitteeseen
Yhteys BLE -laitteeseen
Yhteys BLE -laitteeseen
Yhteys BLE -laitteeseen
Yhteys BLE -laitteeseen

Kun HUZZAH ESP8266 on ohjelmoitu, sinun on koodattava Feather nRF52 -luonnokseen sen laitteen BLE -osoite ja tyyppi, johon haluat muodostaa yhteyden. Tämä on kaksivaiheinen prosessi. I) Suorita skannausohjelma löytääksesi lähellä olevia BLE -laitteita, jotka toteuttavat Nordic UART -palvelun (TX Notify), ja kopioi sitten skannerin ulostulo Feather Bridge -luonnokseen, jotta se muodostaa yhteyden kyseiseen laitteeseen.

BLE -oheislaitteiden etsiminen

Tunnista yhteensopivat BLE -oheislaitteet lataamalla central_bleuart_scanner.ino -ohjelma Feather nRF52 -laitteeseesi. Tämä ohjelma etsii jatkuvasti uusia laitteita ja tarkistaa sitten, tukevatko ne pohjoismaista UART -palvelua TX Notify -palvelun avulla.

Pohjoismainen UART -palvelu

Pohjoismainen UART -palvelu koostuu kolmesta osasta, palvelun UUID -tunnuksesta sekä RX- ja TX -ominaisuuksista. Tässä on esimerkki koodista, jonka pfodDesignerV3 on luonut RedBear NanoV2: lle

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

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

pfodDesignerV3 voi luoda näytekoodin useille BLE -moduuleille. Koska BLE -spesifikaatiota ei ole olemassa vakiomuotoiselle UART -yhteydelle, kaikki moduulit eivät käytä pohjoismaista UART -palvelua. Esimerkiksi HM-10-moduulit (Itead BLE -kilpi), RFduno ja Romeo BLE käyttävät omia ainutlaatuisia uart-palveluitaan eivätkä muodosta yhteyttä Feather nRF52: een.

Seuraavat levyt yhdistävät:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ja V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Boards, Adafruit Bluefruit LE SPI (eli Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE tai Bluefruit LE SPI Friend) sekä levyt, jotka voidaan koodata mukautetuilla palveluilla tai levyillä, jotka voivat käyttää BLEPeripheral -kirjastoa.

Esimerkkitaulu, jota tässä käytetään, on Arduino/Genuino 101, jonka koodi on pfodDesignerV3. Ilmaisen pfodDesignerV3: n avulla voit luoda pfodApp -valikot ja sitten generoida tarvittavan Arduino -koodin, joka näyttää tarkan valikon Android -matkapuhelimellasi käyttämällä (maksullista) pfodApp -sovellusta. pfodApp muodostaa yhteyden myös Wifin, Bluetooth Classicin, BLE: n ja tekstiviestien kautta ja voi muodostaa yhteyden tämän Wifi2BLE -sillan kautta. Vaikka et halua käyttää pfodAppia ohjaussovelluksena, voit silti käyttää pfodDesignerV3: ta pohjoismaisen UART -palvelukoodin luomiseen BLE -kortillesi.

Tämä opetuslinkki kuvaa Arduino/Genuino 101 BLE -laitteen asentamista ja yksinkertaisen LED -päälle/pois -ohjaimen luomista pfodDesignerV3 -ohjelmalla. PfodDesignerV3: n tuottama luonnos on Arduino101_led_control.ino

Ohjelmoimalla Arduino/Genuino 101 Arduino101_led_control.ino -ohjelmalla voit muodostaa yhteyden pfodAppiin ja näyttää seuraavan näytön Android -matkapuhelimellasi.

Tämä on kuitenkin vain esimerkki, eikä sinun tarvitse ostaa pfodAppia tämän projektin loppuun saattamiseksi. Tärkeä osa on, että ilmainen pfodDesignerV3 -sovellus on luonut koodin Arduino/Genuino 101: lle, joka toteuttaa pohjoismaisen UART -palvelun. Joten skannataan se.

Tämä on kuitenkin vain esimerkki, eikä sinun tarvitse ostaa pfodAppia tämän projektin loppuun saattamiseksi. Tärkeä osa on, että ilmainen pfodDesignerV3 -sovellus on luonut koodin Arduino/Genuino 101: lle, joka toteuttaa pohjoismaisen UART -palvelun. Joten skannataan se.

Pohjoismaisen UART -palvelun skannaus

Kun HUZZAH ESP8266 -moduuli on irrotettu Feather nRF52: sta, ohjelmoi Feather nRF52 central_bleuart_scanner.ino -ohjelmalla ja avaa sitten Arduino IDE Tools → Serial Monitor ja aseta siirtonopeudeksi 9600. Arduino/Genuino 101 käynnistää ensimmäinen kuvakaappaus yllä.

Kuten näet, skanneri löysi kaksi BLE -laitetta, Arduino/Genuino 101, josta löytyi pohjoismainen UART -palvelu, mutta TX -ominaisuus ei tue Notify -toimintoa. Skanneri löysi myös RFduino BLE -moduulin, mutta RFduino ei käytä Nordic UART -palvelua vaan käyttää omaa. Bluetooth -komitea pitää tätä syytettynä siitä, että se ei ole määritellyt "normaalia" UART -palvelua vaan jättänyt jokaisen valmistajan itse valitsemaan palvelunsa.

Kuten edellä mainittiin, pfodDesignerV3 loi 101 -koodin ensisijaisesti käytettäväksi pfodApp -sovelluksen kanssa. pfodApp ei ole niin poimiva TX -ilmoituksesta kuin Feather nRF52 uart -koodi. pfodApp toimii 101: n kanssa ohjelmoidusti, mutta Feather nRF52 vaatii TX -ilmoitusta, joten Featherin tyydyttämiseksi tarvitaan pieni muutos koodiin.

Avaa Arduino101_led_control.ino Arduino IDE: ssä ja lähellä yläosaa löydät nämä kaksi riviä. Toinen rivi on vain ominaisuuden kuvaus eikä vaikuta toimintaan.

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

Muuta ne

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

Ohjelmoi sitten 101 uudelleen tällä muokatulla versiolla, Arduino101_Notify_led_control.ino. Kun Feather nRF52 -skanneri (central_bleuart_scanner.ino) käynnistetään uudelleen, Serial Monitor näyttää toisen kuvakaappauksen yllä.

Ei virheitä Genuino 101 -laitteessa nyt ja skanneri tulostaa Feather nRF52 -sillan luonnoksen tarvitseman koodin, jotta se muodostaa yhteyden 101 -laitteeseen. Skanneri tarkistaa kaikki alueelta löytämänsä laitteet. Punainen merkkivalo vilkkuu kerran jokaisessa laitteessa, joka löytyy Nordic UART Service -palvelusta (TX Notify).

Vaihe 6: Yhdistäminen BLE -oheislaitteeseen

LED -merkkivalot

Feather nRF52: ssa on kaksi lediä, sininen ja punainen. Kun kortti on liitetty BLE -laitteeseen, sininen LED -valo on vakio, muuten se vilkkuu. Skanneri ei pysy yhteydessä laitteeseen, joten sen sininen ledi vilkkuu yleensä. Punainen merkkivalo vilkkuu kerran jokaisessa Nordic UART Service (TX Notify) -laitteessa. Skannerina ajettaessa Red Led laskee löydettyjen Nordic UART Service (TX Notify) -laitteiden määrän. Kun silta toimii, punainen merkkivalo vilkkuu kerran, kun se on yhdistetty koodi -BLE -osoitteeseen.

Yhdistäminen BLE -oheislaitteeseen

Nyt kun skanneriluonnoksessa on tiedot BLE -laitteesta, johon haluat muodostaa yhteyden, voit kopioida tuloksen central_bleuart_bridge.ino -luonnokseen. Luonnoksen yläosasta löydät seuraavan koodin.

// Nämä seuraavat kolme koodiriviä ovat lähtökohdasta 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;

Korvaa kolme koodiriviä BLE -laitteen skannerin lähdöllä, johon haluat yhdistää. Ohjelmoi sitten Feather nRF52 muokatulla Central_bleuart_bridge.ino -luonnoksella.

Central_bleuart_bridge -luonnoksen testaaminen

Ennen kuin kytket HUZZAH ESP8266: n takaisin Feather nRF52: een, testaa yhteys BLE -laitteeseesi. Jos jätät Feather nRF52 -laitteen liitetyksi Arduino IDE -laitteeseen, avaa Työkalut → Sarjamonitori 9600 baudilla ja tarkista sitten, että kohde -BLE -laitteesi on päällä.

Kun yhteys BLE -laitteeseesi on muodostettu yllä kuvatulla tavalla, sininen LED -valo palaa jatkuvasti ja punainen LED -valo vilkkuu noin 10 sekunnin välein. Näin voit välttää yhteyden muodostamisen ja ylläpidon.

Sitten sarjamonitorissa voit kirjoittaa komennot, jotka oletat lähettävän BLE -laitteellesi, katsella sen toimintaa ja seurata mitä tahansa vastausta, jonka se lähettää takaisin. Jos kaikki on hyvin, voit sammuttaa ja liittää HUZZAH ESP8266 -moduulin.

Vaihe 7: Yhdistäminen BLE -laitteeseen WiFi -yhteydellä - kaikki yhteen

Kun olet ohjelmoinut ja testannut HUZZAH ESP8266 -moduulin ja sen siltatunnuksen (Wifi_Bridge.ino), joka on määritetty verkkosi SSID: lle ja salasanalle ja IP: lle ja ohjelmoinut ja testannut Feather nRF52 -sillan koodilla (central_bleuart_bridge.ino), joka on määritetty BLE -laitteen osoitteella ja kirjoita, voit liittää ne yhteen ja kytkeä USB -virtalähteen Feather -moduuliin molempien virran kytkemiseksi.

HUZZAH -moduulin punaisen LED -valon pitäisi palaa tasaisesti, kun se muodostaa yhteyden paikalliseen verkkoreitittimeen, ja Feather Blue -merkkivalon pitäisi palaa tasaisesti, kun se muodostaa yhteyden BLE -laitteeseesi, ja Feather Red -merkkivalon pitäisi vilkkua noin 10 sekunnin välein. BLE -laite on kytketty.

Avaa telnet -ohjelma ja muodosta yhteys HUZZAH: n IP -osoitteeseen ja porttiin. HUZZAH -punaisen merkkivalon pitäisi vilkkua hitaasti osoittaaksesi, että ohjelmasi on yhdistetty, ja sinun pitäisi lähettää komentoja BLE -laitteellesi WiFi -yhteyden kautta ja katsella BLE -laitteen toimintaa ja nähdä vastaus telnet -ikkunassasi. Muista, jos BLE -laitteesi ei lähetä tietoja takaisin 60 sekunnin ajaksi, HUZZAH -koodi katkaisee yhteyden ja katkaisee yhteyden, ja HUZZAH -punainen merkkivalo palaa jälleen.

Vaihe 8: Ohje - Se ei toimi

Tee ensin yllä kuvatut testausvaiheet, HUZZAH ESP2866: n testaaminen ja Central_bleuart_bridge -luonnoksen testaaminen.

Skannausongelmat

Jos skanneri ei löydä BLE -laitetta, se on joko liian kaukana tai ei mainosta tai on jo yhteydessä johonkin. Kokeile siirtää skanneria lähemmäksi ja käynnistää laite uudelleen ja sammuttaa kaikki muut lähellä olevat mobiililaitteet, joilla voi olla yhteys BLE -laitteeseen.

Jos saat tällaisen skannerin lähdön.

Yhdistetty 98: 4F: EE: 0C: FC: 8F Etsitkö pohjoismaista UART -palvelua… Ei löydy TAI Ei löydettävissä !!!!! Pohjoismaista UART -palvelua ei voitu tunnistaa !!!!!!!! Jos odotit pohjoismaista UART -palvelua, siirrä skanneri lähemmäksi BLE -laitetta !!!!

Saatat olla, että olet riittävän lähellä BLE -laitetta havaitaksesi sen, mutta et ole tarpeeksi lähellä, jotta voit onnistuneesti löytää palvelun löytääksesi pohjoismaisen UART -palvelun. Yritä siirtyä lähemmäs BLE -laitetta.

Viimeisenä keinona voit käyttää ilmaista Nordic nRF Connect -sovellusta Androidille tai iOS: lle. Tällä sovelluksella on parempi kantama ja herkkyys. Se kertoo, onko BLE -laitteessa pohjoismainen UART -palvelu. Sinun on kuitenkin saatava skanneri toimimaan ja muodostamaan yhteys ja tunnistamaan Nordic UART -palvelu ennen kuin yrität käyttää Wifi2BLE -siltaa, koska se käyttää skannerin kaltaista koodia.

Jos haluat kaivaa syvemmälle, voit käyttää Adafruit Bluefruit LE Sniffer -moduulia nähdäksesi, mitä ilmassa on.

BLE -yhteysongelmat

Jos onnistuit skannaamaan BLE -laitteen, todennäköisimmät yhteysongelmien syyt ovat I) BLE -laite on liian kaukana, II) jokin muu on jo yhdistetty BLE -laitteeseen

WiFi -yhteyden ongelmat

Jos HUZZAH ESP8266 punainen ledi ei pala tasaisesti, sillä ei ole yhteyttä verkkoon reitittimen kautta. Tarkista koodisi SSID ja salasana Wifi_Bridge.ino -palveluun ja tarkista Fing -sovelluksella Android tai iOS, ettei määrittämääsi IP -osoitetta ole jo käytetty. Kokeile sammuttaa kaikki tietokoneet ja laitteet ja käynnistää reititin (jätä se pois päältä 20 sekunniksi) ja skannaa sitten Fing -toiminnolla uudelleen.

Vaihe 9: Laajennukset ja päätelmät

Tässä esitetty projekti on yksinkertaisin versio. Mahdollisia laajennuksia on useita, kuten:-

  • Feather nRF52 pystyy muodostamaan yhteyden jopa 4 BLE -laitteeseen kerralla, joten voit muokata koodia lisäämällä lisää kelvollisia osoitteita ja ohjata jopa 4 laitetta yhdestä WiFi -yhteydestä. Katso Feather nRF52 -levyn asennuksen mukana toimitettu esimerkkikoodi.
  • Voit rei'ittää reiän, jotta voit käyttää BLE -laitetta mistä tahansa Internetistä. Katso DIY IoT -laitteiden yhdistäminen Internetiin pfodApp -sovelluksella.
  • Voit käyttää halvan/yksinkertaisen Wifi Shieldin koodia, jotta voit määrittää HUZZAH: n WiFi -verkon parametrit verkkosivun kautta ilman uudelleenohjelmointia. Sinun on lisättävä kokoonpanon painike piiriin.
  • Voit lisätä kokoonpanon painikkeen (käyttämällä samaa painiketta kuin yllä), joka saa Feather nRF52 -laitteen etsimään BLE -laitteita, joissa on Nordic UART (TX Notify), ja tallentaa sitten sen yhteyden tiedot, jolla on voimakkain signaali. Tuloksen tallentamiseksi sinun on käytettävä Adafruit nRF52 -levyn asennuksen mukana toimitettua nffs -kirjastoa.
  • Voit lisätä verkkosivun HUZZAH ESP8266 -koodiin tarjotaksesi mukautetun käyttöliittymän BLE -laitteellesi. Voit myös käyttää pfodDesignerV3 ja pfodApp lisätä mukautetun käyttöliittymän ilman muutoksia tähän projektiin.

Johtopäätös

Tämä yksinkertainen projekti tarjoaa WiFi -yhteyden mihin tahansa Bluetooth Low Energy (BLE) -moduuliin, joka toteuttaa Nordicin UART -toiminnon TX -ilmoituksen avulla. Wifi2BLE -silta on täysin läpinäkyvä. Se vain siirtää WiFi -tiedot BLE -laitteelle ja siirtää BLE -laitteen tiedot takaisin WiFi -yhteydelle.

Yksinkertainen rakenne ja yksityiskohtaiset testausohjeet tekevät tästä sopivan projektin aloittelijoille, jotka haluavat käyttää BLE -laitettaan tietokoneestaan tai BLE: n normaalin alueen ulkopuolelta.

Tämä projekti tulee tärkeämmäksi, kun BLE -laiteohjelmisto saavuttaa uuden Bluetooth V5 Mesh -määrityksen. Sitten Wifi2BLE tarjoaa Internet -yhteyden koko talon automaatioon.

Suositeltava: