当前位置: 代码网 > 移动>阿里 > ESP8266-01S使用AT指令连接阿里云

ESP8266-01S使用AT指令连接阿里云

2024年08月02日 阿里 我要评论
在初始化过程中,完成了与WIFI的连接配置,并通过AT指令实现了数据上报和云端属性获取功能。

esp8266(esp-01s) 简介

esp-01s 是由安信可科技开发的 wi-fi 模块,该模块核心处理器 esp8266 在较小尺 寸封装中集成了业界领先的 tensilica l106 超低功耗 32 位微型 mcu,带有 16 位精 简模式,主频支持 80 mhz 和 160 mhz,支持 rtos,集成 wi-fi mac/ bb/rf/pa/lna。 esp-01s wi-fi 模块支持标准的 ieee802.11 b/g/n 协议,完整的 tcp/ip 协议栈。 用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。

esp8266 是高性能无线 soc,以最低成本提供最大实用性,为 wi-fi 功能嵌入其他 系统提供无限可能。

1.外观尺寸

2.管脚定义

esp-01s 模组共接出 8 个接口,如管脚示意图,管脚功能定义表是接口定义

esp-01s 管脚示意图

表1 管脚功能定义

脚序名称功能说明
1gnd接地
2io2gpio2/uart1_txd
3io0gpio0;下载模式:外部拉低;运行模式:悬空或者外部拉高
4rxduart0_rxd/gpio3
5txduart0_txd/gpio1
6en芯片使能端,高电平有效
7rst复位,低电平复位,高电平工作(默认高)
8vcc3.3v 供电(vdd);外部供电电源输出电流建议在 500ma 以 上

模式ch_pd(en)rstgpio15gpio0gpio2txd0
下载模式
运行模式

3.硬件连接

usb转ttl模块与esp8266-01s连接

注意电源接3.3v驱动不了的话就接5v ,txd接rxd rxd接对应txd

ch340模块esp8266-01s
rxdtx
txdrx
gndgnd
3.3v3.3v
3.3ven

esp8266(esp-01s)at指令入门指南

esp8266 系列模组出厂时已默认内置 at 固件,且默认波特率为 115200,硬件连接好后,即可进行 at 指令操作。

1.指令说明

at 指令可以细分为四种类型:

类型指令格式描述
测试指令at+ <x> =?该命令⽤于该命令⽤于查询设置指令的参数以及取值范围。
查询指令at+<x>?该命令⽤于返回参数的当前值。
设置指令at+<x>=<...>该命令⽤于设置⽤户⾃定义的参数值。
执⾏指令at+<x>该命令⽤于执⾏受模块内部程序控制的变参数不可变的功能。

注意:

• 不是每条 at 指令都具备上述 4 种类型的命令。

• [ ] 括号内为缺省值,不必填写或者可能不显示。

• 使⽤双引号表示字符串数据 ”string”,例如:at+cwsap="esp756290","21030826",1,4

• 默认波特率为 115200。

• at 指令必须⼤写,并且以回⻋换⾏符结尾(cr lf)。

命令描述
基本命令
at                                   测试 at 启动
at+gmr  查看版本信息
at+cwmode 选择 wifi 应用模式
at+rst 重启模块
客户端模式
at+cwlap 列出当前可用路由器接入点
at+cipstart    建立 tcp, 连接服务器
at+cipclose 关闭 tcp
at+cifsr 获取本地 ip 地址
at+cipmode  设置模块传输模式
at+cipsend  发送数据
服务器模式
at+ cwsap  查询和设置 ap(server) 模式下的wifi名称、密码、加密方式
at+ cwlif 查看已接入设备的 ip地址
at+cipserver  配置为服务器默认端口333
at+cipmux 启动多连接
at+cipsto    设置服务器超时时间
2.命令使用例程
1、测试模块连接

指令:at
响应:ok
不成功经历:
1)模块供电不足,建议用5v供电
2)模块进行一系列wifi配置后不响应指令

2、查看版本信息

指令:at+gmr
响应:at version:1.2.0.0(jul  1 2016 20:04:45)
sdk version:1.5.4.1(39cb9a32)
ai-thinker technology co. ltd.
v1.5.4.1-a nov 30 2017 15:54:29
ok

3、重启模块:

发送:at+rst 

响应:ok

4、设置工作模式:

sta 模式:esp8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的
远程控制。

ap 模式:默认模式 atk_esp8266 模块作为热点,实现手机或电脑直接与模块通信,实
现局域网无线控制。

sta+ap 模式:两种模式的共存模式,(sta 模式)即可以通过路由器连接到互联网,并通过互联网控制设备;(ap 模式)也可作为 wifi 热点,其他 wifi 设备连接到模块。这样实现局域网和广域网的无缝切换,方便操作。

at+cwmode=1   //station 模式
at+cwmode=2   //softap 模式
at+cwmode=3   //station + softap 模式

发送:at+cwmode=1

响应:ok

5、模块的 wifi 设置

5.1 让模块列出当前环境下存在无线路由器的列表 

