当前位置: 首页 > news >正文

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():html = """<html><head><meta http-equiv="refresh" content="3"><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(t) + """</span></td></tr><tr><td>Humidity</td><td><span class="sensor">""" + str(h) + """</span></td></tr></body></html>"""return htmls = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)while True:conn, addr = s.accept()conn.settimeout(3.0)print('Got a connection from %s' % str(addr))request = conn.recv(1024)request = str(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()
http://www.lryc.cn/news/105112.html

相关文章:

  • JavaWeb之HTML基础篇(一)
  • TVM_深度学习编译器
  • Flutter InheritedWidget 共享状态管理
  • 什么是反射?Java反射?反射的优缺点
  • 小红书2020校招测试开发后端笔试题卷三
  • python数据可视化Matplotlib
  • firewalld防火墙
  • iMacros WebBrowser Component for .NET
  • 3,堆,桶排序,排序总结【p4-p5】
  • 使用langchain与你自己的数据对话(四):问答(question answering)
  • 如何快速开拓海外华人市场?附解决方案!
  • 【云原生-制品管理】制品管理的优势
  • Java爬虫----HttpClient方式(获取数据篇)
  • 计算机视觉实验:图像增强应用实践
  • ES6:Generator函数详解
  • 前端小练-产品宣传页面
  • arm学习之stm32设备树学习-中断控制led灯亮灭+字符设备指令控制led灯亮灭
  • 快速开发框架若依的基础使用详解
  • RabbitMQ 教程 | 第4章 RabbitMQ 进阶
  • 小程序如何从分类中移除商品
  • P1219 [USACO1.5] 八皇后 Checker Challenge
  • 如何在不使用脚本和插件的情况下手动删除 3Ds Max 中的病毒?
  • SpringCloud Gateway 在微服务架构下的最佳实践
  • Android studio修改app图标
  • <C++> 三、内存管理
  • 大模型开发(十五):从0到1构建一个高度自动化的AI项目开发流程(上)
  • HarmonyOS 开发基础(二)组件拼凑简单登录页面
  • flutter minio
  • ChatGPT:人工智能交互的新时代
  • C. Binary String Copying - 思维