ESP8266 NodeMCU连接阿里云完整教程(环境搭建+代码实现)

一、前言

ESP8266 NodeMCU是一款基于ESP8266芯片的开发板,因其体积小、功耗低、易于编程和扩展等特点,在物联网领域得到了广泛应用。阿里云IoT平台则为开发者提供了稳定可靠的物联网服务,包括设备接入、数据管理、远程控制等功能。本教程将指导你如何将ESP8266 NodeMCU连接到阿里云IoT平台,实现设备的接入和控制。

百度网盘链接

本项目用到的代码和库文件已经上传到百度网盘,链接如下:

链接:https://pan.baidu.com/s/1ToD30IzeQcK2481lVAQlSQ?pwd=m8rm
提取码:m8rm

二、准备工作

1.ESP8266 NodeMCU开发板
2.杜邦线若干
3.阿里云账号及IoT平台服务
4.Arduino IDE或其他ESP8266开发环境
5.ESP8266库文件(用于Arduino IDE)

三、ESP82666 开发环境搭建

1. 安装Arduino IDE

打开Arduino官网,下载并安装Arduino IDE。

2. 在线安装ESP8266(不推荐)

打开Arduino IDE,选择“文件”>“首选项”,在弹出的窗口中选择“附加开发板管理器网址”,将以下网址添加到列表中:

搜索“ESP8266”,选择“安装”即可安装ESP8266库文件。

一般在线安装会失败,建议使用离线安装方式。

3. 离线安装ESP8266(推荐)

1.如果安装过其他版本的esp8266 package,请先删除,再使用本安装包,删除方法:文件管理器地址栏输入 %LOCALAPPDATA%/Arduino15,回车进入,然后删除掉其中的文件夹

2.复制提供的文件粘贴到 %LOCALAPPDATA%/Arduino15这个文件夹中,然后重启Arduino IDE即可

四、阿里云IoT平台接入

具体可以参考我的上一篇文章:

零基础搭建自己的阿里云物联网平台

五、下载相应的库

在这里下载 PubSubClient库 AliyunIoTSDK库

注意:这里直接下载的库是连接不上阿里云的,需要修改一下,当时这里没注意,后来提交了工单,工程师说的

1.修改PubSubClient库
打开PubSubClient库,找到PubSubClient.h文件,找到如下代码进行修改:

六、编写代码

#include <ESP8266WiFi.h>
建立WiFi客户端对象
static WiFiClient espClient;


#include "AliyunIoTSDK.h"




// 设置 wifi 信息

const char* ssid     = "wxlzss";      // 连接WiFi名()                                      
const char* password = "123456789";          // 连接WiFi密码()
                                            
//阿里云云平台连接三元组  (需要修改为自己的阿里云三元组)                                  
// 设置产品和设备的信息,从阿里云设备信息里查看
#define PRODUCT_KEY "a12Fcmiorbf"
#define DEVICE_NAME "device_2"
#define DEVICE_SECRET "9557a9af4c2c4259b00a2a3cdf711098"//(这三个东西在阿里云里面)
#define REGION_ID "cn-shanghai"




 电源属性修改的回调函数
void powerCallback(JsonVariant p)
{
    int PowerSwitch = p["PowerSwitch"];
    if (PowerSwitch == 1)
    {
        Serial.println("open your feng_shan");      
    } 
    else
    {
    Serial.println("poweroff your feng_shan");
    }
}

void setup()
{
    Serial.begin(9600); 
    Serial.println("welcome to use our system");

    WiFi.begin(ssid, password);
    Serial.print("Connect to ");
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(1000);
    }
    Serial.println("Connected to AP");
    Serial.print("IP address: ");  
    Serial.println(WiFi.localIP());  
//初始化 iot,需传入 wifi 的 client,和设备产品信息
    AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
//

}


void loop()
{      
AliyunIoTSDK::loop();  
    //阿里云上传的数据,这些SmokeSensorValue,temperature,Humidity,basketball,pingpong是我在阿里云创建的设备属性,需要修改成自己的
//这里需要修改成自己的设备属性
AliyunIoTSDK::send("SmokeSensorValue",10);delay(1000);
AliyunIoTSDK::send("temperature",20);delay(1000);
AliyunIoTSDK::send("Humidity",30); delay(1000);
AliyunIoTSDK::send("basketball",40); delay(1000);
AliyunIoTSDK::send("pingpong",50);delay(1000);
}

七、编译上传

八、运行结果

这个时候,平台设备已经在线了

九、总结

通过本教程,我们详细介绍了如何将ESP8266 NodeMCU连接到阿里云IoT平台。从开发环境搭建到库文件修改,再到代码编写与调试,每一步都至关重要。希望本教程能够帮助开发者们顺利完成设备的接入和控制。在编写博客的过程中,我尽量保持内容的准确性和完整性,但也难免会有疏漏或错误之处。欢迎各位读者指出其中的问题,帮助我不断进步。

作者:墨小羽ovo

物联沃分享整理
物联沃-IOTWORD物联网 » ESP8266 NodeMCU连接阿里云完整教程(环境搭建+代码实现)

发表评论