当前文档版本为 v0.9.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

Solution: Tencent ble iot vehicle

1 功能概述

此项目演示模拟蓝牙感应钥匙功能,当手机足够接近电动车时,会自动解锁电动车。实际该项目通过灯的状态来观察开关,通过距离远近会影响灯的开关以及亮度。

2 环境要求

  • board: pan108xxb1_mesh_dongle

  • uart (option): 显示串口shell

  • 测试硬件:智能手机,微信小程序

  • PC工具: 软件shell工具(支持串口,波特率921600)

  • 确认zephyr同级目录modules文件夹向下:存在 modules\lib\qcloud-iot-ble文件夹。

3 编译和烧录

例程位置:zephyr\samples_panchip\solutions\tencent_ble_iot_vehicle,编译时board请选pan108xxb1_mesh_dongle

编译时会将modules\lib\qcloud-iot-ble\qcloud_llsync文件夹拷贝到tencent_ble_iot_vehicle项目文件夹下,如果编译失败并且qcloud_llsync中内容为空,建议删除qcloud_llsync重新编译。

默认原生支持EVB为pan108xxb1_mesh_dongle

使用 ZAL 工具可以对其进行编译、烧录、打开 VS Code 调试等操作。关于 ZAL 工具的详细介绍请参考:Zephyr APP Launcher 工具介绍

4 演示说明

  1. 将tencent_ble_iot_vehicle烧录至EVB板后,使用shell工具连接上EVB开发板(波特率921600),会显示如下log。通过连续双击tab可以显示出当前可用的命令。

Try to load HW calibration data.. DONE.
*** Booting Zephyr OS build zephyr-v2.7.0-1248-gd03ebd76a3f5  ***
*** llcontroller-v1.0.0-0559423d ***
controller initializing....
Bluetooth initialized
Version:0.0.1
Set up key1 at GPIO_P1 pin 0
c8 ad 65 47 bd d8 qiot debug: bind state: 0 ---> 0
device id : 80Q7CA6M37C8AD6547BDD8 device psk : xo33NXGcLMTo/fuImd2fsA== 
qrcode str : https://iot.cloud.tencent.com/bind?d=80Q7CA6M37C8AD6547BDD8&sig=13b4e90b41dd03bbf6ee3e96edb469be
Advertising stopped
qiot debug: bind state: 0 ---> 1

ble qiot dump: broadcast, length: 17
 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
===============================================
39 C8 AD 65 47 BD D8 38 30 51 37 43 41 36 4D 33 | 9..eG..80Q7CA6M3
37                                              | 7

Advertising successfully started
qiot info: start wait advertising


[00:00:00.002,000] <wrn> bt_hci_core: Failed to set device name (-12)
[00:00:00.100,000] <inf> bt_hci_core: Identity: D4:A3:B3:49:9B:D8 (random)
[00:00:00.100,000] <inf> bt_hci_core: HCI: version 5.1 (0x0a) revision 0x0003, manufacturer 0x07d1
[00:00:00.100,000] <inf> bt_hci_core: LMP: version 5.1 (0x0a) subver 0x0000
[00:00:00.122,000] <inf> bt_adv: Start Advertising as C8:AD:65:47:BD:D8 (random)

uart:~$ 
  1. 打开微信程序,搜索腾讯连连,打开腾讯连连小程序,扫一扫二维码(tencent_ble_iot_vehicle\wechat_qrcode.png),也可以直接参考下图二维码。

    二维码的生成信息在启动log中会显示,见下(也可以参考上段启动log信息):

qrcode str : https://iot.cloud.tencent.com/bind?d=80Q7CA6M37C8AD6547BDD8&sig=13b4e90b41dd03bbf6ee3e96edb469be

使用https://cli.im/此网站,贴入https://iot.cloud.tencent.com/bind?d=80Q7CA6M37C8AD6547BDD8&sig=13b4e90b41dd03bbf6ee3e96edb469be该信息,点击生成二维码即可。

image

demo中示例入网二维码

  1. 配对成功后我们就可以通过微信小程序进行控制了。

image

二轮电动车微信小程序

  1. 启动无感解锁,无感解锁时需要设置小程序的蓝牙权限总是打开。

image

使能无感解锁

5 支持的测试命令

测试命令

功能描述

test set_ble_mac

设置mac地址,同时也是设置device name(三元组信息之一)。tencent wheeler sdk中要求ble mac地址和设备名称是保持一致的。

test set_product_id

设置product id字符信息(三元组信息之一)

test set_secret_key

设置secret字符信息(三元组信息之一)

test save_tripple_in_flash

保存三元组信息到flash,同时重启芯片。三元组信息请同时修改。

test ble_event_report_property

腾讯连连认证测试命令(详情见认证文档)

test ble_event_get_status

腾讯连连认证测试命令(详情见认证文档)

test ble_event_post_warnning

腾讯连连认证测试命令(详情见认证文档)

test ble_event_post_error

腾讯连连认证测试命令(详情见认证文档)

test ble_rssi_log_enable

使能或者关闭rssi log,无感连接时会一直输出rssi log,可能会影响输入命令查看。

image

腾讯qcloud三元组信息

image

通过命令更新三元组信息

我们可以看到更新三元组后重启后广播地址也发生变化了,并且上电打印的key信息和命令设置中的一致。

下框为关闭打开rssi log功能:

uart:~$ test ble_rssi_log_enable 0
ble_set_rssi_log
disable ble_set_rssi_log
uart:~$ test ble_rssi_log_enable 1
ble_set_rssi_log
enable ble_set_rssi_log
uart:~$ 

6 Dongle硬件说明

image

dongle工作状态

  1. K1按键用于清除配对信息。

  2. 红灯用于模拟报警。

  3. 蓝灯用于模拟鸣笛寻车。

  4. 绿色PWM灯指示是否开锁。

7 腾讯云控制台导入物模型

腾讯云控制台新建产品时导入二轮电动车模型时,可以直接使用modules\lib\qcloud-iot-ble\qcloud_llsync\date_template\two_wheeler.json

详情参考以下蓝牙设备接入指引的创建数据模板章节:

https://cloud.tencent.com/document/product/1081/50969

8 RAM/Flash资源使用情况

Memory region         Used Size  Region Size  %age Used
FLASH:      175832 B       256 KB     67.07%
SRAM:       49948 B        50 KB     97.55%