基于Huawei LiteOS的认养农业物联网系统设计
2023-03-06栗雅清林晓琪王芮宇苏逸扬
赵 雨,栗雅清,林晓琪,王芮宇,苏逸扬
(南京航空航天大学 电子信息工程学院/集成电路学院,江苏 南京 211100)
0 引 言
当前,物联网技术与特色农业的深度融合得到了国家政策的大力扶持[1],“认养农业”是其中一种新型数字农业模式,指由个人借助物联网平台有偿认养土地并参与作物耕种的全过程[2]。本文在一般智慧农业模式的基础上采用认养农业模式,并利用华为物联网操作系统Huawei LiteOS所具有的“物物互联”等关键能力,设计了一种认养农业物联网系统。
LiteOS是轻量级物联网操作系统,最小内核尺寸仅为6 KB,具备快速启动、低功耗等优势,可广泛应用于数字农业领域,未来可以搭载HarmonyOS操作系统实现“互联互通”,能够更好地实现农业操作系统在物联网上的搭建与通信,具有实际应用意义[3]。
1 系统总体设计方案
该认养农业物联网系统的主要功能是系统用户可以通过手机等设备自由认领土地,远程实时获取其认领土地的温度、湿度等环境数据并进行灌溉、补光、施肥等操作。
为满足上述需求,该系统以Huawei LiteOS为核心架构,采用软硬结合的方法进行设计。系统总体可分为3个层面,分别是感知与控制层、应用服务层和平台服务层[4],总体架构如图1所示。
图1 认养农业物联网系统架构
感知与控制层主要由物理电路实现,其将大棚内的土地进行分区,并将每一区域作为一个终端节点,各终端节点与大棚内的公共集中器通过WiFi通信。每个终端节点融合多种传感器并布置多类执行器,能够接收集中器转发的相应指令,根据指令进行环境信息的采集与执行器状态的更改。集中器收集各节点发送的数据并通过5G模块发送给云端进行存储、分析等操作,也可接收云端所发送的控制指令并将其中转至终端节点[5]。
应用服务层侧重于界面友好的应用软件的设计,用户可通过该应用软件实时远程查看作物情况并发送控制命令。
平台服务层主要实现了本地数据库与云端服务器的搭建。云端服务器向下连接感知与控制层,向上面向应用服务层提供应用开发能力和统一接口,将数据在各级之间传输。
2 系统设计
认养农业物联网系统由物理电路设计、应用软件设计与本地数据库及服务器搭建结合完成。
2.1 硬件设计
该系统的感知与控制层由物理电路实现,其由公共集中器与分布式终端节点组成。终端节点包含主控模块、传感器模块、WiFi通信模块等,其电路原理如图2所示[6]。
图2 终端节点电路原理
本文选用Hi3861V100 2.4 GHz WiFi SoC芯片作为终端节点主控模块,其能够满足LiteOS小内核架构设计需求。Hi3861V100芯片集成高性能32 bit微处理器、硬件安全引擎以及丰富的外设接口,外设接口包括SPI、UART、I2C、PWM、GPIO和多路ADC,同时支持高速SDIO 2.0 Slave接口,最高时钟可达50 MHz;芯片内置SRAM和FLASH,可独立运行。其通过了HarmonyOS Connect认证,具有稳定、可靠的通信能力,灵活的组网能力,完善的网络与功能强大的安全引擎,可用于嵌入式WiFi产品[7],适合本系统的多终端节点分布式设计,应用于本系统中的实际农业环境时可靠安全。
各终端节点内布置了温湿度传感器SHT30、光照传感器BH1750、土壤酸碱度传感器等,确保所采集的环境信息详细可靠,满足智慧农业系统在复杂环境下采集多维度环境信息的需求[8]。同时,节点内布置火焰传感器,能够在检测到火情后自动报警以保证环境安全。
集中器模块电路以STM32为主控芯片,通过ESP8266将终端节点采集的数据集中,由5G模块MH5300上传至云端,并将接收的指令传回终端节点[9]。集中器结构如图3所示。
图3 集中器结构
为实现多个终端节点统一传输,在原有Hi3861V100 WiFi通信模块基础上,本文选择ESP8266核心处理器作为通信传输节点,实现集中器与各终端节点的通信[10]。ESP8266是一款物联网WiFi芯片,基于ESP8266可以开发物联网串口WiFi模块,将用户物理设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。其适用于各种低功耗应用场景,能够满足本文低功耗、多节点联网的需求。
2.2 软件设计
应用服务层的开发目的是设计界面友好的软件,以便用户使用本系统。在设计过程中结合本地及云端数据对页面进行相应渲染,提供与用户交互的UI页面并实现获取数据、下发命令等系统功能[7]。
软件的具体功能是实现用户对其认领的土地环境的监测与控制。系统在用户初次使用时通过注册操作进行账号绑定,并将相应信息储存至云端。用户再次使用时登录即可通过该软件查看其所认领土地的环境情况并进行灌溉、施肥等远程操作[11]。
以该系统主要功能为例,用户登录后可以在主界面通过功能按键进行作物状态的查看与环境情况的控制。主要功能流程如图4所示。
图4 应用软件主要功能流程
该软件所有的UI操作都在主线程设置[12],对执行多线程的感知控制层下发指令,集中器与各分布节点响应软件指令流程如图5、图6所示。
图5 集中器响应指令流程
图6 终端节点响应指令流程
集中器执行多线程,等待指令,当其判断收到云端中转的下发指令时,进行指令解码以确定指令下发的目的节点,即在软件中下发命令的用户所认领土地的对应节点。而后判断当前集中器是否可以响应指令,依据判断结果执行或重复判断,可执行时将指令下发至目标节点。同时,集中器判断是否有需要上报的数据,若有则确定数据源节点后上报。
各终端节点同时执行多线程,与集中器通信并确定集中器转发的用户指令类型为采集指令或改变执行器状态指令,从而进行环境信息的采集并上报,对执行器当前工作状态做出保持或更改等操作。
2.3 云端服务器
为了使用户能够通过互联网远程访问认养农业物联网系统,该系统的平台服务层主要进行了本地数据库与云端服务器的搭建[13]。云端服务器将数据在物理电路与应用软件之间传输并进行存储、分析等操作[14]。
本地数据库采用MySQL关系型数据库管理系统以及Navicat可视化数据库管理工具,实现了认养用户数据的导入、导出、删除、备份和还原[15]。从客户端看,用户可在其运行环境中访问数据库,实现服务器与Web前端的交互[16]。
在建立好本地数据库的基础上,完成基于华为云平台云服务器的搭建。通过对接物理电路中的集中器其将硬件部分采集的信息上传到云端[17],而后可将其发送给相关用户或云端储存,在服务器操作过程中,后台本地数据库也会实时更新,从而实现认养农业系统的多用户自由认养功能[18]。所实现的业务管理员系统界面如图7所示。
图7 业务员管理系统界面
3 系统测试结果
系统的功能测试分为板级测试、APP连接测试、数据存储测试3个部分。
通过串口调试工具,可以看到设备启动后联网、采集数据、消息封装等步骤均可在终端打印输出,使用MQTT调试助手模拟向设备发送消息后也能够得到相应结果,说明硬件电路部分工作状况良好,各功能模块设计无误。而后在APP端进行设备状态的查看和控制。通过华为云平台提供的接口,在APP中能够实时获取设备的状态信息并展示在前端页面,同时也能够完成对设备的远程实时控制。最后,APP能够访问数据库,获取相应的历史数据。
经测试,系统各层级功能均能达到设计要求,性能良好。
4 结 语
本文基于轻量级、低功耗的Huawei LiteOS,通过软硬件结合进行了感知与控制层、应用服务层和平台服务层3个层面的开发,实现了用户对其认养土地环境的远程监测与操作。系统测试结果表明,系统具有实际应用意义,与当前农业发展模式及“物物互联”发展趋势吻合。