A Bluetooth LE doc-a-thon az ITP táborban - 💡 Fix My Ideas

A Bluetooth LE doc-a-thon az ITP táborban

A Bluetooth LE doc-a-thon az ITP táborban


Szerző: Ethan Holmes, 2019

A Bluetooth LE doc-a-thon az ITP táborban

Én jelenleg New Yorkban vagyok az idei ITP tábor számára, egy 4 hetes konferencia- és technológiai játszótér elfoglalt emberek számára. Júniusban tartják az ITP-ben, hogy sokféle alkotót, művészet, zenészet és kreatívot gyűjtsenek össze, hogy a dolgok, hallhassák a legkorszerűbb hangszórókat a technológia és a művészet területén, és együttműködjenek azokkal, akiket általában nem találkoznak .

Ez az a hely is, ahol a dolgok megtörténtek, hogy nem sikerült időt találnod, és valószínűleg nem másképp, és ezért ültem le a múlt héten - Tom Igoe, Don Coleman, Sandeep Mistry, Guan Yang, JB mellett Kim és mások - két napos Bluetooth LE doc-a-thon számára.

Mindannyian Bluetooth LE eszközökkel dolgozunk - Don és Sandeep mellett egy könyvet írok a Make számára: Bluetooth LE, mobiltelefonok és érzékelők, míg a Guan és a JB rendelkezik egy induló épületben a Bluetooth LE eszközökkel, de mindannyian egyetértünk hogy a Bluetooth LE használatának megkezdése sokkal nehezebb volt, mint amilyennek kellett volna lennie, és hogy sok jó munkát végeztek a padlóra (vagy még rosszabbra, de még nem tették meg újra), mert az emberek nem tudták, hogy létezik. Úgy döntöttünk, hogy leülünk és csinálunk valamit.

Tehát a doc-a-thon részeként összegyűjtöttük a dokumentációkat, videókat és kódpéldányokat, amelyeket reméltünk, hogy csak ezt teszik.

Hogyan különbözik a Bluetooth LE?

A Bluetooth LE nagyon különbözik a klasszikus Bluetooth-tól, sőt az egyetlen dolog, ami ugyanaz a név.

Tom Igoe és Don Coleman áttekintést adnak a Bluetooth alacsony energiájáról.

Valószínűleg régebben olyan rádiókra gondol, mint egy soros kapcsolat, amely a két telefon közötti telefonhíváshoz hasonlóan működik - miután létrehozta a kapcsolatot, mindenki beszél, ahogy a másik meghallgatja, és fordítva. Kapcsolatban maradnak, még akkor is, ha egyik sem mond semmit, amíg az egyik nem lóg, és a hívás befejeződik.

Ilyen rendszerek esetén az adatokat egy sor segítségével továbbítják, és ha az adatokat a vevő olvasja, akkor törlődik a sorból, ugyanúgy, ahogy a szavaim elérik a füledet a telefonon keresztül, ki vannak zárva a kommunikációs csatornából. Hatékonyan működik a „Classic” Bluetooth.

A Bluetooth LE nagyon eltérő. Ahelyett, hogy egy pont-pont kapcsolaton keresztül kommunikálna, mint egy telefon, a Bluetooth LE rádió úgy működik, mint egy közösségi hirdetőtábla, és minden rádió egy táblán vagy olvasónként működik.

Ha a rádió egy hirdetőtábla - amelyet a Bluetooth LE-paranccsal perifériának neveznek - adatot ad a fórumon, hogy mindenki a közösségben olvashasson. Ha a rádió egy olyan olvasó, amelyet "Bluetooth LE" kifejezésekben központi eszköznek neveznek, bármelyik tábláról (a perifériás eszközökről) olvashat, amelyeknek információi vannak.

Ha nem tetszik ez az analógia, akkor a perifériákra is gondolhatsz, mint az ügyfél-szerver tranzakció szerverei. Hasonlóképpen, a központi eszközök a Bluetooth LE világ ügyfelei, mert olvassák az adatokat a perifériákból.

De szeretem a soros kapcsolatokat?

A legtöbb (talán minden?) A Bluetooth LE rádiómegszakító táblákról, amelyek most a gyártók rendelkezésére állnak - például a RedBearLab BLE mini és az Adafruit Bluefruit LE - úgy tesz, mintha az egyszerűség kedvéért soros eszközöknek tűnnek és UART szolgáltatást nyújtanak a felhasználónak. Hatékonyan ezek a rádiók „faking” régi stílusú soros kommunikáció a mögöttes hirdetőtábla paradigma tetején. Hack, és valójában nem egy jó csapás.

Bár egyszerűsíti a dolgokat a dolgok Arduino oldaláról, a rádiót úgy használva, hogy elutasítja a Bluetooth LE „alacsony energiájú” részét. A rádiók folyamatosan folyamatosan fognak működni, és ha a projekt akkumulátoros, nagy probléma.

Tom Igoe és Don Coleman beszélnek a szolgáltatásokról és a Bluetooth LE-ről.

