• 闲来无事,造了一个物联IOT平台


    01.前言


    大家好,我是Baird~

    前段时间,我回到自己老家,是一个海边城市。靠海吃海是这边主要生意来源,很多海洋养殖户,养鱼,养虾,养生蚝。。。我家刚好也是养生蚝的_

    海洋养殖有个特点就是对海洋环境比较敏感,比如海水盐度和温度,这些都会影响生物生长,进而影响养殖户能不能卖个好价钱。每年都会听说,谁谁谁的鱼挂了,谁谁家的虾没啦。大家对这个都习惯了,有些人有经验的,会买些检测仪器定时定点去测量看看海水的盐度温度看看有没有问题,更多的人只能祈祷今天风调雨顺,环境一切安好。

    对面这样的看天吃饭,辛苦劳累的问题,在现在的信息时代肯定能做点什么改变。

    So,作为小有技术的我…开始发动我的小脑经🤔️

    😎决定了,就拿自己家的生蚝做实验,开发一个海洋养殖IoT平台,帮助养殖户提高生产力和抗风险能力。

    02.需求调研

    1. 先做个简单版本规划,确定大体方向。(主要是要敢想😂)
      在这里插入图片描述

    Oyster => 生蚝🦪 我们项目就叫oyster吧,就是这么草率~

    1. 确定我们v1.0.0版本的目标后,我开始需求分析
    • 分析生蚝养殖的特点。我们这边生蚝养殖主要是蚝排吊养,蚝苗卖买回来后,吊在竹排上就可以等待生蚝自由生长🦪。我们需要注意的是生蚝的生长环境,海水盐度和温度。

    影响生蚝生长的两个主要环境因素是,海水温度和盐度。如:

    1. 近江牡蛎,其生长适宜温度范围为10-33℃,适盐范围为5-25‰。
    2. 长牡蛎,其生存温度范围为零下3℃至32℃,生长适宜温度范围为5-28℃,适盐范围为10-37‰,尤以20-30‰更为合适。
    3. 密鳞牡蛎,其生存温度范围与长牡蛎相同,均为零下3℃至32℃,但是适盐范围较窄,为27-34‰。
    4. 褶牡蛎,其生长适宜温度范围为6-25℃,对盐度的适应范围较广(与近江牡蛎接近),内湾以及近海均有分布。
    5. 大连湾牡蛎,其生长适宜水温范围为6-25℃,适盐范围较窄,为25-34‰。

    海水的盐度,决定了生蚝的鲜美程度。

    和其他贝类动物一样,生蚝为了对抗海水的盐分,必须在体内积累足够的氨基酸才能得以生存。而这些氨基酸中最主要的便是鲜味物质的代表——谷氨酸,所以不同海域的生蚝鲜味浓淡才会有所不同。

    海水的温度也会影响生蚝的滋味。

    生蚝有一个独特的技能——能够根据周围环境自由转换性别。在温暖的水域,食物丰盛,生蚝通常会变成肥腴鲜美的雌性,此时的生蚝肉质柔滑饱满,体内的蚝卵也同样提供了鲜美的风味;在冷凉的水域,生蚝生长速度放缓,更容易积累风味物质,通常会变为雄性生蚝,肉质清瘦爽脆。

    看到这,海水盐度和温度对生蚝生长和价值就不言而喻了吧。所以第一步,我们需要采集养殖场范围内的海水盐度和温度数据,作为生蚝生长的数据指标,以帮助养殖户及时了解生蚝的生长环境,判断生蚝的生长情况。 需求点,GET 1~

    • 既然已经需要收集盐度和温度数据了,作为一名开发的敏锐性,阈值告警这个也是自然而然的啦~
    • 收集到这些数据,想想这些数据还能做什么。咦~ 这些盐度数据和温度数据,是不是还可以做一下数据分析,数据建模,AI走走,和生蚝的长势结合,生长预测走一走~ (先大胆想象再缩小范围😆)

    好,大的需求点我们先想到这了,后续想到再增加(怎么感觉活成了自己最讨厌的人呢 PO&PD 😂)

    03.设计

    第一个版本的大体需求已经敲定,接下来开始进行总体架构设计,架构可以分为三块:物联IoT平台、智能硬件设备和前端平台。接来下我们就一个个看一下我的设计

    物联IoT平台

    在这里插入图片描述

    Oyster- IOT平台主要分为: API接口层、业务层、数据层、设备接入层 这四个部分。

    1.API接口层:主要提供管理平台和小程序等相关调用接口

    2.业务层:目前平台主要分为 业务管理、资产管理、应用管理、自动化系统、可视化管理 这五大业务子系统

    3.数据层:

    • InfluxDB时序数据库,用于结构化存储IOT设备上传的海量数据
    • Mysql数据库,用于存储业务系统数据
    • Redis缓存数据库,用户存储状态数据,加快访问
    • TensorFlow深度学习框架,用户分析IOT数据,预测结果

    4.设备接入层: 为各种IOT设备提供接入能力,兼容各种设备接入。

    5.整体框架采用Beego设计

    智能硬件设备

    在这里插入图片描述

    智能硬件用STM32 SOC做核心,加上GPS双模、通信模块,还有供电模块。考虑到海洋电力问题,有选择的采用太阳能供电。

    传感器采用:盐度和温度二合一传感器,与通信模块和电源模块配合使用

    考虑养殖面积比较大,会有多设备部署情况,我们采用一个总体网关,多设备星型组网的的方案。

    在这里插入图片描述

    硬件与网关目前主要采用WI-FI方式进行通信,可以在生蚝养殖基地进行大范围的组网,解决生蚝养殖面积大,组网难度大的问题。

    智能硬件和Oyster-IoT平台主要采用MQTT协议进行通信。

    前端架构

    前端面向养殖户和平台管理人员,所以需要有客户端和管理平台。

    客户端采用Uniapp,开发微信小程序,后续可以考虑兼容多端

    管理平台则采用Vue2.0 热门的管理端框架 vue-admin-template

    UI设计,就采用通用小程序样式,再加一点个人想象吧 🚗

    Note: 前端知识都是现学的,谈不上什么架构,希望有好心人多指点 👍

    04.开发实现

    讲啥实现,直接上代码吧!

    目前我已将Oyster-IoT平台代码开源

    Github oyster-iot

    Gitee oyster-iot

    大家感兴趣的话可以clone,部署运行一下。

    能力有限,欢迎大家多多指点和我一起讨论。

    觉得有OK的话,可以帮忙点个star🌟 感谢支持

    当前开发进展如下:

    在这里插入图片描述

    05.说说后续

    这个项目纯属自己利用空余时间进行开发的项目,但我始终希望能最终开发出来,能真正应用起来,为社会做点贡献。

    一个人开发,越到后面功能点越多,兼顾不过来,力不从心。

    希望看到这篇文章的有缘人(or老板),感兴趣的话一起加入(投资),共同打造一个中国海洋养殖专业物联平台。😎

    SPONSORED BY

  • 相关阅读:
    随机森林 – Random forest
    基于SSM的视频点播系统设计与实现
    postgres 建立连接并删除记录
    Linux——(第六章)常用指令(一)
    aspnetcore微服务中使用发件箱模式实例
    【Leetcode刷题】前缀和
    Redis未授权访问漏洞
    无胁科技-TVD每日漏洞情报-2022-8-9
    Vue3常用笔记
    【LeetCode刷题日志】189.轮转数组
  • 原文地址:https://blog.csdn.net/ptonlix/article/details/126489680