Skip to content

Latest commit

 

History

318 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

云雀(Lark) 智慧鸟厂物联网管理系统

项目分为嵌入式embedded, 前端frontend, 后端backend, 技术文档请参考对应文件夹的README

如果需要修改, 请创建自己的分支并推送, 提交PR等待通过后再合并到master, 请不要直接修改和直接push到master谢谢喵

有问题可以提交issue! 欢迎提各种意见

前端: 前端技术文档

后端: 后端技术文档

嵌入式: 嵌入式技术文档

以下是计划书部分, 进展: 校赛报名中...

方向: 物联网应用与物联网创新实践

团队介绍

项目概述与背景

一、项目背景

随着“孤独经济”的兴起与情感陪伴需求的日益增长,鹦鹉以其高互动性、长寿命、色彩艳丽等特性,逐渐成为新兴热门宠物。数据显示,近年来异宠市场规模持续扩大,其中鸟类宠物增速尤为显著。然而,与市场需求快速膨胀形成鲜明对比的是,相关配套产业与服务发展严重滞后,行业痛点突出:

  • 交易端:活体来源不透明,健康状况缺乏保障,消费者难以获取可信赖的购买渠道。
  • 养护端:养护方式过度依赖经验,缺乏科学、量化的监测手段,导致疾病发现滞后、死亡率偏高。
  • 医疗端:异宠医疗资源稀缺,专业兽医数量有限,诊疗困难且成本高昂。
  • 体验端:养护过程缺乏数据化、互动化与社交化的现代体验,难以满足年轻一代用户的数字化需求。

与此同时,物联网传感器、嵌入式系统、AI图像识别与云计算技术日趋成熟,已在智能家居、智慧农业等领域实现规模化应用。但在鸟类精细化养护领域,相关技术的渗透率仍较低,尚未形成系统化、标准化的解决方案。因此,将前沿物联网技术引入异宠养护场景,具有重要的现实意义与广阔的市场空间。

二、项目意义

本作品“云雀Lark智慧养殖系统”旨在构建一套集智能硬件、云端平台与健康服务于一体的全生命周期管理系统,其意义体现在以下方面:

1. 提升养护效率与成活率 系统通过实时监测温湿度、空气质量、影像等多维数据,结合智能预警与决策支持,帮助养殖者及时发现异常情况,减少因环境不适或疾病延误导致的死亡风险,显著提高养护成功率。

2. 降低人工管理与专业门槛 传统养宠依赖经验判断,新手用户上手难度大。本系统将专业养宠知识转化为可视化数据与自动化控制策略,降低养护门槛,让更多用户能够轻松享受科学养宠的乐趣。

3. 推动行业数字化转型 系统打通从孵化、养殖到消费终端的全链路数据,实现“设备端+服务端+客户端”一体化管理,推动鹦鹉养护从传统的“经验驱动”模式向科学的“数据驱动”模式迈进,为异宠行业数字化升级提供可复用的解决方案。

4. 增强用户互动与情感连接 通过远程视频监看、数据看板、社交分享等功能,增强用户与宠物之间的互动体验,满足现代消费者对情感陪伴与智能化生活的双重需求。

三、作品核心方案与技术架构

基于上述背景与需求,本作品采用前后端分离的架构,运用Vue.js、FastAPI、ESP-IDF等技术栈,构建了“设备端 + 服务端 + 客户端”三位一体的智慧养护体系:

  • 设备端(基于ESP32):负责采集温湿度、空气质量、图像等多维环境与生物数据。采用基于FreeRTOS的采集-传输多任务调度技术,优化嵌入式端资源利用;通过基于ESP32 FOTA的远程固件更新技术,实现设备的便捷维护与功能升级。
  • 服务端(基于FastAPI):承担数据分析、异常预警、决策支持及设备管理等核心逻辑。采用基于JWT Token的无状态安全登录验证技术,提升系统可扩展性与安全性;通过基于Redis的多进程共享用户状态处理技术,支撑高并发场景下的服务稳定性。
  • 客户端(Web网站):为用户提供直观的可视化数据看板、远程监控及交互控制服务。采用基于WebSocket的视频流传输双工通信技术,实现低延迟远程监看;结合Vue3、TypeScript与ECharts,构建响应式、数据驱动的交互界面。

该体系通过以下关键技术保障系统的安全性与稳定性:

  • 基于挑战-应答机制的设备端验证技术,防范非法设备接入与重放攻击,密钥全程不参与网络传输,从根本上杜绝安全漏洞。
  • 基于GitHub Action的前后端自动化部署技术,保障快速迭代与持续交付,提升开发运维效率。

四、作品特色与创新

1. 完整的云服务落地与安全防护 项目已完成域名注册与工信部、公安部双重备案,并部署于阿里云轻量应用服务器。通过HTTPS与WSS安全协议保障数据传输安全;利用阿里云边缘安全加速(ESA)实现内容分发、访问加速与请求清洗,有效隐藏源站IP并防御DDoS攻击。全站采用同源访问策略,进一步提升安全性。

2. 高效的数据处理与实时通信能力 利用Redis作为中间件存储用户订阅信息,并通过WebSocket高效转发设备端摄像头数据,实现了流畅的远程实时监看。采用SQLite与SQLAlchemy ORM进行本地数据管理,兼顾开发效率与数据安全性。后端采用Gunicorn多进程管理Uvicorn Worker,结合systemd实现开机自启与崩溃自动恢复,确保服务高可用。

3. 完善的系统生态与开发者友好设计 项目不仅实现了完整的功能闭环,还提供了详尽的后端API交互式文档(Swagger UI)与嵌入式开发文档,极大降低了后期拓展与二次开发的门槛。通过FastAPI中间件实现全请求日志记录与全局异常捕获,崩溃时返回唯一追溯码并与后端日志精确关联,实现精准运维定位。

4. 良好的移动端适配与用户体验优化 前端通过User Agent与屏幕宽度双重检测自动识别移动端环境,采用底部导航栏、卡片式布局、品牌色渐变等移动端设计元素,实现跨端一致的使用体验。同时支持触摸操作与平滑滚动,满足移动端用户的交互习惯。

五、应用前景及市场需求分析

1. 市场需求持续增长 随着居民生活水平提高和家居智能化趋势不断深化,宠物消费结构正从“基础喂养”向“品质养护”升级。异宠爱好者对于智能化、可视化、数据化的养护工具需求日益迫切,智能鱼缸、智能猫砂盆等产品已获得市场验证,智能鸟笼及配套系统同样具备巨大的潜在市场。

2. 应用场景广泛 本系统不仅适用于家庭个人养宠场景,还可拓展至以下领域:

  • 宠物繁育基地:实现规模化、标准化的科学养殖管理,降低人工成本,提升幼鸟成活率。
  • 异宠医疗机构:辅助兽医进行远程诊断与健康监测,提升诊疗效率。
  • 科普教育场所:作为生命科学、生态教育的互动教具,向公众展示智能养殖技术。
  • 商业展示空间:应用于宠物店、主题咖啡馆等场所,提升商业空间的科技感与用户体验。

3. 技术成熟与落地可行性 本项目已完成域名备案、服务器部署与自动化运维体系建设,具备完整的端到端落地能力。前后端分离架构、完善的接口文档与嵌入式开发文档,保证了系统的可维护性与可扩展性,具备良好的商业化推广基础。

综上所述,“云雀Lark智慧养殖系统”顺应了智能化、数据化的时代发展趋势,精准切入异宠养护市场的核心痛点,通过扎实的技术架构与创新的产品设计,实现了从设备端到云端再到客户端的全链路智能化管理,具有明确的社会价值、市场前景与推广潜力。

系统方案与核心技术

系统整体设计遵循分层、解耦的原则,划分为设备端(嵌入式)、服务端(后端)和客户端(前端)三个层次,各层次技术选型与方案如下。

一、嵌入式技术方案

