Files
TencentOS-tiny/doc/29.TencentOS_Tiny_EVB_G0_QuickStart.md
2023-04-23 21:39:38 +08:00

386 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 一、甲醛监测仪介绍
甲醛是室内一项非常重要的指标购买一台甲醛监测仪又显得太不划算今天就来教大家如何使用TOS_EVB_G0开发板 + TencentOS-tiny物联网操作系统来自制一个简单的甲醛监测仪。
本项目制作的甲醛监测仪可以实时的检测室内甲醛浓度在OLED屏幕上显示具体数值同时还可以将数据实时上报到腾讯云物联网开发平台IoT Explorer用户可以在“腾讯连连”小程序实时查看数据并通过公众号及时接收告警信息。
本项目所需要的物品清单有:
- TOS_EVB_G0开发板 x 1
- 英国 Dart 甲醛传感器 x 1
- E53甲醛传感器底板 x 1
![](https://main.qcloudimg.com/raw/42437851d3658d1208612eb74b4d3a92.jpg)
**成品组装图安装各接插件时请务必参考成品图不要弄错方向否则可能烧坏MCU**
![](https://main.qcloudimg.com/raw/018ddcf5a7f3944b38bb12a9837df72a.jpg)
好啦~接下来开始我们的制作!
# 二、TOS_EVB_G0开发板
## 1. 开发板特性
TOS_EVB_G0 开发板是由腾讯TencentOS-tiny团队设计的一款物联网开发板板载资源如下
![](https://main.qcloudimg.com/raw/45564fdbaf9f5d00ddfda2927c9e6555.jpg)
- 主控芯片采用STM32G070RBFlash:128KB、RAM:36KB
- 板载腾讯云定制固件版ESP8266 WIFI模组
- 板载E53传感器标准接口方便连接各种E53传感器
- 板载0.91'OLED显示屏幕
- 板载8MB SPI Flash可用于固件升级
- 板载CH340 转串口连接可以使用一根USB线连接至电脑查看串口日志升级esp8266固件发送AT指令
下面是每部分详细的说明。
## 2. 开发板硬件电路详解
### 2.1. 最小系统电路
最小系统部分由电源电路、时钟电路、Boot电路、复位电路、下载电路组成
![](https://img-blog.csdnimg.cn/2020091215453594.png)
### 2.2. WIFI电路
WIFI部分包括ESP8266 WIFI模组供电电路、串口通信电路
![](https://img-blog.csdnimg.cn/20200912154639745.png)
### 2.3. E53扩展接口电路
E53扩展接口供外部传感器连接包括一个串口、一个SPI接口、一个IIC接口、四个普通GPIO口、一个ADC模拟采集接口一个DAC模拟输出接口如图
![](https://img-blog.csdnimg.cn/20200912154756810.png)
### 2.4. USB转串口电路
USB转串口电路将串口信息转换为USB口信号使得开发板可以直接通过USB线连接至PC在PC上使用串口助手查看日志
![](https://img-blog.csdnimg.cn/20200912155018316.png)
### 2.5. OLED显示屏幕电路
OLED屏幕部分包括OLED供电部分和通信部分
![](https://img-blog.csdnimg.cn/20200912155131688.png)
### 2.6. 连接Micor USB线
![](https://main.qcloudimg.com/raw/a00746e285381da66af9f9eb4b556078.jpg)
### 2.7. 连接ST-Link下载器
开发板3v3---> STlink 3.3V
开发板DIO---> STlink SWDIO
开发板CLK---> STlink SWCLK
开发板GND---> STlink GND
**请大家参考下图进行连接千万不要接反接错以免烧掉MCU**
![](https://main.qcloudimg.com/raw/4ab5937dd0221e4ad1b0109b2f028aa1.jpg)
## 3. 开发板软件环境准备
### 3.1 MDK软件介绍
MDK 即RealView MDK 或MDK-ARMMicrocontroller Development kit是 ARM 公司收购Keil公司以后基于uVision界面推出的针对ARM7、ARM9、Cortex-M0、Cortex-M1、Cortex-M2、Cortex-M3、Cortex-R4等ARM处理器的嵌入式软件开发工具。MDK-ARM 集成了业内最领先的技术,包括 uVision4 集成开发环境与 RealView 编译器RVCT。支持 ARM7、ARM9 和最新的Cortex-M3/M1/M0 核处理器,自动配置启动代码,集成 Flash 烧写模块,强大的 Simulation 设备模拟,性能分析等功能,与 ARM 之前的工具包 ADS 等相比RealView 编译器的最新版本可将性能改善超过 20%。
Keil公司开发的ARM开发工具MDK是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件支持所有基于ARM的设备能帮助工程师按照计划完成项目。
### 3.2 MDK安装
登录MDK官网下载MDK5软件下载地址
http://www2.keil.com/mdk5 或者 https://www.keil.com/download/product/
下载的版本最好在5.24以上本开发教程以5.24版本为例双击MDK524应用程序文件点击next>>。
![](https://img-blog.csdnimg.cn/20200912160353792.png)
打上 I agree前面的勾勾即是同意一些安装协议。点击next>>。
![](https://img-blog.csdnimg.cn/20200912160415757.png)
选择安装路径可以默认也可以安装在我们自己建立的文件夹下。点击next>>。
![](https://img-blog.csdnimg.cn/20200912160425324.png)
这里填写的是我们的一些信息填写完整后继续next>>。
![](https://img-blog.csdnimg.cn/20200912160432240.png)
然后等待安装完成即可。
![](https://img-blog.csdnimg.cn/20200912160448600.png)
安装完成点击Finish。
![](https://img-blog.csdnimg.cn/20200912160455488.png)
然后会跳出来这个界面这个我们后面再讲先点OK把弹框都叉掉。
![](https://img-blog.csdnimg.cn/20200912160508347.png)
激活MDK导入License,激活MDK后便可使用了。
![](https://img-blog.csdnimg.cn/20200912160520293.png)
![](https://img-blog.csdnimg.cn/202009121605276.png)
特别提示一定要输入License激活MDK软件建议购买正版License。
### 3.3 MDK安装
安装完MDK后我们需要安装开发套件中单片机型号对应的Pack。
**安装方式一** 登录官网http://www.keil.com/dd2/pack/
下载Keil.STM32G0xx_DFP.x.x.x.pack 后安装。
**安装方式二** MDK软件上在线安装
打开软件在导航栏打开Pack安装界面然后选择ok选项。
![](https://img-blog.csdnimg.cn/20200912160604878.png)
![](https://img-blog.csdnimg.cn/20200912160612930.png)
进入在线安装界面选着STM32G0XX Pack,点击Install进行安装。
![](https://img-blog.csdnimg.cn/20200912160628442.png)
至此我们开发板的单片机程序开发环境已经搭建完毕重启MDK软件就可以使用了。
### 3.4 ST-Link驱动安装
前面讲了开发板单片机程序的开发环境的搭建但是为了将程序烧录到开发板中我们还需要使用仿真器。我们这套开发板选用ST公司的ST-Link V2仿真器进行开发板程序的烧写和仿真下面介绍ST-Link驱动的安装及环境搭建。
在ST官网下载ST-Link驱动
https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html
驱动有2种 32位电脑系统安装“dpinst_x86”、64位电脑系统安装“dpinst_amd64”
![](https://img-blog.csdnimg.cn/20200912160942366.png#pic_center)
运行对应的驱动安装ST-Link V2驱动程序。安装路径尽量保持默认路径。
![](https://img-blog.csdnimg.cn/20200912160951881.png)
安装完成后, 将ST-Link通过USB接口连入电脑。打开“设备管理器”。若看到如下图所示表示驱动安装成功。
![](https://img-blog.csdnimg.cn/20200912163834675.png)
这里提醒 2 点:
1 各种 windows 版本设备名称和所在设备管理器栏目可能不一样,例如 WIN10 插上STLINK 后显示的是 STM32 STLINK。
2 如果设备名称旁边显示的是黄色的叹号,请直接点击设备名称,然后在弹出的界面点击更新设备驱动
至此, ST-Link 驱动已经安装完成。接下来大家只需要在 MDK工程里面配置一下 ST-Link即可。
### 3.5 CH340串口驱动安装
互联网搜索下载CH340 串口芯片的驱动
安装方法:打开驱动安装程序点击安装即可。
![](https://img-blog.csdnimg.cn/20200912161124298.png#pic_center)
![](https://img-blog.csdnimg.cn/20200912161131269.png)
注:若安装失败,请先点击卸载,后点击安装。
### 3.7 串口调试助手的安装与使用
工具下载: http://www.daxia.com/download/sscom.rar
安装方法串口调试助手sscom5.13.1是免安装的,解压出压缩包即可直接使用。
![](https://img-blog.csdnimg.cn/20200912161144942.png)
根据PC和终端之间的连接选择正确的串行端口。
打开电脑的设备管理器在端口列表可以看到PC与开发板连接的端口号。
![](https://img-blog.csdnimg.cn/20200912163536203.png)
我这里显示的是COM26所以要在sscom工具中选择COM26开发板程序波特率设置为115200所以我在sscom串口工具中选择115200波特率。
# 三、烧写腾讯云定制固件
## 1. 下载固件
腾讯云IoT AT指令是一套针对使用通讯模组2G/4G/NB/WIFI接入腾讯云物联平台的定制AT指令集如果通讯模组实现了该指令集则设备接入和通讯更为简单所需代码量更少。 ESP8266作为IoT领域使用最广泛的一款WiFi芯片/模组腾讯云在其通用AT指令基础上增加了腾讯云IoT AT指令集形成一个定制的模组固件QCloud_IoT_AT_ESP8266。
下载链接:[https://github.com/TencentCloud/tc-iot-sdk-embedded-for-esp8266](https://github.com/TencentCloud/tc-iot-sdk-embedded-for-esp8266)
使用git下载的命令如下
```bash
git clone https://github.com/TencentCloud/tc-iot-sdk-embedded-for-esp8266.git
```
下载之后即可在图中圈出的文件夹中看到定制固件:
![](https://img-blog.csdnimg.cn/20200912164445221.png#pic_center)
## 2. 下载烧写工具
使用乐鑫官方下载工具ESPFlashDownloadTool下载链接如下
[https://www.espressif.com/zh-hans/support/download/other-tools](https://www.espressif.com/zh-hans/support/download/other-tools)
点击下载Flash 下载工具ESP8266 & ESP32 & ESP32-S2
![](https://img-blog.csdnimg.cn/20200912170728154.png#pic_center)
下载之后解压即可。
## 3. 固件说明
腾讯云IoT定制的AT模组固件QCloud_IoT_AT_ESP8266适用于所有FLASH大小为2MB或者2MB以上的ESP8266模组。
AT串口使用UART0默认的Tx为GPIO1Rx为GPIO3。但因为ESP8266的UART0 默认会在上电启动期间输出一些打印,如果打印信息影响设备功能,可在上电期间将 U0TXD(GPIO1)、U0RXD(GPIO3) 分别与 U0RTS (GPIO15)U0CTS(GPIO13)进行交换,以屏蔽打印。因此提供两个版本的固件:
- 名称包含UART_1_3的固件串口使用的Tx为GPIO1Rx为GPIO3。
- 名称包含UART_15_13的固件串口使用的Tx为GPIO15Rx为GPIO13。
进入QCloud_IoT_AT_ESP8266_FW本文中我们使用第一个固件
![](https://img-blog.csdnimg.cn/20200912164714338.png#pic_center)
## 4. 烧写固件
### 4.1. 切换boot选择端子和串口选择端子
① 将开发板上的ESP8266启动引脚配置端子切换到低电平
② 将开发板上的串口选择端子置于中间使ESP8266直接与PC串口连接
方法参考下图:
![](https://main.qcloudimg.com/raw/733a1c7406bcc2621e751ca07f0be0f7.jpg)
### 4.2. 运行Flash烧写工具
双击工具,运行:
![](https://img-blog.csdnimg.cn/2020091217093379.png)
选择开发者模式:
![](https://img-blog.csdnimg.cn/20200912171110420.png#pic_center)
选择ESP8266下载工具
![](https://img-blog.csdnimg.cn/20200912171139314.png#pic_center)
### 4.3. 开始下载
按照图中进行操作:
![](https://img-blog.csdnimg.cn/20200912171454660.png)
点击下载之后按下开发板上的复位键Flash下载工具开始下载
![](https://img-blog.csdnimg.cn/20200912171547158.png)
若没有显示,请检查接线端子是否连接正确。
### 4.4. 下载完成
下载完成之后如图:
![](https://img-blog.csdnimg.cn/20200912171748705.png)
关闭工具将boot选择引脚拔下将串口选择端子恢复默认。
**注意完成固件下载后一定切记将跳线端子恢复到默认状态默认端子怎么短接可以参考前面完整的组装成品图否则wifi将没法工作MCU也没法控制wifi。**
# 四、基于TencentOS tiny接入腾讯云IoT Explorer指引
基于TencentOS Tiny EVB G0要完成腾讯云IoT Explorer对接需要完成两个部分的工作。
一是腾讯云IoT explorer 上完成项目、产品、设备创建、参数配置
二是基于TencentOS Tiny完成应用开发向腾讯云上报业务数据。
# 1. 云端操作步骤
## 1.1. 新建项目
登录[腾讯云物联网开发平台](https://cloud.tencent.com/product/iotexplorer),点击新建项目,填写项目名称和简介:
![](https://img-blog.csdnimg.cn/20200912184744294.png)
## 2.2. 新建产品
点击项目名称进入到该项目中,点击新建产品:
![](https://img-blog.csdnimg.cn/20200912184815961.png)
产品新建成功后,可在产品列表页查看到:
![](https://img-blog.csdnimg.cn/20200912184830658.png)
## 2.3. 数据模板
进入产品点击【数据模板】点击【导入JSON】导入下面的JSON代码
```json
{
"version": "1.0",
"profile": {
"ProductId": "BDDSF87WEA",
"CategoryId": "1"
},
"properties": [
{
"id": "ch20_ppm_value",
"name": "甲醛浓度值",
"desc": "",
"mode": "r",
"define": {
"type": "float",
"min": "0",
"max": "2",
"start": "0",
"step": "0.001",
"unit": "ppm(mg/m3)"
},
"required": false
}
],
"events": [],
"actions": []
}
```
导入之后自动根据json文件创建的属性如下
![](https://img-blog.csdnimg.cn/20200912184912590.png)
## 2.4. 创建设备
点击【设备调试】,进入后点击【新建设备】,创建真实设备:
![](https://img-blog.csdnimg.cn/20200912184935188.png)
创建成功之后进入设备查看到产品ID、设备名称、设备秘钥
![](https://img-blog.csdnimg.cn/20200912185005892.png)
## 2. 基于TencentOS Tiny 完成设备侧应用开发
进入 < TencentOS-tiny\board\TencentOS_tiny_EVB_G0\KEIL\mqtt_iot_explorer_tc_ch20_oled> 目录打开TencentOS_tiny.uvprojx工程。
### 2.1. 修改WIFI接入信息
打开`mqtt_iot_explorer_tc_ch20_oled.c`文件编辑修改要接入WIFI的名称和密码建议使用手机热点不要有特殊字符
![](https://img-blog.csdnimg.cn/20200912190022439.png)
### 2.2. 修改云端对接信息
同样在此文件宏,修改云端配置信息,使用之前在云端查看的信息替换:
![](https://img-blog.csdnimg.cn/20200912190253688.png)
### 2.3. 编译工程
点击编译按钮,编译整个工程:
![](https://img-blog.csdnimg.cn/20200912190501209.png)
### 2.4. 下载程序
点击进入工程配置界面按纽,进入工程配置界面:
![](https://img-blog.csdnimg.cn/20200912163002371.png)
选择Debug选项进入仿真器设置界面。
![](https://img-blog.csdnimg.cn/20200912163019926.png)
下拉仿真器选择列表选着ST-Link Debugger并勾选右侧Use,点击Settings进入ST-Link V2仿真器配置界面。
![](https://img-blog.csdnimg.cn/20200912163044635.png)
开发板设计的程序烧录方式为SW此处Unit选择ST-Link/V2,且Port选择SW,并确认右侧框内是否检测出SW设备点击<确认>保存配置。
![](https://img-blog.csdnimg.cn/20200912163441583.png)
点击确定之后,回到主界面,点击下载按钮:
![](https://img-blog.csdnimg.cn/20200912190649662.png)
### 2.5. 使用串口助手查看日志
运行sscom软件打开电脑上开发板对应的串口比如我选择COM26点击【打开串口】
![](https://img-blog.csdnimg.cn/20200912190944961.png)
按下开发板上的复位键,程序开始运行,即可在串口助手中看到系统运行打印的日志:
![](https://img-blog.csdnimg.cn/20200912191505807.png)
## 3. 云端平台查看设备数据
回到腾讯云物联网开发平台,可以看到设备状态变为【在线】:
![](https://img-blog.csdnimg.cn/20200912191641250.png)
点击【设备日志】一栏,可以看到设备上报的甲醛浓度值:
![](https://img-blog.csdnimg.cn/20200912191715619.png)
点击【设备属性】一栏,点击【甲醛浓度值】后的【查看】,即可看到甲醛浓度值的历史数据曲线图:
![](https://img-blog.csdnimg.cn/20200912191807508.png)
# 五、腾讯连连小程序操作步骤
## 1. 添加家庭
手机端在【微信】搜索【腾讯连连】小程序,首次使用需要进入后点击【我的】->【家庭管理】,添加一个你喜欢的名称即可。
## 2. 添加调试设备
返回【首页】,点击右上角“加号”图标:
![](https://img-blog.csdnimg.cn/20200912192517415.png)
进入后点击右上角扫码图标:
![](https://img-blog.csdnimg.cn/20200912192742454.png)
在腾讯云物联网开发平台进入【设备调试】,点击对应设备后的【二维码】:
![](https://img-blog.csdnimg.cn/20200912192809377.png)
腾讯连连扫描此二维码即可成功添加设备,添加成功之后如图:
![](https://img-blog.csdnimg.cn/20200912192913964.png)
点击此设备即可实时查看数据,并下发控制指令:
![](https://img-blog.csdnimg.cn/20200912192848552.png)
## 3. 修改腾讯连连显示面板
进入【交互开发】,点击【面板配置】一栏:
![](https://img-blog.csdnimg.cn/20200831165713961.png)
在此页面中可以自己根据喜好配置小程序显示面板,如图:
![](https://img-blog.csdnimg.cn/20200912193005903.png)
保存之后,在腾讯连连小程序删除设备,重新扫描绑定设备即可生效。
# 六、腾讯连连公众号报警操作步骤
## 1. 创建数据流
点击左侧【数据开发】一栏,点击【新建数据流】:
![](https://img-blog.csdnimg.cn/2020091219331529.png)
填写数据流名称:
![](https://img-blog.csdnimg.cn/20200912193256498.png)
### 2. 设计数据流
添加并设置【设备数据】节点:
![](https://img-blog.csdnimg.cn/20200912193549171.png)
添加并设置【过滤节点】:
![](https://img-blog.csdnimg.cn/2020091219380427.png)
添加并设置【推送节点】:
![](https://img-blog.csdnimg.cn/20200912194159284.png)
### 3. 启动数据流
设计完成后,点击【保存按钮】,再点击【启用】:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020091219430620.png)
### 4. 关注腾讯连连公众号
在微信关注【腾讯连连】公众号:
![](https://img-blog.csdnimg.cn/20200912194547820.png)
关注后,如果有任何告警消息,即可在公众号接收到。
>如果仅仅为了测试告警功能可以先将告警值设较小的值比如设为0.070测试完成之后再恢复国家规定标准0.80。
![](https://img-blog.csdnimg.cn/20200912195158767.png)
至此基于TencentOS-tiny的甲醛监测仪制作完成。