ESP8266制作天气预报海藻球微景观生态缸记录(四)-增加网页显示

本文主要是介绍ESP8266制作天气预报海藻球微景观生态缸记录(四)-增加网页显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

已经正常工作了几天,下一步要加上网页控制,预计要实现的顺序如下:

  1. 显示当前亮度
  2. 通过滑块调整亮度并保存亮度值【根据光线自动调亮度的方案作废】
  3. 可以通过网页设定各种天气下颜色显示效果并保存
  4. 上传一堆天气图标进去,并在网页上显示天气图标。

先实现第一步。

大致的原理就是建立起一个web服务器,如果有浏览器访问,则输出html代码,浏览器收到代码后解析并呈现出来。

为了实现滑块控制,所以这里使用异步服务器,需要用到的库文件见下:

https://download.csdn.net/download/tansuo2005/83887043icon-default.png?t=M1L8https://download.csdn.net/download/tansuo2005/83887043

这两个库要通过Arduino的“项目-加载库-添加.zip库”的功能加入。

通过html代码中的%%标记,将变量(灯光亮度)中的内容输出。

实现的代码见下:

#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
String light = "150";//彩灯亮度
//设置这个异步网页服务器的端口为80
AsyncWebServer server(80);
//要打印的首页
//标记在%之间的LIGHTVALUE,是要向网页处理器发出名为LIGHTVALUE的请求,然后获得值[对于本例,就是灯光亮度]
const char index_html[] PROGMEM = R"rawliteral(
<!DOCTYPE HTML><html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1"><title>ESP 网页服务器</title>
</head>
<body><h2>彩灯控制</h2><p><span id="textLight">当前灯光亮度:%LIGHTVALUE%/255</span></p>
</body>
</html>
)rawliteral";
//网页处理器
String processor(const String& var){if (var == "LIGHTVALUE"){//如果收到的是名为LIGHTVALUE的请求,则返回当前light变量里的值.return light;}return String();
}
void setup() {
// 开始设置web服务器——首页设置server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){request->send_P(200, "text/html", index_html, processor);//把index_html变量的内容,打印出去});// 启动网页服务server.begin();
}

这样,就可以把light变量的内容打印到网页上。

下一步,通过滑块改变light变量的值,就可以达到网页灯光亮度控制了。

(待续)

这篇关于ESP8266制作天气预报海藻球微景观生态缸记录(四)-增加网页显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/814917

相关文章

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr