ESP8266 MQTT AT固件对接亚马逊云

文章目录

  • 前言
  • 1、亚马逊云平台使用
    • 1.1 申请亚马逊账号
    • 1.2 创建单个物品
    • 1.3 创建证书
    • 1.4 保存和下载证书
  • 2、编译生成支持接入亚马逊的AT固件
    • 2.1 获取SDK
    • 2.2 合并固件烧录配置
  • 3、AT指令对接亚马逊平台

前言

正值2020年,为了丰富物联网云平台的开源生态,谨愿供绵薄之力给大家,在此奉上ESP8266如何用AT指令快速对接上亚马逊云之文。

1、亚马逊云平台使用

1.1 申请亚马逊账号

点击进入亚马逊云
申请亚马逊账号比较费事,多和度娘打招呼就能解决,此处不便多说了。

1.2 创建单个物品

有了亚马逊账号之后,记得保管好,后面对接还要用到。下一步,切换进入AWS IOT 管理中,如下图创建单个物品。
在这里插入图片描述
给物品取个名字,叫“esp_test”,其余默认,点击下一步如下图:
在这里插入图片描述

1.3 创建证书

重磅消息,创建证书是最关键的一步,如下图操作。
在这里插入图片描述

1.4 保存和下载证书

一定要把下图的证书好好保存到你电脑的一个文件夹里,然后别忘记激活。附加策略也是非常重要的,可以先点击完成,在设备里添加即可。
在这里插入图片描述

2、编译生成支持接入亚马逊的AT固件

2.1 获取SDK

AT固件源码获取:
链接:MQTT AT固件源码
提取码:ovau
下载后修改其中的makefile内容

	export ESP_AT_PROJECT_PLATFORM ?= PLATFORM_ESP32
	export ESP_AT_MODULE_NAME ?= WROOM-32

成为

	export ESP_AT_PROJECT_PLATFORM ?= PLATFORM_ESP8266 
	export ESP_AT_MODULE_NAME ?= WROOM-02

把之前下载的证书放进esp8266_at_mqtt对应的目录下:
AmazonRootCA1.pem 替换components/customized_partitions/raw_data/mqtt_ca/mqtt_ca.crt
xxx.cert.pem 替换 components/customized_partitions/raw_data/mqtt_cert/mqtt_client.crt
xx.private.key 替换 components/customized_partitions/raw_data/mqtt_key/mqtt_client.key
编译

cd ~/esp8266_at_mqtt     
source  path_config.sh
sudo ./gen_default.sh

2.2 合并固件烧录配置

如下图在ESP8266 DOWNLOAD TOOL工具配置,在最后填充空白文件地址0x1ff000
ESP8266 MQTT AT固件对接亚马逊云_第1张图片
如图配置:
ESP8266 MQTT AT固件对接亚马逊云_第2张图片
点击START即可完成烧录。

3、AT指令对接亚马逊平台

3.1连接路由

AT+CWMODE=1
AT+CWJAP="ssid","password" //填入路由ssid和密码

3.2 配置信息

AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com" //
AT+MQTTUSERCFG=0,4,"esp_test","[email protected]","passwordxxx",0,0,""//添加产品ID,亚马逊登录账户和密码

在这里插入图片描述

AT+MQTTCONN=0,"a2cmlaa8vbcuj-ats.iot.us-west-2.amazonaws.com",8883,1 //建立MQTT连接

3.3 订阅主题
亚马逊云平台先订阅一个主题esp_test/at
在这里插入图片描述

AT+MQTTSUB=0,"esp_test/at",1 //设备订阅主题

亚马逊云平台客户端下发数据:
在这里插入图片描述
esp8266得到回复:

+MQTTSUBRECV:0,"esp_test/at",45,{
     
  "message": "Hello from AWS IoT console"
}

3.4 发布消息

AT+MQTTPUB=0,"esp_test/at","hello aws!",1,0 //设备发布消息

亚马逊云平台客户端收到信息:
在这里插入图片描述

你可能感兴趣的:(wifi,mqtt,物联网领域)