使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台

写在前面

本篇文章的背景是ESP8266初学,主要目的是基于乐鑫官方的SDK3.0,通过移植阿里mqtt协议从而连接到阿里云物联网平台,从而对esp8266有更深入的了解。

关于接入阿里云平台的相关步骤,我主要参考了这篇博文:https://blog.csdn.net/yannanxiu/article/details/81334230,大家可以直接参考这篇博文一直到烧写前,我将概况总结这篇博文的步骤,以及我自己烧写时发现的问题和注意事项。

正文(ESP8266接入阿里云物联网平台)

一、获取阿里云IoT设备认证三元组

1. 开通平台

首先,进入阿里云物联网平台注册登录:https://www.aliyun.com/product/iot

使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台_第1张图片

2. 创建产品

设备依托于产品,所以首先创建产品,产品名称自己定义,选择连网方式(WIFI)和数据格式(我选择的Alink JSON,虽然没有很了解这种格式,但是最终可以连接上)。

使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台_第2张图片使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台_第3张图片使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台_第4张图片

3. 创建设备

DeviceName是之后要写到代码里对应的,所以要英文数字字符组成。

创建设备

4. 获取认证三元组

创建好产品、设备后就可以获取到设备认证三元组:ProductKeyDeviceNameDeviceSecret

获取认证三元组

二、下载安信可Ai-Thinker ESP8266 IDE

下面是如何搭建安信可ESP8266 IDE环境的文档(引用自开头提到的博文总结的内容):

如何安装安信可一体化开发环境:http://wiki.ai-thinker.com/ai_ide_install
如何使用安信可 ESP 系列一体化开发环境:http://wiki.ai-thinker.com/ai_ide_use
————————————————
版权声明:本文为CSDN博主「阏男秀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yannanxiu/article/details/81334230

注意:环境变量更改好后请先重启电脑!

三、下载并导入ESP8266官方SDK3.0

乐鑫官网下载SDK3.0 : https://github.com/espressif/ESP8266_NONOS_SDK

四、下载并导入aliyun_mqtt_app到SDK

Github下载aliyun_mqtt_app:https://github.com/AngelLiang/esp8266_aliyun_mqtt_app

将aliyun_mqtt_app文件夹拷贝到SDK项目目录下:

使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台_第5张图片

编辑app/include/user_config.h文件,修改下面信息:

#define PRODUCT_KEY     "PRODUCT_KEY"
#define DEVICE_NAME     "DEVICE_NAME"
#define DEVICE_SECRET   "DEVICE_SECRET"

#define WIFI_SSID       "WIFI_SSID"
#define WIFI_PASS       "WIFI_PASS"

五、烧写ESP8266

如何为 ESP 系列模组烧录固件:http://wiki.ai-thinker.com/esp_download

参考这篇文章,基本可以进行烧录,有些问题还需要补充一下:

就像文章中提到的,build之后,控制台会提示bin文件的烧录地址,配置不同,烧录的地址和需要的文件也不同。

使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台_第6张图片

这是我的Build设置(右键项目->properites):

make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=4

对应的项目Makefile中也修改相应参数:

此外,烧录时要看自己的esp8266模块支持的SPI MODE都有哪些,我买的是正点原子的模块,基本上都支持,但是我代码里配置的SPI_MODE是DIO,所以烧录时也选择了DIO,大家也可以试一下其他配置。FLASH_SIZE也是要与自己的模块相匹配,32Mbit即4MB的Flash大小,大家可以从模块文档中找一下这些参数。

使用ESP8266(基于乐鑫官方SDK3.0)接入阿里云物联网平台_第7张图片

还是要提醒一下,烧录时,GPIO_0要拉低接地,这样才能进入下载模式,进行烧录。

你可能感兴趣的:(嵌入式相关)