文档

Combo Mesh双通道节点开发文档

更新时间:
一键部署

本文档介绍如何基于TG7100C芯片开发Combo Mesh节点设备(BLE Mesh & WiFi Combo)。

简介

Combo Mesh节点设备基于支持BLE & WiFi的双模芯片,在特定的双模芯片(TG7100C芯片)上实现了双模射频的共存,使得在应用开发时无需感知底层的双模协议,通过配网的步骤能够完成BLE Mesh与WiFi的链路配网绑定,并能够在控制和数据传输时选择合适的链路,使某些特殊情况下设备仍可被控制。

Combo Mesh节点设备的数据通信模型遵循BLE Mesh格式规范,关于BLE Mesh数据格式规范详情请参考蓝牙Mesh设备开发指南,底层通过WiFi链路的数据传输也是使用的BLE Mesh数据格式,不再支持Alink json的物模型格式。

场景说明

  • WiFi未联网,或WiFi联网后断开,此时通过BLE Mesh可控制设备,控制端可以是天猫精灵音箱或天猫精灵App。

  • WiFi已联网,可远程控制设备,也可本地通过BLE Mesh控制设备。

相关限制说明

  • 当前Combo Mesh节点设备只支持天猫精灵生态项目的接入,暂不支持自有品牌项目的接入。

  • 当前Combo Mesh节点设备产品的人机交互>设备面板暂只支持宜控面板

  • 当前Combo Mesh节点设备的数据传输格式只支持BLE Mesh数据格式。

  • 当前Combo Mesh节点设备仅支持走WiFi链路OTA,不支持手机端走蓝牙链路OTA。

TG7100C芯片资料下载

TG7100C芯片相关文档和软件可以访问资源中心获取。image.png

创建产品

生活物联网平台控制台创建产品,详细的账号登录、项目创建、产品创建和配置流程请参考平台操作指南的说明。目前Combo Mesh节点设备只支持天猫精灵生态项目的产品。

产品创建流程

  1. 创建项目

    在新建项目时选择天猫精灵生态项目

    image.png
  2. 创建产品

    详细说明请参考创建产品并定义产品功能。Combo Mesh节点设备必须勾选BLE Mesh & WiFi Combo选项,接入网关协议选择BLE Mesh

    image.png
  3. 配置人机交互

    完成必填配置项,详细说明请参考配置App

    • 在配网引导页面选择蓝牙Mesh配网

      配网引导
    • 在设备面板页面选择宜控面板

      image.png
  4. 生成测试五元组

    目前的平台方案设计要求Combo Mesh节点设备的MAC地址与五元组中的Device Name保持一致。如基于开发板开发,可以在固件运行后通过串口输入MAC指令,查询到芯片当前的MAC地址,并用此MAC地址作为Device Name在设备调试页面申请测试五元组。

    输入MAC指令读取芯片WiFi MAC,查询WiFi MAC地址示例:

    image.png以下图格式输入读取的MAC地址:image.pngimage.png

开发环境与代码编译

1、准备开发环境

请参考编译SDK的详细介绍。

2、下载SDK

请参考获取SDK的步骤获取。

3、编译SDK

请根据以下步骤来编译SDK,如下以Products/example/smart_outlet为例。

  1. 编译宏开关确认,smart_outlet.mk文件中,将CONFIG_BLEMESH_COMBODEV_ENABLE的值设置为1,表示编译Combo Mesh节点设备。

    #combo mesh节点功能
    CONFIG_BLEMESH_COMBODEV_ENABLE ?= 1
  2. 设置固件的版本号,smart_outlet.mk文件中,设置CONFIG_VERSION_STR为对应的固件版本号,用于固件版本管理以及OTA固件升级,在平台进行OTA固件升级时会比对该版本值,因此Combo Mesh节点设备的固件版本号需要在此设置并递增。

    ./build.sh example smart_outlet tg7100cevb MAINLAND ONLINE 1
  3. 编译指令。

    ./build.sh example smart_outlet tg7100cevb MAINLAND ONLINE 1

SDK根目录build.sh文件说明:

根据硬件使用的模组型号和要编译的应用,修改文件中的如下参数。

default_type="example"     //配置产品类型
default_app="smart_outlet" //配置编译的应用名称
default_board="tg7100cevb" //配置编译的模组型号
default_region=MAINLAND    //配置设备的连云区域,配置为MAINLAND或SINGAPORE都可以,设备可以全球范围内激活
default_env=ONLINE         //配置连云环境,默认设置为线上环境(ONLINE)
Debug log:default_debug=0
default_args=""            //配置其他编译参数
//更多介绍请参见README.md

编译完成后,在out/smart_outlet@tg7100cevb/目录下会生成smart_outlet@tg7100cevb.bin文件。该文件为需要烧录到真实设备中的固件。tg7100cevb_ota.bin文件为OTA使用的固件。

image.png
说明

build.sh脚本会自动判断模组的toolchain(交叉编译工具链)是否已经安装,如果没有安装,脚本会自动安装。

编译出错常见问题:

  • 不要使用Windows下Ubuntu子系统,建议使用虚拟机软件安装Ubuntu。

  • 不要在Windows下载解压代码再拷贝到Ubuntu系统中,建议直接在Ubuntu系统内下载和解压代码。

  • 不要把代码存放在Windows共享目录下,然后通过mount挂载到Ubuntu系统里。建议直接在Ubuntu系统内下载和解压代码。

  • 不要通过sudo执行编译指令。

