首页 > 其他分享 >基于TYboard的大棚自动监控系统

基于TYboard的大棚自动监控系统

时间:2024-11-28 19:31:12浏览次数:8  
标签:draw Pin TYboard py 0x00 大棚 监控 display DHT11

物联网MicroPython课程作业

要求:

采用光敏传感器、温湿度传感器(DHT11)、0LED显示模块、继电器、抽水泵、LED灯完成智能大鹏监控系统的搭建,

基本功能更要求:

  1. 光线暗,LED灯亮:
  2. 湿度小于设定值,抽水泵启动:
  3. OLED显示温度、湿度,屏幕下方显示完成人名字(完整的名字)。

强烈建议使用优质杜邦线!接线一定要牢固!

对于本程序容易出现的问题一下罗列:

  1. OSError: [Errno 5]EIO,主要为OLED显示屏通信连线,即IIC接口接线不稳导致。
  2. OSError: [Errno 16],为DHT11连线不稳导致
  3. OLED字库报错,可能为显示的字符没有在font.py文件中定义。
  4. 对于DHT11模块在于本程序中总是出现传输数据出错,暂时不知道如何解决。
  5. (其他暂时没有出现过,等待后续问题添加)

以下为代码实现逻辑

首先导入用到的模块

本程序中的模块中,除了ssd1306_lib.py文件和font.py文件需要下载导入,其他均可以 直接调用。

文件的下载地址如下:

font.py文件icon-default.png?t=O83Ahttps://download.csdn.net/download/StorkRed/90048921
ssd1306_lib.py文件icon-default.png?t=O83Ahttps://download.csdn.net/download/StorkRed/90048918

 MicroPython库文件导入如下:

from pyb import Pin
from dht11 import DHT11
from ssd1306_lib import SSD1306
import font

对于初始化程序如下图所示:

端口引脚图
光敏传感器DO管脚Y1
板载LED灯X1
继电器OUT管脚X2
DHT11OUT数据管脚Y8
OLED通行引脚SDA,SCLY10,Y9

首先是对于端口引脚进行初始化,再对于OLED屏幕进行初始化的显示

light = Pin('Y1',Pin.IN)			
led = pyb.Pin("X1",pyb.Pin.OUT_PP)	
ka = Pin('X2',Pin.OUT_OD)			
dht = DHT11('Y8')					
display = SSD1306(pinout={'sda': 'Y10','scl': 'Y9'},
              height=64,
              external_vcc=False)

display.poweron()
display.init_display()
display.draw_chinese(str(st1),0,0)	#“温度:”
display.draw_chinese(str(st2),0,2)	#“湿度:”
display.draw_chinese(str(st4),4,0)	#“℃”
display.draw_text(70,16,'%',size=2)
display.draw_chinese(str(st5),0,6)
display.display()

 对于DHT11温湿度传感器而言需要再CPU中调用,即在While循环中运行。一下则是调用DHT11库中的dht.read_data()函数实现读取其测量的数据,

def readTaHData():
    global DATA
    global tem,hum
    DATA = dht.read_data()
    tem=str(int(DATA[0]))
    hum=str(int(DATA[1]))

 while循环中主要的代码业务逻辑如下:

  • 首先是读取DHT11的数据。

readTaHData()            #读取数据

  • 当光线暗,LED灯亮。

if light.value()==1:    #低于设定光亮打开
   pyb.LED(1).on()
else:
   pyb.LED(1).off()

  •  湿度小于设定值,抽水泵启动。

if (int(hum)) > setvalue:  
   ka.high()
else:
    ka.low()

  •  OLED上显示测量出的温度、湿度,以及显示人名。

display.draw_text(40,0,tem,size=2)    #温湿度显示
display.draw_text(40,16,hum,size=2)
display.display()  


 附录:对于文字字符的取模

 使用的的是PCtoLCD2002取模软件

取模设置

 取模示例如下

取完汉字字模后对于MicroPython的OLED库而言需要UTF-8的引索来找到其数组文件,类似于python中的字典。

取字模网站地址icon-default.png?t=O83Ahttp://tool.lu/hexstr/输入汉字转化为UTF-8编码即可如下图

在红框中输入
生成的UTF-8编码

其中每个汉字字节均以e开头即

0xe5ae81

引索在font.py中输入格式如下:

0xe28483:
    [
    0x60,0x91,0x96,0x6C,0x08,0x18,0x18,0x18,0x18,0x18,0x18,0x08,0x0C,0x06,0x01,0x00,
    0x00,0xF4,0x0C,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0xF0,0x00,
    ],#℃

到此即完成了整个项目的编写 


 以下为main文件的整体

main.py文件的下载icon-default.png?t=O83Ahttps://download.csdn.net/download/StorkRed/90048949

