中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP非透传模式传输数据流步骤
测试使用工具:
WIFI模块型号:ESP8266
https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&id=520305709648
USB-TTL调试工具:CP2102
https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-175517240.14.8HGQU4&id=39481188174
连接方法:
(这里是用TTL直接调试ESP8266,不需要接Arduino主控板,接了反倒可能会影响通讯)
CP2102 ESP8266扩展板
5V--> 5v
GND--> GND
RX--> E-TX(可直接连接RX3引脚等同)
TX--> E-RX(可直接连接TX3引脚等同)
调试软件使用串口调试助手:
链接:http://pan.baidu.com/s/1nty5LSd 密码:kxsh
sscom33这种助手虽然发指令好使(可以不用输入回车,勾选新行就行了),但是在这里不太好使,因为要发送的数据有很多行。因此换用这个UartAssist。
但是发送数据时候一定要小心,因为有可能发送数据时候多一个空格或者回车都会使发送失败!因此每次输入框时候建议,先按ctrl+A全选发送框的内容,然后输入指令。记得基本上所有指令都需要加回车结尾!!!!
开启了回传数显的,在你发送一条指令后,模块会回复一个你发送的指令,然后再返回OK,或者error,看到OK就可以进行下一步,看到ERROR,肯定是有操作有问题,指令错了或者忘记回车了,或者多了几个回车或者空格!
发送指令顺序:
1.
AT
这个指令要看到有AT OK说明你的供电和TTL和wifi模块通讯正常
2.
AT+CWMODE=3
设置模式3,STA+AP,其实我们只用了STA
3.
AT+RST
让模块复位,能在接收信息最下面看到 ready,说明模块复位成功。复位后就是STA+AP模式了
4.
AT+CWJAP="your ssid","password"
输入你无线路由器的用户名和密码,一定要写正确,注意大小写
5.
AT+CIFSR
查询IP,因为有STA和AP两个模式,所以有两组MAC和IP,常见的是192.168.x.x局域网IP
6.
AT+CIPSTART="TCP","183.230.40.33",80
连接OneNet服务器
7.
AT+CIPSEND=201
发送数据,总共数据长度是201,这个201是需要计算总共要发送的数据,不能写错

8.
POST /devices/79146/datapoints HTTP/1.1
api-key: pmWLtnkDBSreKfvg7GsClUXdXa4A
Host:api.heclouds.com
Connection:close
Content-Length:59 {"datastreams":[{"id":"TEMP","datapoints":[{"value":50}]}]}
发送JSON数据流,格式一定要正确,大多数人失败都是在这里格式不对
其中79146修改为你自己的设备ID
api-key后面的内容修改为自己的API-KEY
"TEMP"这个是我的数据流名称,修改为自己想要的
“value”后面的50就是数据,输入想要的。
然后回过头看下Content-Length:59
这个59是后面的整个数据流的长度
一个小技巧,可以用Notepad++软件直接选中看这个长度是多少,别自己数,数错了就悲剧了!

9.发送数据后看到服务器返回如下图:(其中接收到的CLOSED是wifi模块关闭TCP连接时候返回的)