1. 硬件设备选型 硬件选型以稳定性、成熟度与快速开发为原则,均采用市面主流模块。

  • 主控单元:ESP32-WROOM模块,具备240MHz主频双核处理器,集成4MB Flash与4MB PSRAM,可同时满足图像采集与网络传输任务需求。内置Wi-Fi天线与屏蔽罩,射频性能优异且符合电磁兼容标准。
  • 图像采集:OV3660摄像头模组,最高支持300万像素,内置硬件JPEG编码,有效降低算力消耗与网络带宽占用。
  • 环境感知
    • SHT40工业级温湿度传感器,I2C接口,体积小、精度高、功耗低。
    • MQ135空气质量传感器,用于监测氨气等有害气体浓度,提供数字与模拟输出,驱动电路简洁。

2. 软件实现方案

  • 开发框架:基于乐鑫官方ESP-IDF v5.5.4开发环境,原生支持FreeRTOS双核实时调度。
  • 开发工具:采用Linux环境下的VSCode作为集成开发环境,配合CMake构建系统。

二、后端技术方案

1. 基础设施

  • 云服务器:阿里云轻量应用服务器(2核2GB,40GB系统盘),操作系统为Debian Linux,通过SSH/SFTP进行运维管理。
  • 网络与安全
    • 采用阿里云边缘安全加速(ESA),实现内容分发、访问加速与请求清洗,有效隐藏源站IP并防御网络层攻击。
    • 注册并备案域名 mintlab.top,将系统部署于 lark.mintlab.top 域名下,前后端同源访问,提升安全性。

2. 软件架构

  • 数据库:选用SQLite与SQLAlchemy ORM进行本地数据管理,兼顾开发效率与数据安全性。
  • 应用服务:基于Python FastAPI框架,通过Gunicorn进行多进程部署,并接入systemd系统服务管理器,实现开机自启与崩溃自动恢复。
  • 中间件:引入Redis作为进程间共享内存,处理用户状态与订阅信息。
  • 运维支持:集成Logging模块实现日志分级与按天轮转;借助Swagger UI自动生成标准化接口文档,便于测试与协作。

三、前端技术方案

1. 技术栈与框架

  • 核心框架:Vue 3 + TypeScript,采用Composition API提升代码复用性与可维护性。
  • 构建工具:Vite,提供极速的开发热更新体验。
  • UI组件库:Element Plus及其图标库,实现美观、一致的用户界面。
  • 数据可视化:ECharts 6,用于构建丰富的动态数据图表。
  • 网络请求:Axios,封装统一的HTTP请求与响应拦截器。

2. 功能模块设计

  • 用户认证模块:支持登录、注册、退出、注销及自动登录功能。
  • 总览看板:展示在线/离线设备数量、平均环境参数(温度、湿度、空气质量)、错误日志数量及关键指标的ECharts趋势图。
  • 数据管理模块:提供设备历史数据查询、实时监控流展示与多维度数据分析。
  • 设备与用户管理模块:支持对IoT设备进行增删改查,以及对平台用户的权限管理。

3. 移动端适配

  • 设备识别:通过User Agent与屏幕宽度(<768px)双重检测,自动识别移动端环境。
  • 交互优化
    • 采用底部导航栏与顶部标签切换的经典移动端布局。
    • 用户管理等页面采用卡片式布局替代传统表格,提升触摸操作体验。
    • 登录/注册页面采用品牌色渐变背景,增强视觉吸引力。
    • 实现页面切换时的平滑滚动,优化浏览连贯性。

设计重点与难点

一、安全性设计

  1. 网络层防护:通过阿里云边缘安全加速(ESA)隐藏源站真实IP,利用其海量带宽与清洗能力吸收网络层DDoS攻击流量,有效保障源站稳定。
  2. 传输层加密:全站采用HTTPS/WSS协议,结合服务器证书验证,确保数据在传输过程中的机密性与完整性,抵御中间人攻击。
  3. 无状态身份认证:基于JWT Token实现用户认证。登录成功后,服务端返回Access Token,Refresh Token存储于客户端Cookie中。为每个用户维护独立密钥集,可实现全局强制下线,有效降低服务端压力与开发复杂度。
  4. 设备接入认证:采用挑战-应答机制对设备进行身份验证。服务端每次下发随机挑战值,设备使用预置密钥计算应答,验证通过后下发访问令牌。该机制中密钥全程不参与网络传输,且应答报文不可复用,从根本上杜绝了非法设备接入与重放攻击。

