MicroPython ESP32网页实时更新DHT11数据显示

MicroPython ESP32网页实时更新DHT11数据显示


  • 📌相关篇《MicroPython ESP32 读取DHT11温湿度传感器数据》
  • 📍《【Micropython esp32/8266】网页点灯控制示例》
  • ✨本例综合以上两篇文章内容实现:在本地网页中显示DHT11温度传感器数据。可以做到在线监测湿度度数据变化。
  • ✨本示例基于Thonny平台下开发。✨
  • 🎉固件版本:esp32-20220618-v1.19.1应该也兼容最新的版本。
  • 🌼效果如下:
    在这里插入图片描述
  • 📖工程架构
    在这里插入图片描述

⛳注意事项

  • 🚩运行程序前,DHT11传感器必须已经接到指定定义的引脚上了,否则运行会报错!!!
  • 🧲在boot.py为文件中需要修改成个人的WiFi信息。
  • 🎯本地路由器设置不能开启AP隔离功能,否则设备与设备直接无法正常访问。
  • 🔰设备端和访问端必须在同一个网络环境下。
  • 🏳‍🌈不支持5G网络。

步骤

在这里插入图片描述

📘代码实现

  • boot.py
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
#import uos, machine
#uos.dupterm(None, 1) # disable REPL on UART(0)
#import gc
#import webrepl
#webrepl.start()
#gc.collect()try:import usocket as socket
except:import socketfrom machine import Pin
import networkimport esp
esp.osdebug(None)import gc
gc.collect()
# wifi信息
ssid = 'MERCURY_D268G'	# 填写自己的WiFi信息
password = 'pba5ayzk'	# 填写自己的WiFi信息station = network.WLAN(network.STA_IF)station.active(True)
station.connect(ssid, password)while station.isconnected() == False:passprint('Connection successful')
print(station.ifconfig())led = Pin(2, Pin.OUT)
  • 📑main.py
import dht
import machined = dht.DHT11(machine.Pin(4))
#d.measure()
#t=d.temperature() # eg. 23 (°C)
#h=d.humidity()    # eg. 41 (% RH)def web_page():d.measure()html = """<html><head><meta charset="utf-8"><meta http-equiv="refresh" content="6"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" href="data:,"><style>body { text-align: center; font-family: "Trebuchet MS", Arial;}table { border-collapse: collapse; width:45%; margin-left:auto; margin-right:auto;}th { padding: 12px; background-color: #0043af; color: white; }tr { border: 1px solid #ddd; padding: 12px; }tr:hover { background-color: #bcbcbc; }td { border: none; padding: 12px; }.sensor { color:red; font-weight: bold; background-color: #bcbcbc; padding: 1px;</style></head><body><h1>ESP Web DHT11 DATA</h1><table><tr><th>MEASUREMENT</th><th>VALUE</th></tr><tr><td>Temperature</td><td><span class="sensor">""" + str(d.temperature()) + """ °C</span></td></tr><tr><td>Humidity</td><td><span class="sensor">""" + str(d.humidity()) + """ %</span></td></tr></body></html>"""return htmls = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)while True:try:        if gc.mem_free() < 102000:gc.collect()                    conn, addr = s.accept()
#        conn.settimeout(5.0)print('Got a connection from %s' % str(addr))
#         request = conn.recv(1024)	# 为了减少内存开销,取消打印信息
#         conn.settimeout(None)
#         request = str(request)
#         print('Content = %s' % request)print('Content = %s' % request)response = web_page()conn.send('HTTP/1.1 200 OK\n')conn.send('Content-Type: text/html\n')conn.send('Connection: close\n\n')conn.sendall(response)conn.close()except OSError as e:        conn.close()print('Connection closed')

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git merge 和rebase区别

Merge the incoming changes into the current branch 找到两个分支的祖先 commit&#xff0c;然后将公共分支最新版合并到自己的分支&#xff0c;形成一个新的 commit 提交&#xff0c;用图表示如下。 Rebase the current branch on top of the incoming Rebase 则是重新基于…

3d 地球与卫星绕地飞行

1 创建场景 2 创建相机 3 创建地球模型 4 创建卫星中心 5 创建卫星圆环及卫星 6 创建控制器 7 创建渲染器 <template><div class"home3dMap" id"home3dMap"></div> </template><script> import * as THREE from three impo…

计算机网络——学习笔记

付费版&#xff1a;直接在上面的CSDN资源下载 免费版&#xff1a;https://wwsk.lanzouk.com/ijkcj13tqmyb 有疑问或者错误的地方可以在评论区指出&#xff0c;我会尽快回复 示例图&#xff1a;

Linux操作系统块设备参数调优

目录 一、队列深度 二、调度算法 三、预读量 四、I/O对齐 一、队列深度 队列深度决定了给块设备写I/O的最大并发数&#xff0c;对于Linux系统&#xff0c;默认值为128&#xff0c;一般情况下不建议用户修改此参数。用户可以使用cat命令查询当前块设备队列深度。 linux-ob3a…

el-cascader级联选择器加载远程数据、默认开始加载固定条、可以根据搜索加载远程数据。

加载用户列表分页请求、默认请求20条数据。想添加远程搜索用户功能。原有的方法filter-method不能监听到输入清空数据的时候。这样搜索完无法返回默认的20条数据。直接监听级联选择的v-model绑定的值是无法检测到用户自己输入的。 解决思路&#xff1a; el-cascader 没有提供…

真我V3 5G(RMX2200 RMX2201)解锁刷机全过程

