中国移动 OnetNet 云平台使用Wi-Fi 模块ESP8266 TCP 透传模式传...-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3177|回复: 0

中国移动 OnetNet 云平台使用Wi-Fi 模块ESP8266 TCP 透传模式传...

[复制链接]
发表于 2017-7-13 09:01 | 显示全部楼层 |阅读模式
测试使用工具:
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+CIPMUX=0
设置单链接,透传只能在单连接模式下进行,所以在建立连接之前一定要用(AT+CIPMUX=0 设置单连接)
7.AT+CIPMODE=1
设置透传模式
8.AT+CIPSTART="TCP","183.230.40.33",80
连接OneNet服务器
9.AT+CIPSEND
启动透传发送
10.发送数据包
  • 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}]}]}

[color=rgb(85, 85, 85) !important]复制代码

  • 发送JSON数据流,格式一定要正确,大多数人失败都是在这里格式不对
  • 其中79146修改为你自己的设备ID
  • api-key后面的内容修改为自己的API-KEY
  • "TEMP"这个是我的数据流名称,修改为自己想要的
  • “value”后面的50就是数据,输入想要的。
  • 然后回过头看下Content-Length:59
  • Connection:colse这一条如果加了,服务器接收到一次数据后会断开,如果不加可以连续发送数据。如果长时间不发送,也同样会关闭链接的。
  • 这个59是后面的整个数据流的长度
一个小技巧,可以用Notepad++软件直接选中看这个长度是多少,别自己数,数错了就悲剧了!
11.+++
发送+++退出透传模式 ,这个指令不用要回车
12.到服务器看数据是否上传成功
这个不再叙述,上一个日志上写的有。
13.通过以上步骤就可以通过ESP8266的TCP透传模式发送数据到OneNet服务器
本文转自:http://www.cnblogs.com/Mysterious/p/4816482.html

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 02:57 , Processed in 0.074341 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表