首页 > 其他分享 >App Inventor 2 低功耗蓝牙 BlueToothLE 拓展中文文档(完整翻译加强版)

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

时间:2024-07-29 18:53:54浏览次数:10  
标签:读取 加强版 App 低功耗 蓝牙 MTU BLE 字节 设备

低功耗蓝牙,也称为蓝牙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,低功耗,蓝牙,MTU,BLE,字节,设备
From: https://blog.csdn.net/zqp2013/article/details/140778432

相关文章

  • 微信小程序,web,uniapp-vue前端图片压缩思路-------uniapp-nvue如何压缩
    uniapp官方提供的压缩接口,只支持jpg的压缩,所以,直接放弃在非nvue的页面中,统一使用canvas获取图片信息,并重新绘制。存在一个问题,canvas必须指定宽高,不能动态给定,所以可能存在一些问题。nvue页面,又无法使用canvas,或者说,性能不是很好。一个隐藏的canvas只做图片处理使用,应该不会影......
  • 棋牌游戏app开发的具体过程是怎样的?
    棋牌游戏开发是一个涉及多个环节和技术的复杂过程,对于初次涉足此领域的创业者来说,了解并遵循正确的开发步骤至关重要。1.选择有市场的棋牌游戏:在选择棋牌游戏类型时,要进行市场调研,了解当前市场上哪些类型的游戏最受欢迎,哪些游戏具有持续的吸引力和盈利能力。考虑目标用户群体......
  • 基于Android平台开发,仿头条新闻app新闻分类分类列表实现(四)
    1.项目涉及到的技术点列表控件RecyclerView的使用调用API获取网络数据Glide加载图片Handler的使用okhttp的使用2.代码实现过程在上集中,已经使用TabLayout+ViewPager2把新闻分类滑动实现了,这集具体实现新闻列表新闻布局fragment_tab_news.xml<?xmlversion="1.0"en......
  • 仿微信im源码开源部署/社交聊天即时通讯im源码[PHP+uniapp]/直播+PC+安卓+IOS
    在数字化时代,即时通讯(InstantMessaging,IM)已成为人们日常生活中不可或缺的一部分,无论是工作协作、社交互动还是日常交流,IM应用都扮演着至关重要的角色。从早期的ICQ、MSN到如今的微信、WhatsApp、Telegram等,IM技术不断演进,为用户提供了更加丰富、便捷、安全的沟通体验。本文旨在......
  • mapper文件 和bean
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.hspedu.springboot.my......
  • 简单题 加强版
    由简单版中,我们已经推出了\[\sum_{d=1}^n\mu^2(d)d^{k+1}\sum_{t=1}^{\lfloor{\frac{n}{d}}\rfloor}\mu(t)t^k\sum_{i=1}^{\lfloor{\frac{n}{dt}}\rfloor}\sum_{j=1}^{\lfloor{\frac{n}{dt}}\rfloor}(i+j)^k\]我们设\(T=td\),则设\(S(x)=\sum_{i=1}^x\sum_{j=1......
  • 手把手搭建im即时通讯app源码(基于PHP即时通讯源码聊天系统协议)uniapp全开源框架
    即时通讯(InstantMessaging,IM)系统是现代互联网应用中不可或缺的一部分,它允许用户进行实时的文本、语音、视频交流。随着技术的发展,IM系统的功能越来越丰富,如红包、客服、禁言等。本文将深入探讨如何使用PHP语言结合WebSocket、UniApp等技术开发一个功能完备的即时通讯系......
  • 30 列表常用方法——append()、insert()、extend()
    append()、insert()、extend()这3个方法都可以用于向列表对象中添加元素。①append()用于向列表尾部追加一个元素。②insert()用于向列表任意指定位置插入一个元素。③extend()用于将另一个列表中的所有元素追加至当前列表的尾部。这3个方法都属于原地操作,不......
  • Happy Sugar Life,but 2.73 kb
    \(\text{polylog}\)的感觉太难写了,那么考虑分块,先记询问的序列限制为\([l,r]\),值域限制为\([x,y]\),一个支配对为两个部分。散块内部。散块对散块。整块内部。整块对整块。散块对整块。同样是\(5\)种贡献。可以发现贡献\(2,5\)的序列不交,且两个部分一定有一个的长......
  • CF585C Alice, Bob, Oranges and Apples
    感觉和辗转相除相似,考虑证明正确性设当前Alice的橙子、苹果数为\(a_0,a_1\),Bob同理,考虑构造状态矩阵\(\begin{pmatrix}a_0&b_0\\a_1&b_1\\\end{pmatrix}\),那么初始状态\(I\)为\(\begin{pmatrix}1&0\\0&1\\\end{pmatrix}\),那么\(A\)操作相当于\(\times......