Képzeljünk el egy példát, ahol egy olyan LED-et akarunk vezérelni, amely egy Arduino kártyához csatlakozik a telefonon keresztül a Bluetooth LE segítségével. Ha soros kapcsolatot használunk, akkor a kapcsolat folyamatosan megnyílik, de csak időről időre kerül sor - amikor 1 vagy 0 üzenetet küldünk a levegőn az Arduino kártyára, hogy bekapcsoljuk a LED-et vagy kikapcsoljuk.

Alternatívaként a Bluetooth LE használatával erősen csökkentheti a projekt energiafogyasztását, mint amilyennek azt kellene használnia, és egy egyedi szolgáltatást kell megvalósítania az Arduino-hoz csatlakoztatott rádióhoz, hogy hirdesse a LED be- vagy kikapcsolását.

Visszatérve a hirdetőtábla példájára, létrehozunk egy táblát (a szolgáltatást), amelyhez egy post-it jegyzet tartozik (ismert a Bluetooth LE-ben), amit mindketten olvashatunk, és tudatjuk, ha a LED világít vagy kikapcsol , vagy írjon - lehetővé teszi számunkra a LED vezérlését.

Egyéni szolgáltatás létrehozása

Sajnos a közelmúltig építették a Bluetooth LE egyedi szolgáltatásait, ami valójában meglehetősen bonyolult, és nem a gyenge szívű. Ugyanakkor egyszerűbbé válik, mivel most már számos jó eszköz áll rendelkezésre a nagy teherbírás nagy részében.

Ennek fényében úgy döntöttünk, hogy egy platformra, a Nordic Semiconductor nRF8001 rádióra nézünk, és kitaláljuk a teljes eszköztárat, amely lehetővé teszi, hogy egy egyéni szolgáltatást építsen a rádió számára, és használja ki ezt a szolgáltatást egy Arduino projektből. Ezt a rádiót választottuk, mert könnyen elérhető, és jó könyvtári támogatás biztosított.

Az első dolog, amit meg kell tenned az nRF8001-tel való foglalkozás során, az Nordic nRFGo Studio telepítése, és bár az nRFGo MS Window alkalmazás, a Mac operációs rendszeren csak az OS X operációs rendszeren fut. Ez az alkalmazás az az eszköz, amellyel létre kell hoznia a rádió által hirdetett Bluetooth LE szolgáltatások konfigurációs fájlját, és termékként egy olyan szolgáltatás.h fejlécfájlt is létrehoz, amelyet az Arduino projekt részeként szüksége lesz.

Az „intelligens fénykapcsoló”

Az intelligens fénykapcsoló példájának bekötése.

Több szolgáltatással akartunk valamit építeni, úgyhogy úgy döntöttünk, hogy egy „intelligens” fénykapcsolót építünk, ahol nemcsak bekapcsolhatod, vagy kikapcsolhatjuk a Bluetooth LE-t, hanem a fénykapcsoló aktuális állapotát (ami önállóan is képes volt) szabályozzák a fényt) és értesítést kapjanak a kapcsoló váltásakor.

A világítás vezérlése Bluetooth LE segítségével.

A példa erre a példa, hogy mennyire egyszerű az Arduino fórumon és az nRF8001 rádión kívül, úgy döntöttünk, hogy az Adafruit Bluefruit LE kitörő táblát használjuk - valójában csak néhány vezetékekre, ellenállásokra és egyéb általánosan elérhető alkatrészekre van szükség.

A services.h konfigurációs fájl nRFGo Studio használatával való építése valószínűleg az egész eszköztár legnehezebb része, és rengeteg időt töltöttünk a legegyszerűbb módja annak, hogy lehetővé tegye a generált services.h fájl beillesztését az Arduino projektbe ahelyett, hogy be kell vennie az nRF8001 Arduino könyvtárba.

Bár a könyvtári karbantartó számára húzó kérést jelentett, és néhány kézi módosítást a service.h fájlban, végül is működtettük, és ez azt jelenti, hogy teljes mértékben az Arduino IDE-n belül dolgozol, miután létrehozta a szolgáltatáskonfigurációt .

További részletek és a példaprojektek összes forráskódja megtalálható a Github-ban a dokumentáció és a kód-példák részeként, amelyeket a doc-a-thon alatt tettünk fel.

Következtetés

Mostanra rengeteg „off-the-shelf” Bluetooth LE eszköz áll rendelkezésre, a hordozható és zárójelektől kezdve, a drónoktól a villanykörtékig, és természetesen mindig ott van a most mindenütt jelenlévő iBeacon, de egyre több olyan fejlesztőlemez van, amely azt jelenti, hogy ezek az Arduino-projektből származó (vagyis az egyik) készülékek egyszerűbbé válnak. Remélhetőleg a doc-a-thon segítségünkre lesz a folyamat felgyorsításában, és mivel a Github hozzájárulása természetesen nagyon üdvözlendő.



Lehet, Hogy Érdekli

T-Shirt Memory sál

T-Shirt Memory sál


Flashback: Gory Ghoul smink

Flashback: Gory Ghoul smink


Eszköztár: Maker sartorial, 1. rész

Eszköztár: Maker sartorial, 1. rész


Kérdezd meg a CRAFT-t: A Peacoat béléscsere

Kérdezd meg a CRAFT-t: A Peacoat béléscsere






Legutóbbi Hozzászólások