ESP8266+AT指令连接ONENET,POST和GET方式
ESP8266+AT指令连接步骤
1.AT+RST
esp8266复位
2.AT
检测是否连接成功
3.ATE0
关闭命令字符回显
4.AT+CWMODE=3
把模块设置为AP+Station模式
5.AT+CWJAP=“","”
配置AP参数第一对引号内填写接入点名称,第二对引号内填写密码。
注意:完整指令如下:
AT+ CWSAP= ,,,
ssid:接入点名称
pwd:密码
chl:通道号
ecn:加密方式
6.AT+CIFSR
查看该模块的IP地址,在AP模式下不能用。
7.AT+CIPSTART=“TCP”,“183.230.40.33”,80
连接服务器,TCP连接,183.230.40.33是OneNET的地址,80是OneNET的端口号。
收到connect后表示与服务器的连接成功。
8.AT+CIPSEND
进入透传模式,之后就可以向服务器发送数据
HTTP协议post
POST格式如图蓝色部分所示,服务器返回的信息是绿色部分
红色掩盖处是设备ID,黑色掩盖处是设备密钥,这个只要在Onenet上申请了自己的产品就能查找到;
{“tem”:42}表示客户端向服务器中ID为tem的数据流发送42这个数据。
然后来看服务器返回的信息:
首先Date部分,可以获取发送数据时的具体年月日时分秒,但是这是格林威治时间,换成北京时间要往后推8小时;
Content-Type:指发送数据的格式;
Connection:保持心跳;
Content-Length:发送数据的长度;
{“errno”:0,“error”:“succ”}表示本次发送数据的过程成功,没有错误。
HTTP协议get
同上,红色掩盖处是设备ID,黑色掩盖处是设备密钥。
但是datastream_id要注意,是要get的目标数据流ID,这里我是在Onenet上创建了一个开关,数据是一个布尔值,开为1,关为0。get指令就是获取这个数据流的当前的值。
来看绿色的部分:
Date等部分同上,这里就不说了。
主要看最后两行,其中的信息说明了本次连接成功与否,get的数据流ID是什么,数据流其中的数据,以及这个数据是在什么时候产生的。如下图,就是说本次GET指令执行成功,获得了数据流ID为switch的值为1,并且这个值是在2021年3月16日的15时13分22秒产生的。
结语
以上就是ESP8266使用AT指令连接上Onenet,然后通过HTTP协议的POST和GET来将数据上传至云端或者获得云端的某个数据流的数据的全部步骤。后续可以将这些指令写入单片机中,便可以实现单片机和云端进行数据交换了。这一步也算是从单机向物联网迈出的第一个脚步了,后面还有更多的花里胡哨操作等着各位,例如从云端获取时间啊,到知心天气上获得天气数据然后把单片机做成一个天气站啊。http协议之后还有mqtt协议,相对来说mqtt协议更好用,稳定一些。
与诸君共勉。
相关文章
- Virtualbox下利用host-only连接方式实现虚拟机和物理机联网(包括wifi)
- WCF中的由于目标计算机积极拒绝,无法连接
- C# -- 等待异步操作执行完成的方式 C# -- 使用委托 delegate 执行异步操作 JavaScript -- 原型:prototype的使用 DBHelper类连接数据库 MVC View中获取action、controller、area名称、参数
- centos7设置mongodb远程连接(亲测)
- QT-信号与槽用法实例与注意事项及五个连接方式详解
- 《树莓派开发实战(第2版)》——2.1 连接有线网络
- android:Adb connection Error:远程主机强迫关闭了一个现有的连接
- H3C 广域网连接方式
- Python MySQL 数据库连接不同方式
- 12C 连接方式和 Oracle Easy Connect Naming method
- Mac上连接nifi
- Appium移动端自动化测试之连接Android模拟器(二)
- Java连接MySQL8.0以上版本数据库方式(将驱动改成新版本的解决办法)
- 使用 Navicat Lite 连接 Oracle 数据库
- STM32CubeMX学习教程之十二:硬件I2C2读取SHT20温湿度并显示在LCD1602/LCD2004上(硬件I2C1连接)
- Excel中VBA 连接 数据库 方法- 摘自网络
- Redis集群(九):Redis Sharding集群Redis节点主从切换后客户端自动重新连接
- SQL必知必会:自连接(深入浅出自连接的原理与实现)