APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP

APP Invertor 2 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP

经过几天的学习,期间查找了许多的文章资料。经过研究和总结加实践,终于做出了一个实现简单的接收和发送的Demo。下面将分享个人制作的过程。
在此之前需要声明的是所用不同版本的APP Invertor 2,其中的组件的信息以及用法都会稍有不同,本文讲解使用到的版本是 App Inventor 2 WxBit 汉化增强版。连接如下
App Inventor 2 WxBit 汉化增强版

下面开始介绍具体的开发过程。在使用APP Invertor 2 制作蓝牙小软件之前,首先要确定你使用的蓝牙模块是蓝牙4.0以上的,也就是低功耗蓝牙模块(如果是传统的蓝牙模块不适应此方法)。

1、APP界面设置

1、首先是APP界面的设置,这部分没什么好说的,就是把需要用到的按钮、文本、标签,根据个人的需要放置到合适的位置上即可。这里简单的放置了搜索蓝牙、连接蓝牙、断开连接、发送的按钮,以及接收和发送的文本显示和用来显示搜索到的蓝牙设备的下拉框,最后加入BluetoothLE组件。这样简单的APP界面就设计完成。
APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第1张图片

2、可视化编程部分

这也是本次分享的重要部分,首先给出一张完整的可视化编程的图片,紧接着就是对编程部分每一部分的详细的解释。
APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第2张图片
首先还是先解释下这个编程的思路,整体的思路是扫描蓝牙设备,将找到的设备的地址和名称送至下拉框中,然后根据下拉框中得到的蓝牙设备的地址进行连接。进行连接后就是进行数据的读取和发送的操作。数据的发送和读取需要两个很重要的参数,分别是服务UUID特征UUID,具体这两个参数是什么意思这里不多做解释,请自行百度,这里只介绍如何找到这两个和怎么用的,下文介绍。

2.1、搜索蓝牙设备

APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第3张图片
屏幕在初始化事件中,对蓝牙连接成功的提示标签进行初始化。接着是调用开始搜索按钮的按下事件,在事件中调用蓝牙组件中的开始扫描功能并调用下拉框的显示列表。
APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第4张图片
在打开扫描后,当扫描到蓝牙设备时,会自动调用蓝牙组件中的找到设备事件,在事件中将找到的蓝牙设备的设备信息以字符串的形式放到下拉框中显示。此时的下拉框处于打开的状态,可以对框中的内容进行选择,也就是选择要连接的设备。当选择完成后,在选择完成事件中调用蓝牙组件中的停止扫描功能。(在打开扫描后,在完成扫描时要记得停止扫描,不然会一直扫描占用系统资源)

2.2、连接蓝牙设备

APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第5张图片
连接蓝牙设备需要蓝牙设备的地址,蓝牙设备的地址则以字符串的形式保存在下拉框中。但是扫描时得到的信息不只是地址信息,还有设备的名称和信号强度。而连接所需的地址这需要通过内置块的文本组件中的一个功能将字符串的前17长度的字符取出就是蓝牙设备的地址。这里取字符串的前面是因为地址信息在字符串的前面。而长度17,是因为地址的长度是17。然后就是把断开连接的事件也加上。

2.3、数据的发送和接收

前面提到接收和发送数据需要服务UUID特征UUID,那么这个两个从哪里来的,方法有很多种,这里只介绍我用的一种。那就是打开微信小程序搜索小程序蓝牙调试工具,用调试工具连接上蓝牙模块,就可以看到这两个数据,服务UUID是一个,而特征UUID有多个,选择其中一个就可以。
APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第6张图片

2.3.1数据接收

APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第7张图片
在连接成功后,在连接成功的事件中调用蓝牙组件中的监听接收字符串数据(蓝牙组件中有其它数据类型得到接收监听,这里选择字符串类型),监听是否接收到数据,当接收到数据时就会自动调用收到字符串数据事件,在此事件中,将接收到的数据送到文本框中,这就完成了数据的接收。接着是在连接和断开连接的事件中增加提示文本“已连接”和“断开连接”。这个部分需要注意的是监听事件选择字符串数据类型,在收到事件中也要选择字符串数据类型。

2.3.2数据发送

APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP_第8张图片
发送部分,在发送按钮的按下事件中调用蓝牙组件的输出字符串数据功能,将输入文本框中的内容发送出去。这里要注意的是,如果需要发送的数据也被本次编写的APP也接收到,则发送和接收部分的特征UUID需要相同。
蓝牙APP的快速开发到此结束
下面是本次的工程文件的百度网盘链接 提取码 29sv
CSDNtext

你可能感兴趣的:(APP,inventor,2)