基于物联网的远程操控水质监测无人船系统的设计与实现

来源 :科技尚品 | 被引量 : 0次 | 上传用户:HoshinoYuki
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:项目所设计研制的水质检测无人船是一款基于IoT技术,以各类中小型湖泊或河流为场景,将远程控制、自动路径巡航、实时监测水质和预警功能结合为一体的水质检测无人船系统。该无人船调用百度地图中的API,让用户可以远程在网页端的地图上绘制路径、发送指令,使无人船根据指定绘制路径自动巡航,同时在微信小程序上实时获取传感器数据。该项目设计集成自动坐标巡航、水质检测,数据交互传输和微信小程序开发。通过测试,已实现在小型湖泊的现实场景中无人船按指定轨迹巡航,实时在小程序中检测水质数据的系统功能。
  关键词:物联网;绘制路径巡航;微信小程序;数据传输;低成本
  中图分类号:U674 文献标识码:A 文章编号:1674-1064(2021)05-041-04
  DOI:10.12310/j.issn.1674-1064.2021.05.020
  湖泊作为人类的一种宝贵的自然资源,在我国经济社会可持续发展中起着重要作用。然而,由于经济的快速发展,工业化、城镇化的快速推进,人类对湖泊资源的掠夺性开采和开发已经对湖泊造成了严重破坏,导致湖泊现状十分严峻,如湖面萎缩、水质恶化、生态功能退化、资源急剧减少等[1]。对此,建立详细可靠的水质检测系统并及时做出应对措施,就显得极为重要。
  然而,目前市面上的水质检测无人船系统,大多具有搭建和维护成本高昂,控制系统设计较为复杂,巡航功能较为单一等问题,对于渔业、林业等领域的个体用户不是很友好。所以,针对现有问题,文章结合国内外移动在线水质监测系统的研究现状,设计了一个集远程通信、微信小程序平台监控、坐标定位、自定义绘制路径自主巡航等技术于一体,基于物联网的可远程操控的水质检测无人船系统。
  1 水质监测无人船系统的整体设计思路
  整体系统大致分为两大部分,硬件部分设计和软件部分设计。如果按照功能来分类,可分为数据传输部分和自定义路径巡航和控制部分。数据部分涉及到船体的姿态及位置数据的获取和水质检测传感器数据的获取,以及姿态位置数据的处理和传感器数据的传输问题。自定义绘制坐标路径巡航和控制系统,由网页端和树莓派中笔者搭建的服务器和电机驱动文件实现。水质检测无人船系统的基本框架如图1所示。
  2 无人船硬件设计
  2.1 无人机硬件结构组成
  无人船主要由密封防水船壳、电机、传感器、控制主板、电源等部分构成,以下是一些部件的具体信息和功能介绍。
  主控芯片:树莓派4B。树莓派负责承载驱动电机运转的脚本文件,用bottle库建立的电机控制服务端,应用在坐标巡航的Nginx网页服务器,以及各个水质传感器数据和姿态位置传感器的数据储存文件。目前,在互联网企业实际生产环境中,Nginx作为一款开源的高效解决高并发、高負载问题的Web反向代理服务器而被广泛应用,是实现集群负载均衡技术的有效方式[2]。
  Arduino:Arduino结合传感器实现数据的精准提取,利用Arduino作为数据中转站,再利用Arduino和树莓派的串口通信进行数据交互,使用户能更加方便地修改传感器和代码,只需要在Arduino替换上传商家的新传感器数据提取和串口传输代码,再换上新的传感器便可以进行新的传感器数据的提取和显示。
  姿态传感器:GY955是一款高稳定性的九轴导航AHRS模块,其中电子罗盘自带倾角补偿算法,融合了卡尔曼滤波。通过改写代码将纯文本的电子罗盘数据提取并发送到串口。
  GPS模块:通过GPS模块和天线收集GPS数据,通过Arduino与树莓派串口通信并将位置数据作为数组形式储存在树莓派上面。
  水质检测传感器:PH传感器,浊度传感器,溶解氧传感器等。
  电源:采用可充电的12V和5V的锂电池供电,为主板、电机和电机驱动器供电。
  2.2 无人船动力系统设计
  无人船的动力推进装置由两个可正反转的无刷直流电机组成,两个电机位于船体尾部两侧,配合电机驱动器,通过树莓派主板GPIO引脚直接进行PWM控制。利用双电机差速运转改变和控制船的方向,当船直行时两电机同速运转。
  2.3 硬件架构
  硬件架构如图2、图3所示。
  3 无人船软件设计
  3.1 巡航路径绘制网页的设计
  百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助用户在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发[3]。
  为增强用户使用体验,该设计决定摒弃直接输入GPS坐标的方式,采用用户手动绘制路径的方式。主要通过调用百度地图JavaScript API v1.0中的Polyline类和LocalResultPoi类配合JavaScript,使用户观察到地区实景以便路径的绘制,满足本项目的功能需求。
  网页后端部分,通过网页前端调用百度API获取的路径坐标,利用编写的php后端文件将自动获取的坐标数据作为JSON格式传到树莓派本地文件中并储存起来,此数据方便之后巡航算法文件和电机控制文件的调用。巡航路径绘制网页设计整体结构如图4所示。
  3.2 基于物联网平台和微信小程序的数据监测系统设计
  3.2.1 水质检测传感器数据传输
  水质传感器数据的传输过程如图5所示。传感器数据实时由Arduino获取并进行数据类型转化处理和校准,并实时通过串口通信传输到树莓派主控板上,然后由树莓派主控板中的数据上传程序,将传感器数据上传到OneNET物联网平台进行数据的统计和储存,微信小程序调用物联网平台的API,实现实时水质检测传感器数据的获取和刷新。   3.2.2 微信小程序设计
  微信小程序使用和开发的简便性备受用户和开发者青睐,该小程序项目一共实现了以下四大主要功能:
  实时查询水质传感器收集的最新数据,并附加数值报警提醒功能。
  根据不同的传感器数据分类,给予用户相应的水质改善方案。
  用户通过账号登录来获取无人船手动控制页面和导航页面的域名。
  提供水质检测科普知识。
  3.3 基于GPS的自定义坐标路径巡航系统设计
  无人船的自动沿路径巡航建立在手机移动终端的无线远程操控系统下,利用手机移动终端登录网页客户端,在百度地图上自定义绘制坐标路径,并通过无线网络发送路径坐标,无人船接收到坐标数据后开始执行巡航程序。
  3.3.1 自定义坐标路径巡航系统工作流程
  自定义坐标路径巡航系统流程如图6所示。在通过网页端调取设定路径点的经纬度坐标、GPS坐标数据、电子罗盘方向角数据后,需要利用路径点的经纬度坐标计算巡航路径相邻点之间的方向角及行驶距离。在程序设计中,当无人船主控系统从网页获取并发送船体当前的方向角、GPS坐标、目标路径初始点的坐标后,程序就会开始计算船体当前位置和初始点(巡航路径设定的第一个坐标位置)位置之间的方向角和距离,并运行电机控制的程序进行目标靠近。在靠近初始路径点的过程中,由于船在水面上具有惯性,所以需要实时计算当前位置与目标位置的距离与方向角,并根据计算数据调整电机运转。当程序检测到船到达目标位置(初始点)后,自动停止计算初始点的数据信息,并开始计算当前船体坐标与巡航路径中的第二个设定点之间的距离及方向角。程序周而复始直至检测到船体到达最后一个目标点,即完成巡航任务,程序恢复等待状态,等待下一次巡航命令。
  3.3.2 坐标数据计算过程的重要理论依据
  在以上过程中,运用到了利用GPS坐标计算方向角和距离的公式,可以近似将地球看作球体计算[4],如图7所示。
  参数说明。地球上任意两点A和B的经纬度坐标分别为A(Aj,Aw)和B(Bj,Bw),A和B之间的方位角就是Lab的切线与地球纬线之间的夹角[5]。且A和B两点间球面距离为Lab,地球半径为R,O为地球球心,C为北极点。
  角A即點A与B连线的方位角。
  4 无人船系统测试
  在系统搭建完成后进行功能测试,选取了学校一个人工湖作为测试水域,测试持续两周。
  4.1 基于GPS的自定义绘制坐标路径巡航系统的测试
  在网页客户端地图上找到学校的人工湖,依次用手点击希望巡航经过的坐标点,坐标点依次根据点击顺序连接成设定好的巡航路径。之后点击发送按钮,将开始巡航的指令和坐标数据发送至树莓派服务器并开始执行巡航程序。如图8、图9所示,分别为路径绘制网页页面和无人船测试实拍图片。
  4.2 基于物联网平台和微信小程序的数据监测系统的测试
  当无人船在按照绘制的路径巡航的时候,打开微信小程序当无人船按照绘制的路径巡航时,打开微信小程序,进入到无人船检测控制主页面,如图10所示,带年纪实时数据查询,查询浊度传感器的数据,点击重新获取网络数据,刷新最新的浊度传感器数据。此时数据为625,根据后台设定的阈值对比超标显示报警,如图11所示。之后,可以返回主页面到水质改善方案页面中寻找解决方案,如图12、图13所示。
  5 结语
  文章介绍了当前湖泊环境污染问题,并针对湖泊水质检测技术的现存问题提出了一种多模块的基于物联网技术的水质检测无人船系统,以实现水质监测、实时数据上传、自主巡航、远程控制等任务。通过对系统的测试,水质检测智能无人船可以按照用户绘制的路径进行定点自主巡航,实现水质检测及实时预警等功能。此外,无人船系统仍存在改进空间,由于GPS误差较大,可采用GPS差分技术提高精度,建立更加精确的无人船巡航系统。
  参考文献
  [1] 谭飞帆,王海云,肖伟华,等.浅议我国湖泊现状和存在的问题及其对策思考[J].水利科技与经济,2012,18(4):57-60.
  [2] 吴陈.基于Nginx的服务器集群负载均衡策略的研究与改进[D].广州:华南理工大学,2020.
  [3] 夏军.基于百度地图API的快速制图系统的设计与实现[J].测绘工程,2019,28(4):42-48.
  [4] 刘力荣,李菡.GPS坐标与方向、距离相互转换的计算公式推导[J].南方农机,2018,49(14):106.
  [5] 周建郑.GPS定位原理与技术[M].郑州:黄河水利出版社,2005.