二、稳定性设计

  1. 高可用后端服务:采用Gunicorn多进程管理Uvicorn Worker,结合Redis实现进程间数据共享。单进程崩溃不影响整体服务,配合systemd的自动拉起机制,确保后端服务持续可用。
  2. 精细化日志与运维:通过FastAPI中间件实现全请求日志记录与全局异常捕获。当系统发生崩溃时,向客户端返回唯一追溯码,并与后端日志精确关联,极大提升了问题定位与精准运维的效率。
  3. 可靠的数据采集与传输:嵌入式端基于FreeRTOS多任务调度,将传感器数据采集、图像抓取、网络传输等任务进行解耦与优先级管理,避免单一任务阻塞导致系统卡死。同时,利用ESP32的FOTA能力,可实现固件的远程、安全升级,为设备长期稳定运行提供保障。

创新点与商业模式

计划进展与预期成果

  • 2026-03-27 系统:修复椭圆头像显示 bug、完善移动端登录过期退出流程,继续集成与测试主干新功能。
  • 2026-03-26 系统:重构 ws 处理逻辑与稳定性修复,改进后端依赖管理问题,完成文档汉化。
  • 2026-03-25 嵌入式:完成 OTA/固件管理接口及自动更新脚本,加入固件版本查询、重启控制,并优化 ws 命令处理与连接管理。
  • 2026-03-24 后端:实现 ws 连接图像质量与分辨率控制;添加传感器数据统计接口并完善 Stream 模块错误处理;发布后端 v0.5.1。
  • 2026-03-23 后端:完成温湿度数据相关功能(含含量统计、历史曲线)和移动端 ws 连接参数适配。
  • 2026-03-22 前端:修复实时直播图片超出页面边框的bug;完善移动端登录页面并补充备案号显示。
  • 2026-03-21 整体:完成所有测试与文档更新,初始化项目计划书文档(当前分支状态)
  • 2026-03-20 后端:完成日志系统配置,修复日志记录语法错误
  • 2026-03-19 后端:修复垃圾回收、logout Cookie删除问题,完成日志配置、WebSocket设置及功能测试
  • 2026-03-18 后端:重构数据库增加devices表,实现设备增删改查接口,修复WebSocket连接key错误
    嵌入式:完成设备端与后端联调,待机/直播状态响应测试通过
  • 2026-03-17 后端:配置环境变量区分测试/生产,部署GitHub Actions自动构建,完成文档本地托管
    前端:增加头像URL修改功能,完善注册/修改信息时的提示
  • 2026-03-16 前端:优化登录注册界面,完善数据界面显示逻辑
  • 2026-03-15 后端:完成用户认证(登录/注册/注销)、Token与Cookie测试,搭建用户与设备数据库
    前端:实现登录/注册界面、个人信息管理、注销账号功能
  • 2026-03-14 嵌入式:实现WebSocket通信、JSON解析与摄像头图像传输
    前端:完成数据界面(实时/历史/大图模式)功能
    后端:提供WebSocket接口,支持设备注册与图片数据接收
  • 2026-03-13 嵌入式:完成Wi-Fi联网、HTTPS请求封装与NTP时间同步
    前端:完善侧边栏、总览界面交互,修复Header样式问题
  • 2026-03-12 完成设备端(ESP32)、服务端(FastAPI)、客户端(Web)工程初始化,搭建基础CORS与设备列表接口
  • 2026-03-10 完成项目创建与设备初期选型

About

智云鹉康物联网项目下的云雀(Lark)物联网管理系统, 基于Vue3和FastAPI, 硬件为ESP32

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages