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

相关文章

Qt实现对Word网页的读取功能

《Qt实现对Word网页的读取功能》文章介绍了几种在Qt中实现Word文档(.docx/.doc)读写功能的方法,包括基于QAxObject的COM接口调用、DOCX模板替换及跨平台解决方案,重点讨论... 目录1. 核心实现方式2. 基于QAxObject的COM接口调用(Windows专用)2.1 环境

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

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 类(用于