Cov txheej txheem:
- Khoom siv
- Kauj Ruam 1: Tsim Kev Pabcuam Tshwj Xeeb & Cov Cwj Pwm
- Kauj ruam 2: Arduino Code
- Kauj ruam 3: Android Studio Code
- Kauj Ruam 4: Daim Ntawv Thov Kawg
Video: Tsim kom muaj Wearable Motion Tracker (BLE Los Ntawm Arduino mus rau Custom Android Studio App): 4 Cov Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:24
Bluetooth Tsawg Zog (BLE) yog ib daim ntawv uas tsis muaj zog Bluetooth kev sib txuas lus. Cov cuab yeej siv tau, zoo li cov tsoos tsho ntse kuv pab tsim ntawm Predictive Wear, yuav tsum txwv kev siv fais fab txhua qhov uas tuaj yeem ua kom ntev lub roj teeb, thiab nquag siv BLE. Pab Pawg Tshwj Xeeb Tshwj Xeeb Bluetooth (SIG) piav qhia ntau yam tshwj xeeb uas cov cuab yeej siv yuav tsum ua kom cuam tshuam nrog lub cuab yeej Bluetooth, uas lawv hais "profile". Feem ntau daim ntawv thov cov ntaub ntawv siv General Attribute Profile (GATT) kom xa cov ntaub ntawv hla BLE txuas. Muaj peb lub hauv paus ntsiab lus hauv BLE: cov ntaub ntawv, kev pabcuam, thiab tus yam ntxwv.
Bluetooth SIG tau ua tus qauv ntau yam sib xws, kev pabcuam, thiab tus yam ntxwv. Txawm li cas los xij, thaum tsim cov khoom siv kho vajtse feem ntau xav tau los tsim cov kev pabcuam tshwj xeeb thiab tus yam ntxwv thiab tsis muaj ntau yam kev qhia. Txhawm rau teeb meem nyuaj dua, Adafruit tsis muab ib qho kev qhia ntawm kev tsim cov ntawv thov mobile los ua ke nrog lawv cov qauv BLE thiab cov cai rau lawv daim ntawv thov yog qhov nyuaj rau thim rov qab engineer.
Qhov kev qhia no lub hom phiaj piav qhia:
- Yuav tsim kev cai GATT cov kev pabcuam thiab tus yam ntxwv li cas
- Yuav ua li cas rau phiaj xwm Adafruit Bluefruit LE SPI Tus Phooj Ywg los ua tus GATT server rau cov kev pabcuam tshwj xeeb no & cov yam ntxwv
- Yuav ua li cas txhawm rau siv lub cuab yeej Android los ua tus GATT tus neeg siv los nyeem cov ntaub ntawv los ntawm GATT server
Cov ntawv qhia no tsis yog lub hom phiaj yuav hloov pauv mus rau hauv daim ntawv thov npaj tsim khoom - qhov no tsuas yog kev qhia rau BLE.
Kev Nyeem Ntawv Tom Qab:
- Adafruit Bluefruit LE SPI Cov ntaub ntawv
- Yog tias koj tsis paub GATT lossis BLE
Khoom siv
- 1x - Ib qho khoom siv Arduino (Kuv tab tom siv UNO rau qhov kev qhia no)
- 1x - Adafruit Bluefruit LE SPI Tus Phooj Ywg
- 8x - txiv neej rau txiv neej jumper xov hlau
- Cov cuab yeej siv yooj yim soldering (rau cov kab laug sab laug ntawm tus phooj ywg SPI)
- Lub khoos phis tawj (txhawm rau program Arduino device thiab Android device)
Kauj Ruam 1: Tsim Kev Pabcuam Tshwj Xeeb & Cov Cwj Pwm
QHIA
Kab lus no ua txoj haujlwm zoo piav qhia txog kev tsim cov kev pabcuam tshwj xeeb & cov yam ntxwv li cas. Kuv pom zoo kom nyeem los ntawm kab lus no. Kuv muab cov ntsiab lus yooj yim heev hauv qab no uas tsis saib xyuas cov lus sib txawv hauv kev nyiam qhov yooj yim.
Cov Kev Pabcuam GATT yog kev sau cov yam ntxwv.
Cov yam ntxwv GATT muaj cov khoom ntiag tug, tus nqi, thiab xoom lossis ntau tus piav qhia.
- Cov cuab yeej: yuav ua li cas cov ntaub ntawv yuav tsum tau ua los ntawm cov neeg siv khoom (Android App) piv txwv li nyeem, sau, sau yam tsis teb, ceeb toom, thiab qhia.
- Tus nqi: tus nqi tiag ntawm tus yam ntxwv xws li 1089
- Cov piav qhia: qhov no yog cov ntaub ntawv hais txog tus nqi xws li chav tsev, milliseconds
TSHUAJ
Okay, tam sim no koj paub tias cov kev pabcuam & yam ntxwv zoo li cas, peb yuav tsum txiav txim siab yuav tsim qee qhov kev pabcuam & yam ntxwv li cas kom tau txais peb cov ntaub ntawv kev cai thiab xa nws los ntawm peb GATT server (Arduino) rau cov neeg siv khoom (Android App). Cia peb txiav txim siab txog Arduino lub cuab yeej uas khaws cov ntaub ntawv los ntawm kev ntsuas lub ntsuas-ntsuas-ntsuas qhov ntsuas (AGM). Peb xav sau cov gyroscope thiab ntsuas ntsuas nrawm los ntawm peb qhov chaw nyob thiab lub sijhawm cov kev ntsuas no tau ua thiab xa cov ntaub ntawv no rau peb daim ntawv thov mobile. Peb kuj xav paub thaum twg peb xav tau them lub cuab yeej, yog li peb xav nyeem qib roj teeb thiab xa qhov ntawd rau peb daim ntawv thov mobile.
1. Peb puas tuaj yeem siv ib qho ntawm cov qauv kev pabcuam & tus yam ntxwv?
Bluetooth SIG tau ua tus qauv ntau yam kev pabcuam thiab tus yam ntxwv. Ua ntej, txheeb xyuas cov no kom pom tias koj tuaj yeem koom nrog ib qho ntawm cov kev pabcuam tus qauv thiab tus yam ntxwv. Cov kev pabcuam tus yam ntxwv thiab tus yam ntxwv tuaj yeem siv cov ntaub ntawv me me ntau dua li Cov Cim Cim Hauv Ntiaj Teb (UUID) yog 16 cov khoom thaum cov kev pabcuam thiab cov yam ntxwv yuav tsum siv 128 khoom rau lawv UUIDs. Xav paub ntau ntxiv txog UUIDs tom qab. Los ntawm peb qhov kev tshawb nrhiav, peb pom tus qauv "kev pabcuam roj teeb" uas muaj ib tus yam ntxwv "qib roj teeb".
2. Sib cais txhua qhov txiaj ntsig cov ntaub ntawv koj xav xa hla BLE rau hauv cov yam ntxwv thiab kev pabcuam
Peb tuaj yeem ua txhaum peb cov ntaub ntawv cov ntsiab lus nqis mus rau xya yam kev cai tshwj xeeb hauv ib qho kev pabcuam tshwj xeeb. Peb yuav hu qhov kev pabcuam no "AGM pabcuam". Nws yuav muaj 7 yam ntxwv: x-nrawm, y-nrawm, z-nrawm, x-gyroscope, y-gyroscope, z-gyroscope, thiab siv sijhawm.
3. Txheeb xyuas cov khoom xav tau rau txhua tus yam ntxwv
Muaj ntau yam khoom uas tus yam ntxwv yuav muaj.
- Nyeem: Tus Neeg Siv Khoom (Android App) tuaj yeem nyeem tus nqi los ntawm GATT Server (Arduino)
- Sau: Tus Neeg Siv khoom tuaj yeem hloov tus nqi los ntawm GATT Server
- Qhia: Tus neeg siv khoom yuav raug ceeb toom yog tias tus nqi hloov pauv los ntawm GATT Server thiab Tus Neeg Siv khoom yuav tsum xa ntawv lees paub rau GATT Server
- Ceeb toom: Tus neeg siv khoom yuav raug ceeb toom yog tias tus nqi hloov pauv los ntawm GATT Server thiab Tus Neeg Siv khoom tsis xav tias yuav xa ntawv lees paub rau GATT Server
Txog qhov kev qhia no, peb yuav teeb tsa peb txhua tus yam ntxwv kom nyeem, tshwj rau qib roj teeb uas yuav muaj ob qho kev ceeb toom thiab nyeem cov khoom.
4. Tsim UUIDs rau cov kev pabcuam tshwj xeeb & cov yam ntxwv thiab nrhiav tus qauv UUIDs
Raws li kuv tau hais luv luv ua ntej, Bluetooth SIG tus qauv kev pabcuam thiab tus yam ntxwv siv 16 ntsis UUID thaum cov kev pabcuam tshwj xeeb thiab tus yam ntxwv siv 128 ntsis UUIDs. Piv txwv li, saib lub roj teeb pabcuam tus lej ntawm Bluetooth SIG. Tus lej muab rau 0x180F sawv cev rau 128 ntsis UUID "0000180F-0000-1000-8000-00805F9B34FB". Plaub tus lej (16 khoom) hauv qhov loj yog qhov tshwj xeeb rau cov kev pabcuam tshwj xeeb lossis tus yam ntxwv thaum lwm tus cim tau khaws tseg ntawm txhua qhov kev pabcuam thiab tus yam ntxwv. Txij li ob tus neeg siv khoom thiab GATT server paub tias cov kev pabcuam tus qauv thiab tus yam ntxwv tsuas yog sib txawv los ntawm tus lej loj, cov pob ntawv qhov ntau ntawm cov ntaub ntawv tuaj yeem txo qis. Txawm li cas los xij, cov kev pabcuam thiab tus yam ntxwv tsis tuaj yeem ua haujlwm raws li qhov kev xav no.
Hloov chaw, cov kev pabcuam tshwj xeeb thiab tus yam ntxwv yuav tsum siv tsis tau sau 128 me ntsis UUIDs. Nov yog online UUID generator. Ib qho UUID uas tsis yog UUID tus qauv raug lees paub rau kev cai UUID. Txawm li cas los xij, lub rooj sib tham tshwj xeeb rau npe yog hais txog qhov kev pabcuam tshwj xeeb 00000001- … thiab cov yam ntxwv hauv qhov kev pabcuam tshwj xeeb 00000002- …
Nov yog cov ntsiab lus nthuav dav ntawm cov kev pabcuam & cov yam ntxwv peb yuav ua nrog rau lawv cov UUIDs
Kauj ruam 2: Arduino Code
Hloov kho BLUEFRUIT LE SPI phooj ywg
Ua ntej, nqes Adafruit Bluefruit LE SPI phooj ywg raws li lawv hais qhia hauv lawv phau ntawv qhia kev sib txuas thiab txuas lub zog Arduino ntaus ntawv. Ua kom ntseeg tau tias koj tuaj yeem nrhiav Adafruit Bluefruit LE SPI phooj ywg ntawm koj lub cuab yeej hauv xov tooj thaum kuaj xyuas cov cuab yeej Bluetooth. Rub tawm Bluefruit Connect app, txuas rau Adafruit Bluefruit LE SPI phooj ywg thiab tso cai rau nws hloov kho lub firmware ntawm lub cuab yeej. Cov kauj ruam no tseem ceeb. Yog tias koj tsis hloov kho lub khoos phis tawj, cov lus txib koj tshaj tawm lub cuab yeej ntawm Arduino yuav tsis ua tiav thiab yuav tsis muaj qhov yuam kev pom tseeb rau koj kom pom qhov teeb meem yog dab tsi.
Nov yog kuv qhov repo rau txoj haujlwm no. Koj tuaj yeem pom tag nrho Arduino code ntawm no.
ZOO SIAB
Ob peb yam tseem ceeb kom nco ntsoov:
- Hauv kev teeb tsa () txheej txheem, txhua qhov kev cai UUIDs yuav tsum muaj "-" nruab nrab ntawm txhua ob tus cim. Piv txwv, "AT+GATTADDCHAR = UUID128 = 00-00-00-05-62-7E-47-E5-A3-FC-DD-AB-D9-7A-A9-66" yuav ua haujlwm. "AT+GATTADDCHAR = UUID128 = 00000005-627E-47E5-A3fCDDABD97AA966" yuav tsis ua haujlwm.
- Nco ntsoov tias hauv kev teeb tsa () txheej txheem, "battery.begin (true);" hu "ble.reset ();" tsis siv neeg Yog tias koj tsis siv cov kev pabcuam roj teeb raws li kuv muaj, koj yuav tsum rov pib dua lub tshuab ble (siv "ble.reset ();") qhov twg kuv muaj lus txib "battery.begin (true);".
- Hauv kev teeb tsa () txheej txheem, hloov "yog (! Ble.begin (cuav))" mus "yog (! Ble.begin (tseeb))" yog tias koj xav debug.
Cov cai no zoo nkauj piav qhia tus kheej. Kuv suav nrog cov lus piav qhia ntawm txhua txoj kev coj ua. Txoj kev teeb tsa tau txais BLE tus qauv npaj los ua GATT server. Lub voj txheej txheem mus dhau los ntawm qhov cheb cuav ntawm qhov ntsuas qhov ntsuas qhov ntsuas qhov ntsuas qhov ntsuas (AGM) thiab tsim tus lej tsis raug ntawm 1 txog 100 rau cov txiaj ntsig no. Lub roj teeb tau ntws los ntawm 1% txhawm rau sim siv roj teeb. Koj tuaj yeem hloov txoj cai no nrog qhov tseeb qhov tseem ceeb yooj yim. Txoj cai no xav tias koj yuav xa ntau cov ntaub ntawv AGM, 6 ntsuas ntev, ntau dua li ntsuas ib zaug raws li txheeb xyuas lub qhov rai ntawm AGM cov ntaub ntawv yuav muaj txiaj ntsig ntau dua li ib qho ntawm cov ntaub ntawv. Yog tias koj hloov qhov loj me me, nco ntsoov tias yuav muaj kev hloov pauv hauv android code chaws. Txhawm rau ntes cov ntaub ntawv, koj yuav tsum hla lub txee nrog rau cov ntaub ntawv koj xav xa. Lub txee no tso cai rau koj nrhiav qhov chaw koj nyob ntawm lub qhov rais los ntawm daim ntawv thov hauv xov tooj ntawd Android yog li koj tuaj yeem tos kom mloog cov ntsiab lus cov ntaub ntawv ploj hauv lub qhov rais. Tsis muaj lub txee lossis nrog qhov sib txawv qhov sib txawv, qhov haujlwm hauv xov tooj cua hauv xov tooj cua yuav tsis nco cov ntsiab lus lossis yuav raug kaw hauv lub voj tos rau cov ntsiab lus cov ntaub ntawv uas nws xav tau.
Kauj ruam 3: Android Studio Code
Nov yog kuv qhov repo rau txoj haujlwm no. Koj tuaj yeem pom tag nrho Android Studio code ntawm no.
ZOO SIAB
Kuv yuav khaws qhov hloov tshiab no nrog kev tshuaj xyuas ntxaws ntxaws txog yuav ua li cas arduino thiab android code ua haujlwm kom ntxaws … Lub app ua haujlwm tau zoo yog li ua tib zoo saib cov cai koj tus kheej nyob rau lub sijhawm no.
Kauj Ruam 4: Daim Ntawv Thov Kawg
Nrog koj zoo siab! Koj daim ntawv thov rub tawm rau koj lub xov tooj thiab koj lub cuab yeej siv tau raug them thiab xa cov ntaub ntawv.
Qhib APP
Txhawm rau pib, nyem rau ntawm lub cim launcher rau daim ntawv thov.
ZOO TSHAJ PLAWS
Koj yuav tsum tau pom zoo siv qee qhov kev tso cai rau lub app ua haujlwm kom raug.
Kuaj rau DEVICES
Tom ntej no, nyem rau ntawm "Scan" khawm nyob rau saum toj kawg nkaus ntawm lub app.
Xaiv koj lub cuab yeej siv tau
Tom ntej no, xaiv koj lub cuab yeej siv tau los ntawm cov npe khoom siv BLE. Nws lub npe yog "BLE Arduino Hardware". TAU DATAWait thaum lub app tau txais cov ntaub ntawv AGM thiab txiav txim qhov twg tus neeg siv tseem nyob lossis txav mus. Pom koj cov txiaj ntsig Txheeb xyuas cov txiaj ntsig ntawm qhov screen! Nyem rau khawm sync kom tau txais lwm qhov nyeem cov ntaub ntawv.
Pom zoo:
Tsim kom muaj Hi-Fi Lub Pob Ntseg Los Ntawm Kos: 4 Cov Kauj Ruam (nrog Duab)
Tsim kom muaj Hi-Fi Lub Pob Ntseg Los Ntawm Khaub Ncaws: Kuv tsim qhov no " kub plated " lub mloog pob ntseg los ntawm kos nrog ib khub ntawm 40mm kev tsav tsheb zoo. Kuv lub hom phiaj yog, raws li kuv lub npe nws yog Hi-Fi lub mloog pob ntseg, nws yuav tsum yeej lossis tsawg kawg ntawm qhov sib npaug nrog kuv $ 100 Grado MS1. Yog li kuv txhob txwm xaiv qhov ze-kawg (feem ntau yog
Tsim kom muaj Dual 15V Cov Khoom Siv Hluav Taws Xob Siv Tawm Cov Txee Modules rau Hauv $ 50: 10 Cov Kauj Ruam (nrog Duab)
Tsim kom muaj Dual 15V Lub Hwj Huam Siv Tawm Tawm Cov Qauv Qauv rau Hauv $ 50: Taw Qhia: Yog tias koj yog tus nyiam ua haujlwm uas cuam tshuam nrog suab, koj yuav paub nrog cov khoom siv hluav taws xob ob tog. Feem ntau cov hwj huam suab qis xws li pre-amps xav tau qhov twg los ntawm +/- 5V txog +/- 15V. Muaj lub zog siv hluav taws xob ob zaug ua rau nws tsuas yog
Hloov Cov Keyboard Los Ntawm Din mus rau Mini-Din Tsis Muaj Tus Txuas: 5 Kauj Ruam
Hloov Cov Keyboard Los Ntawm Din mus rau Mini-Din Tsis muaj Adaptor: Yog li yuav ua li cas nrog ob lub twj, cov hlau txuas, thiab lub sijhawm me me kom nkim sijhawm ntawm kev xeem CS. Yuav ua li cas hais txog kev hloov cov keyboard keyboard? Koj xav tau: Ob tus keyboard, ib tus qub nrog DIN txuas, lwm yam tshiab nrog mini DIN / PS2 txuas Cov cuab yeej hlau
Tsim kom muaj suab paj nruag tsis xwm yeem thiab lub teeb tsim hluav taws xob thiab pom qhov pov thawj ntawm Vajtswv: 4 Cov Kauj Ruam
Tsim kom muaj Kev Nyuaj Siab Suab Nkauj thiab Lub Teeb Hluav Taws Xob thiab Nyeem Ntawv Pov Thawj ntawm Vajtswv: Tsim cov lej tsis raug zoo zoo li tsis yooj yim sua. Txawm li cas los xij, nws yooj yim siv microcontroller los tsim cov lej tsis raug thiab tom qab ntawd siv lawv los tso saib cov suab thiab cov xim sib txawv. Thaum cov nkauj uas tau tsim tawm yog n
Cov lus qhia ntawm Kev Ua Kom Zoo Mock-Up ntawm Track Slide Tsim rau Nqa/Txo Hauv Pem Hauv Ntej-Mounted Footrests ntawm Lub Hwj Huam Log: 9 Kauj Ruam (nrog Duab)
Cov lus qhia ntawm Kev Ua Kom Tiav Mock-Up ntawm Track Slide Tsim rau Nqa/Sab Qaum Nruab Nrab-Mounted Footrests ntawm Lub Hwj Huam Lub Rooj Zaum: Lub hauv paus tau teeb tsa lub tog zaum kom nqa tau hauv qab lub rooj kom zoo, thiab qis dua kom siv tau. Ib lub tswv yim rau kev ua haujlwm ywj pheej ntawm kev tuav cov footrest thiab kev xa tawm tsis suav nrog lub rooj zaum fais fab lag luam, thiab PWC cov neeg siv tau qhia txog qhov xav tau