固件烧录与运行

固件工具与开发板

请在资源下载页面获取TG7100C_FlashEnv烧录调试工具。

固件烧录步骤

如下以TG7100C官方开发板为例说明,如果是另外的开发板,请联系相应的开发板厂商获取对应资料。

  • 首先切换开发板短路帽为烧录模式,如下图所示,短路帽前面会有3根空出的引脚:烧录模式.png

  • 打开下载好的烧录工具目录中的TGFlashEnv.exe,点击Finish

    AF810EE0-943C-4C86-B5DD-0D915E8D8777.png

  • 然后会进入烧录界面,Interface选择Uart,并点击Refresh按键,然后如下图所示设置好串口参数,以及选择好对应的烧录文件。确认好配置后,点击Download按钮,并同时按下开发板上的复位按键,即可开始烧录固件。image.png

设备重启与固件运行

需要切换开发板的短路帽为设备使用模式,如下图所示,短路帽前面会有2根空出的引脚:运行模式.png此时串口工具设置波特率为2000000,然后按下开发板的复位按键,就看到设备复位开始运行的日志了。

主要cli指令

  • reset:设备重置,清除设备配网信息。

  • free:查看内存使用情况。image.png

  • linkkey:写入与查看五元组。

调试设备功能

设置五元组

在按照前面的步骤,将设备固件烧录到开发板之后,可以通过linkkey命令设置五元组,然后通过reset命令重置设备。命令说明如下。

  • 设置五元组信息,该五元组信息在飞燕控制台创建的产品与设备信息中找到,在设备上电初始后就需要设置此设备信息:

    linkkey、ProductKey、DeviceName、DeviceSecret、ProductSecret、ProductID

  • 设备重置,清除设备配网信息:

    reset

天猫精灵App配网

在开发板上设置天猫精灵产品的五元组,并重置设备。设备正常启动后会处于待配网状态(一般会维持在待配网状态10分钟),设备会通过BLE广播自己的设备信息。

天猫精灵App可在其设备发现页面发现到处于待配网状态的Combo Mesh节点设备,通过App界面可发起对Combo Mesh节点设备的配网。

在对Combo Mesh节点设备的配网界面,需要输入附近路由器的WiFi SSID和密码,接下来不仅会将Combo Mesh节点设备配入BLE Mesh网络,同时还会使Combo Mesh节点设备的WiFi连上路由器。

说明

注意支持TG7100C蓝牙辅助配网的天猫精灵App版本为V6.3.0及以上版本,请下载更新版本。

猫精combo配网1.jpg猫精combo配网2.jpg

配网连云设备端关键日志

配网状态

命令/动作

预期日志

设备重置

输入cli指令:reset

--------Firmware info--------

收到BLE Mesh配网消息

手机或音箱对设备发起蓝牙Mesh配网

Prov start

解析WiFi ssid和密码信息

收到WiFi配网信息

_parser_wifi_config

连云

连云成功

Cloud Connected

设备OTA说明

下面介绍Combo Mesh节点设备产品OTA的过程,在OTA前必须要确认Combo Mesh节点设备的WiFi连接正常,否则会无法完成OTA过程。

  1. 登录生活物联网平台运营中心。image.png

  2. 进入设备运维>固件升级页面为对应项目下的对应产品添加新版本固件。CONFIG_VERSION_STR = 2.0.0image.png

  3. 获取待升级固件文件和版本号。TG7100C固件编译成功后在readme.txt文件中保存固件的版本信息,tg7100cevb_ota.bin文件即为OTA的bin文件。image.png

  4. 添加固件,注意签名算法需要选择SHA256。image.png

  5. 验证固件。image.png

  6. 进入天猫精灵App,查看待验证设备的设备详情页面,可以看到已有设备升级的提示,点击立即更新即可开始OTA。image.png

量产五元组说明

上述介绍了测试五元组的获取,本节介绍量产阶段如何获取五元组。

生活物联网平台设备量产详细说明请参考量产流程介绍量产设备

天猫精灵项目三元组

对于天猫精灵项目的产品,天猫精灵有MAC地址段,在人机交互-配网引导里面选择蓝牙Mesh配网后,生成三元组(又称设备证书,其中包含ProductKey、DeviceName、DeviceSecret)时可以分配合法MAC地址作为Device Name。

烧录时通过量产烧录工具写入Device Name同时覆盖芯片WiFi MAC即可实现WiFi MAC与Device Name保持一致的要求。

天猫精灵生态项目的产品在量产设备时,选择自动生成即可。三元组自动生成.png

三元组扩展五元组

按以上操作步骤下载的csv格式文件都是三元组清单,需要通过文本处理才能生成符合TG7100C批量烧录工具需要的五元组清单的格式。

注意csv格式文件的处理要保持文本格式,通过文本编辑器可编辑。建议编写一个程序来处理。不要通过Excel编辑,这会将其转为Excel的格式。

下载后的三元组csv清单示例如下:image.png处理后的五元组csv清单示例如下,按文本格式增加ProductSecretProductID的内容。其中第1行的ProductSecretProductID拼写(含大小写)也严格保持一致。image.png

五元组烧录

资源下载页面下载TG7100C批量烧写工具与文档《TG7100C五元组量产工具使用说明》,完成包含五元组的.csv文件导入到数据库后进行烧录。image.png

  • 本页导读 (0)
文档反馈