APP Invertor 制作BLE蓝牙APP 控制esp32蓝牙小车


  经过几天的学习,终于成功制作了一个属于自己的蓝牙APP,APP可以控制蓝牙小车。
  使用 App Inventor 2 WxBit 汉化增强版 编写APP,建议使用这个,不同的APP Invertor 版本里面会有所差异。我的目的是为esp32 连接蓝牙,所以使用传统的蓝牙客户端是无法连接成功的,如果使用传统的蓝牙客户端会在连接时报 507错误。因为传统的蓝牙模块不是BLE (低功耗模块),在蓝牙4.0之前的都是传统蓝牙模块。因此我们需要下载 BLE插件。需要APP工程文件和代码的留言。

1、插件下载

BLE插件下载:BluetoothLE
截至目前插件最新是version 20200828

在这里插入图片描述

1.1、导入插件

在这里插入图片描述

2、APP界面展示

界面由文本框、按键、标签结合相应的布局构成。
在这里插入图片描述

2.1 、可视化编程

初始化,连接蓝牙:
需要说明一下,收发服务的UUID 是不同的2个值,定义在esp32 代码里面。
在这里插入图片描述
接收数据以及按键:
在这里插入图片描述
在这里插入图片描述
里面的特征UUID在发送端和接收端是不同的,不要混淆使用。
代码里面UUID:
定义于ESP32代码里面。
在这里插入图片描述

3、esp32 蓝牙代码

  这个代码里面仅仅有蓝牙接收和发送数据部分,没有实例小车运行代码。小车的控制信号都已经收到了,实例小车的运行只需要根据收到的信号,做出不同的反应就可以。

// 包含所必需的库
#include <BLEDevice.h>
#include <BLEServer.h>
#include <BLEUtils.h>
#include <BLE2902.h>

BLEServer *pServer = NULL;
BLECharacteristic *pTxCharacteristic;
bool deviceConnected = false;
bool oldDeviceConnected = false;

char BLEbuf[32] = {
   0};
String data = "";

// 定义收发服务的UUID(唯一标识)
#define SERVICE_UUID           "6E400001-B5A3-F393-E0A9-E50E24DCCA9E"
// RX串口标识
#define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E"
// TX串口标识
#define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E"

 
class MyServerCallbacks:
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值