一、前言
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);
}
七、编译上传
八、运行结果
这个时候,平台设备已经在线了
文章来源:https://www.toymoban.com/news/detail-852887.html
九、总结
通过本教程,我们详细介绍了如何将ESP8266 NodeMCU连接到阿里云IoT平台。从开发环境搭建到库文件修改,再到代码编写与调试,每一步都至关重要。希望本教程能够帮助开发者们顺利完成设备的接入和控制。在编写博客的过程中,我尽量保持内容的准确性和完整性,但也难免会有疏漏或错误之处。欢迎各位读者指出其中的问题,帮助我不断进步。文章来源地址https://www.toymoban.com/news/detail-852887.html
到了这里,关于ESP8266 NodeMCU连接阿里云(从环境搭建到代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!