BaiDaDi / IoT-ESP-C3_Arduino_MQTT_Aliyun

一种使用Arduino架构的合宙ESP32C3以MQTT协议连接ONENET的解决方案

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

****20230708

初步调试通过,通过模拟temp++实现了数据的上传到onenet

优化了上传与调试的效果
post:报文
与reply:success


****202307090033

下传成功
使用mattfx与onenet虚拟调试,云端下发成功
目前刚刚定位到json报文数据处,需要使用json的obj来解析报文命令

****20230711

报文解析完成
成功通过onenet点灯

****20230719

AHT10测试成功
成功发送数据至云平台

MQ2单次采样成功,adc与wifi兼容问题未出现,io口 占用待定 GPIO0-ADC
成功发送数据至云平台

对传感器采样函数做了解耦!
用BOX_(Flag)的形式采用全局变量的方式送进json报文中

****20230722
修整好了代码,做好了备注----V1.0版本
改进方向有:
--深入使用PubSubClient  ++++++++++++++++    [解决,数据流stream搁置]
--优化io,增加外设
--测试云端(事件上报)--key!




****20230723
优化好了PubSubClient的使用,
测试云端(事件上报):测试成功,但是由于各种时延,mes rev的延后性,那不还是一种丢包
使用内置ADC测量芯片温度,温度超过35度上传报警信号(事件)到云端


********************
*       IO表       *           
********************
*       AHT10      *
*     SCL:GPIO5    *
*     SDA:GPIO4    *
********************
*       MQ2        *
*     注意5V !    *
*     AO:GPIO0     *
********************


学习笔记:

1.创建成品:

*阿里云还没找到创建MQTT成品的地方,因为协议只能选(XXX)
*创建数据流:
  因为是自建产品,需要自建数据流
*Bool位:TRUE和FALSE也太离谱了,实际在产品中用的enmu,枚举01,在代码中取反

2.MQTT报文

*使用MQTT.fx软件,测试:连接--topic--JSON报文三步走
*三元组配置
*token秘钥时间戳的计算
*报文模板:云平台参考文件

下传模拟控制:云平台-虚拟配置

3.code

*AHT10与MQ2占用默认GPIO,目前没有再加外设了,估计也加不了了

*对PIO.ini配置文件的写法:(都是抄的成功的,不成功的原因就有点玄学)
  按理说ESP32C3的芯片的构成的开发板,选了都是一样的,但是PIO报错了,说找不到这个配置文件,所以
  开发板:esp32dev
  f_cpu:16MHZ

About

一种使用Arduino架构的合宙ESP32C3以MQTT协议连接ONENET的解决方案


Languages

Language:C 93.7%Language:C++ 6.2%Language:Processing 0.1%Language:Python 0.0%Language:CMake 0.0%Language:Shell 0.0%Language:Makefile 0.0%