目录:
2-模块在STA模式下连接原子云 与原子云手机APP进行通信... 8
3-两个8266模块通过原子云进行通信(实现远距离传输)... 9
4-模块在 STA模式下实现TCP客户端通过网络助手和单片机进行通信... 10
模块使用介绍
一:TCP通信
1-STA模式
TCP客户端与网络通信助手通信(在手机/电脑上建立TCP服务端即可建立连接)
AT+CWMODE 设置STA模式
AT+CWJAP 设置WiFi名称和密码
AT+CIPMUX=0 开启单连接(客户端一般开启单连接)
AT+CIPSTART 建立TCP连接
AT+CIPMODE 开启数据透传
AT+CIPSEND 开始数据传输
+++ 退出透传模式结束通信
(电脑串口助手使用gbk编码,手机端使用utf-8编码,中文出现乱码时,换一下编码格式)
(如果需要上电直接进入透传模式,可以使用指令AT+SAVETRANSLINK 保存透传连接到Flash中
TCP服务端与网络通信助手通信(在手机/电脑上建立TCP客户端即可建立连接)
AT+CIPMUX=1 开启多连接
AT+CIPSERVER 使能创建服务器
AT+CIFSR 查询模块IP地址
AT+CIPSEND 开启透传(通道号+字节数)(每次指令只能发一条),TCP服务器最大支持5个设备连接,按连接先后顺序通道到设置为0~4
2-AP模式
TCP客户端与网络通信助手通信
AT+CWSAP 设置 (WiFi名称 密码 通道号 加密方式)
AT+CIPMUX 开启单连接
AT+CIPSTART 服务端连接上8266模块的热点后,输入服务端的IP和端口,建立通信
TCP服务器端与网络通信助手通信
在AT+FSR指令后客户端连接上设置的IP即可建立连接
二:UDP通信
1-STA模式
进入单连接成功后,通信客户端选择目标主机(8266模块)的IP和端口,输入AT+CIPSTA? 可以查询IP AT+STATUS 可以查到端口
2-AP模式
其他连接方式
1-STA+AP模式
2-两个8266模块短距离下互相通信
分别进入STA 和AP 模式下进行连接即可
应用实例
1-模块在STA模式下连接原子云进行通信(https://cloud.alientek.com)
使用原子云固件,模块连接好WiFi以后,通过指令AT+ATKCLDSTA 加上原子云申请到的设备编号和密码即可连接成功并进行通信,
通信完成以后通过指令AT+ATKCLDCLS 断开连接(设备断电10分钟后也会断开连接)
2-模块在STA模式下连接原子云 与原子云手机APP进行通信
按上述步骤进行连接后,将这个8266设备添加到分组
登入原子云手机APP后,进入对应的设备后订阅设备消息即可进行数据通信
3-两个8266模块通过原子云进行通信(实现远距离传输)
建立需要进行通信的2个8266设备
在分组管理中新建一个分组把上述设备添加到分组
在透传管理中建立一个透传组,把设备加入即可进行数据收发
4-模块在 STA模式下实现TCP客户端通过网络助手和单片机进行通信
参考代码如下:
简单来说就是单片机通过串口和模块进行通信从而实现数据收发
5-使用单片机和原子云进行通信
只是连上了原子云没有其他区别,这样可以实现把单片机采集的数据上传到原子云服务器,及其通过云端对单片机进行单片机控制和数据交互
6-模块STA模式连接阿里云服务器
AT+CIPSNTPCFG=1,8,”ntp1.aliyun.com” 1:使能SNTP服务器+8:北京时间+ sntp服务器地址(阿里云服务器)
AT+MQTTUSERCFG 设置MQTT用户属性,注册好阿里云服务器后主要填写阿里云MQTT用户名称和密码,详细见ESP-AT用户指南
AT+MQTTCLIENTID=0,“client” 直接把客户端ID填写好后发送即可
不推荐使用AT+MQTTLONGCLIENTID (需要分两次发,先发送客户端ID的长度,再发送客户端的具体ID)
AT+MQTTCONN=0,“mqttHostUrl”,port,1 用于发送MQTT broker的,mqttHostUrl ,port 分别对应域名和端口号
AT+MQTTPUB=0,“Topic属性上报”,“字符串内容”,0,0 用于发布MQTT消息
AT+MQTTSUB=0,“Topic属性设置”,0 用于订阅Topic
(如果模块发布主题,阿里云服务器可以收到模块发布的消息,如果模块订阅主题,就可以接收阿里云服务器发送的内容)
在阿里云物联网平台建立好设备
将对应的MQTT信息对应填给相关指令就好了
填写了对应的域名和端口后,设备被激活
1-消息发布测试:
发布内容后,进行查看:
2-订阅主题测试
成功以后就可以发送内容给模块了
3-订阅主题的物模型方法
发送数据到模块方法2
串口发送:
串口接收:
4-发布主题的物模型方法
串口发送:
AT+MQTTPUB=0,"/sys/k1vn8tlLsmS/Test_Device/thing/event/property/post","ESP8266TEST",0,0
将上述指令中的字符串内容替换为JSON格式 "{\"params\":{\"temperature\":28}\,\"method\":\"thing.event.property.post\"}"
格式参考方式如下:
串口发送:
添加其他参数
也可以同时调整数据(发布正常)
(订阅正常):
串口接收: