最近在做一个华为云的比赛,打算用esp8266连接华为云,然后esp8266与stm32通信,达到远程控制的效果,不知能否成功。
利用ESP-12F || ESP-12S
平台:华为云平台
固件:ESP8266 MQTT透传AT固件
总共需要以下几个步骤来连接华为云:
- 烧录ESP8266 MQTT透传AT固件
- 部署华为云平台
- 用AT指令连接华为云
因为前两步网上有很多教程了,这里就不做过多的解释(大致就是到官网下载mqtt固件和烧录工具,然后下载固件到esp8266里)
华为云官网也有相关的iot产品部署教程这里放个链接在线开发MQTT协议的智慧路灯_设备接入 IoTDA_最佳实践_设备接入_华为云
我就是参照这个教程创建的iot产品,注意要保存注册设备之后的设备ID和设备密钥!!这个接下来会用到。
点击保存并关闭后,网页会给你自动下载一个文件,里面就是ID和密钥。
下一步就是将下载好固件的esp8266接入电脑,通过串口调试助手发送AT指令。
分以下几个步骤:
AT+CWMODE=1 //设置esp8266模式
AT+CWJAP="WiFi名字","WiFi密码" //连接你的热点
AT+MQTTUSERCFG=0,1,"NULL","Username","Password",0,0,""
AT+MQTTCLIENTID=0,"ClientId"
AT+MQTTCONN=0,"域名",1883,1
第三步的NULL就是NULL不要动,Username、Password以及第四步的ClienId都是需要通过刚才的设备ID和密钥来生成的链接如下(注意!这里生成的Password一定要用最新生成的(好像之前的也可以))
将设备ID导入第一行,密钥第二行,点击Generate生成下方的ClientId、Username和Password
也就是上方AT指令中要替换的。
第五步的域名通过以下网址查询https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/instance/detail?id=8fe87243-d97d-4c1e-bb34-186a60ca2d14&type=publichttps://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/instance/detail?id=8fe87243-d97d-4c1e-bb34-186a60ca2d14&type=public一般利用mqtt华为云地址是不变的都是这个
a160d6ba32.iot-mqtts.cn-north-4.myhuaweicloud.com
下面是示例:
显示OK就是连接成功,这时到华为云上看设备就是在线状态,可以下发指令或这上传数据。