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平台支持以下协议
鉴于最通用的办法,我尝试使esp8266通过MQTT通信,但是官方AT固件并不支持这个。
同时虽然官网上有带MQTT协议的AT固件,但测试后发现该固件为32M固件,手上的01s只有8M
(对于8M闪存的01s,由于MQTT鉴权上存在一定复杂性,官方的建议是自己对SDK开发,而不是使用官方的AT固件)
辗转资料后,在Onenet官网上找到一个支持MQTT的魔改固件,且闪存大小符合,于是开始烧录
烧录后,却发现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)
4.上电连接
由于TCP透传只需要使用官方AT固件,所以先烧回来
烧录结束后直接连接wifi,tcp连接(域名为:dtu.heclouds.com),端口1811
然后进入透传模式
AT+CIPMODE=1
AT+CIPSEND
AT+SAVETRANSLINK=1,"183.230.40.40",1811,"TCP"
//自动透传
先鉴权
*5002897#xtx#02*
然后开始发数据,成功
5.最后的碎碎念
啊这,为啥有这个版块
和两年前相比,ESP8266的资料数量有了及其恐怖的飞跃
特别是我看到SDK二次开发的官方IDE,心中不免有些雀跃(赶紧下了下来把玩了一番)。从当年的第一代要求你用VM14装个Ubuntu虚拟机用来编译,到使用Eclipse进行编译却还需要用户自己去配置各种高达2G的动态链接库,到今天,确实,引用别人的与句话
我看到这个标题的时候差点被笑死。
ESP8266有今天的成绩也很大程度归功于安信可和和他们一起Debug的开发者们。
当年傻傻的我玩这块芯片时各种踩坑,感谢那些大佬们让我没有放弃,一步步走过来学会了很多知识。
谢谢你们降低了这个好芯片的入门门槛。
6.最后最后的碎碎念
”我怎么觉得这个版块比前面那个更正经点“ ”说啥呢?“
记得记得
EN脚要上电
峰值电流大于300ma(大于usb供电)要加电容
烧录时IO0接地