Përmbajtje:
- Furnizimet
- Hapi 1: Dizajnoni shërbime dhe karakteristika të personalizuara
- Hapi 2: Kodi Arduino
- Hapi 3: Kodi Android Studio
- Hapi 4: Aplikimi përfundimtar
Video: Ndërtoni një Gjurmues të Veshjeve të Lëvizjes (BLE Nga Arduino në një Aplikacion të Personalizuar të Studio Studio): 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Energjia e ulët Bluetooth (BLE) është një formë e komunikimit Bluetooth me fuqi të ulët. Pajisjet e veshshme, si veshjet e mençura që unë ndihmoj në hartimin në Predictive Wear, duhet të kufizojnë konsumin e energjisë kudo që të jetë e mundur për të zgjatur jetën e baterisë dhe shpesh të përdorin BLE. Grupi i Interesit Special Bluetooth (SIG) përcakton disa specifikime që një pajisje duhet të zbatojë për të bashkëvepruar me një pajisje Bluetooth, të cilat ata i quajnë "profile". Shumica e profileve të aplikacionit përdorin Profilin e Atributeve të Përgjithshme (GATT) për të dërguar të dhëna përmes një lidhjeje BLE. Ekzistojnë tre koncepte themelore në BLE: profilet, shërbimet dhe atributet.
Bluetooth SIG ka standardizuar shumë profile, shërbime dhe atribute të zakonshme. Sidoqoftë, kur krijoni pajisje të personalizuara shpesh ka nevojë për të krijuar shërbime dhe atribute të personalizuara dhe nuk ka shumë mësime në dispozicion. Për t'i bërë gjërat më të vështira, Adafruit nuk jep ndonjë udhëzim për hartimin e aplikacioneve celulare për t'u çiftuar me modulet e tyre BLE dhe kodi burimor për aplikimet e tyre është i vështirë të ndryshojë inxhinier.
Ky tutorial synon të shpjegojë:
- Si të hartoni shërbime dhe karakteristika të personalizuara të GATT
- Si të programoni Adafruit Bluefruit LE SPI Friend për të vepruar si një server GATT për këto shërbime dhe karakteristika të personalizuara
- Si të programoni një pajisje Android për të vepruar si klienti GATT për të lexuar të dhënat nga serveri GATT
Ky tutorial nuk ka për qëllim të përkthehet në një aplikacion të gatshëm për prodhim - ky është thjesht një hyrje në BLE.
Leximi i sfondit:
- Adafruit Bluefruit LE SPI Dokumentacioni i mikut
- Nëse nuk jeni të njohur me GATT ose BLE
Furnizimet
- 1x - Një pajisje Arduino (Unë jam duke përdorur UNO për këtë tutorial)
- 1x - Adafruit Bluefruit LE SPI Mik
- 8x - tela bluzë meshkuj në meshkuj
- Pajisjet bazë të saldimit (për të bashkuar kunjat e kokës në SPI Friend)
- Një kompjuter (për të programuar pajisjen Arduino dhe pajisjen android)
Hapi 1: Dizajnoni shërbime dhe karakteristika të personalizuara
PREZANTIMI
Ky artikull bën një punë të shkëlqyeshme duke shpjeguar se si të krijoni shërbime dhe karakteristika me porosi. Unë rekomandoj shumë leximin e këtij artikulli. Unë jap një përmbledhje shumë të thjeshtë më poshtë që neglizhon hollësitë në favor të thjeshtësisë.
Shërbimet GATT janë një koleksion karakteristikash.
Karakteristikat e GATT përmbajnë një pronë, një vlerë dhe zero ose më shumë përshkrues.
- Prona: si duhet të trajtohen të dhënat nga klienti (Aplikacioni Android) p.sh. lexoni, shkruani, shkruani pa përgjigje, njoftoni dhe tregoni.
- Vlera: vlera aktuale e karakteristikës p.sh. 1089
- Përshkruesit: ky është informacion në lidhje me vlerën p.sh. njësia, milisekonda
PROJEKTIM
Mirë, tani e dini se çfarë janë shërbimet dhe karakteristikat, ne duhet të kuptojmë se si të hartojmë disa shërbime dhe karakteristika për të marrë të dhënat tona të personalizuara dhe t'i dërgojmë ato nga serveri ynë GATT (Arduino) te klienti (Aplikacioni Android). Le të marrim parasysh një pajisje Arduino që po mbledh të dhëna nga një modul nxitues-xhiroskop (AGM). Ne duam të mbledhim gjiroskop dhe matje të përshpejtimit nga tre akse hapësinore dhe kohën kur këto matje janë marrë dhe t’i transmetojmë këto të dhëna në aplikacionin tonë celular. Ne gjithashtu duam të dimë se kur duhet të karikojmë pajisjen, kështu që ne duam të lexojmë nivelin e baterisë dhe ta transmetojmë atë në aplikacionin tonë celular.
1. A mund të përdorim ndonjë nga shërbimet dhe karakteristikat standarde?
Bluetooth SIG ka standardizuar shumë shërbime dhe karakteristika të zakonshme. Së pari, kontrolloni këto për të parë nëse mund të zgjidhni një nga shërbimet dhe karakteristikat e standardizuara. Shërbimet dhe karakteristikat standarde mund të përdorin pako të dhënash shumë më të vogla pasi Identifikuesi Unik Universal (UUID) është 16 bit, ndërsa shërbimet dhe karakteristikat e personalizuara duhet të përdorin 128 bit për UUID -et e tyre. Më shumë për UUID -të më vonë. Nga kërkimi ynë, ne gjetëm një "shërbim të standardizuar të baterisë" i cili përmban një "nivel baterie" karakteristik.
2. Ndani të gjitha vlerat e të dhënave që dëshironi të dërgoni mbi BLE në karakteristika dhe shërbime
Ne mund t'i ndajmë pikat tona të të dhënave me porosi në shtatë karakteristika të personalizuara brenda një shërbimi me porosi. Ne do ta quajmë këtë shërbim "shërbimi AGM". Ai do të përmbajë 7 karakteristika: nxitimi x, nxitimi y, nxitimi z, x-xhiroskopi, x-xhiroskopi, z-xhiroskopi dhe një referencë kohore.
3. Përcaktoni vetitë e nevojshme për secilën karakteristikë
Ekzistojnë disa veti që një karakteristikë mund të ketë.
- Lexoni: Klienti (Aplikacioni Android) mund të lexojë një vlerë nga Serveri GATT (Arduino)
- Shkruani: Klienti mund të ndryshojë një vlerë nga Serveri GATT
- Tregoni: Klienti do të njoftohet nëse një vlerë ndryshon nga Serveri GATT dhe Klienti pritet të dërgojë konfirmim në Serverin GATT
- Njoftoni: Klienti do të njoftohet nëse një vlerë ndryshon nga Serveri GATT dhe Klienti nuk pritet të dërgojë konfirmim në Serverin GATT
Për këtë tutorial, ne do të vendosim të gjitha karakteristikat tona për t'u lexuar, me përjashtim të nivelit të baterisë i cili do të ketë veti njoftimi dhe leximi.
4. Gjeneroni UUID për shërbimet dhe karakteristikat me porosi dhe gjeni UUID standarde
Siç e përmenda shkurtimisht më herët, shërbimet dhe karakteristikat e standardizuara të Bluetooth SIG përdorin një UUID 16 bit, ndërsa shërbimet dhe karakteristikat e personalizuara përdorin UUID 128 bit. Për shembull, shihni numrin e caktuar të shërbimit të baterisë në SIG Bluetooth. Numri i caktuar 0x180F përfaqëson UUID 128-bit "0000180F-0000-1000-8000-00805F9B34FB". Katër shifrat (16 bit) me shkronja të zeza janë unike për shërbimin ose karakteristikën e veçantë të standardizuar, ndërsa personazhet e tjerë ruhen midis të gjitha shërbimeve dhe karakteristikave të standardizuara. Meqenëse klienti dhe serveri GATT e dinë që shërbimet dhe karakteristikat e standardizuara ndryshojnë vetëm me shifrat e theksuara, madhësitë e paketave të të dhënave mund të zvogëlohen ndjeshëm. Sidoqoftë, shërbimet dhe karakteristikat me porosi nuk mund të funksionojnë sipas këtij supozimi të njëjtë.
Në vend të kësaj, shërbimet dhe karakteristikat me porosi duhet të përdorin UUID të pa shkurtuar 128 bit. Këtu është një gjenerator UUID në internet. Çdo UUID i ndryshëm nga UUID i standardizuar është i pranueshëm për një UUID të personalizuar. Sidoqoftë, një konventë tipike e emërtimit është të tregosh një shërbim me porosi 00000001-… dhe karakteristikat brenda atij shërbimi me porosi 00000002-…
Këtu është një tabelë përmbledhëse e shërbimeve dhe karakteristikave që do të zbatojmë së bashku me UUID -et e tyre
Hapi 2: Kodi Arduino
P URDITSO MIKU BLUEFRUIT LE SPI
Së pari, lidhni Adafruit Bluefruit LE SPI Friend siç specifikojnë në udhëzuesin e tyre të lidhjes dhe ndizni pajisjen Arduino. Sigurohuni që mund të gjeni Adafruit Bluefruit LE SPI Friend në pajisjen tuaj android kur skanoni për pajisje Bluetooth. Shkarkoni aplikacionin Bluefruit Connect, lidheni me Adafruit Bluefruit LE SPI Friend dhe lejojeni që të përditësojë firmware -in në pajisje. Ky hap është i rëndësishëm. Nëse nuk e përditësoni firmuerin, komandat që lëshoni pajisjen përmes Arduino ka të ngjarë të dështojnë dhe nuk do të ketë një gabim të dukshëm për ju që të zbuloni se cili është problemi.
Këtu është repoja ime për këtë projekt. Kodin e plotë Arduino mund ta shihni këtu.
P ORMBLEDHJE
Disa gjëra të rëndësishme për tu vënë në dukje:
- Në metodën setup (), të gjitha UUID-et e personalizuara duhet të përmbajnë "-" midis çdo dy karaktereve. Për shembull, "AT+GATTADDCHAR = UUID128 = 00-00-00-05-62-7E-47-E5-A3-FC-DD-AB-D9-7A-A9-66" do të funksionojë. "AT+GATTADDCHAR = UUID128 = 00000005-627E-47E5-A3fCDDABD97AA966" nuk do të funksionojë.
- Vini re se në metodën e konfigurimit (), "battery.begin (true);" thërret "ble.reset ();" automatikisht. Nëse nuk e përdorni shërbimin e baterisë siç kam unë, duhet të rivendosni modulin ble (përdorni "ble.reset ();") ku kam komandën "battery.begin (true);".
- Në metodën setup (), ndryshoni "if (! Ble.begin (false))" në "if (! Ble.begin (true))" nëse doni të korrigjoni gabimet.
Ky kod është mjaft vetë-shpjegues. Kam përfshirë përshkrimet e secilës metodë të personalizuar. Metoda e konfigurimit e bën modulin BLE gati për të vepruar si serveri GATT. Metoda e lakut kalon përmes një spastrimi të rremë të modulit të xhiroskopit të përshpejtuesit (AGM) dhe gjeneron një numër të rastit nga 1 në 100 për këto vlera. Bateria është shkarkuar me 1% për të simuluar përdorimin e baterisë. Ju mund ta zëvendësoni këtë kod me vlerat aktuale të sensorit me lehtësi. Ky kod supozon që ju do të transmetoni një grup të dhënash AGM, 6 matje të gjata, dhe jo një matje të vetme pasi analiza e një dritareje të të dhënave AGM ka të ngjarë të jetë më e dobishme sesa një pikë e vetme e të dhënave. Nëse ndryshoni madhësinë e grupit, vini re se do të kërkohen ndryshime në kodin e studios android. Për të kapur një sërë të dhënash, duhet të kaloni një numërues së bashku me të dhënat që keni ndërmend të dërgoni. Ky sportel ju lejon të gjeni se ku jeni në dritare nga aplikacioni studio Android për të pritur që të dëgjoni pikat e të dhënave që mungojnë në dritare. Pa sportel ose me një grup të madhësive të ndryshme, projekti i studios android ose do të humbasë pikat e të dhënave ose do të ngec në një lak duke pritur për pikat e mbetura të të dhënave që pret.
Hapi 3: Kodi Android Studio
Këtu është repoja ime për këtë projekt. Këtu mund të shihni kodin e plotë të Android Studio.
P ORMBLEDHJE
Unë do të vazhdoj ta azhurnoj këtë me një pasqyrë më të plotë se si funksionon kodi arduino dhe android në detaje … Aplikacioni është plotësisht funksional, prandaj mos ngurroni të shikoni vetë kodin ndërkohë.
Hapi 4: Aplikimi përfundimtar
Urime! Aplikacioni juaj shkarkohet në telefonin tuaj dhe pajisja juaj e veshur ngarkohet dhe transmeton të dhëna.
HALL APLIKIMIN
Për të filluar, klikoni në ikonën e lëshuesit për aplikacionin.
LEJAT E Grantit
Ju do të duhet të miratoni përdorimin e disa lejeve që aplikacioni të funksionojë siç duhet.
SHKANI P FORR Pajisjet
Tjetra, klikoni në butonin "Skano" në këndin e sipërm të majtë të aplikacionit.
ZGJIDH Pajisjen Tënde të Veshur
Tjetra, zgjidhni pajisjen tuaj të veshshme nga lista e pajisjeve të disponueshme BLE. Emri i tij është "BLE Arduino Hardware". Merrni të dhënaPritni derisa aplikacioni të marrë të dhënat AGM dhe përcakton se ku përdoruesi është ende ose lëviz. SHIKONI REZULTATET TUAJA Kontrolloni rezultatet në ekran! Klikoni butonin e sinkronizimit për të marrë një lexim tjetër të të dhënave.
Recommended:
Si të ndërtoni një sistem të zbulimit të lëvizjes me Arduino: 7 hapa
Si të Ndërtoni një Sistem të Zbulimit të Lëvizjes Me Arduino: Ndërtoni një sportel të prodhimit të lëvizjes dhe prezencës duke përdorur një pendë HUZZAH të programuar me Arduino dhe të mundësuar nga Ubidots. Lëvizja efektive fizike dhe zbulimi i pranisë në Smart Homes dhe Smart Manufacturing mund të jenë shumë të dobishme në aplikacione që variojnë nga
Ndërtoni një gjurmues të dyerve të hambarit të motorizuar : 6 hapa (me fotografi)
Ndërtoni një gjurmues të dyerve të hambarit të motorizuar …: … xhironi yje, planetë dhe mjegullnajë të tjera, me një aparat fotografik që është. Asnjë Arduino, asnjë motor stepper, asnjë ingranazhe, vetëm një motor i thjeshtë që kthen një shufër të filetuar, ky gjurmues i dyerve të hambarit rrotullon kamerën tuaj me të njëjtën shpejtësi si rrotullimi i planetit tonë, një
Si të bëni një video me ekran të gjelbër nga një aplikacion: 5 hapa
Si të bëni një video me ekran të gjelbër nga një aplikacion: Në këtë udhëzues do t'ju tregoj se si të bëni dhe përdorni një ekran të gjelbër për të bërë fotografi dhe video. Ka disa aplikacione të ekranit të gjelbër që mund t'i përdorni për të marrë efektin e duhur. Materialet e nevojshme: Pajisja e regjistrimit të videos (mund të jetë iPod, iPad, o
Ndërtoni një ekran të personalizuar në LCD Studio (Për tastierën G15 dhe ekranet LCD) .: 7 hapa
Ndërtoni një ekran të personalizuar në LCD Studio (Për tastierën G15 dhe ekranet LCD) .: Ok nëse sapo keni tastierën tuaj G15 dhe nuk jeni shumë të impresionuar me ekranet bazë që erdhën me të, atëherë unë do t'ju përcjell me bazat e përdorimit të LCD Studio për ta bërë tuajin. Ky shembull do të jetë bërja e një ekrani që tregon vetëm bazat
Ndërtoni një kompjuter me teatër në shtëpi nga një laptop i prishur dhe një Tivo: 10 hapa
Ndërtoni një kompjuter me teatër në shtëpi nga një laptop i prishur dhe një Tivo: Në këtë udhëzues, unë do t'ju tregoj se si të bëni një kompjuter me teatër në shtëpi nga një laptop (disi) i prishur dhe një shasi kryesisht bosh Tivo. Kjo është një mënyrë e shkëlqyeshme për të shënuar një kompjuter teatri në shtëpi (ose zgjerues) që duket i mrekullueshëm dhe funksionon më mirë se një