安卓系统新Rom包为GSI&#xff0c;更具有通用性&#xff0c;可以比较放心刷。 原厂系统垃圾多、广告多&#xff0c;甚至热点功能不支持ipv6&#xff0c;严重偏离热点机的定位。 主要参考 https://www.bilibili.com/read/cv20730877/https://www.bilibili.com/read/cv2073087…

【Python】Web学习笔记_flask(4)——钩子函数

钩子函数可以用来注册在请求处理的不同阶段执行出 Flask的请求钩子指的是在执行视图函数前后执行的一些函数&#xff0c; 之前是有4种&#xff0c;但是 before_first_request已经被删除了&#xff0c;使用时会报错 before_request&#xff1a;在每次请求前执行&#xff0c;…

Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311)D题题解

文章目录 [Grid Ice Floor](https://atcoder.jp/contests/abc311/tasks/abc311_d)问题建模问题分析1.分析移动时前后两个点之间的联系2.方法1通过BFS将所有按照给定运动方式可以到达的点都标记代码 3.方法2采用DFS来标记路径上的点的运动状态代码 Grid Ice Floor 问题建模 给定…

一文学会git常用命令和使用指南

文章目录 0. 前言1.分支分类和管理1. 分支分类规范&#xff1a;2. 最佳实践3. 分支命名规范示例&#xff1a;4. 分支管理方法&#xff1a; 2. commit 注释规范1. 提交注释结构&#xff1a;2. 提交注释的准则&#xff1a; 3. git 常用命令1. git pull 核心用法2. git push 命令1…

MySQL主从复制——概念、原理、搭建过程

文章目录 1.主从复制概念2.主从复制原理3.主从复制结构的搭建3.1 主库配置3.2 从库配置 4.测试主从复制是否搭建成功5.主从复制的小结 DML&#xff08;data manipulation language&#xff09;是数据操纵语言&#xff1a;它们是SELECT、UPDATE、INSERT、DELETE&#xff0c;就象…

0基础学习VR全景平台篇 第75篇:多现场

多现场是指将多台设备的直播画面整合到一个直播活动链接里面&#xff0c;让用户自行选择切换要看哪个直播画面的功能。既可以是同一个活动的不同角度直播&#xff0c;也可以是异地的直播。多现场不需要导播台&#xff0c;并且可以同时支持平面直播和VR直播的混合切换。多现场仅…

第126天:内网安全-隧道技术SSHDNSICMPSMB上线通讯LinuxMac

知识点 #知识点&#xff1a; 1、入站规则不出网上线方案 2、出站规则不出网上线方案 3、隧道技术-SMB&ICMP&DNS&SSH 4、控制上线-Linux&Mac&IOS&Android-连接方向&#xff1a;正向&反向&#xff08;基础课程有讲过&#xff09; -内网穿透&#xf…

JSP--Java的服务器页面

jsp是什么&#xff1f; jsp的全称是Java server pages,翻译过来就是java的服务器页面。 jsp有什么作用&#xff1f; jsp的主要作用是代替Servlet程序回传html页面的数据&#xff0c;因为Servlet程序回传html页面数据是一件非常繁琐的事情&#xff0c;开发成本和维护成本都非常高…

增量式PID算法及其MATLAB实现

增量式PID算法是一种常用的控制算法,用于控制系统中的反馈控制。它通过对系统的误差进行递推式的计算,实现对系统输出的调节,使得系统的输出逐渐趋向于设定值。 delta u(k)=u(k)-u(k-1)=Kp*(e(k)-e(k-1))+Ki*e(k)+Kd*(e(k)-2*e(k-1)+e(k-2)) PID算法由三个部分组成:比例(…

EditPlus取消自动.bak备份

Tools->Preferences->File 将√取消

Linux知识点 -- 进程间通信(一)

Linux知识点 – 进程间通信&#xff08;一&#xff09; 文章目录 Linux知识点 -- 进程间通信&#xff08;一&#xff09;一、了解进程间通信1.进程间通信的必要性2.进程间通信的技术背景3.进程间通信的本质理解4.进程间通信的标准 二、匿名管道1.匿名管道通信的原理2.匿名管道的…

Service not registered 异常导致手机重启分析

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、Service not registered 异常导致手机重启二、Service not registered 解决方案 一、Service not registered 异常导致手机重启 1.重启 的部分Log如…

Web Worker API

Web Worker API Web Worker 使得在一个独立于 Web 应用程序主执行线程的后台线程中运行脚本操作成为可能。这样做的好处是可以在独立线程中执行费时的处理任务&#xff0c;使主线程&#xff08;通常是 UI 线程&#xff09;的运行不会被阻塞/放慢。 Web Worker概念与用法 Wor…

Maven引入本地jar包

maven做为一种强大的依赖管理工具&#xff0c;可以帮助我们更方便的管理项目中的依赖&#xff1b;而在使用过程中我们难免会有需要引入本地jar包的需求&#xff0c;这里踩过坑之后我分享俩种引入方式&#xff1b; 1.上传jar到本地maven仓库&#xff0c;再引入 使用此方法后可…

【DMA】认识 DMA 及其工作流程

DMA&#xff08;Direct Memory Access&#xff09;&#xff0c;字面意思“直接访问内存”&#xff0c;无需 CPU 干预直接读写内存。传统CPU读写数据时&#xff0c;需要先将要使用的数据保存到 RAM&#xff0c;等要用时再从RAM 加载。 目录 一、传统CPU存取数据 二、认识DMA …