我是靠谱客的博主 曾经外套,最近开发中收集的这篇文章主要介绍ESP-8266接入阿里云开关LEDESP-8266接入阿里云开关LED操作步骤最后,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ESP-8266接入阿里云开关LED

我们通过esp8266连接到阿里云,再通过阿里云绑定修改led属性,esp8266接收到mqtt协议报文处理我们的开关灯函数

阿里云控制台添加设备,esp8266程序环境搭建,esp8266程序烧录

个人开发测试阿里云是免费的


操作步骤

1.阿里云添加设备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到这里我们就有了一个设备了。当前现在还没有在线。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
查看复制设备证书!等会要把这些放到代码中
在这里插入图片描述

2.Arduino引入库

Arduino需要安装 ArduinoJson,Crypto,PubSubClient库
Esp8266 需要在Arduino中安装 ESP8266库

① 搜索安装mqtt

在这里插入图片描述

② 搜索安装ArduinoJson

在这里插入图片描述

③ 搜索安装Crypto在这里插入图片描述

④ 搜索安装PubSubClient在这里插入图片描述

3 修改PubSubClient.h两个参数

如果不修改的话,会提示-2的错误
我的文件夹地址 C:UsersAdministratorDocumentsArduinolibrariesPubSubClientsrc
在这里插入图片描述

4 编写点灯代码变更自己的wifi和产品信息

// 引入 wifi 模块,并实例化,不同的芯片这里的依赖可能不同
#include <ESP8266WiFi.h>
static WiFiClient espClient;

// 引入阿里云 IoT SDK
#include <AliyunIoTSDK.h>

// 设置产品和设备的信息,从阿里云设备信息里查看
#define PRODUCT_KEY "a14xxxxxfXtk"
#define DEVICE_NAME "LED_1"
#define DEVICE_SECRET "504a83a60bxxxxxxxxxxxxxxx18ed6"
#define REGION_ID "cn-shanghai"

// 设置 wifi 信息
#define WIFI_SSID "0"
#define WIFI_PASSWD "12345678"

void setup()
{
    // set the digital pin as output:
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, HIGH);
    
    Serial.begin(115200);
    
    // 初始化 wifi
    wifiInit(WIFI_SSID, WIFI_PASSWD);
    
    // 初始化 iot,需传入 wifi 的 client,和设备产品信息
    AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
    
    // 绑定一个设备属性回调,当远程修改此属性,会触发 ledSwitchCallback
    // PowerSwitch 是在设备产品中定义的物联网模型的 id
    AliyunIoTSDK::bindData("LEDSwitch", ledSwitchCallback);
}

void loop()
{
    AliyunIoTSDK::loop();
}

// 初始化 wifi 连接
void wifiInit(const char *ssid, const char *passphrase)
{
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, passphrase);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(1000);
        Serial.println("WiFi not Connect");
    }
    Serial.println("Connected to AP");
}

// LED状态修改的回调函数
void ledSwitchCallback(JsonVariant p)
{
    int LEDSwitch = p["LEDSwitch"];
    // 变更LED状态
    digitalWrite(LED_BUILTIN, LEDSwitch);
}

最后

Arduino烧录到esp8266
在这里插入图片描述
打开串口调试
在这里插入图片描述
在这里插入图片描述

最后

以上就是曾经外套为你收集整理的ESP-8266接入阿里云开关LEDESP-8266接入阿里云开关LED操作步骤最后的全部内容,希望文章能够帮你解决ESP-8266接入阿里云开关LEDESP-8266接入阿里云开关LED操作步骤最后所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部