2021-2-25-Onenet摸索道路

发布时间 2023-09-17 19:47:06作者: Yecgaa1

layout: post
title: Onenet摸索道路
categories: 日志
tags: 
    - 开发 
    - 开发任务
BGImage: 'https://github.xutongxin.me/https://raw.githubusercontent.com/xutongxin1/PictureBed/master/img0/202020210225100750.png'
jekyll-theme-WuK:
    musicid: '28225846'

这次承担的任务是Onenet平台与stm32通信的任务

1.选型

选型上选择了老生常谈的Esp8266-01s(以下简称esp8266)芯片,然后选择了AT固件的方案降低这个通信研发的时间成本

2.通信协议

AT固件需要实现与Onenet平台的通信工作。Onenet平台支持以下协议

image-20210225093144860

鉴于最通用的办法,我尝试使esp8266通过MQTT通信,但是官方AT固件并不支持这个。

同时虽然官网上有带MQTT协议的AT固件,但测试后发现该固件为32M固件,手上的01s只有8M

(对于8M闪存的01s,由于MQTT鉴权上存在一定复杂性,官方的建议是自己对SDK开发,而不是使用官方的AT固件)

辗转资料后,在Onenet官网上找到一个支持MQTT的魔改固件,且闪存大小符合,于是开始烧录

image-20210225093741334

烧录后,却发现AT固件由于官网的服务器更新已经鉴权失败(推测)

(但是仍然很感谢该固件的提供者,源帖子https://open.iot.10086.cn/bbs/thread-863-1-1.html)

最后选择了TCP透传作为方案

3.LUA脚本

TCP透传协议中,数据直接以文本形式上传到服务器上,然后由一个LUA脚本进行处理分割为各项数据点。

LUA的语言当时由于某项开发工作有点了解,于是就稍微的结合官方教程和CSDN帖子进行编写

(感谢该CSDN帖子:https://blog.csdn.net/nkd50000/article/details/104745660)

image-20210225094310976

4.上电连接

由于TCP透传只需要使用官方AT固件,所以先烧回来

image-20210225094440701

烧录结束后直接连接wifi,tcp连接(域名为:dtu.heclouds.com),端口1811

image-20210225094618932

然后进入透传模式

AT+CIPMODE=1
AT+CIPSEND
    
AT+SAVETRANSLINK=1,"183.230.40.40",1811,"TCP"
    //自动透传

先鉴权

*5002897#xtx#02*

然后开始发数据,成功

image-20210225094933093

image-20210225095000923

5.最后的碎碎念

啊这,为啥有这个版块

和两年前相比,ESP8266的资料数量有了及其恐怖的飞跃

特别是我看到SDK二次开发的官方IDE,心中不免有些雀跃(赶紧下了下来把玩了一番)。从当年的第一代要求你用VM14装个Ubuntu虚拟机用来编译,到使用Eclipse进行编译却还需要用户自己去配置各种高达2G的动态链接库,到今天,确实,引用别人的与句话

image-20210225095422142

我看到这个标题的时候差点被笑死。

ESP8266有今天的成绩也很大程度归功于安信可和和他们一起Debug的开发者们。

当年傻傻的我玩这块芯片时各种踩坑,感谢那些大佬们让我没有放弃,一步步走过来学会了很多知识。

谢谢你们降低了这个好芯片的入门门槛。

6.最后最后的碎碎念

”我怎么觉得这个版块比前面那个更正经点“ ”说啥呢?“

记得记得

EN脚要上电

峰值电流大于300ma(大于usb供电)要加电容

烧录时IO0接地