发送:at+cwlap

响应:+cwlap:(3,"test",-41,"9e:12:84:0a:f7:9c",11,11,0)

ok

可以找到自己的wifi

5.2 让模块连上自己的路由器

发送:at+cwjap="ssid","pwd" 

<ssid>:字符串参数,接入点名称
<pwd>:字符串参数,密码,最长64字节ascii

响应:

wifi connected
wifi got ip

ok

5.3 检测是否真连上了

发送:at+cwjap? 

响应:返回当前选择的ap

+cwjap:"test","9e:12:84:0a:f7:9c",11,-40

ok

阿里云创建mqtt客户端

新建设备

1、进入阿里云官网阿里云-计算,为了无法计算的价值 (aliyun.com)icon-default.png?t=n7t8https://www.aliyun.com/

2、如果还未注册,则先完成注册。

3、登陆后,点击产品。

4、进入物联网平台后,点击公共实例。如果还没开通,则先开通后进行使用。

5、点击产品,先创建一个产品。

6、在创建完成的产品页面上,添加设备。输入设备名称并确认。

7、输入设备名称,输入完成后点击确认。

8、创建模块,打开刚刚创建的产品,进入选择“功能定义”,编辑草稿

9、选择添加自定义功能,标识符和数据类型根据自己的数据需求设置,其他的配置根据需求配置,设置完之后点击发布上线即可

至此,阿里云物联网平台创建设备完成,接下来获取mqtt连接参数。

获取at参数

通过上述步骤,你可以获取到阿里云物联网平台上设备的三元组,并进行保存。这些参数将用于在esp-01s / esp8266上配置at指令,实现设备与物联网平台之间的通信。

使用阿里云物联平台配置

使用阿里云物联平台配置软件
链接:https://pan.baidu.com/s/1rzhxzxnb6sj-o7gehapd7w?pwd=1111 
提取码:1111

1、将阿里云的三元组粘贴到指定位置

2、该位置随便填写

3、点击生成

连接阿里云at指令介绍

注意指令不要含有空格符!!!

  1. at+rst 复位esp-01s / esp8266模块;
  2. at+cwmode=3 设置esp模块为station+softap模式;
  3. at+cwjap=“ssid”,“pwd” 设置esp模块连接无线网络 *注意双引号为英文;
  4. at+mqttusercfg=0,1,“null”,“username”,“password”,0,0,“” 设置 mqtt 用户属性;
  5. at+mqttclientid=0,“clientid” 设置mqtt 的clientid参数;
  6. at+mqttconn=0,“host”,1883,1 连接 mqtt broker;
  7. at+mqttclean 断开mqtt连接。

以上为连接阿里云mqtt服务器需要的配置命令,接下来在阿里云新建设备,获取at指令需要填充的参数。

使用at指令连接阿里云

1.连接wifi

at+rst
at+cwmode=3
at+cwjap="ssid","password"   //连接wifi

2.

at+mqttusercfg=0,1,"null","用户名","密码",0,0,""
//这个用户和密码是通过“阿里云物联网平台配置”软件通过设备的三元组配置出来的

响应:ok

3.

at+mqttclientid=0,"110022|securemode=3\,signmethod=hmacsha1\,timestamp=112200|"
//at+mqttclientid=o,"clienld"
//clientld第二个参数注意每个逗号后加分隔符”
//例如:原clienld: test1|securemode=3,signmethod=hmacsha1,timestamp=10l
//逗号前加\': test1|securemode=3,signmethod=hmacsha1\timestamp=10l

响应:ok

4.

at+mqttconn=0,"连接域名",1883,1
//at+mqttconn=o,"连接域名",1883,1//回复:
//+mqttconnected:0,1,"连接域名" ,"1883","",1

响应:ok

截止到这里,esp8266算是连接上了阿里云平台,正常操作的话做完这步设备应该显示在线

发布topic//向阿里云平台发送数据

1.首先获取物模型属性上报topic

在设备已经显示在线的前提下,发送下面at指令,上报物模型数据

将发送的数据在物模型上面显示

注意:test是设备号,要改为自己的设备,id可以随便写,params后面是标识符和对应值,改变值即可上传不同数据

//将发送的数据在物模型上面显示
at+mqttpub=0,"发布的主题","ajson格式内容",1,0
at+mqttpub=0,"/sys/k00njwvreur/设备名/thing/event/property/post","{\"method\":\"thing.event.property.post\"\,\"id\":\"123\"\,\"params\":{\"temperature\":35}\,\"version\":\"1.0.0\"}",1,0

订阅主题//从阿里云平台上面获取数据

esp8266-01s发送at指令,订阅该topic

at+mqttsub=0,"订阅的主题",1
//我的就是:at+mqttsub=0,"/sys/k00njwvreur/xyx-1/thing/service/property/set",1
//xyx-1替换成你的设备名就好了
回复:
ok

点击设置后,esp-01s会收到数据,物模型数据被改变

至此,可以使用esp8266实现数据上发给阿里云和阿里云下发数据到esp8266.

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com