ESP32学习记录------点灯科技blinker(VS Code PlatformIO )

本文记录了在ESP32上使用Blinker库进行物联网开发的过程,包括遇到的错误及解决方法。首先尝试通过PlatformIO库搜索添加Blinker,但出现错误,然后通过GitHub下载最新库并成功运行官方示例,实现了设备的在线控制和LED灯的远程操作。强调了使用官方最新库的重要性。
摘要由CSDN通过智能技术生成

ERROR: Maybe you have put in the wrong AuthKey!

[66421] ERROR: Or maybe your request is too frequently!
[66424] ERROR: Or maybe your network is disconnected!
解决办法使用github上最新的blinker库
见学习过程二、3

# ESP32学习记录

ESP32学习记录(1)编程环境安装


ESP32学习记录------点灯科技blinker(VS Code PlatformIO )

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

学习完前面的一些基础内容,想来了解一下物联网。


提示:以下是本篇文章正文内容,下面案例可供参考

一、点灯科技Blinker

Blinker 是一个简单易用的物联网平台,只需要几行代码,就可以开发出物联网应用。点灯是一套专业且易用物联网解决方案,提供了服务器、应用、设备端sdk支持。 基于高性能异步框架开发的服务器端可以承载大量设备连接,让设备所有者方便的进行设备管理;简单便捷的应用配合多设备支持的sdk,可以让开发者在3分钟内实现设备的接入。

在这里插入图片描述
为普通用户提供免费接口,我觉得这对业余爱好者特别友好。

二、学习过程

1.直接新建工程

在这里插入图片描述
在这里插入图片描述

2.从PlatformIO添加Blinker的库文件

最开始我选择直接在PlatformIO的library中搜索添加
在这里插入图片描述
在这里插入图片描述
然后找到点灯科技的开发文档 ,我选择 使用esp32 & WiFi接入

复制例程到main.cpp文件,编译后发现报错众多,于是更换从PlatformIO添加的库中的例程
在这里插入图片描述
在这里插入图片描述
将其复制到main.cpp文件添加LED管脚定义和自己的key还有wifi名称密码,然后编译成功
在这里插入图片描述
上传成功
在这里插入图片描述
上传成功复位开发板,打开串口助手检查
在这里插入图片描述
搜所这个问题后得到
在这里插入图片描述
于是卸载从PlatformIO下载的库改用官方网站的库

3.在github下载Blinker库

Blinker库下载链接

在这里插入图片描述
下载压缩包解压后把文件夹放在工程的lib文件夹下
在这里插入图片描述
再次放入官方例程编译并上传


#define BLINKER_PRINT Serial
#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "14bc66ecbc68";
char ssid[] = "du";
char pswd[] = "1234567890";

// 新建组件对象
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");

int counter = 0;

// 按下按键即会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}

// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);
    counter++;
    Number1.print(counter);
}

void setup() {
    // 初始化串口
    Serial.begin(115200);

    #if defined(BLINKER_PRINT)
        BLINKER_DEBUG.stream(BLINKER_PRINT);
    #endif
    
    // 初始化有LED的IO
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, HIGH);
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    Button1.attach(button1_callback);
}

void loop() {
    Blinker.run();
}

(如果找不到Blinker.h只需要在路径上加上自己的库)
在这里插入图片描述

在这里插入图片描述
连接成功,手机端显示设备在线,并且可以控制LED


总结

提示:使用时一定要使用官方最新的库文件,或与开发文档相匹配的库文件。

ESP32是一款基于Wi-Fi和LoRa技术的嵌入式系统单片机,常用于物联网(IoT)项目中,比如智能家居。使用它连接小爱同学(小米AI音箱)进行远程控制灯的操作,通常需要通过米家IoT平台、MQTT协议以及Espressif IoT SDK来实现。 以下是一个简化的步骤和代码示例: 1. **硬件准备**: - ESP32开发板 - 灯(如LED) - 连接至小爱同学的智能设备 2. **软件配置**: - 安装Arduino IDE或其他支持ESP32的IDE,并添加第三方库如`WiFiManager`和`mbedTLS`。 3. **编写代码**: ```cpp #include <WiFi.h> #include <WiFiClientSecure.h> #include "WiFiManager.h" #include "esp_mqtt_client.h" // 小米账号信息 const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; void onMessage(char* topic, byte* payload, unsigned int length) { if (strcmp(topic, "xiaoying/command") == 0 && strcmp((char*)payload, "on") == 0) { digitalWrite(LED_PIN, HIGH); // 开灯 } else if (strcmp(topic, "xiaoying/command") == 0 && strcmp((char*)payload, "off") == 0) { digitalWrite(LED_PIN, LOW); // 关灯 } } void setup() { // 初始化WiFi模块 WiFiManager wifiManager; config_t config = WiFiManager::getstationConfig(); config.ip = WL_IPADDR_ANY; config.meshId = 0; config.googleapidomain = ""; config.hostname = "esp32_light"; config.staticIP = false; wifiManager.setAPStationConfig(config); WiFi.mode(WIFI_STA); // 连接到小爱同学建立的Wi-Fi网络 if (!wifiManager.autoConnect("xiaoying")) { Serial.println("Failed to connect to xiaoying"); while (1); } // MQTT配置 mqttClient.begin("esp32_light", WiFiManager::getAP(). SSID.c_str(), WiFiManager::getAP(). password.c_str()); mqttClient.setServer("mqtt.xiaomi.com", 1883); mqttClient.onMessage(onMessage); // 订阅主题,例如"xiaoying/command",小爱同学会通过此主题发送命令 mqttClient.subscribe("xiaoying/command"); Serial.println("Connected and subscribed!"); } void loop() { mqttClient.loop(); } ``` 在这个例子中,你需要替换`SSID`和`PASSWORD`为你实际的小米账号下的网络名称和密码。`LED_PIN`则需要替换为你的LED灯对应的数字引脚。程序会在连接到小爱同学创建的Wi-Fi后,订阅指定的主题并监听来自小爱同学的指令来控制灯的状态。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值