OpenWrt智能路由器在中小型规模智慧农业中的应用

科学技术创新2021.11
OpenWrt 智能路由器在中小型规模智慧农业中的应用
液压三爪拉马
苏俊维
(广西民族师范学院,
广西崇左532200)随着嵌入式技术的发展,智慧农业被农民关注,虽然国外农业智慧化和集成化水平很高,但是国内农业还以人工管理为主[1]。嵌入式领域的发展最初是由数码电子等移动消费产品带动,但是随着
人们生活水平的提高,更扩大了这些嵌入式设备的应用范围,
但是国内智慧农业还处于初级水平,还需要不断探索。
2012年嵌入式系统应用卷起热潮,当时以ARMv4架构的
ARM9系列处理器为代表衍生出很多消费级电子产品;污水处理方法
从2013年至今,
流行ARMv7架构的Cortex 系列的处理器:其中STM32单片机占据大部分中低档电子消费市场,
成本比ARM9低很多,其中高端电子消费市场采用Cortex-A9处理器方案,搭载Android 系统。
虽然ARM9时代已远去,
但是基于MIPS 架构的路由器芯片却活跃了,国企能低成本生产该芯片。
无压锅炉智能路由OpenWrt 系统是嵌入式的Linux 操作系统,其开放源代码和免费的优点相比半开源的Android 系统更具有竞争力。
本文采用了搭载国产雷凌公司生产的RT3070主控芯片的路由器,该路由器型号为HG255d ,该路由器作为主控单元来实现中
小规模智慧农业的集成化管理和监控,
形成一套系统方案。1系统整体方案设计
该系统包括了ESP32-CAM 图传模块、STM32F103控制模块、气象数据采集仪模块和路由器4部分组成。总体系统结构如图1所示。
该系统控制中心为HG255d 智能路由器,也作为网络服务器。该路由器有一个USB 接口,所以需要用一个USB 扩展器扩展USB 的数量以满足各种USB 设备的连接。系统设计以模块化设计为主,
各个模块独立工作。模块都外接了一些设备或者传感器,
并且每个模块都与主控智能路由器通过有线或无线连接。系统还配备了两
种智能农业监控的客户端:手机客户端和电脑客户端,
其作用是让农民通过该客户端远程监控农场。
2系统硬件设计
系统的硬件设计以现成的电子模块组合为主,直接采用具有
工业级别性能的模块组成硬件系统,
满足系统稳定性和扩展性。2.1ESP32-CAM 图传模块。ESP32-CAM 模块搭载了乐鑫公司生产的ESP32处理器,该模块具有WIFI 联网功能,可外接OV2640摄像头。主要作用是采集不同地点的农作物生长状态的图
片或者是土壤状态的图片。可以部署多个,
通过无线WIFI 的方式与服务器连接,供电采用高能锂电池18640电池组,以满足较高功耗需求,同时也满足可移动的需求。
2.2STM32F103控制模块。STM32F103单片机是该系统最重要的部分,是控制继电器、传感器、舵机和水泵的监控机构。该单片机IO 口和串口数量多,分配一个串口通过USB 转串口线与USB
测量电池内阻Hub 连接,最终与服务器硬件相连;传感器包括:18B20防水温度传
感器、DHT11温湿度传感器和BH1750FVI-TR 光照传感器,这些
传感器主要是采集农作物的生长环境参数;
絮凝沉淀池
继电器控制灯关照明;舵机是负责控制遮阳和遮雨布的拉伸;
水泵负责控制抽水灌溉;该模块可部署多个,达到多点控制效果,
该模块的功耗较低,直接采用路由器USB 口提供的电源供电。
2.3气象数据采集仪模块。该模块是具有商用级别的公司生产的现成模块,该采集仪是配合气象站传感器配套使用,构成了一个自动气象站采集系统。该系统通过USB 转串口直接跟USB Hub 连
接,最后与服务器智能路由相连。该模块主要采集大气温度、
风速、基金项目:广西民族师范学院2020年校级科研青年项目“基于AI 和云计算的科普集机器人的设计与实现”
(项目编号:2020QN003)。
作者简介:苏俊维(1989-),男,籍贯:广西桂平,硕士,助教,主要研究方向:物联网自动化控制、信号与信息处理、智能家居、智
慧农业等。
摘要:针对目前国内中小型规模农业集成化管理难度大、监控成本高和设备复杂等特点,
本文提出一种基于OpenWrt 系统的智能路由器为主控,
外加单片机和传感器模块等外设构成系统,再开发驱动程序和应用程序形成方案,以解决在中小型规模农业中实现智慧化管理、监控和维护等遇到的问题。该方案基于TCP/IP 协议使用套接字Socket 进行应用程序开发实现网络功能,使
用C 和C++语言进行驱动程序开发实现数据采集和监控功能。该系统具有硬件耦合度低、以模块化扩展功能、
工作稳定和成本低等优点,具有较高的应用价值。
关键词:智能路由器;监控;智慧农业中图分类号:TP274,TN925文献标识码:A 文章编号:2096-4390(2021)11-0096-02图1总体系统结构图
96--
2021.11科学技术创新
二氧化碳浓度、风向和PM2.5等大气参数传给服务器,耗电不低,但是搭载了一个太阳能充电装置,在白天,模块消耗的电能可以由太阳能供给。
3软件设计与实现
3.1应用程序设计。应用程序设计主要是针对路由器,Linux系统的特点是能在系统安装软件包和直接运行由C语言编写并且通过电脑交叉编译生成的应用程序可执行文件。因为路由器要跟各个模块通信,所以对每一个模块都要单独设计通信的应用程序,为了提高系统的集成化,尽量少编写驱动程序。智能路由无线通信是基于TCP/IP协议使用套接字Socket进行应用程序开发实现与无线WIFI通信的模块连接;另外还要编写串口应用程序接收单片机串口传输的数据,路由器系统本身的系统就附带有串口驱动,开发者只要在应用程序里面调用串口驱动即可控制路由器的串口传输数据,最后还要编写MQTT协议有关远程控制程序以便用户能在远方获取农场作物生长的参数并能控制农场的电器。
各种应用程序开发完成后,需要结合多线程并发运行,不同的应用程序的数据交互使用管道或者是套接字的编程方式完成。
3.2驱动程序设计。驱动程序的设计涉及到硬件底层,根据硬件结构去地编写程序达到控制硬件的效果。本文ESP32-CAM图传模块主要编写的是抓图程序,将图像传感器的数据通过WIFI传输到服务器,采集图片的程序主要采用了现成的库完成;本文STM32F103模块主要编写的是单片机控制程序,包括继电器控制驱动、串口驱动、各种传感器驱动和舵机PWM波控制驱动,这些驱动也是借助了ST公司官方提供的库函数来实现;气象数据采集仪这个模块比较特殊,是利用现成的模块,服务器只需打开串口驱动获取气象采集仪通过串口回传的数据并且解析就能获取气象数据,开发者不用了解采集仪的内部结构,只需了解传输数据的格式即可获取有价值的气象数据,气象数据格式如图2所示。
图2气象数据格式
3.3客户端程序设计。客户端程序设计是系统最关键的地方,因为用户不需要每天到农场去打理农作物,只需要通过移动终端远程操作智能农业系统对作物进行有效管理,分为手机客户端和电脑客户端。
手机客户端开发是以安卓APP为载体,安装到安卓手机上实现远程监控,要实现低成本的远程监控,使用MQTT协议通信,本文采用中国移动物联网开发平台的MQTT服务器实现了消息订阅和发布,完成远程数据的传输,程序也是借助了现成的Java版本的MQTT库来实现,另外还要将监控程序写成服务的形式在手机后台长期运行,以便有突发情况发生的时候通知用户。手机客户端主要实现的功能是
远程监控,在局域网的条件下还能实现视频传输,视频传输的原理是利用ESP32-CAM模块提高抓图的频率从而形成图片流,推流到手机界面的时候形成视频。
电脑客户端开发以Java程序为主,使用Swing组件现成的方法设计出简洁的UI界面获取气象站参数信息。原理是基于TCP/IP协议发送http请求去获取服务器的响应,路由器收请求就通过串口获取气象数据采集仪的数据,再通过局域网传输给电脑客户端,电脑客户端将这些有规律的字符串解析之后将气象数据显示在界面上,数据将按照时间存入MySQL数据库供用户分析历史数据,电脑客户端如图3所示。
图3电脑客户端
3.4视频传输程序的设计。系统控制中心的智能路由器可以移植嵌入式Mjpg-Streamer开源程序完成视频采集,该程序不仅能驱动摄像头采集视频流显示在局域网的浏览器上,而且能通过浏览器的按钮控制摄像转动。程序的工作流程是:路由器运行一个抓图线程不断抓取图片流共享到内存空间,同时监听客户端的请求,当有客户端连接时,将内存空间的图片流推送到客户端的浏览器界面形成视频流;另外运行一个线程来监听客户端控制摄像头的指令。程序流程图如图4所示。
图4视频传输程序流程图
4结论
通过该系统,用户可以方便远程查看中小型农场的农作物生长环境参数,又能查看农作物周围的大气环境参数,最重要的是可以远程监控农作物的生长状态和集成化管理农作物,该系统采用商用路由器二次开发而成,具有稳定、安全、易扩展和性价比高等优点,有一定的市场推广价值。
参考文献
[1]王聪,裴莉,徐勇,张煜晗.大田农业信息监测管理系统设计开发[J].农业与技术,2021,41(01):58-60.
丝光沸石
97 --

本文发布于:2024-09-22 06:44:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/137796.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   模块   路由器   采集   控制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议