10.如果想要再一次传输数据,从步骤6开始循环。
11.通过这样的步骤就可以使用TCP模式上传数据到OneNet服务器
中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP非透传模式传输数据流步骤的更多相关文章
- 中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP透传模式传输数据流步骤
测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&a ...
- 中国移动OnetNet云平台 GET指令使用
GET /devices//datastreams/KEY HTTP/1.1 Host: api.heclouds.com api-key: pmWLtnkDBSreKfvg7GsClUXdXa4A ...
- 中国移动OnetNet云平台 使用以太网传输数据流步骤
使用工具: 网络调试助手 链接:http://pan.baidu.com/s/1c06VC9E 密码:h0ys 1.选择TCP Client 2.输入IP 183.230.40.33 3.输入端口 ...
- sim800c GPRS模块的透传模式
一.透传模式 基于sim800c GPRS模块在建立TCP/IP连接情况下,可以设置进入透传模式,用来接收和发送数据,一旦进入即从串口收到的数据将被打包,然后发送.接收同理. 注意在透传模式下所有的A ...
- [单片机] ESP8266 开机自动透传
AT+CWMODE=1//设置WiFi工作在透传模式 AT+CWJAP_DEF="XX","YYY"//设置要链接的wifi名称.密码,并进行连接 //设置TC ...
- Beaglebone Black– 智能家居控制系统 LAS - 刷 WiFi 模块 ESP8266 Firmware 和 ESP8266 直接收发 GPIO 信号
用 Windows 来刷 ESP8266 固件有很多中文教程,来试试直接用 BBB 刷吧.目标是 NodeMCU,ESP-01 可用,就是我买的那个. 接线方式在上一篇.当 echo ‘BB-UART ...
- 第一次 刷 WiFi 模块esp8266 感谢创客阿正
在正哥指导下 第一次 刷 WiFi 模块 少走了 不少弯路 套件里的 两块 机智云 ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等 用助手 返回 ...
- WIFI模块ESP8266的使用指南【转】
本文转载自:http://www.itdadao.com/articles/c15a814052p0.html 本文主要对讲述ESP8266模块硬件连接工作,以及作为服务器和客户端情况下的配置实现的详 ...
- ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块(ESP8266)AT指令TCP透传方式,MQTT通信控制升级(加入数据校验)
前言 这节演示下,上两节写的利用MQTT来控制STM32控制的程序 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 首先BootLo ...
随机推荐
- Oracle基础 触发器
一.触发器 触发器是当特定事件出现时自动执行的代码块.比如,每次对员工表进行增删改的操作时,向日志表中添加一条记录.触发器和存储过程是由区别的:触发器是根据某些条件自动执行的,存储过程是手动条用的. ...
- C3:建造者模式 Builder
将一个复杂对象的创建与表示分离,使得同样的构建过程可以创建不同的表示. 应用场景: A.创建这个对象通常需要较多的参数,才能完整的表示该对象.B.类的各个组成部分的具体实现类或算法经常面临变化,但将他 ...
- PHP结巴程序实现
<?php $str="我...我要要要...学学学..编编程"; $str=preg_replace('/\./','',$str);//我我要要要学学学编编程 $str= ...
- react-native-router-flux 页面跳转与传值
1.正向跳转假设情景:从Home页跳转到Profile页面,Profile场景的key值为profile 不带参数: Actions.profile 带参数: Actions.profile({'ke ...
- 控制器View是怎样创建的?
对于非常多程序猿来说控制器和View的关系肯定有点模糊,对于View的创建肯定有一种说不清道不明的感觉.view仅仅是控制器的一个属性.控制器中有很多对view处理的方法.也就是说得控制器管理view ...
- ExtJs的Ext.grid.GridPanel不能选择复制表格中的内容解决方案
今天遇到grid复制的问题,在网上找到了一个解决办法,只需改下CSS和JS,给大家分享一下: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dy_paradise/a ...
- PHP面试题及答案解析(7)—Linux系统命令
1.请解释下列10个shell命令的用途.top.ps.mv.find.df.cat.chmod.chgrp.grep.wc top:该命令提供了实时对系统处理器状态的监控,它能够实时显示系统中各个进 ...
- Java IO 常用类简介
字节流 输入字节流 InputStream输入字节流的抽象类 ByteArrayInputStreambyte数组输入流 FileInputStream文件输入流 PipedInputStream管道 ...
- LVS+Keepalived(DR模式)学习笔记
1.简述 在互联网的中型项目中,单服务器往往已经无法满足业务本身的性能要求,这时候就会平行扩展,把负载分摊到数台服务器上(集群).一般实现集群有DNS轮询,LVS,nginx负载均衡. 集群主要目的包 ...
- php 在linux 用fopen() 函数打开,file_get_contents(),fread()函数 读取 另外一台服务器映射过来的文件 总是返回false,null的情况。
php 在linux 用fopen() 函数打开,fread()函数 读取 另外一台服务器映射过来的文件 总是返回false,null的情况. #获取平台类型 $type='android'; ...