在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino連接Android Studio應用程序源代碼

Arduino連接Android Studio應用程序源代碼

2023-06-21 | zip | 0.00 MB | 次下載 | 免費

資料介紹

低功耗藍牙 (BLE) 是一種低功耗藍牙通信形式。可穿戴設備,例如我在 Predictive Wear 幫助設計的智能服裝,必須盡可能限制功耗以延長電池壽命,并經(jīng)常使用 BLE。Bluetooth Special Interest Group (SIG)定義了設備與藍牙設備交互時應實施的幾種規(guī)范,他們將其稱為“配置文件”。大多數(shù)應用配置文件利用通用屬性配置文件 (GATT) 通過 BLE 鏈路發(fā)送數(shù)據(jù)。BLE 中包含三個基本概念:配置文件、服務和屬性。

Bluetooth SIG 對許多通用配置文件、服務和屬性進行了標準化。但是,在創(chuàng)建自定義硬件時,通常需要創(chuàng)建自定義服務和屬性,而且可用的教程并不多。使事情變得更加困難的是,Adafruit 沒有提供任何有關設計移動應用程序以與其 BLE 模塊配對的指導,并且其應用程序的源代碼很難進行逆向工程。所以,我會為你做的。

本教程旨在解釋:

如何設計自定義 GATT 服務和特性

如何將 Adafruit Bluefruit LE SPI Friend 編程為這些自定義服務和特性的 GATT 服務器

如何編寫 Android 設備作為 GATT 客戶端從 GATT 服務器讀取數(shù)據(jù)

本教程無意轉(zhuǎn)化為生產(chǎn)就緒的應用程序——這只是對 BLE 的介紹。

背景閱讀:

Adafruit Bluefruit LE SPI Friend 文檔

如果您不熟悉 GATT 或 BLE

第 1 步:設計定制服務和特征

介紹

這篇文章很好地解釋了如何設計自定義服務和特性。我強烈建議通讀這篇文章。我在下面提供了一個非常簡單的概述,忽略了有利于簡單的微妙之處。

GATT 服務是特征的集合。

GATT 特征包含屬性、值和零個或多個描述符。

屬性:客戶端(Android App)應如何處理數(shù)據(jù),例如讀取、寫入、無響應寫入、通知和指示。

值:特性的實際值,例如 1089

描述符:這是有關值的信息,例如單位、毫秒

設計

好的,現(xiàn)在你知道什么是服務和特性了,我們需要弄清楚如何設計一些服務和特性來獲取我們的自定義數(shù)據(jù)并將其從我們的 GATT 服務器(Arduino)發(fā)送到客戶端(Android App)。讓我們考慮一個從加速度計-陀螺儀模塊 (AGM) 收集數(shù)據(jù)的 Arduino 設備。我們想要從三個空間軸收集陀螺儀和加速度測量值以及進行這些測量的時間,并將這些數(shù)據(jù)傳輸?shù)轿覀兊囊苿討贸绦颉N覀冞€想知道何時需要為設備充電,因此我們想讀取電池電量并將其傳輸?shù)轿覀兊囊苿討贸绦颉?/p>

1. 我們可以使用任何標準服務和特性嗎?

Bluetooth SIG 對許多通用服務和特性進行了標準化。首先,檢查這些以查看您是否可以選擇任何標準化服務和特性。標準服務和特性可以使用更小的數(shù)據(jù)包,因為通用唯一標識符 (UUID) 是 16 位,而自定義服務和特性必須使用 128 位作為它們的 UUID。稍后會詳細介紹 UUID。通過我們的搜索,我們找到了一個標準化的“電池服務”,其中包含一個特征“電池電量”。

2. 將您要通過 BLE 發(fā)送的所有數(shù)據(jù)值分成特征和服務

我們可以將自定義數(shù)據(jù)點分解為一項自定義服務中的七個自定義特征。我們將此服務稱為“AGM 服務”。它將包含 7 個特性:x 加速度、y 加速度、z 加速度、x 陀螺儀、y 陀螺儀、z 陀螺儀和時間參考。

3. 確定每個特征所需的屬性

一個特征可能有幾個屬性。

讀取:客戶端(Android App)可以從 GATT 服務器(Arduino)讀取一個值

寫入:客戶端可以更改來自 GATT 服務器的值

指示:如果 GATT 服務器的值發(fā)生變化,客戶端將收到通知,并且客戶端應向 GATT 服務器發(fā)送確認

通知:如果 GATT 服務器的值發(fā)生變化,客戶端將收到通知,并且客戶端不會向 GATT 服務器發(fā)送確認

