TSC_WL_EVK接入实例
2022-03-28

日期:

浏览量:

大家好,相信随着TSC_WL_EVK的陆续发货,很多小伙伴已经顺利拿到了此次联合发布的评估板。现在就来手把手的教大家如何进行一个最基本的功能开发。在开始之前,先说明一下此实例中的一些项目配置和软件安装参考了Github上的TencentOS tiny定制开发板EVB_WL快速入门指南文档 (https://github.com/Tencent/TencentOS-tiny/blob/master/doc/26.TencentOS_tiny_EVB_WL_Quick_Start.md)。此实例中提供的工程和软件包仅用于帮助使用者尽快上手,最终版本更新仍以TencentOS Tiny团队在Github或者相近代码库中的更新为准。


接下来我们分两个步骤进行一个最基本的功能开发:

1.检查板子可用性,下载板子对应工程进行基本配置

2.在 腾讯云 - 物联网开发平台 上新建项目并进行配置


1.   检查板子可用性,下载工程文件进行基本配置

1.1  检查板子可用性

大家收到的板子包含了TSC_WL_EVK板子x1、micro USB数据线x1、2.54mm间距40p排针x1、470~510MHz SMA LoRa天线x1、PCB隔离座x4,如下图所示。开发者需要自行准备的工具包含ST-LINK或J-LINK调试器x1,连接板子的杜邦线x4,调试用的电脑x1 (安装MDK-KEIL开发工具,建议5.26以上版本)。


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


首先我们需要给板子焊上几个排针(最少需要焊接SWD口的5口排针),如下图所示:


TSC_WL_EVK接入实例


连接ST-LINK到板子上(如果调试器有3.3V供电接口,那可以先不接Micro USB线),如下图:


TSC_WL_EVK接入实例


连接ST-LINK到电脑的USB接口上,检查供电是否正常,如下图:


TSC_WL_EVK接入实例


1.2  开发板对应的原理图如下:


1.3  开发板对应的接口示意图如下


TSC_WL_EVK接入实例


1.4  下载板子对应的工程文件

方式一:从智芯云共享的网盘中下载,下载信息如下

链接:https://pan.baidu.com/s/10BqWjgMZT4_pGWaifh8EyQ

提取码:hgxd

其中包含TSC_WL_EVK开发包和STM32WLxx的KEIL的器件库包,如下图


TSC_WL_EVK接入实例


方式二:从Github或腾讯码云等TencentOS-Tiny开源代码仓库中下载TOS工程包。


TSC_WL_EVK接入实例


1.5  安装KEIL器件库包

在安装有MDK-KEIL的电脑上将上面下载的STM32WLxx系列的器件库包(Keil.STM32WLxx_DFP.1.0.2_OEM.pack)安装到KEIL中。


1.6 检查板子是否上锁

在ST官网下载并安装stm32cubeprog,使用STLINK连接板子的SWD接口(注意杜邦线保持可靠连接,且stm32cubeprog目前只支持STLINK)。接好后打开stm32cubeprogammer并点击右上角的Connect连接按钮,注意右下角的连接器件的状态和下方提示(如果下方没有提示Data read failed, 可以直接跳到1.7进行项目配置):


点击选择左侧的OB图标按钮,并按图中的流程进行解锁:


成功后点击Disconnect断开连接:


1.7 硬件SWD接口连接检查

下载并解压缩工程包以后,在 oardRHF0M0E5_STM32WLE5xxKEILlorawan目录下用KEIL打开TencentOS_Tiny.uvprojx项目工程文件(下载的工程包解压缩后保存在硬盘的位置上最好不要有中文目录)


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


打开工程后,点击Option按钮打开项目选项窗口,选择调试器为ST-Link(或者J-link),然后点击其右侧的Settings按钮。


取消勾选Check version on startup避免每次打开自动检查ST-LINK的版本,然后在Target Com下方的Port选项中选择SW 模式,点击 确定 返回 项目选项 窗口后,重新点击ST-Link Debugger右侧的Settings进入查看,此时右侧的SW Device列表下面应该会出现一个SWD设备编号,如下图所示。此时,硬件已经完全检查完毕。


1.8  实例工程配置

在KEIL项目工程窗口中选择打开APP目录下的Commissioning.h文件,修改框选的两种长度的KEY为自己定义的密钥,一个长度为32bytes,一个长度为16bytes,长度相同的Key应设置为相同值。如下图:


设置好以后点击KEIL的Build按钮,看看下方状态栏是否有提示错误信息。


TSC_WL_EVK接入实例


如果没有编译错误,此时可以点击下载烧录按钮将编译好的固件烧录到TSC_WL_EVK板子上。


TSC_WL_EVK接入实例


2.  在 腾讯云 - 物联网开发平台 上新建项目并进行配置

在腾讯云上注册一个开发账号,并在物联网开发平台上新建一个项目。腾讯云登录界面如下:


物联网开发平台网址及新建项目连接如下图:


2.1  产品开发

点击新建项目按钮后,输入项目名称和描述,并点击保存。


保存后,点击项目列表中的产品框,进入产品开发界面。


在产品开发界面下,点击新建产品按钮


TSC_WL_EVK接入实例


输入产品名称信息,选择“设备”,“密钥认证”,“LoRaWAN”通信方式,“自定义透传”数据协议,然后点击保存。


TSC_WL_EVK接入实例


保存后,点击打开刚才新建的产品。


TSC_WL_EVK接入实例


在数据模板页面下,点击导入JSON模板,复制并粘贴以下Supowang的参考代码,并点击导入。


{  'version': '1.0',  'profile': {    'ProductId': 'F2G256SY2G',    'CategoryId': '1'  },  'properties': [    {      'id': 'temperature',      'name': '温度',      'desc': '',      'mode': 'r',      'define': {        'type': 'int',        'min': '-100',        'max': '155',        'start': '0',        'step': '1',        'unit': '摄氏度'      },      'required': false    },    {      'id': 'humidity',      'name': '湿度',      'desc': '',      'mode': 'rw',      'define': {        'type': 'int',        'min': '0',        'max': '100',        'start': '0',        'step': '1',        'unit': '%'      },      'required': false    },    {      'id': 'period',      'name': '上报周期',      'desc': '',      'mode': 'rw',      'define': {        'type': 'int',        'min': '0',        'max': '3600',        'start': '0',        'step': '1',        'unit': '秒'      },      'required': false    }  ],  'events': [],  'actions': []}


TSC_WL_EVK接入实例


导入完成后,如下图所示,点击下一步按钮。


TSC_WL_EVK接入实例


在设备开发标签中,可以进行设备的数据解析功能配置并测试。


可以参考下图的参数进行数据解析的调试,把参考代码拷贝分别拷贝到上行数据解析和下行数据解析的输入框中,在下方模拟调试窗口中可以手工输入数据并点击运行看解析结果是否正确。

设备上行数据模拟调试结果如下图:


上行数据解析参考代码


function RawToProtocol(fPort, bytes) {    var data = {            'method': 'report',            'clientToken' : new Date(),                    'params' : {}        };        data.params.temperature = bytes[0];        data.params.humidity = bytes[1];        data.params.period = bytes[2] | (bytes[3] <<< span=''> 8);        return data;}


下行数据解析参考代码


function ProtocolToRaw(obj) {var data = new Array();        data[0] = 2;// fport=2        data[1] = 0;// unconfirmed mode        data[2] = obj.params.period & 0x00FF;        data[3] = (obj.params.period >> 8) & 0x00FF;    return data;}


设备下行数据模拟调试结果如下图:


TSC_WL_EVK接入实例


调试完毕后点击提交按钮进入下一步交互开发页面。


TSC_WL_EVK接入实例


此处可以进行一些交互开发中的配置,例如自定义产品图片中可以修改设备在后续腾讯连连界面下显示的设备图片等。


TSC_WL_EVK接入实例


在交互开发的面板编辑界面,可以对设备在腾讯连连中的一些UI进行设置和调整,如下图:


点击下一步可以进入设备调试的界面。


我们在这里点击新建设备按钮添加刚才我们编译好的板子对应的产品,在弹出的窗口中输入设备名称,DevEUI和AppKey。此处DevEUI为刚才在KEIL工程中输入的16bytes设备编号,AppKey为输入的32bytes的设备密钥。本截图的示意DevEUI和AppKey仅为演示用途。


点击保存后,在设备列表中会出现刚才新建的设备名称,如下图:


TSC_WL_EVK接入实例


点击设备名称右方的调试按钮,可以进入在线调试的界面,如下图:


TSC_WL_EVK接入实例


此时给刚才下载烧录好固件的TSC_WL_EVK板子通电,等待片刻,应该可以在设备在线调试右侧的窗口中看到板子上传上来的数据,如下图:


TSC_WL_EVK接入实例


如果是通过micro USB线缆连接到TSC_WL_EVK的板子上,并安装了CH340 USB转串口的驱动程序,可以在电脑的串口通信助手中看到板子打印出来的调试信息,如下图(如果显示end node joined,则表示入网成功啦):


2.2  数据开发

现在我们可以在数据开发界面新建一个数据流控制逻辑,进行一个模拟高温报警的设定。点击物联网开发平台页面左侧的数据开发菜单,点击右方的新建数据流。


输入数据流名称,如下图:


在数据流编辑界面,我们拖入设备数据,数据过滤和公众号推送三个流程框并将他们连接起来,如下图:


TSC_WL_EVK接入实例


点击设备数据按钮,在右侧进行设备数据的设置,选中设备的温度信息,如下图:


TSC_WL_EVK接入实例


点击数据过滤按钮,在右侧进行数据过滤的设置,这里我们选择温度大等于50度的条件,然后点击确定:


点击公众号推送按钮,在右侧输入推送的标题和内容,还可以把报警时实时的温度信息输入进去,并点击确定,如下图:


条件都设定好以后,我们点击界面上的启用按钮启动报警功能。


TSC_WL_EVK接入实例


返回到产品开发的设备调试界面,点击刚才创建的设备的二维码,如下图:


TSC_WL_EVK接入实例


用微信搜索并打开腾讯连连的小程序,在腾讯连连的小程序中扫描弹出的二维码并进行绑定,如下图:


绑定设备成功后会在腾讯连连小程序中看到我们建立的设备,如下图:


点击设备名称,我们可以进去查看设备实时更新的数据状态,如下图:


TSC_WL_EVK接入实例


2.3 高温报警工程项目修改

现在我们在腾讯连连中没有收到任何前面设定的高温报警的信息,原因是一开始的板子的实例工程,对于温度的数据处理是一个固定的值,我们需要对板子的KEIL工程进行一个小小的修改以便模拟产生高温的情形。

我们在电脑上用KEIL重新打开刚才的工程,找到APP目录下的app_lorawan.c文件,对我们要上传的数据进行一个预处理,让温度的数据每一次增加20然后再发送,如下图:


TSC_WL_EVK接入实例


修改完毕后,我们重新点击Build按钮进行编译并下载新的固件到板子上,按一次板子上的RST按钮对程序进行复位重启。等待片刻,板子重新上线后,可以观察腾讯连连小程序中设备的温度信息。我们在微信中搜索并关注腾讯连连的公众号,当温度超过50度时,在腾讯连连公众号的推送信息中会收到高温提醒的报警信息,如下图:


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


最后的彩蛋,也可以用腾讯云提供的物联网小程序开发SDK做的一个简单小程序,就可以做自己风格的小程序界面。这部分就留给大家自己研究了。


TSC_WL_EVK接入实例


大家好,相信随着TSC_WL_EVK的陆续发货,很多小伙伴已经顺利拿到了此次联合发布的评估板。现在就来手把手的教大家如何进行一个最基本的功能开发。在开始之前,先说明一下此实例中的一些项目配置和软件安装参考了Github上的TencentOS tiny定制开发板EVB_WL快速入门指南文档 (https://github.com/Tencent/TencentOS-tiny/blob/master/doc/26.TencentOS_tiny_EVB_WL_Quick_Start.md)。此实例中提供的工程和软件包仅用于帮助使用者尽快上手,最终版本更新仍以TencentOS Tiny团队在Github或者相近代码库中的更新为准。


接下来我们分两个步骤进行一个最基本的功能开发:

1.检查板子可用性,下载板子对应工程进行基本配置

2.在 腾讯云 - 物联网开发平台 上新建项目并进行配置


1.   检查板子可用性,下载工程文件进行基本配置

1.1  检查板子可用性

大家收到的板子包含了TSC_WL_EVK板子x1、micro USB数据线x1、2.54mm间距40p排针x1、470~510MHz SMA LoRa天线x1、PCB隔离座x4,如下图所示。开发者需要自行准备的工具包含ST-LINK或J-LINK调试器x1,连接板子的杜邦线x4,调试用的电脑x1 (安装MDK-KEIL开发工具,建议5.26以上版本)。


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


首先我们需要给板子焊上几个排针(最少需要焊接SWD口的5口排针),如下图所示:


TSC_WL_EVK接入实例


连接ST-LINK到板子上(如果调试器有3.3V供电接口,那可以先不接Micro USB线),如下图:


TSC_WL_EVK接入实例


连接ST-LINK到电脑的USB接口上,检查供电是否正常,如下图:


TSC_WL_EVK接入实例


1.2  开发板对应的原理图如下:


1.3  开发板对应的接口示意图如下


TSC_WL_EVK接入实例


1.4  下载板子对应的工程文件

方式一:从智芯云共享的网盘中下载,下载信息如下

链接:https://pan.baidu.com/s/10BqWjgMZT4_pGWaifh8EyQ

提取码:hgxd

其中包含TSC_WL_EVK开发包和STM32WLxx的KEIL的器件库包,如下图


TSC_WL_EVK接入实例


方式二:从Github或腾讯码云等TencentOS-Tiny开源代码仓库中下载TOS工程包。


TSC_WL_EVK接入实例


1.5  安装KEIL器件库包

在安装有MDK-KEIL的电脑上将上面下载的STM32WLxx系列的器件库包(Keil.STM32WLxx_DFP.1.0.2_OEM.pack)安装到KEIL中。


1.6 检查板子是否上锁

在ST官网下载并安装stm32cubeprog,使用STLINK连接板子的SWD接口(注意杜邦线保持可靠连接,且stm32cubeprog目前只支持STLINK)。接好后打开stm32cubeprogammer并点击右上角的Connect连接按钮,注意右下角的连接器件的状态和下方提示(如果下方没有提示Data read failed, 可以直接跳到1.7进行项目配置):


点击选择左侧的OB图标按钮,并按图中的流程进行解锁:


成功后点击Disconnect断开连接:


1.7 硬件SWD接口连接检查

下载并解压缩工程包以后,在 oardRHF0M0E5_STM32WLE5xxKEILlorawan目录下用KEIL打开TencentOS_Tiny.uvprojx项目工程文件(下载的工程包解压缩后保存在硬盘的位置上最好不要有中文目录)


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


打开工程后,点击Option按钮打开项目选项窗口,选择调试器为ST-Link(或者J-link),然后点击其右侧的Settings按钮。


取消勾选Check version on startup避免每次打开自动检查ST-LINK的版本,然后在Target Com下方的Port选项中选择SW 模式,点击 确定 返回 项目选项 窗口后,重新点击ST-Link Debugger右侧的Settings进入查看,此时右侧的SW Device列表下面应该会出现一个SWD设备编号,如下图所示。此时,硬件已经完全检查完毕。


1.8  实例工程配置

在KEIL项目工程窗口中选择打开APP目录下的Commissioning.h文件,修改框选的两种长度的KEY为自己定义的密钥,一个长度为32bytes,一个长度为16bytes,长度相同的Key应设置为相同值。如下图:


设置好以后点击KEIL的Build按钮,看看下方状态栏是否有提示错误信息。


TSC_WL_EVK接入实例


如果没有编译错误,此时可以点击下载烧录按钮将编译好的固件烧录到TSC_WL_EVK板子上。


TSC_WL_EVK接入实例


2.  在 腾讯云 - 物联网开发平台 上新建项目并进行配置

在腾讯云上注册一个开发账号,并在物联网开发平台上新建一个项目。腾讯云登录界面如下:


物联网开发平台网址及新建项目连接如下图:


2.1  产品开发

点击新建项目按钮后,输入项目名称和描述,并点击保存。


保存后,点击项目列表中的产品框,进入产品开发界面。


在产品开发界面下,点击新建产品按钮


TSC_WL_EVK接入实例


输入产品名称信息,选择“设备”,“密钥认证”,“LoRaWAN”通信方式,“自定义透传”数据协议,然后点击保存。


TSC_WL_EVK接入实例


保存后,点击打开刚才新建的产品。


TSC_WL_EVK接入实例


在数据模板页面下,点击导入JSON模板,复制并粘贴以下Supowang的参考代码,并点击导入。


{  'version': '1.0',  'profile': {    'ProductId': 'F2G256SY2G',    'CategoryId': '1'  },  'properties': [    {      'id': 'temperature',      'name': '温度',      'desc': '',      'mode': 'r',      'define': {        'type': 'int',        'min': '-100',        'max': '155',        'start': '0',        'step': '1',        'unit': '摄氏度'      },      'required': false    },    {      'id': 'humidity',      'name': '湿度',      'desc': '',      'mode': 'rw',      'define': {        'type': 'int',        'min': '0',        'max': '100',        'start': '0',        'step': '1',        'unit': '%'      },      'required': false    },    {      'id': 'period',      'name': '上报周期',      'desc': '',      'mode': 'rw',      'define': {        'type': 'int',        'min': '0',        'max': '3600',        'start': '0',        'step': '1',        'unit': '秒'      },      'required': false    }  ],  'events': [],  'actions': []}


TSC_WL_EVK接入实例


导入完成后,如下图所示,点击下一步按钮。


TSC_WL_EVK接入实例


在设备开发标签中,可以进行设备的数据解析功能配置并测试。


可以参考下图的参数进行数据解析的调试,把参考代码拷贝分别拷贝到上行数据解析和下行数据解析的输入框中,在下方模拟调试窗口中可以手工输入数据并点击运行看解析结果是否正确。

设备上行数据模拟调试结果如下图:


上行数据解析参考代码


function RawToProtocol(fPort, bytes) {    var data = {            'method': 'report',            'clientToken' : new Date(),                    'params' : {}        };        data.params.temperature = bytes[0];        data.params.humidity = bytes[1];        data.params.period = bytes[2] | (bytes[3] <<< span=''> 8);        return data;}


下行数据解析参考代码


function ProtocolToRaw(obj) {var data = new Array();        data[0] = 2;// fport=2        data[1] = 0;// unconfirmed mode        data[2] = obj.params.period & 0x00FF;        data[3] = (obj.params.period >> 8) & 0x00FF;    return data;}


设备下行数据模拟调试结果如下图:


TSC_WL_EVK接入实例


调试完毕后点击提交按钮进入下一步交互开发页面。


TSC_WL_EVK接入实例


此处可以进行一些交互开发中的配置,例如自定义产品图片中可以修改设备在后续腾讯连连界面下显示的设备图片等。


TSC_WL_EVK接入实例


在交互开发的面板编辑界面,可以对设备在腾讯连连中的一些UI进行设置和调整,如下图:


点击下一步可以进入设备调试的界面。


我们在这里点击新建设备按钮添加刚才我们编译好的板子对应的产品,在弹出的窗口中输入设备名称,DevEUI和AppKey。此处DevEUI为刚才在KEIL工程中输入的16bytes设备编号,AppKey为输入的32bytes的设备密钥。本截图的示意DevEUI和AppKey仅为演示用途。


点击保存后,在设备列表中会出现刚才新建的设备名称,如下图:


TSC_WL_EVK接入实例


点击设备名称右方的调试按钮,可以进入在线调试的界面,如下图:


TSC_WL_EVK接入实例


此时给刚才下载烧录好固件的TSC_WL_EVK板子通电,等待片刻,应该可以在设备在线调试右侧的窗口中看到板子上传上来的数据,如下图:


TSC_WL_EVK接入实例


如果是通过micro USB线缆连接到TSC_WL_EVK的板子上,并安装了CH340 USB转串口的驱动程序,可以在电脑的串口通信助手中看到板子打印出来的调试信息,如下图(如果显示end node joined,则表示入网成功啦):


2.2  数据开发

现在我们可以在数据开发界面新建一个数据流控制逻辑,进行一个模拟高温报警的设定。点击物联网开发平台页面左侧的数据开发菜单,点击右方的新建数据流。


输入数据流名称,如下图:


在数据流编辑界面,我们拖入设备数据,数据过滤和公众号推送三个流程框并将他们连接起来,如下图:


TSC_WL_EVK接入实例


点击设备数据按钮,在右侧进行设备数据的设置,选中设备的温度信息,如下图:


TSC_WL_EVK接入实例


点击数据过滤按钮,在右侧进行数据过滤的设置,这里我们选择温度大等于50度的条件,然后点击确定:


点击公众号推送按钮,在右侧输入推送的标题和内容,还可以把报警时实时的温度信息输入进去,并点击确定,如下图:


条件都设定好以后,我们点击界面上的启用按钮启动报警功能。


TSC_WL_EVK接入实例


返回到产品开发的设备调试界面,点击刚才创建的设备的二维码,如下图:


TSC_WL_EVK接入实例


用微信搜索并打开腾讯连连的小程序,在腾讯连连的小程序中扫描弹出的二维码并进行绑定,如下图:


绑定设备成功后会在腾讯连连小程序中看到我们建立的设备,如下图:


点击设备名称,我们可以进去查看设备实时更新的数据状态,如下图:


TSC_WL_EVK接入实例


2.3 高温报警工程项目修改

现在我们在腾讯连连中没有收到任何前面设定的高温报警的信息,原因是一开始的板子的实例工程,对于温度的数据处理是一个固定的值,我们需要对板子的KEIL工程进行一个小小的修改以便模拟产生高温的情形。

我们在电脑上用KEIL重新打开刚才的工程,找到APP目录下的app_lorawan.c文件,对我们要上传的数据进行一个预处理,让温度的数据每一次增加20然后再发送,如下图:


TSC_WL_EVK接入实例


修改完毕后,我们重新点击Build按钮进行编译并下载新的固件到板子上,按一次板子上的RST按钮对程序进行复位重启。等待片刻,板子重新上线后,可以观察腾讯连连小程序中设备的温度信息。我们在微信中搜索并关注腾讯连连的公众号,当温度超过50度时,在腾讯连连公众号的推送信息中会收到高温提醒的报警信息,如下图:


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


最后的彩蛋,也可以用腾讯云提供的物联网小程序开发SDK做的一个简单小程序,就可以做自己风格的小程序界面。这部分就留给大家自己研究了。


TSC_WL_EVK接入实例

芯云Smart Pro全彩客制机械键盘

该方案针对当下火爆的竞技游戏市场,采用高性能ARM CORTEX-M4 32bit MCU以及双矩阵全彩色LED驱动IC设计。全速USB通讯协议,满足竞技游戏中对相应速度的要求。同时支持USB在线更新程序,适应不断发展的PC外设市场。

Smart Pro全彩客制机械键盘

Smart Pro全彩客制机械键盘

Smart Pro全彩客制机械键盘

Smart Pro全彩客制机械键盘

Smart Pro全彩客制机械键盘

Smart Pro移植精简高效的实时操作系统以及成熟的QMK(Quantum Mechanical Keyboard)平台。采用全新VIA PROTOCOL 11,在支持所有按键任意改键改灯效的同时,新增对旋钮的在线改键支持。免驱动支持WINDOW/ANDROID/IOS


                                                                                              


硬件方面,核心处理器采用兆易创新GD32微处理器,Cortex M4内核,最高运行频率120MHZ, 128K ROM, 32RAM,领先业界。全速USB2.0 TYPE-C接口,报告率1000HZ,响应迅速。每个按键都采用二极管处理,内置去抖动算法,实现全键盘无冲(NKRO)。采用两颗艾为(AWINIC)专用矩阵驱动IC驱动,每颗LED独立控制,支持256等级PWM40余种炫酷灯光效果可以选,RGB边框灯可以做客户化定制。


Smart Pro全彩客制机械键盘
Smart Pro全彩客制机械键盘Smart Pro全彩客制机械键盘Smart Pro全彩客制机械键盘


大家好,相信随着TSC_WL_EVK的陆续发货,很多小伙伴已经顺利拿到了此次联合发布的评估板。现在就来手把手的教大家如何进行一个最基本的功能开发。在开始之前,先说明一下此实例中的一些项目配置和软件安装参考了Github上的TencentOS tiny定制开发板EVB_WL快速入门指南文档 (https://github.com/Tencent/TencentOS-tiny/blob/master/doc/26.TencentOS_tiny_EVB_WL_Quick_Start.md)。此实例中提供的工程和软件包仅用于帮助使用者尽快上手,最终版本更新仍以TencentOS Tiny团队在Github或者相近代码库中的更新为准。


接下来我们分两个步骤进行一个最基本的功能开发:

1.检查板子可用性,下载板子对应工程进行基本配置

2.在 腾讯云 - 物联网开发平台 上新建项目并进行配置


1.   检查板子可用性,下载工程文件进行基本配置

1.1  检查板子可用性

大家收到的板子包含了TSC_WL_EVK板子x1、micro USB数据线x1、2.54mm间距40p排针x1、470~510MHz SMA LoRa天线x1、PCB隔离座x4,如下图所示。开发者需要自行准备的工具包含ST-LINK或J-LINK调试器x1,连接板子的杜邦线x4,调试用的电脑x1 (安装MDK-KEIL开发工具,建议5.26以上版本)。


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


首先我们需要给板子焊上几个排针(最少需要焊接SWD口的5口排针),如下图所示:


TSC_WL_EVK接入实例


连接ST-LINK到板子上(如果调试器有3.3V供电接口,那可以先不接Micro USB线),如下图:


TSC_WL_EVK接入实例


连接ST-LINK到电脑的USB接口上,检查供电是否正常,如下图:


TSC_WL_EVK接入实例


1.2  开发板对应的原理图如下:


1.3  开发板对应的接口示意图如下


TSC_WL_EVK接入实例


1.4  下载板子对应的工程文件

方式一:从智芯云共享的网盘中下载,下载信息如下

链接:https://pan.baidu.com/s/10BqWjgMZT4_pGWaifh8EyQ

提取码:hgxd

其中包含TSC_WL_EVK开发包和STM32WLxx的KEIL的器件库包,如下图


TSC_WL_EVK接入实例


方式二:从Github或腾讯码云等TencentOS-Tiny开源代码仓库中下载TOS工程包。


TSC_WL_EVK接入实例


1.5  安装KEIL器件库包

在安装有MDK-KEIL的电脑上将上面下载的STM32WLxx系列的器件库包(Keil.STM32WLxx_DFP.1.0.2_OEM.pack)安装到KEIL中。


1.6 检查板子是否上锁

在ST官网下载并安装stm32cubeprog,使用STLINK连接板子的SWD接口(注意杜邦线保持可靠连接,且stm32cubeprog目前只支持STLINK)。接好后打开stm32cubeprogammer并点击右上角的Connect连接按钮,注意右下角的连接器件的状态和下方提示(如果下方没有提示Data read failed, 可以直接跳到1.7进行项目配置):


点击选择左侧的OB图标按钮,并按图中的流程进行解锁:


成功后点击Disconnect断开连接:


1.7 硬件SWD接口连接检查

下载并解压缩工程包以后,在 oardRHF0M0E5_STM32WLE5xxKEILlorawan目录下用KEIL打开TencentOS_Tiny.uvprojx项目工程文件(下载的工程包解压缩后保存在硬盘的位置上最好不要有中文目录)


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


打开工程后,点击Option按钮打开项目选项窗口,选择调试器为ST-Link(或者J-link),然后点击其右侧的Settings按钮。


取消勾选Check version on startup避免每次打开自动检查ST-LINK的版本,然后在Target Com下方的Port选项中选择SW 模式,点击 确定 返回 项目选项 窗口后,重新点击ST-Link Debugger右侧的Settings进入查看,此时右侧的SW Device列表下面应该会出现一个SWD设备编号,如下图所示。此时,硬件已经完全检查完毕。


1.8  实例工程配置

在KEIL项目工程窗口中选择打开APP目录下的Commissioning.h文件,修改框选的两种长度的KEY为自己定义的密钥,一个长度为32bytes,一个长度为16bytes,长度相同的Key应设置为相同值。如下图:


设置好以后点击KEIL的Build按钮,看看下方状态栏是否有提示错误信息。


TSC_WL_EVK接入实例


如果没有编译错误,此时可以点击下载烧录按钮将编译好的固件烧录到TSC_WL_EVK板子上。


TSC_WL_EVK接入实例


2.  在 腾讯云 - 物联网开发平台 上新建项目并进行配置

在腾讯云上注册一个开发账号,并在物联网开发平台上新建一个项目。腾讯云登录界面如下:


物联网开发平台网址及新建项目连接如下图:


2.1  产品开发

点击新建项目按钮后,输入项目名称和描述,并点击保存。


保存后,点击项目列表中的产品框,进入产品开发界面。


在产品开发界面下,点击新建产品按钮


TSC_WL_EVK接入实例


输入产品名称信息,选择“设备”,“密钥认证”,“LoRaWAN”通信方式,“自定义透传”数据协议,然后点击保存。


TSC_WL_EVK接入实例


保存后,点击打开刚才新建的产品。


TSC_WL_EVK接入实例


在数据模板页面下,点击导入JSON模板,复制并粘贴以下Supowang的参考代码,并点击导入。


{  'version': '1.0',  'profile': {    'ProductId': 'F2G256SY2G',    'CategoryId': '1'  },  'properties': [    {      'id': 'temperature',      'name': '温度',      'desc': '',      'mode': 'r',      'define': {        'type': 'int',        'min': '-100',        'max': '155',        'start': '0',        'step': '1',        'unit': '摄氏度'      },      'required': false    },    {      'id': 'humidity',      'name': '湿度',      'desc': '',      'mode': 'rw',      'define': {        'type': 'int',        'min': '0',        'max': '100',        'start': '0',        'step': '1',        'unit': '%'      },      'required': false    },    {      'id': 'period',      'name': '上报周期',      'desc': '',      'mode': 'rw',      'define': {        'type': 'int',        'min': '0',        'max': '3600',        'start': '0',        'step': '1',        'unit': '秒'      },      'required': false    }  ],  'events': [],  'actions': []}


TSC_WL_EVK接入实例


导入完成后,如下图所示,点击下一步按钮。


TSC_WL_EVK接入实例


在设备开发标签中,可以进行设备的数据解析功能配置并测试。


可以参考下图的参数进行数据解析的调试,把参考代码拷贝分别拷贝到上行数据解析和下行数据解析的输入框中,在下方模拟调试窗口中可以手工输入数据并点击运行看解析结果是否正确。

设备上行数据模拟调试结果如下图:


上行数据解析参考代码


function RawToProtocol(fPort, bytes) {    var data = {            'method': 'report',            'clientToken' : new Date(),                    'params' : {}        };        data.params.temperature = bytes[0];        data.params.humidity = bytes[1];        data.params.period = bytes[2] | (bytes[3] <<< span=''> 8);        return data;}


下行数据解析参考代码


function ProtocolToRaw(obj) {var data = new Array();        data[0] = 2;// fport=2        data[1] = 0;// unconfirmed mode        data[2] = obj.params.period & 0x00FF;        data[3] = (obj.params.period >> 8) & 0x00FF;    return data;}


设备下行数据模拟调试结果如下图:


TSC_WL_EVK接入实例


调试完毕后点击提交按钮进入下一步交互开发页面。


TSC_WL_EVK接入实例


此处可以进行一些交互开发中的配置,例如自定义产品图片中可以修改设备在后续腾讯连连界面下显示的设备图片等。


TSC_WL_EVK接入实例


在交互开发的面板编辑界面,可以对设备在腾讯连连中的一些UI进行设置和调整,如下图:


点击下一步可以进入设备调试的界面。


我们在这里点击新建设备按钮添加刚才我们编译好的板子对应的产品,在弹出的窗口中输入设备名称,DevEUI和AppKey。此处DevEUI为刚才在KEIL工程中输入的16bytes设备编号,AppKey为输入的32bytes的设备密钥。本截图的示意DevEUI和AppKey仅为演示用途。


点击保存后,在设备列表中会出现刚才新建的设备名称,如下图:


TSC_WL_EVK接入实例


点击设备名称右方的调试按钮,可以进入在线调试的界面,如下图:


TSC_WL_EVK接入实例


此时给刚才下载烧录好固件的TSC_WL_EVK板子通电,等待片刻,应该可以在设备在线调试右侧的窗口中看到板子上传上来的数据,如下图:


TSC_WL_EVK接入实例


如果是通过micro USB线缆连接到TSC_WL_EVK的板子上,并安装了CH340 USB转串口的驱动程序,可以在电脑的串口通信助手中看到板子打印出来的调试信息,如下图(如果显示end node joined,则表示入网成功啦):


2.2  数据开发

现在我们可以在数据开发界面新建一个数据流控制逻辑,进行一个模拟高温报警的设定。点击物联网开发平台页面左侧的数据开发菜单,点击右方的新建数据流。


输入数据流名称,如下图:


在数据流编辑界面,我们拖入设备数据,数据过滤和公众号推送三个流程框并将他们连接起来,如下图:


TSC_WL_EVK接入实例


点击设备数据按钮,在右侧进行设备数据的设置,选中设备的温度信息,如下图:


TSC_WL_EVK接入实例


点击数据过滤按钮,在右侧进行数据过滤的设置,这里我们选择温度大等于50度的条件,然后点击确定:


点击公众号推送按钮,在右侧输入推送的标题和内容,还可以把报警时实时的温度信息输入进去,并点击确定,如下图:


条件都设定好以后,我们点击界面上的启用按钮启动报警功能。


TSC_WL_EVK接入实例


返回到产品开发的设备调试界面,点击刚才创建的设备的二维码,如下图:


TSC_WL_EVK接入实例


用微信搜索并打开腾讯连连的小程序,在腾讯连连的小程序中扫描弹出的二维码并进行绑定,如下图:


绑定设备成功后会在腾讯连连小程序中看到我们建立的设备,如下图:


点击设备名称,我们可以进去查看设备实时更新的数据状态,如下图:


TSC_WL_EVK接入实例


2.3 高温报警工程项目修改

现在我们在腾讯连连中没有收到任何前面设定的高温报警的信息,原因是一开始的板子的实例工程,对于温度的数据处理是一个固定的值,我们需要对板子的KEIL工程进行一个小小的修改以便模拟产生高温的情形。

我们在电脑上用KEIL重新打开刚才的工程,找到APP目录下的app_lorawan.c文件,对我们要上传的数据进行一个预处理,让温度的数据每一次增加20然后再发送,如下图:


TSC_WL_EVK接入实例


修改完毕后,我们重新点击Build按钮进行编译并下载新的固件到板子上,按一次板子上的RST按钮对程序进行复位重启。等待片刻,板子重新上线后,可以观察腾讯连连小程序中设备的温度信息。我们在微信中搜索并关注腾讯连连的公众号,当温度超过50度时,在腾讯连连公众号的推送信息中会收到高温提醒的报警信息,如下图:


TSC_WL_EVK接入实例

TSC_WL_EVK接入实例


最后的彩蛋,也可以用腾讯云提供的物联网小程序开发SDK做的一个简单小程序,就可以做自己风格的小程序界面。这部分就留给大家自己研究了。


TSC_WL_EVK接入实例


相关方案