基于 NB-IoT 的无人水质监测船
项目简介:本团队设计一款无人水质监测小船,在STM32F4 系列的MPU芯片上搭载FreeRTOS,具有水质监测,自主巡航,双重运动遥控,数据云传输以及微信小程序等功能,旨在解决水质监测作业环境恶劣、重复性强、采样时间长的作业特点和任务需求,实现快速、高效、精确的完成水质监测任务。
开源协议:GPL 3.0
功能定义
- 以无人小船为监测平台,能够通过GPS和北斗双模模块的定位,通过电子罗盘和GPS配合PID算法和贪心算法实现自主巡航。
- 能够监测多种水质气象信息,包括水温,pH值,浊度,TDS,气压,海拔,环境湿度温度,光照强度等。
- 能够通过NB-IOT模块实现数据的远程传输。
- 通过距离传输的433M模组进行远程控制,无限制距离控制采用微信小程序,二者可随意切换,通过mqtt服务器与微信小程序通信,实时显示船体位置和运动轨迹以及下达船体运动命令,使小船可智能的行驶到指定的坐标点,完成地图寻路。
- 通过4G模组网络摄像头实时传输视频。
- 采用水泵监测水质,可装上清洁网通过规划湖面地图点位进行多点巡航。
- 小程序上带有电量显示,船体当前状态提示,低电量报警值等功能。
设计原理
系统以 STM32F405 为控制核心,感知层通过 TDS 传感器,浊度传感器,水温传感器,PH 传感器采集相应水质数据,HMC5883L 电子罗盘模块用来获取船体航线角,可配合 BC20 北斗/GPS 定位模块实现航线控制与自动巡航。传输层采用 NB-IoT 技术连接基站,并通过 MQTT 协议实现船体与华为云平台及小程序之间的数据传输。软件上系统搭载 FreeRTOS 实时操作系统,通过航向角的 PID 控制和卡尔曼滤波器抑制 GPS 漂移实现了自动导航和返航,并基于贪心算法规划多点水质采集的最短路径。