對于本教程,我們將所有特性設置為讀取,但電池電量除外,它同時具有通知和讀取屬性。

4. 為自定義服務和特性生成 UUID 并找到標準 UUID

正如我之前簡要提到的,Bluetooth SIG 標準化服務和特性使用 16 位 UUID,而自定義服務和特性使用 128 位 UUID。例如,查看藍牙 SIG 上的電池服務分配編號。分配的數(shù)字0x180F代表128位UUID "0000 180F-0000-1000-8000-00805F9B34FB”。粗體的四位數(shù)字(16 位)對于特定的標準化服務或特征是唯一的,而其他字符在所有標準化服務和特征之間是保守的。因為客戶端和 GATT 服務器都知道標準化的服務和特性僅在粗體數(shù)字上有所不同,數(shù)據(jù)包的大小可以大大減少。但是,自定義服務和特性不能在相同的假設下運行。

相反,自定義服務和特性必須使用未縮寫的 128 位 UUID。這是一個在線 UUID 生成器。自定義 UUID 可接受除標準化 UUID 之外的任何 UUID。但是,典型的命名約定是表示自定義服務 00000001-... 以及該自定義服務中的特征 00000002-...

是我們將與他們的 UUID 一起實施的服務和特征的摘要電子表格。

第 2 步:Arduino 代碼

更新 BLUEFRUIT LE SPI 朋友

首先,按照他們在連接指南中指定的方式連接 Adafruit Bluefruit LE SPI Friend并啟動 Arduino 設備。

poYBAGSAdRKAIglDAAtrMJf5keY846.jpg

確保在掃描藍牙設備時可以在您的 Android 設備上找到 Adafruit Bluefruit LE SPI Friend。下載Bluefruit Connect應用程序,連接到 Adafruit Bluefruit LE SPI Friend 并允許它更新設備上的固件。這一步很重要。如果您不更新固件,您通過 Arduino 向設備發(fā)出的命令可能會失敗,并且不會有明顯的錯誤讓您發(fā)現(xiàn)問題所在。

這是我這個項目的回購協(xié)議。您可以在此處查看完整的 Arduino 代碼。

概述

需要注意的一些重要事項:

在 setup() 方法中,所有自定義 UUID 必須在每兩個字符之間包含“-”。例如,“AT+GATTADDCHAR=UUID128=00-00-00-05-62-7E-47-E5-A3-FC-DD-AB-D9-7A-A9-66”將起作用。“AT+GATTADDCHAR=UUID128=00000005-627E-47E5-A3fCDDABD97AA966”將不起作用。

請注意,在 setup() 方法中,“battery.begin(true);” 調(diào)用“ble.reset();” 自動地。如果您不像我那樣使用電池服務,則需要重置 ble 模塊(使用“ble.reset();”),我有命令“battery.begin(true);”。

在 setup() 方法中,如果要調(diào)試,請將“if ( !ble.begin(false) )” 更改為“if ( !ble.begin(true) )”。

這段代碼是不言自明的。我包括了每個自定義方法的描述。設置方法讓 BLE 模塊準備好充當 GATT 服務器。循環(huán)方法通過加速度計陀螺儀模塊 (AGM) 的假掃描,并為這些值生成一個從 1 到 100 的隨機數(shù)。電池耗盡 1% 以模擬電池使用情況。您可以輕松地將此代碼替換為實際傳感器值。此代碼假定您將傳輸一組 AGM 數(shù)據(jù),長度為 6 個測量值,而不是單個測量值,因為分析 AGM 數(shù)據(jù)窗口可能比單個數(shù)據(jù)點更有用。如果您更改數(shù)組大小,請注意 android studio 代碼中需要進行更改。要捕獲一組數(shù)據(jù),您必須傳遞一個計數(shù)器以及您打算發(fā)送的數(shù)據(jù)。這個計數(shù)器允許您從 android studio 應用程序中找到您在窗口中的位置,這樣您就可以等待收聽窗口中丟失的數(shù)據(jù)點。如果沒有計數(shù)器或使用不同大小的數(shù)組,android studio 項目要么會丟失數(shù)據(jù)點,要么會陷入循環(huán)等待它期望的剩余數(shù)據(jù)點。

第 3 步:Android Studio 代碼

這是我這個項目的回購協(xié)議。您可以在此處查看完整的 Android Studio 代碼。

概述

我將繼續(xù)更新此內(nèi)容,更全面地概述 arduino 和 android 代碼的工作細節(jié)……該應用程序功能齊全,因此您可以隨時自己查看代碼。

第 4 步:最終申請

