App Inventor 2 低功耗蓝牙 BlueToothLE 拓展中文文档(完整翻译加强版)

低功耗蓝牙,也称为蓝牙LE 或简称 BLE,是一种类似于经典蓝牙的新通信协议,不同之处在于它旨在消耗更少的功耗和成本,同时保持同等的功能。

因此,低功耗蓝牙是与耗电资源有限的物联网设备进行通信的首选。BluetoothLE 扩展需要 Android 5.0 或更高版本。

BlueToothLE 拓展中文文档入口:

图片

图片

或者,搜索“BLE 拓展”,首条搜索结果直达:

图片

图片

这里节选几个常用的属性、方法、事件:

  • AdvertisementScanPeriod – 广播扫描周期:返回广播扫描周期的值(毫秒ms)。

    

  • DeviceList – 以字符串形式返回BLE设备的有序列表。

     

  • NoLocationNeeded – 启用此选项用以申明你的App不使用蓝牙来获取位置信息。如果启用,编译后的App将不需要请求 ACCESS_FINE_LOCATION 权限,扩展程序也不会尝试请求这个权限。

    图片

     (此属性仅“界面设计”视图可用)

  • ConnectWithAddress – 如果已知BLE设备的MAC地址(如:已存储并从微数据库中读取),则使用 ConnectWithAddress 方法连接到该设备。如果设备列表中没有任何设备与给定MAC地址匹配,则将触发 ConnectionFailed 事件。否则,如果连接成功,则将触发 Connected 事件。

    参数:

    • address (text) — 目标设备的 MAC 地址,格式为12:34:56:78:90:ab

  • RequestMTU – 为 BluetoothLE 连接请求新的最大传输单元 (MTU)。此功能仅在两个设备都支持蓝牙 4.2 或更高版本时才受支持。如果 MTU 更改成功,则 MTUChanged 事件将被触发。默认 MTU 为 20。

    此块适用于需要更改 BLE 设备之间发送的消息大小的高级应用。大多数开发人员不需要调整此值。

    参数:

    • bytes (number) — 期望的 MTU 大小(单位:字节)。

    • MTU: 最大传输单元(MAXIMUM TRANSMISSION UNIT) , 指在一个PDU (Protocol Data Unit:协议数据单元,在一个传输单元中的有效传输数据)能够传输的最大数据量(多少字节可以一次性传输到对方)。

    • MTU 交换是为了在主从双方设置一个PDU中最大能够交换的数据量,通过MTU的交换和双方确认(注意这个MTU是不可以协商的,只是通知对方,双方在知道对方的极限后会选择一个较小的值作为以后的MTU,比如说,主设备发出一个150个字节的MTU请求,但是从设备回应MTU是23字节,那么今后双方要以较小的值23字节作为以后的MTU),主从双方约定每次在做数据传输时不超过这个最大数据单元。

    • 更多MTU技术内幕请参考《一分钟读懂低功耗蓝牙(BLE) MTU交换数据包》。

  • WriteBytes – 将一个或多个 8-bit 整数值写入已连接的BLE设备。服务UID 和特性UUID 是必需的。参数可以是 单个数值 或 数值列表。如果 signed 为,则可接受的值介于 -128 和 127 之间。如果 signed 为,则可接受的值介于 0 和 255 之间。

    参数:

    • serviceUuid (text) — 在读取或注册调用中传递的服务UUID。

    • characteristicUuid (text) — 读取或注册调用中特征UUID。

    • signed (boolean) 将字节解释为有符号()或无符号()。

    • values (list) — 要写入设备的值列表。

  • BytesReceived – 当从连接的蓝牙BLE设备接收到一个或多个字节值时,将触发该事件。根据上次调用 ReadBytes 或 RegisterForBytes 时给定的 serviceUuid 和 characteristicUuid 的 sign 参数,byteValues 列表将包含从 -128 到 127 (signed = true) 或 0 到 255 (signed = false) 的数字。

    参数:

    • serviceUuid (text) — 在读取或注册调用中传递的服务UUID。

    • characteristicUuid (text) — 读取或注册调用中特征UUID。

    • byteValues (list) — 从设备读取的值列表。每个值的范围取决于先前在读取或注册调用中指定的 sign 标志。

完整版:App Inventor 2 低功耗蓝牙 BlueToothLE 拓展 · App Inventor 2 中文网

### 使用 App Inventor 实现低功耗蓝牙 (BLE) 功能 #### 准备工作 为了在 App Inventor 中实现 BLE 功能,需准备特定的软件环境。这包括安装 app inventor 的离线版本、BLE 库以及 AI 伴侣(用于手机端调试的应用程序 APK 文件)[^3]。 #### 创建项目并配置组件 启动 App Inventor 后创建新项目,在设计视图中添加必要的组件来支持 BluetoothLE 连接。主要涉及 `BluetoothClient` 组件及其属性设置,确保选择了正确的蓝牙模式为 “Low Energy”。 #### 编写逻辑代码 通过 Blockly 或 Classic 方式编写应用程序的行为逻辑。下面是一个简单的例子展示如何扫描附近的 BLE 设备并与之建立连接: ```blocks // 设置按钮点击事件处理函数以开始查找设备 当 开始扫描 按钮被点击 -> 调用 bluetoothclient1.StartScan() // 定义发现新设备后的动作 bluetoothclient1.找到新的蓝牙设备 -> 如果 device 是目标类型(比如心率监测仪等) 则停止扫描 并尝试连接该device // 成功连接到指定设备之后的操作 bluetoothclient1.成功连接上设备 -> 显示消息 "已连接" // 断开连接时触发的动作 bluetoothclient1.断开了与设备的连接 -> 更新界面状态显示未连接 ``` 以上伪代码片段展示了基本交互流程的一部分;实际应用可能更复杂取决于具体需求[^2]。 #### 测试和部署 完成开发后应先利用模拟器测试功能正常与否,再转移到真实硬件环境中进一步验证稳定性。注意 Android 版本要求至少为 5.0 及以上才能正常使用此特性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI2中文网

真诚赞赏,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值