资讯详情

基于全志D1-H和XR806的名贵植物监控装置

在这里插入图片描述

毕业设计采用全志D1-H哪吒开发及XR806开发板是由外围各种电路和传感器原件制成的珍贵植物监测装置。

![插入图片描述](https://img-blog.csdnimg.cn/141ab42fcfa64fa4a7c7f8a00e8d696b.png#pic_center

该装置已使用XR806开发板构成网络节点作为采集端,并连接多个传感器进行环境参数采集和使用socket服务器将收集到的数据发送到服务器。另一边一边D1-H哪吒开发板作为服务端,D1-H哪吒开发板连接摄像头实时采集图像,并基于yolov分析叶片状态,判断叶片的健康状况,作为服务器,分析和显示传感器传回的数据。根据分析结果,服务器可以XR806发出指令,缺水时及时补水,光线不足时补光。

D1-H涉及技术内容的开发板负责完成服务器收发信息、信息显示、光控、图像处理:

  • LVGL图形框架
  • Linux下Socket接口
  • Linux下多线程技术
  • cJSON解析器
  • YOLOV5目标检测

XR806开发板负责完成涉及技术内容的环境参数采集、光控、水泵控制:

  • LwIP协议栈
  • IIC总线
  • DHT11单总线
  • PWM调制
  • ADC采集

XR806主控系统由传感器采集部分、电源部分和控制部分组成。传感器部分负责收集环境信息,电源部分负责供电,控制部分根据系统信息对特定的环境参数进行处理(LED控制灯、水泵)。

充电电路

由于电池的电压会随着照明的变化而变化,因此需要稳定使用。电源部分是使用的AMS117芯片将锂电池输出的不稳定电压稳定到3.3V,给XR806开发板和传感器供电。AMS117是正向低压降的线性稳压器,压降小。其内部集成了过热保护功能和限流电路,保护功能和限流电路,能有效保护电路的正常运行。

光、温湿度控制

主要采用补光控制PWM调光技术。控制代码主要是控制PWM调节光的强度。在XR在806中,首先初始化PWM硬件,用的是pwm_cycle_mode_Set(0)和pwm_capture_mode_set()函数。相关初始化结构参数主要配置在函数中,PWM频率、输出模式和空比。初始化结束后,只用设置占空比的函数,就可以设置占空比。结合光照传感器的控制,就可以将局部的光强控制在一定的范围内,也就是植物合适的光照。

补水部分主要与土壤湿度传感器合作。土壤湿度传感器获取土壤湿度数据后,XR如果806会做出判断,ADC当收集到的电压大于一定阈值时,启动继电器,驱动泵工作,并将水泵入花盆。在显示屏上,你可以看到土壤是湿的还是干的。

温湿度、光照、土壤传感器均连接XR在806年,将三组传感器的采集数据与标准仪器采集的数据进行比较,两个测试点进行比较,测量两组光强度。可以看出,整体误差不大,满足了设备的要求。

TCP服务器的设计主要能保证D1-H与XR806稳定地进行连接,并在XR806断开后可以继续等待XR重新连接806。借鉴这里github上一个开源socket服务器代码,采用多线程技术,能承受较大的服务器压力,非常适合本装置。

调试的基本过程如下,首先使用D1-H开发板连接开发板WiFi,然后用XR806也与同一个连接WiFi,在D1-H启动服务器代码,然后启动XR806作为客户端连接。经过多次测试,D1-H开发板这边的服务器运行非常稳定,下位机断开后会重新等待连接,下位机重新启动后会很快重新连接。并且,在Linux下,可使用system(wifi_info)函数调用命令行,只需将命令作为字符数组保持,就可以在程序中使用命令行,非常方便。连接到本装置WiFi用这种方法调用命令行连接部分WiFi的。

D1-H根据项目所需的功能,主控服务端软件设计分为三部分。第一部分是图形界面的设计,采用LVGL,主要用于显示温度、湿度等数据;第二部分是TCP服务器的设计(上部介绍)用于上下位机之间的数据传输和通信;第三部分是图像处理,使用YOLOV5 NCNN。

数据显示界面

使用图形界面LVGL。LVGL作者来自匈牙利Gabor Kiss-Vamosikisvegabor,LVGL用C语言编写,兼容性强(并且与C语言兼容)C 兼容性),模拟器可以没有嵌入式硬件PC启动嵌入式GUI设计,同时LVGL作为图形库,它有近30种小工具供开发者使用。这些强大的构建块按钮配备了非常丝滑的动画和先进的图形,可以实现平滑的滚动,同时配置要求和开源属性不高,成为大多数开发者的选择GUI时间的首选。

根据系统的要求,图形界面需要能够显示下位机传输的数据LVGL文本控件可用于数据显示。可以使用图像控制来显示图片PNG显示解码器。首先,需要创建两个基本的控件对象,一个是停靠数据显示子控件的图像控件。在图像控制停留了一个图像,即收集处理后的图像;一系列控制器放置在数据显示区域,以显示环境参数信息;还有控制光强和水泵的开关

图像处理

图像处理部分主要是YOLOV5的使用。使用前,对特定场景进行模型训练。首先要创建自己的数据集,分为图像文件和标签文件两部分。图像文件是包含待检测目标部分的图像和没有待检测目标的图像,分别作为正负样本进行训练。标签文件包含检测目标的信息,如下表4所示.2所示。一行数据代表图像中的一个目标,如果文件中有多行数据,则表示图像中有多个目标。标签文件需要标记需要测试的目标。

比较特别的是,YOLOV5的标签格式是txt后缀不是我们常见的xml格式后缀需要编写代码进行转换。在准备好图像和标签后,还需要确保每个标签都与图像的名称一致。准备好后,您可以调用它train.py训练文件。训练时,需要指定一些参数,如下图所示

启动训练后,计算机将自动开始训练。训练结束后,我们可以看到目标训练结果的位置pt格式文件。然后可以使用detect.py文件来做一个测试,将加载的权重文件换成刚刚训练结束生成的权重文件。detect该程序将使用该文件进行测试,最终输出结果图。目标检测结果可以从结果图中看出。

原贴链接:https://bbs.aw-ol.com/topic/1826/ 企鹅群(客服机器人24小时在线解答)全志在线开发者交流:498263967 全志在线开发者社区可以进行资源获取和问题讨论:https://www.aw-ol.com 关注全志和开发者的最新动态

标签: aw连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台