恭喜!您的應用程序已下載到您的手機,您的可穿戴設備已充電并正在傳輸數(shù)據(jù)。

啟動應用程序

要開始使用,請單擊應用程序的啟動器圖標。

pYYBAGSAdRaANSzQAAaIXik-9uU535.jpg

授予權限

您需要批準使用某些權限才能使應用程序正常運行。

poYBAGSAdRmATqdCAADwFdh_lDw596.jpg

掃描設備

接下來,單擊應用程序左上角的“掃描”按鈕。

pYYBAGSAdR2AIAH5AACg6BkUJcA505.jpg

選擇您的可穿戴設備

接下來,從可用 BLE 設備列表中選擇您的可穿戴設備。它的名字是“BLE Arduino 硬件”。

poYBAGSAdSCAK4t0AADLgtmrpVU433.jpg

獲取數(shù)據(jù)等待應用程序獲取 AGM 數(shù)據(jù)并確定用戶靜止或移動的位置。

pYYBAGSAdSOAfJa9AACcdPIUqhM950.jpg

查看您的結果在屏幕上查看結果!單擊同步按鈕可再次讀取數(shù)據(jù)。

pYYBAGSAdSaADZmzAADGAC2wpnQ096.jpg

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1涂鴉各WiFi模塊原理圖加PCB封裝
  2. 11.75 MB   |  76次下載  |  1 積分
  3. 2錦銳科技CA51F2 SDK開發(fā)包
  4. 24.06 MB   |  29次下載  |  1 積分
  5. 3錦銳CA51F005 SDK開發(fā)包
  6. 19.47 MB   |  3次下載  |  1 積分
  7. 4蘋果iphone 11電路原理圖
  8. 4.98 MB   |  3次下載  |  2 積分
  9. 5基礎模擬電子電路
  10. 3.80 MB   |  3次下載  |  1 積分
  11. 6RA-Eco-RA6M4-100PIN-V1.0開發(fā)板資料
  12. 34.89 MB  |  1次下載  |  免費
  13. 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊
  14. 3.32 MB   |  1次下載  |  免費
  15. 8聯(lián)想A820t手機維修圖紙包括主板原理圖 尾板原理圖 點位圖
  16. 0.62 MB   |  次下載  |  5 積分

本月

  1. 1AI智能眼鏡產(chǎn)業(yè)鏈分析
  2. 4.43 MB   |  383次下載  |  免費
  3. 2蘇泊爾電磁爐線路的電路原理圖資料合集
  4. 2.02 MB   |  296次下載  |  5 積分
  5. 3貼片三極管上的印字與真實名稱的對照表詳細說明
  6. 0.50 MB   |  94次下載  |  1 積分
  7. 4長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
  8. 0.46 MB   |  91次下載  |  5 積分
  9. 5涂鴉各WiFi模塊原理圖加PCB封裝
  10. 11.75 MB   |  76次下載  |  1 積分
  11. 6錦銳科技CA51F2 SDK開發(fā)包
  12. 24.06 MB   |  29次下載  |  1 積分
  13. 7AO4803A雙P通道增強型場效應晶體管的數(shù)據(jù)手冊
  14. 0.11 MB   |  28次下載  |  2 積分
  15. 8長虹液晶彩電LS29機芯的技術資料說明
  16. 3.42 MB   |  16次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191388次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 大杳蕉伊人狼人久久一本线 | 深夜释放自己vlog糖心旧版本 | 国产69精品久久久久9牛牛 | 国产一二三区在线观看 | 国产三级影院 | 天天操天天操天天 | 国产成人99久久亚洲综合精品 | 一级特黄特色的免费大片视频 | 99久久综合精品免费 | 97av在线播放 | 免费看日本黄色片 | 狠狠干狠狠爱 | 色综合国产| 天天综合色天天综合网 | www.a级片 | 性欧美丨18一19 | 黄色网免费观看 | 成 黄 色 激 情视频网站 | 午夜精品在线观看 | 操她视频网站 | 久久电影www成人网 久久电影福利 | 成人淫片 | 成人在线一区二区三区 | 久久在线免费观看 | 狠狠五月天 | 久久美女精品国产精品亚洲 | 又大又粗又爽黄毛片 | 五月婷婷六月丁香综合 | 欧美专区一区二区三区 | 黄色网址在线免费观看 | 免费色视频在线观看 | 激情五月宗合网 | 色老头视频在线观看 | 免费观看a黄一级视频 | 国产视频观看 | 爱爱456高清国语在线456 | 三级黄色在线视频中文 | 老汉色视频 | 亚洲国产精品第一页 | 国模伊人| 中文字幕在线观看一区 |