智能烧水壶 (Bluetooth 版)02——系统创建篇

Posted 三明治开发社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能烧水壶 (Bluetooth 版)02——系统创建篇相关的知识,希望对你有一定的参考价值。

1、产品创建

  • 首先进入 涂鸦智能IoT平台,创建一个智能烧水壶产品。通过点击**“创建产品”->“找不到品类”进行自定义创建,填入“产品名称”“产品描述”,选择通讯协议为“蓝牙”,然后点击下方的“创建产品”**即可完成产品创建。

​ 产品创建后,进入到开发界面,可以看到左上角有产品的PID,我们将在接下来的开发环境搭建中用到它。

  • 接下来进行产品功能定义。点击自定义功能右侧的**“添加功能”进行功能定义,本案例中添加了如下图所示的6项功能:“煮沸”“保温”“当前温度”“保温温度”“用水类型“”故障“**。功能点可以根据需求自行增减,功能点名称以及属性也可根据需求自行修改。

  • 完成功能定义后,我们还需要设置设备面板,可以根据喜好选择一种面板进行编辑,这里我们使用自由配置面板,编辑完成后,我们可以按照提示用“涂鸦智能 App”扫码体验手机控制。

  • 然后进入硬件开发。我们选择**“涂鸦标准模组SDK开发”“BT3L Bluetooth 模组“,选择完成后,点击”采购模组“下方的”免费领取10个激活码“即可获取该产品对应的10组uuid**、authkeymac地址

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      "ihqaiy9c"
    

    2)uuid 、auth key、mac地址修改

    tuya_ble_app_demo.c 填入申请的授权码(uuid 、auth key、mac地址,选择10组中任意1组填入):

    static const char auth_key_test[] = "CuvQxKaA5ccA2QBLY2M2sgZr69kUrmLi";
    static const char device_id_test[] = "tuya4fea76a9b3f0";
    static const uint8_t mac_test[6] = {0xCA, 0x4F, 0x62, 0x4D, 0x23, 0xDC}; /* 实际mac地址 -- DC:23:4D:62:4F:CA */
    

    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 、auth key、mac地址,以及版本号等其他信息:

    程序启动后,我们还可以使用”涂鸦智能App“搜索到我们的设备并进行绑定,可以看到设备名称显示为我们创建的产品名称”智能烧水壶“。至此,智能烧水壶Demo开发前的准备工作就完成了。

以上是关于智能烧水壶 (Bluetooth 版)02——系统创建篇的主要内容,如果未能解决你的问题,请参考以下文章

智能烧水壶(Bluetooth LE版)——硬件设计篇

智能烧水壶 (Bluetooth版)04——云端控制篇

智能烧水壶(WIFI版)01——硬件设计篇

涂鸦智能烧水壶软件实现之TS02N触摸按键驱动

涂鸦智能烧水壶之嵌入式系统创建

涂鸦智能烧水壶软件实现之云端控制(完结)