其他文献
为了更好地认识磁场的空间三维分布形式,提出一种采用三维霍尔传感探头加三维扫描平台测量磁感强度的方法.该方法不但能同时测量得到磁场的三个方向的磁感大小,还能进行空间
摘 要:由于岩土工程相对复杂,对地质条件依赖性非常强,要求地质勘察质量必须过关,如此才能指导设计以及后续施工。但由于一些因素的影响,在地质勘察实践中,勘察结果实际上并不是特别理想,因此需要特别关注勘察质量控制。基于此,文章就复杂地形地质条件岩土工程勘察进行简要探讨。  关键词:复杂地形;地质条件;岩土工程勘察  中图分类号:TU412 文献标识码:A 文章编号:1674
摘 要:随着自动化技术的日臻成熟,铁路信号技术承担着列车运行信息传输的重要任务,确保了传输的质量与效率,直接影响着铁路运行安全。信号继电器则是实现铁路信号设备自动化控制的关键,为自动化控制的应用奠定了基础。基于此,文章首先对现代铁路信号设备发展情况进行简要介绍,对完善铁路信号设备的自动化控制技术展开分析,希望以此推动铁路信号设备的发展。  关键词:铁路;信号设备;自动化控制技术  中图分类号:U2
根据目前髋部骨折发展的现状、损害控制骨科临床应用的进展以及围手术期护理干预措施如深静脉血栓的预防、疼痛护理干预等方面的总结,将损害控制应用于风险较高的髋部骨折患
摘 要:文章简要介绍了数据挖掘技术的基础思想与算法应用,探索了数据挖掘技术平台构建的具体方法,设计用网平台框架、确定软件开发模式、构建网络数据库、组建数据挖掘处理程序,同时探索数据挖掘技术构建用网环境的关键点,维护网络信息运行顺畅性、保障数据信息完整性,以此充分发挥数据挖掘技术的应用价值,使其有效完成用网环境构建。  关键词:数据挖掘技术;软件;算法  中图分类号:TP311 文献标
摘 要:文章建立高效液相色谱法(HPLC)测定藏红花药材中有效成分含量,并与伊朗进口的藏红花中西红花苷-Ⅰ和西红花苷-Ⅱ的含量进行对比。文章以九寨沟藏红花为研究对象;采用反向色谱柱Eclipse XDB-C18(4.6×250mm 5μm)检测;流动相:乙腈-水(25:75);流速:1.0mL·min-1;检测波长:440nm;柱温:40℃。藏红花样品总苷含量分别为18.1%、19.1%、20.7
摘 要:在现阶段市场发展中,建筑施工商、建筑材料商越来越多,工程招标过程愈加激烈。建筑企业若想提高中标概率,通常会降低自身的利益。在这一过程中,经济成本管理极为重要。基于此,文章就建筑经济管理中成本控制的创新进行简要分析。  关键词:建筑;经济管理;成本控制;创新  中图分类号:TU7;TP1 文献标识码:A 文章编号:1674-1064(2021)05-057-02 
摘 要:电力供应是矿山生产的主要能源,是矿山设备运转的动力,矿山电气设备设施的使用和管理直接影响着矿山的作业安全。文章对矿山电气安全管理与技术进行研究,简要分析电气安全事故预防措施,为加强矿山电气设备安全管理、切实提升矿山的安全生产水平,提供参考和借鉴。  关键词:矿山;电气设备;安全运行技术  中图分类号:TM93 文献标识码:A 文章编号:1674-1064(202
摘 要:在大型公共建筑项目建设中,各类先进设备与配套设备的应用组成了中央空调系统,是现代化建筑技术的应用核心,也是公共建筑中重要的基础设施。当前,如何全面优化中央空调节能设计是重要问题。因此,文章结合公共建筑中央空调节能现状拟定节能管理措施,适应大型公共建筑建设发展要求,旨在为相关领域的应用和研究提供更有价值的参考建议。  关键词:公共建筑;中央空调;节能设计  中图分类号:TE08
摘 要:我国建筑行业有着悠久的历史,当前大多数建筑工程项目的设计方式与传统建筑设计有一定的关系,大多数建筑设计师都会从传统设计项目中不断吸取精华和灵感,将现代艺术与传统艺术相融合,实现传统文化的继承与发展。文章将对传统建筑设计进行具体分析。同时,对于传统建筑设计在现代建筑设计中的应用进行研究,也为今后相关设计人员在设计过程中能够有效借鉴传统建筑设计,充分发挥传统建筑对现代建筑设计发展的积极作用,提