Esp32+Blynk实现云端控制LED开灭

news2024/11/16 13:50:12

目录

      • 环境配置
        • 依赖库安装
        • blynk 基础设置
      • GPIO 点灯实验

环境配置


依赖库安装

参考 blynk 官方快速上手文档

如果要使用 blynk 提供的环境,我们就必须安装对应的库

选择基于 blynk 且适用于 ESP32 的库并安装到 arduino 上:

在这里插入图片描述


blynk 基础设置

进入官网并且注册一个账号 https://blynk.io/

直接跳过向导,进入控制台

按照下图所示,点击 new template 新建模板,模板名称自取,HARDWARE 选择 ESP32,连接类型选择 WIFI

在这里插入图片描述


点开这个 template,查看对应的 device info

我们需要拿小本本记下以下三个参数

  • AUTHTOKEN
  • TEMPLATE NAME
  • TEMPLATE ID

在这里插入图片描述


之后进入 blynk 模板代码生成网站

选择板子为 esp32,把刚刚记下来的三个参数全部填进去,复制右侧生成的一大段代码

在这里插入图片描述


把代码黏贴到 arduino 里面,现在看应该是这样的

注意补全示例代码的 ssid 以及 pass 常量,这是你链接到的路由器或者热点

/* Fill-in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID           "xxx"
#define BLYNK_TEMPLATE_NAME         "xxx"
#define BLYNK_AUTH_TOKEN            "xxx"

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial


#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

// 在这里我设置了手机热点SSID以及对应密码
char ssid[] = "zhiller";
char pass[] = "pp12345678";

void setup()
{
  // Debug console
  Serial.begin(115200);

  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
  // You can also specify server:
  //Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "blynk.cloud", 80);
  //Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, IPAddress(192,168,1,100), 8080);
}



void loop()
{
  Blynk.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!
}

此时可直接把代码上传到 esp32 里面去

上传完毕并且成功连接到 WIFI 后,回到 blynk 控制台,你会发现 template 上面显示设备状态为 online
这就表示成功的将设备连接到了服务器上!


GPIO 点灯实验

还是依据上面创建的 template

我们进入 web dashboard 界面,即 blynk 为我们提供的能快速操纵 esp32 的一个图形化控制面板
免费版用户可以创建 10 个控件,这也足够我们学习使用了

默认他给了我们一个按钮空间,我们点开它的设置,将其 DATASTREAM 项改为 Switch Control

在这里插入图片描述


回到我们的 arduino,修改代码如下

setup 方法里面添加 pinMode 方法设置 GPIO2 口(即蓝色 LED 对应的端口)为输出状态

定义的 BLYNK_WRITE(V0) 表示:当我们在云端 blynk 的 dashboard 点击对应按钮时,就会触发该方法内的响应
我们即可通过此方法实现对 LED 灯的开灭控制!

#define BLYNK_TEMPLATE_ID           "xxx"
#define BLYNK_TEMPLATE_NAME         "xxx"
#define BLYNK_AUTH_TOKEN            "xxx"

#define BLYNK_PRINT Serial


#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

char ssid[] = "zhiller";
char pass[] = "pp12345678";

void setup()
{
  Serial.begin(115200);

  // 设置引脚2口为输出状态OUTPUT
  pinMode(2, OUTPUT);

  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}

// 当V0口在云端被改变时,就会触发如下代码
BLYNK_WRITE(V0) // Executes when the value of virtual pin 0 changes
{
  if(param.asInt() == 1)
  {
    // execute this code if the switch widget is now ON
    digitalWrite(2,HIGH);  // Set digital pin 2 HIGH
  }
  else
  {
    // execute this code if the switch widget is now OFF
    digitalWrite(2,LOW);  // Set digital pin 2 LOW
  }
}

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

上传代码到 esp32

blynk 看见 online 状态后,前往 dashboard,以较低频率点击按钮(由于网络延迟的原因,手速太快切换开关的话会导致紊乱,板子无法响应)

可以看见蓝色 LED 根据按钮点击实现了开闭

此云端控制还可通过下载 blynk 对应的手机 APP,实现移动控制,十分方便!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/656917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Question1:harbor登录成功,推送镜像失败

denied: requested access to the resource is denied 解决方案 查看用户的权限 Harbor 用户角色权限速查 系统级角色&#xff1a; Harbor 系统管理员&#xff1a;“Harbor 系统管理员”拥有最多的权限。除了上述权限外&#xff0c;“Harbor 系统管理员”还可以列出所有项目、…

一种令人拍案叫绝的 ChatGPT 攻击手段!

公众号关注 “GitHubDaily” 设为 “星标”&#xff0c;每天带你逛 GitHub&#xff01; 最近看到一个非常巧妙的 ChatGPT 攻击手段&#xff0c;跟大家分享一下&#xff0c;也算是做个提醒。 不论你是否懂技术&#xff0c;我都建议你了解一下这种攻击手段&#xff0c;有备无患。…

Golang的trace性能分析

文章目录 一、trace概述二、trace的使用方式代码中trace采集通过pprof采集 三、trace分析细节trace的web界面trace中需要关注的关注GC的频率关注goroutine调度情况关注goroutine的数量理想情况 四、GC分析当前服务GC情况设置GOGC设置GOMEMLIMITGC阈值的讨论GC的特点 五、gorout…

【每日挠头算法题(8)】最后一个单词的长度|重新排列字符串

文章目录 一、最后一个单词的长度思路1&#xff1a;从后往前遍历具体代码如下&#xff1a; 思路2&#xff1a;具体代码如下&#xff1a; 二、重新排列字符串思路具体代码如下&#xff1a; 一、最后一个单词的长度 点我直达~ 思路1&#xff1a;从后往前遍历 从后往前遍历&…

Stable DiffusionAI绘画一键启动整合包

点击"仙网攻城狮”关注我们哦~ 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 搞了个Stable DiffusionAI绘画整合包&#xff0c;里面有二次元风格、3D风格、真人模型&#xff0c;需要的后台回复“AI绘画”即可获取下载链接,放几个用SD生成的图。 实战 1.下载好…

调用万维易源API实现图像性别转换

目录 1、作者介绍2、调用万维易源API2.1 API介绍2.2 API调用过程 3、代码实现3.1 实现步骤3.2 完整代码 4、问题与分析 1、作者介绍 梁随欣&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2022级研究生 研究方向&#xff1a;模式识别与人工智能 电子邮箱&…

【Java技术专题】「入门到精通系列教程」深入探索Java特性中并发编程体系的原理和实战开发指南( 线程基础技术专题)

深入探索Java特性中并发编程体系的原理和实战开发指南 并发编程介绍什么是并发编程并发编程的好处是什么并发编程的挑战是什么并发编程模型有哪些如何学习并发编程本系列专题文章大全 实战原理计算的问题简单的方法&#xff1a;更快的CPU来遍历靠谱的方法&#xff1a;分而治之来…

Redis客户端 - RedisSerializer

原文首更地址&#xff0c;阅读效果更佳&#xff01; Redis客户端 - RedisSerializer | CoderMast编程桅杆https://www.codermast.com/database/redis/redistemplate-redis-serializer.html 前景回顾 在上一篇中&#xff0c;我们实现了一个简单的案例&#xff0c;操作一个 St…

【22AP20 解码处理器(Hi3536AV100)】

22AP20 解码处理器(Hi3536AV100) 一、产品简介 22AP20 是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;智能 NVR 产品应用开发的新一代专业高端 SoC 芯片。22AP20 集成了 ARM Cortex-A55 八核处理器和性能强大的图像分析工具处理器&#xff0c;支持多种智能算法…

webpack无损压缩本地静态资源图片image-minimizer-webpack-plugin

开发如果项目中引用了较多图片&#xff0c;那么图片体积会比较大&#xff0c;将来请求速度比较慢。 我们可以对图片进行压缩&#xff0c;减少图片体积。 一、image-minimizer-webpack-plugin介绍 Image-minimizer-webpack-plugin是一个用于优化和压缩图片的Webpack插件。它使…

Qt5.15.2安装Android开发环境。

文章目录 1.下载并安装JDK1.1.下载1.2.安装 2.修改sdk_definitions.json文件3.QtCreator的配置3.1.设置JDK、Android SDK的路径3.2.设置openssl 现在&#xff08;20230617&#xff09;利用QtCreator来配置android开发环境还是挺方便的。基本三步搞定&#xff08;不过你要先安装…

《分布式中间件技术实战:Java版》学习笔记(一):抢红包

数据库建表 (1)red_send_record 记录用户发送了若干总金额的若干个红包。 CREATE TABLE red_send_record (id int(0) NOT NULL AUTO_INCREMENT,user_id int(0) NOT NULL COMMENT 用户id,red_packet varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL…

笔记本电脑介绍:记录生活,激发灵感

笔记本电脑是一种轻便、便携的电脑&#xff0c;它的出现改变了人们的工作和生活方式&#xff0c;它的优势在于它的小巧、轻便、便携性&#xff0c;可以满足用户的不同需求。本文将从笔记本电脑的结构、功能、优势和应用四个方面进行详细阐述。 一、笔记本电脑的结构 笔记本电…

mysql常见错误汇总

mysql常见错误汇总 列别名问题 可以在查询选择列表中使用别名为列提供 不同名称。可以使用 、 或子句中的别名来引用该列&#xff1a;GROUP BY ORDER BY HAVING SELECT SQRT(a*b) AS root FROM tbl_nameGROUP BY root HAVING root > 0;SELECT id, COUNT(*) AS cnt FROM t…

Grafana安装和实现可视化和告警

1、Grafana安装和实现可视化和告警 Prometheus UI 提供了快速验证 PromQL 以及临时可视化支持的能力&#xff0c;但其可视化能力却比较弱。一般情况下&#xff0c; 我们都用 Grafana 来实现对 Prometheus 的可视化实现。 1.1 什么是 Grafana Grafana 是一个用来展示各种各样…

【Linux】可重入函数

文章目录 前言一. 场景二. 可重入与线程安全结束语 前言 在Linux中&#xff0c;进程/线程可能因为时间片到达&#xff0c;或者其他中断&#xff0c;或者调用系统&#xff0c;需要从用户态切换到内核态&#xff0c;而内核空间会保存切换前&#xff0c;用户代码执行处的上下文&a…

环境搭建【1】VM和ubuntun 环境搭建

1.安装VMware 1.1 下载安装包 &#xff08;1&#xff09;官网下载&#xff1a;https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0 &#xff08;2&#xff09;百度网盘&#xff1a;https://pan.baidu.com/s/…

5.pixi.js编写的塔防游戏(类似保卫萝卜)-子弹跟随精灵移动

游戏说明 一个用pixi.js编写的h5塔防游戏&#xff0c;可以用electron打包为exe&#xff0c;支持移动端&#xff0c;也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…

【详解】篮球记分牌硬件及代码

篮球记分牌设计 1 系统设计1.1 设计任务 1.2 性能指标要求1.2 设计思路及设计框图1.2.1设计思路1.2.2总体设计框图1.2.3电路原理图1.2.3 PCB布线图 2 主要程序模块的设计及原理2.1 外部中断0 2.2 菜单2.3 两队比分及两队犯规次数显示及修改2.3.1选择功能2.3.2修改功能2.3.3显示…

golang vscode环境报错gopls was not able to find modules in your workspace的解决方式

目录 错误提示 分析 解决方式 方法一&#xff1a;将workspace与项目路径保持一致 方案二&#xff1a;使用go work指明纳入工作区的的module 总结 错误提示 golang从老版本升级到go1.20.5后打开vscode&#xff0c;发现代码不能自动补全了&#xff0c;而且vscode跳出一下的…