蓝牙智能灯接入实践

最近更新时间:2024-10-28 11:45:12

我的收藏

操作场景

使用 BLE 蓝牙模拟一款智能灯,配合“腾讯连连”小程序实现设备接入,物联网开发平台可以远程控制灯的亮度、颜色、开关,并实时获取智能灯上报到物联网开发平台的数据。
本文档主要指导您如何使用 NRF52832 模组在物联网开发平台创建智能灯产品并通过手机接入。

前提条件

为了通过下面的步骤快速理解该业务流程,需要做好以下准备工作:
准备一块 NRF52832 开发板及其 SDK
下载最新版本设备端 LLSync SDK
安装 Python、JLink 驱动程序。

控制台操作

新建项目

1. 登录 物联网开发平台控制台,选择公共实例或者您购买的标准企业实例进入项目管理页面。
2. 单击新建项目,在新建项目页面,填写项目基本信息,单击保存


项目名称:输入“智能灯演示”或其他名称。
项目描述:按照实际需求填写项目描述。

新建产品

1. 进入该项目的产品列表页面,单击产品开发 > 新建产品
2. 在新建产品页面,填写产品基本信息,单击保存


产品名称:输入“蓝牙智能灯”或其他产品名称。
产品类型:选择智慧生活 > 电工照明 >
设备类型:选择“设备”。
认证方式:选择“密钥认证”。
通信方式:选择“BLE”。
其他选项保持默认。

创建数据模板

1. 打开已创建的蓝牙智能灯产品。
2. 单击数据模板 > 导入 JSON 进入“导入 JSON” 页面。


3. 打开代码中的qcloud_iot_explorer_ble\\samples\\nrf52832\\date_template\\nrf52832.json,如果出现乱码请将您的编辑器修改为 UTF8 编码,将文件中的代码粘贴进来,单击导入



选择设备开发方式

本文采用标准蓝牙协议(LLSync 协议)方式进行开发,在设备开发页面,请选择“基于标准蓝牙协议开发(默认)”的开发方式。如您需要选择“基于自定义蓝牙协议开发”的开发方式,请另参见 H5 自定义开发指南
img



交互开发配置

配置产品在小程序端的控制面板、快捷入口,若不配置则使用系统默认配置。
img

在一些场景中,例如智能手环,在设备绑定期间需要用户操作设备进行确认绑定,此时,可在设备绑定引导配置页面,打开需要用户确认选项,并可配置相关引导文案和引导图。
img



新建设备

设备调试页面中,单击新建设备,输入设备名“ble_device_01”或其他设备名称,单击保存



设备端操作

硬件简介与连接

开发板实物如下:

指示灯与按键的作用如下:
按键1:广播。
按键2:上报事件。
按键3:擦除 flash 内保存的绑定信息。
按键4:上报设备状态或属性,每按一次交替上报。
LED1:开关
LED2:action
LED3:replay
LED4:未使用
连接实物图操作步骤如下:
1.1 使用 USB 线连接开发板左上角串口。
1.2 使用 JLink 连接开发板右下角下载线接口。
1.3 打开左上角电源开关。
1.4 打开设备管理器,确保串口和 JLink 能够正常识别,若不能识别请重新安装驱动。



准备软件环境

1. 前往 NORDIC 官网 下载 nRF5_SDK_15.3.0 及 SoftDevices S132。
2. 前往 NORDIC 官网 下载并安装“nRF Connect for Desktop”。
3. 启动后找到“Programmer”并安装。


4. 烧录蓝牙协议栈:使用 JLink 连接开发板,打开 Programmer,如下图所示:
在“①”处选择连接到开发板的 JLink。
在“②”处打开需要烧录的蓝牙协议栈文件,路径为 nRF5_SDK_15.3.0_59ac345\\components\\softdevice\\s132\\hex\\s132_nrf52_6.1.1_softdevice.hex
单击“③”处Write进行烧写。


注意:
蓝牙协议栈只需烧写一次,之后的开发过程中无需重复烧写。
新开发板可能没有烧写蓝牙协议栈或烧写的蓝牙协议栈版本不正确,强烈建议按上述步骤烧写一次。

下载例程代码

1. 下载 示例程序
2. 拷贝 qcloud-iot-ble-nrf52832 文件夹至 nrf sdk 的示例程序目录下,例如 nRF5_SDK_15.3.0_59ac345\\examples\\ble_peripheral

代码修改与烧录

1. 打开工程 nRF5_SDK_15.3.0_59ac345\\examples\\ble_peripheral\\qcloud-iot-ble-nrf52832\\pca10040\\s132\\arm5_no_packs\\ble_app_blinky_pca10040_s132.uvprojx
2. 打开文件ble_qiot_ble_device.c,找到以下三个宏并修改为您自己的设备信息。


3. 控制台 设备调试页面中选择设备信息子页面,将“设备名称”、“设备密钥”、“产品ID”处内容分别填入 DEVICE_NAMESECRET_KEYPRODUCT_ID


4. 编译下载并运行。

腾讯连连小程序调试

1. 微信主页面下拉并搜索腾讯连连小程序。


2. 单击下方的“+” > 添加设备


3. 按下开发板上的按键1开启蓝牙广播,待扫描到蓝牙设备后单击右侧的连接


4. 我的设备中打开已添加的蓝牙设备。


5. 单击右侧的立即连接连接设备,如连接失败,请再次按下开发板上的按键1开启蓝牙广播。


6. 连接成功后单击电灯开关,可以看到开发版上LED1随之变化。


7. 单击亮度颜色按钮进行设置。
8. 查看串口打印,可以看到亮度、颜色设置成功。