装修甲醛怎么办?自制小程序监控的甲醛检测仪

2020-11-04 10:39:42 浏览数 (3)

1 背景

装修甲醛怎么办?很多人想要购买甲醛检测仪,但在电商平台面对纷繁杂乱的商品列表还是有点手足无措。大家最关心的还是甲醛检测准不准,而单凭商家的广告实在难以判断。

在物联网行业混,咱们有破解的办法,甲醛检测最关键的部件就是传感器,而口碑最好的传感器就是英国 Dart 甲醛传感器。所以咱们完全可以基于真材实料的传感器来搭建硬件。

刚好 TencentOS tiny 团队推出了一篇教程,《TencentOS Tiny手把手教您自制智能甲醛监测仪》,这篇笔记就针对教程做一次实践。整个过程不需要什么代码开发,只要备齐硬件,相应大部分人都能轻松上手制作出自己的甲醛传感器。

腾讯云 IoT Explorer 是腾讯云主推的一站式物联网开发平台,IoT 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作品及收录官方发布的产业合作案例,帮助读者更好地理解整个开发链路。详情可点此查看。

2 系统架构

除了甲醛检测仪不确定传感器用料之外,传统的检测仪还有一个比较大的缺点:一般甲醛数值都是在本地显示屏展示,也就是说得隔三差五到新装修的房间中,冒着超标甲醛的危险来查看当前数据。

而我们自制的甲醛检测仪,可以接入到腾讯云物联网平台,直接可以使用腾讯连连小程序来远程监控,充分发挥物联网的优势。

因此,整个系统架构是这样:

Dart甲醛传感器 --> STM32G0开发板(TencentOS Tiny) --> ESP8266 WiFi 模组 --> 腾讯云物联网开发平台 --> 腾讯连连小程序

3 终端硬件准备

成品组装

本项目所需要的物品清单有:

  • TOS_EVB_G0开发板(板载 ESP8266 WiFi 模组) x 1
  • 英国 Dart 甲醛传感器 x 1
  • E53甲醛传感器底板 x 1

成品组装图

WiFi模组固件烧写

1. 下载固件

腾讯云IoT AT指令是一套针对使用通讯模组(2G/4G/NB/WIFI)接入腾讯云物联平台的定制AT指令集,如果通讯模组实现了该指令集,则设备接入和通讯更为简单,所需代码量更少。 ESP8266作为IoT领域使用最广泛的一款WiFi芯片/模组,腾讯云在其通用AT指令基础上,增加了腾讯云IoT AT指令集,形成一个定制的模组固件QCloud_IoT_AT_ESP8266。

下载链接:https://github.com/tencentyun/qcloud-iot-esp-wifi

下载之后即可在 qcloud-iot-esp-wifi/qcloud-iot-at-esp8266/QCloud_IoT_AT_ESP8266_FW/ 目录中看到定制固件。

2. 下载烧写工具

使用乐鑫官方下载工具ESPFlashDownloadTool,下载链接如下:

https://www.espressif.com/zh-hans/support/download/other-tools

点击下载 “Flash 下载工具(ESP8266 & ESP32 & ESP32-S2)”,下载之后解压即可。

3. 固件说明

腾讯云IoT定制的AT模组固件QCloud_IoT_AT_ESP8266,适用于所有FLASH大小为2MB或者2MB以上的ESP8266模组。

AT串口使用UART0,默认的Tx为GPIO1,Rx为GPIO3。但因为ESP8266的UART0 默认会在上电启动期间输出一些打印,如果打印信息影响设备功能,可在上电期间将 U0TXD(GPIO1)、U0RXD(GPIO3) 分别与 U0RTS (GPIO15),U0CTS(GPIO13)进行交换,以屏蔽打印。因此提供两个版本的固件:

  • 名称包含UART_1_3的固件串口使用的Tx为GPIO1,Rx为GPIO3。
  • 名称包含UART_15_13的固件串口使用的Tx为GPIO15,Rx为GPIO13。

进入QCloud_IoT_AT_ESP8266_FW,本文中我们使用后缀为 _UART_1_3.bin 的固件。

4. 切换boot选择端子和串口选择端子
  • 将开发板上的ESP8266启动引脚配置端子切换到低电平;
  • 将开发板上的串口选择端子置于中间,使ESP8266直接与PC串口连接:

参考下图:

5. Flash烧写工具 下载
6. 下载完成

下载完成之后关闭工具,将boot选择引脚拔下,将串口选择端子恢复默认。

4 腾讯云物联网平台操作

平台操作比较简单,创建产品、定义数据模版、创建设备即可。

4.1 创建产品

4.2 定义数据模版

进入产品,点击【数据模板】,点击【导入JSON】,导入下面的JSON代码:

代码语言:txt复制
{
  "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": []
}

4.3 创建设备

点击【设备调试】,进入后点击【新建设备】,创建真实设备,填入设备名 dev001 即可。

设备创建成功之后进入设备,查看到产品ID、设备名称、设备密钥:

5 终端固件编译及烧写

固件编译

终端软件可以直接从TencentOS-tiny仓库下载,工程目录为 TencentOS-tinyboardTencentOS_tiny_EVB_G0KEILmqtt_iot_explorer_tc_ch20_oled 。

使用 Keil 打开之后修改代码两处地方,一个是设备的ID及密钥信息,另一个是 WiFi 连接的 AP 信息。修改文件为: .demomqtt_iot_explorer_tc_ch20_oled.c 。

代码语言:txt复制
#define PRODUCT_ID              "YourProductId"
#define DEVICE_NAME             "YourDeviceName"
#define DEVICE_KEY              "YourDeviceKey"
代码语言:txt复制
esp8266_tencent_firmware_join_ap("YourSSID", "YourKEY");

固件烧写

连接好 STLINK 后,可以对开发板进行烧写。

6 终端工作验证

固件烧录后,甲醛检测仪的显示屏会实时显示当前的甲醛数值,同时会通过 WiFi 接入到腾讯云物联网平台上报甲醛数据。

通过串口工具可以看到甲醛检测仪的终端日志。

在平台上可以看到属性的实时刷新。

也可以看到通信日志。

7 腾讯连连小程序操作

腾讯连连小程序可以零代码方式直接使用小程序来操作设备。只需要在物联网开发平台上打开设备的二维码,腾讯连连小程序扫码绑定就可以了。

在腾讯云物联网开发平台进入【设备调试】,点击对应设备后的【二维码】:

手机端在【微信】搜索【腾讯连连】小程序,腾讯连连扫描此二维码即可成功添加设备,添加成功之后如图:

默认情况下小程序已经自带了一个面板,如果有开发能力还可以自定义面板。

小结

至此,一套自制的甲醛检测仪便完成了,同时还可以支持小程序实时监控。

That's All。

0 人点赞