• 中国移动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服务器

  • 相关阅读:
    远程视频监控之应用篇(mjpg-streamer)
    C语言存储类型
    基于Qt的wifi智能小车的制作(一)
    libevent和基于libevent的网络编程
    fdisk 分区格式化为ext4格式分区
    Makefile 中:= ?= += =的区别
    【计算机网络】详解网络层(二)ARP和RARP
    Nginx 反向代理 负载均衡 虚拟主机配置
    C# 对文本文件的几种读写方法总结
    Visual Studio中Image Watch的使用
  • 原文地址:https://www.cnblogs.com/Mysterious/p/4816583.html
Copyright © 2020-2023  润新知