标签:draw,Pin,TYboard,py,0x00,大棚,监控,display,DHT11
From: https://blog.csdn.net/StorkRed/article/details/144070166

相关文章

  • 7. Spring Cloud Sleuth+ZipKin 链路监控的配置详细解析
    7.SpringCloudSleuth+ZipKin链路监控的配置详细解析@目录7.SpringCloudSleuth+ZipKin链路监控的配置详细解析前言:1.SpringCloudSleuth+ZipKin的概述1.1Sleuth/ZipKin是什么?1.2Sleuth和Zipkin的简单关系图:1.3Sleuth工作原理解析2.Sleuth+ZipKin的......
  • 萤石设备视频接入平台EasyCVR私有化视频平台视频监控系统的需求及不同场景摄像机的选
    在现代社会,随着安全意识的提高和技术的进步,安防监控视频系统已成为保障人们生活和财产安全的重要工具。EasyCVR安防监控视频系统,以其先进的网络传输技术和强大的功能,为各种规模的项目提供了一个高效、可靠的监控解决方案。以下是对EasyCVR安防监控视频系统的需求分析和不同场景下......
  • 萤石设备视频接入平台EasyCVR海康私有化视频平台监控硬盘和普通硬盘有何区别?
    在现代安防监控领域,对于数据存储和视频处理的需求日益增长,特别是在需要长时间、高稳定性监控的环境中,选择合适的存储设备和监控系统显得尤为重要。本文将深入探讨监控硬盘与普通硬盘的区别,并详细介绍海康私有化视频平台EasyCVR安防监控视频系统如何以其卓越的性能和功能,满足不同场......
  • 在4G无线太阳能供电监控系统中,使用磷酸铁锂电池和三元电池有哪些优缺点
    磷酸铁锂电池和三元电池都是目前比较流行的锂离子电池类型。在选择磷酸铁锂电池和三元电池时,需要考虑具体的应用场景和需求,综合考虑电池的性能、成本、安全性等因素来进行选择。对于一些对安全性和寿命要求较高,但能量密度相对不那么重要的场景,比如电动汽车,磷酸铁锂电池是一个......
  • Windows Phone应用性能监控与分析技巧
    引言随着移动互联网的快速发展,用户对应用性能的要求越来越高。WindowsPhone作为重要的移动操作系统之一,其应用性能的好坏直接关系到用户体验。本文将详细介绍WindowsPhone应用性能监控与分析的技巧,帮助开发者找到性能瓶颈并进行优化。使用内置工具进行性能监控WindowsPhone......
  • Prometheus监控之Blackbox Exporter
    先安装环境:链接:https://pan.baidu.com/s/1xzyoDLnvs8OTq9nLopU32A提取码:jz6m 安装 Prometheuscd/usr/local/srctar-zxvfprometheus.tar.gzcp-Rprometheus-2.45.3.linux-amd64/usr/local/prometheusvim/usr/lib/systemd/system/prometheus.service[Unit]Descr......
  • 编写linux脚本,监控jar包,内存溢出等报错时,重启程序
     #!/bin/bash#定义路径和变量JAR_PROCESS_NAME="java"JAR_FILE_PATH="/root/dfsz/jars/gw-dz-core.jar"#请确认此路径是你的Jar文件的实际路径LOG_FILE="/root/dfsz/jars/restartBash.log"#脚本日志文件FIND_LOG_FILE="/root/dfsz/jars/log.log"#要查......
  • 摄像机实时接入分析平台视频分析网关拍照检测视频监控系统中人脸识别技术的具体应用建
    在智能化监控系统的构建中,人脸识别技术的应用日益广泛,尤其在安全监控、人流管理等方面发挥着重要作用。为了确保人脸识别系统的有效性和准确性,必须对环境、行人以及摄像头的设置有明确的要求和建议。本文将详细介绍人脸识别系统在实际应用中的环境和安装要求,以及摄像机实时接入分......
  • 在高原地区建设4G无线太阳能视频监控供电系统,有哪些注意事项?
    高原地区的电网供电可能存在不稳定或不可靠的情况,因此太阳能监控供电系统需要具备良好的电能储存和管理能力,以应对断电或电网波动等情况。除此之外,还需要注意什么呢?在高原地区使用太阳能监控供电系统时,需要注意以下事项:1、高原地区的气候条件:高原地区气温低、氧气稀薄,太阳能电......
  • AI智能检测视频分析网关算法网关汽车生产制造视频监控+AI监管解决方案
    在现代汽车制造业中,随着生产规模的不断扩大和技术的不断进步,传统的监控手段已经难以满足日益增长的生产安全管理需求。为了提升生产效率、保障员工安全、确保产品质量,汽车制造企业正寻求通过智能化手段来实现对生产过程的全面监控和管理。本文将探讨如何通过引入AI视频行为分析系......