米鼠商城

多快好省,买软件就上米鼠网

最新项目

人才服务

靠谱的IT人才垂直招聘平台

ESP8266 基于AT指令集连接阿里云物联网平台设备

  • Ellison
  • 7
  • 2020-03-22 12:32

总结一下之前学习的内容。想通过ESP8266连接上阿里物联网平台上创建的设备。

用ESP8266连接阿里云,本质上就是开启ESP8266的透传模式,发送MQTT报文。所谓MQTT报文,就是符合MQTT协议的一串16进制数据,我们通过透传模式发送相应的数据即报文,就会有相应的结果产生。

如何学习MQTT报文

这里推荐一个视频,对MQTT协议及其报文进行了详细的讲解。

https://www.bilibili.com/video/av65909330?p=31

就是在这个视频的介绍下,我对MQTT协议及相关报文有所了解。

接下来就是连接阿里云的具体步骤:

首先就是创建一个阿里云账号,在物联网平台建立自己的设备,这里网上都有很多资料,不在赘述。

建立好设备后,获取设备的三元组,并进行相关处理,得到阿里云服务器地址,客户端ID,用户名和密码。


{

"ProductKey": "xxxxxxx",

 "DeviceName": "xxxx",

"DeviceSecret": "xxxxxxxxxxxxxxxxx"
}
阿里云服务器地址(华东2) : *.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883 *表示自己账号的ProductKey注意替换

客户端ID : *|securemode=3,signmethod=hmacsha1|   *代表设备名称 注意替换

用户名 : *&#                                     *代表设备名称 #代表ProductKey 注意替换

密码 : 用DeviceSecret做为秘钥对clientId*deviceName*productKey#进行hnacsha1加密后的结果 *代表设备名称 #代表ProductKey 注意替换

hnacsha1加密在线计算网站: http://encode.chahuo.com/

这些处理好之后就是写代码开启ESP8266的透传模式,这里我是在正点原子的STM32F1 ATK-ESP8266代码基础上修改的。直接用AT指令集。

while(atk_8266_send_cmd("ATE0","OK",20));//关闭回显    
while(atk_8266_send_cmd("AT+CWMODE_CUR=1","OK",20));     //设为客户端模式
while(atk_8266_send_cmd("AT+CWJAP_CUR=\"自己的WIFI名称\",\"密码\"","OK",20));  //连接WIFI
while(atk_8266_send_cmd("AT+CIPSTART=\"TCP\",\"自己的ProductKey.iot-as-mqtt.cn-shanghai.aliyuncs.com\",1883","OK",20));  //TCP连接
while(atk_8266_send_cmd("AT+CIPMODE=1","OK",20));  //打开透传模式
while(atk_8266_send_cmd("AT+CIPSEND",">",20));  //开始传输数据

之后就是发送MQTT报文了,有专门构筑各种报文的函数,在我发布的文件里,详见下载地址。 https://download.csdn.net/download/qq_44036645/12260392

一切就绪后,就可以在阿里云物联网平台看到自己的设备上线了。



这里给大家推荐一个在线软件复杂项交易平台:米鼠网 https://www.misuland.com

米鼠网自成立以来一直专注于从事软件项目人才招聘软件商城等,始终秉承“专业的服务,易用的产品”的经营理念,以“提供高品质的服务、满足客户的需求、携手共创双赢”为企业目标,为中国境内企业提供国际化、专业化、个性化、的软件项目解决方案,我司拥有一流的项目经理团队,具备过硬的软件项目设计和实施能力,为全国不同行业客户提供优质的产品和服务,得到了客户的广泛赞誉。



如有侵权请联系邮箱(service@misuland.com)

猜你喜欢

评论留言