1293| 0
|
[MIT IoT] App Inventor 2 低功耗蓝牙(BLE) 硬件接入、数据通信及IO控制 |
低功耗蓝牙(BLE)以低功耗、低成本、开发简便逐渐被广泛应用,本文主要介绍一款较为通用、价格低廉的BLE设备从零开始如何利用App Inventor 2开发一款自己专属的手机蓝牙App应用。 BLE与经典蓝牙的区别可参考:《低功耗蓝牙(BLE) 和 经典蓝牙(SPP) 的区别》。 本文主要通过一款常见的BLE硬件接入控制,介绍硬件接入App Inventor 2 的通用方法,类似的硬件接入都是大同小异的。 1、硬件接线(特别注意:VCC 3.3v 或 5v 请参阅说明书,不要弄错以免烧坏硬件)一般来说,需要接线的端口有以下4个,无论哪款蓝牙硬件,也无论哪种其他硬件,这4个端口都是基本的存在:VCC(正极)、GND(接地负极)、TX、RX 交叉接线,参考接线如图: 2、串口工具测试接线完成后,我们必须先来测试一下蓝牙硬件的连通性,但是由于蓝牙硬件是孤立存在的,我们无法查看手机App向它发送的什么数据,也无法让它往手机App发送数据,这时我们就需要用到串口工具。 什么是串口工具?串口工具一般是一款电脑上的软件,配合UART线,可以与硬件进行双向数据传输的工具,UART线如下: 电脑端的串口工具软件非常之多,可自行下载。 请注意:使用串口工具软件之前,一般需要安装硬件厂商提供的驱动程序。 电脑端打开串口: UART上指示灯会开启,说明串口已打开: 测试与BLE硬件通信(数据透传) 手机App端发送数据,BLE硬件(电脑串口)读取并打印数据;BLE硬件(电脑串口)发送数据,App手机端接收并打印数据。 使用厂商自带的测试App进行通信测试: 电脑端串口工具查看通信数据: AT控制指令 除了上面的数据透传之外,一般硬件还支持内部的控制指令(如设置连接密码、查询硬件地址、主模式连接其他蓝牙等)。 注意:BRTS接GND才能执行控制指令,如图: AT开头是控制指令;非AT开头是透传数据: 这里仅演示了需求硬件状态、MAC地址的指令,当然不同厂商会提供不同的AT指令,具体可查看厂商提供的硬件说明书。
IO口控制 可以使用厂商提供的App进行IO口控制,也可以使用App Inventor 2 编程实现控制IO口电平的高/低,对应LED的开/关。 3、App Inventor 2 开发自己的蓝牙App主要用到 BlueToothLE 拓展,点此查看中文文档。BLE蓝牙的特点是无需配对,设备被扫描后直接连接即可通信。 蓝牙App开发示例demo参考界面如下: 扫描蓝牙设备,代码如下: 扫描完成后,设备列表展示到“列表显示框”组件中: 点击列表中的目标设备(一般硬件文档会有说明,名称会有特别的标识),连接蓝牙设备的代码如下: 开始控制硬件相关IO端口,发送高/低电平,控制LED的开和关,代码如下: 其中:
一个硬件UUID示例如下: UUID分为标准UUID和厂商自定义UUID
|
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed