1、产品创建
-
首先进入 涂鸦 IoT 平台,创建一个智能烧水壶产品。通过 创建产品 - 找不到品类 进行自定义创建,填入 产品名称 和 产品描述,选择通讯协议为 蓝牙,然后点击下方的 创建产品 即可完成产品创建。
产品创建后,进入到开发界面,可以看到左上角有产品的 PID,我们将在接下来的开发环境搭建中用到它。
-
接下来进行产品 功能定义。点击自定义功能右侧的 添加功能 进行功能定义,本案例中添加了如下图所示的 6 项功能:“煮沸”、“保温”、“当前温度”、“保温温度”、“用水类型” 和 “故障”。功能点可以根据需求自行增减,功能点名称以及属性也可根据需求自行修改。
-
完成功能定义后,我们还需要设置 设备面板,可以根据喜好选择一种面板进行编辑,这里我们使用自由配置面板,编辑完成后,我们可以按照提示用 涂鸦智能 App 扫码体验手机控制。
-
然后进入硬件开发。我们选择 涂鸦标准模组SDK开发 和 BT3L Bluetooth 模组,选择完成后,点击 采购模组 下方的 免费领取10个激活码 即可获取该产品对应的10组 uuid、authkey 和 mac 地址。
2、开发环境搭建
本案例使用涂鸦 BLE SDK 和 Telink 芯片平台 TLSR825x 进行开发,下面我们开始搭建开发环境。
-
BLE SDK 获取
下载 TLSR825x 对应的BLE SDK Demo:tuya_ble_sdk_Demo_Project_tlsr8253.git
我们将在
\ble_sdk_multimode\tuya_ble_app
中进行智能烧水壶应用代码的编写。 -
IDE 下载与安装
下载 Telink 官方 IDE 并安装:Eclipse (IDE for TLSR8 Chips)( 注意!必须安装在C盘 )
-
代码修改与编译
将代码导入 Eclipse,可以直接在 Eclipse 进行代码修改,也可以先使用自己熟悉的代码编辑器。
1)PID修改
在
tuya_ble_app_demo.h
中填入创建好的智能烧水壶的 PID:#define APP_PRODUCT_ID "xxxxxxxx"
2)uuid 、auth key、mac 地址修改
在
tuya_ble_app_demo.c
填入申请的授权码(uuid 、auth key、mac 地址,选择10组中任意1组填入):static const char auth_key_test[] = "yyyyyyyy"; static const char device_id_test[] = "zzzzzzzz"; static const uint8_t mac_test[6] = {0x12, 0x34, 0x56, 0x4D, 0x23, 0xDC}; /* 实际mac地址 -- DC:23:4D:56:34:12 */
3)修改以下代码使授权码生效
在
tuya_ble_app_demo.c
中找到tuya_ble_app_init()
函数,将device_param.device_id_len = 0;
为device_param.device_id_len = 16;
(可以参考此行代码的注释)。4)日志口修改
由于 I/O 资源有限,需要在
vendor\8258_module\app_config.h
中将日志口修改为GPIO_PD7
:#define UART_PRINT_DEBUG_ENABLE 1 #define PRINT_BAUD_RATE 230400 /* 波特率 */ #define DEBUG_INFO_TX_PIN GPIO_PD7 /* 日志口,下面四行宏名同步修改 */ #define PD7_FUNC AS_GPIO #define PD7_INPUT_ENABLE 0 #define PD7_OUTPUT_ENABLE 1 #define PD7_DATA_OUT 1
5)编译代码
使用Eclipse对代码进行编译,输出文件目录为
ble_sdk_multimode\8258_module\8258_module.bin
;编译前需修改工程配置中的头文件包含路径,根据SDK中的文件夹名称进行相应修改,修改方法参考下图: -
烧录工具下载与安装
下载 Telink 官方烧录工具并安装:Burning and Debugging Tools for all Series
-
程序下载与调试
按下图将电路板与 Telink 烧录器连接:
打开 BDT,按下图步骤进行芯片选择、打开文件、下载、复位(Tips:如果需要烧录的文件路径不变,重新编译后不需要重复 “打开文件” 这一步;如果下载时提示 “Swire err” 可以点击 “SWS” 进行刷新):
程序载入后可以使用串口调试工具进行日志查看,按照之前修改的日志口进行连接,波特率选择 230400,复位后将看到以下日志输出,包括我们之前修改的 PID、uuid 、authkey、mac 地址,以及版本号等其他信息:
程序启动后,我们还可以使用 “涂鸦智能App” 搜索到我们的设备并进行绑定,可以看到设备名称显示为我们创建的产品名称 “智能烧水壶”。至此,智能烧水壶 Demo 开发前的准备工作就完成了。