概述
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操作步骤最后所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复