【硬件交互赛道】今日渔情:把水边的环境数据,变成钓鱼决策建议

【硬件交互赛道】今日渔情:把水边的环境数据,变成钓鱼决策建议

平时钓鱼时,我经常会遇到一个问题:水边的信息很多,天气、水温、光照、气压、风力、鱼种习性都可能影响鱼口,但真正站在水边时,很难把这些因素快速综合起来判断。

我本身是学电子专业出身,但是离毕业都已经10年了,大部分的技术能力我都忘掉了。但是我始终对于软硬件结合抱有兴趣。现在利用Trae这样的工具,可以把硬件的开发工作也变得极为简单,并且可以跟软件进行结合,以达到让我们的产品能够接触现实世界这样的一个效果。

一、Demo 简介

AI 鱼情诊断仪是一个“网站 + 硬件交互”的钓鱼辅助 Demo。它通过天气数据、传感器数据和内置鱼情判断引擎,帮助钓鱼爱好者判断当前鱼口、规划出钓时间,并把每次出钓记录沉淀下来。

这个 Demo 面向的用户是野钓爱好者、台钓用户,以及希望用环境数据辅助判断鱼情的人。它不是单纯的天气页面,也不是普通记账式钓鱼日志,而是想把“水边环境数据”转化成“今天怎么钓”的建议。

二、主要功能

1、鱼情现场诊断
首页可以读取当前天气和硬件传感器数据,结合目标鱼种,输出活跃分、鱼层建议、窗口判断和打法建议。硬件部分通过 Web Bluetooth 连接传感器设备,读取水温、湿度、气压、光照等数据。

大师问答
我相信大家一定在抖音上刷到过一些钓鱼大师,比如天天盘黑坑的邓刚,这些大赛的钓鱼冠军,怎么样才能成为我们的钓鱼私教教练呢?

我们直接做了钓鱼大师问答的功能,把我们平时关于垂钓的问题直接通过对话框进行提问。将这些钓鱼大师发布在社交媒体平台的短视频内容、出版的书籍内容整理为资料库,利用大模型基于一位大师单独整理的资料库进行回答。

2、出钓计划器
第二页可以选择鱼种、月份、水温和天气,测算什么时间最好钓鱼。页面会展示 24 小时咬口活性曲线,并把“适合钓哪种鱼”的分数直接合并到鱼种选择区里。底部还有一个“引擎问答”,用户可以问“几点去最好”“水温降了怎么办”等问题,回答只引用当前内置引擎结果,不依赖联网大模型。

3、历史档案
第三页用于钓后记录沉淀。用户可以像发消息一样描述一次作钓经历,系统会整理出水域、鱼种、鱼获、饵料、复盘摘要等字段,保存成历史记录。页面还会展示累计出钓、累计鱼获、主战水域、主要鱼种和代表高光。

不知道大家平时打游戏打得多不多,打游戏的过程中,都会有一些成就的收集

我们为什么不把钓鱼这个事情也做成系统化的数据沉淀?把我们每一次作钓的数据都简单的整理上传。它可以是口述,它也是可以是拍照,我们用最简单的方式把这些数据收集汇总起来。

三、创作思路及体验地址

这个想法来自真实钓鱼场景。很多钓友在水边都会问类似的问题:今天鱼口怎么样?现在钓底还是钓浮?水温高了要不要换鱼种?气压下降是不是不好钓?几点去更合适?

这些问题并不是单靠一个天气 App 能解决的。天气 App 只告诉我今天多云、气温多少、风力几级,但不会告诉我这些信息对鲫鱼、翘嘴、鲤鱼分别意味着什么。真实作钓时,水温、气压、光照、风力、鱼种习性和时间窗口要一起判断。

所以我做这个方向时做了几个取舍:

  1. 不追求做一个“万能 AI 钓鱼大师”,而是先把常见环境因素结构化。
  2. 不把页面做成后台数据面板,而是围绕现在怎么钓、什么时候去、钓后怎么沉淀来设计.
  3. 不让 AI 随便编答案,计划页的问答只引用内置鱼情引擎的计算结果。
  4. 硬件交互不只是展示概念,而是接入 Web Bluetooth,预留真实传感器连接能力。

最终 Demo 被拆成三个页面:

  • 鱼情现场:解决“我现在站在水边,该怎么判断”
  • 出钓计划:解决“我还没出门,几点去比较好”
  • 历史档案:解决“每次作钓结果怎么变成后续判断依据”

代码链接: https://github.com/zhbeicheng/ai-fishing-copilot.git

HTML 压缩包:full_frontend_demo.zip (368.0 KB)

四. TRAE 实践过程

整个 Demo 基本是在 TRAE Work 里一步步完成的。开发过程不是一次性生成,而是围绕“能不能真实跑起来”持续迭代。

第一步:把创意拆成可开发的产品结构
一开始我只有一个比较模糊的想法:想做一个钓鱼助手,可以接硬件,可以判断鱼情,也能记录历史。Session ID:{“region”:“”,“traceId”:“df0f01b41af6bced34b6bbad9f716c1d”,“userId”:“zhanghao.01”,“chatSessionId”:“6a3437f00e8b3f73c02b07c9”,“replyToMessageId”:“6a344345fc76869af5c205fd”,“messageId”:“6a3443450e8b3f73c02b0850”,“createTime”:“2026/6/19 03:13:09”,“modelName”:“openrouter-3o”,“status”:“completed”,“ppeEnvName”:“”,“appName”:“Trae CN”,“isAutoMode”:false,“isMaxMode”:false,“agentProcessSupport”:“v3”}

第二步:搭建前后端和鱼情判断引擎
TRAE 帮我搭了前端页面和后端接口。后端包括:鱼种知识库、鱼情诊断接口、天气接口、出钓时间计划接口、鱼种排名接口、钓后记录归档接口、大师问答接口、文本整理接口
Session ID:{“region”:“”,“traceId”:“2d98ae2535c466d2113c3536d64eab91”,“userId”:“zhanghao.01”,“chatSessionId”:“6a3437f00e8b3f73c02b07c9”,“replyToMessageId”:“6a34462cfc76869af5c20602”,“messageId”:“6a34462c0e8b3f73c02b08c2”,“createTime”:“2026/6/19 03:25:32”,“modelName”:“openrouter-3o”,“status”:“completed”,“ppeEnvName”:“”,“appName”:“Trae CN”,“isAutoMode”:false,“isMaxMode”:false,“agentProcessSupport”:“v3”}

第三步:接入硬件交互能力
硬件交互部分使用 Web Bluetooth。前端可以搜索指定前缀的蓝牙设备,并订阅传感器特征值。当前约定的数据字段包括:wt:水温、h:湿度、p:气压、lx:光照、at:气温
页面收到硬件数据后,会更新环境卡,并用 dataSource=ble 重新调用诊断接口。为了让 Demo 接近真实使用状态,我还构建了几组 BLE 来源的诊断样本数据,验证后端可以正确处理硬件来源。Session ID: {“region”:“”,“traceId”:“6cbc75ca4d3a7a5382617d356cc2cd6f”,“userId”:“zhanghao.01”,“chatSessionId”:“6a3437f00e8b3f73c02b07c9”,“replyToMessageId”:“6a47a5c972498b939cdaea5e”,“messageId”:“6a47a5c920ebbc478c741d48”,“createTime”:“2026/7/3 20:06:33”,“modelName”:“gpt-5.5”,“status”:“completed”,“ppeEnvName”:“”,“appName”:“Trae CN”,“isAutoMode”:false,“callModel”:“gpt-5.5”,“isMaxMode”:true,“agentProcessSupport”:“v3”}

第四步:反复调整前端 UI 和页面逻辑
这个过程花了不少时间。最开始页面有些地方只是“功能摆出来了”,但用户看完不一定知道该做什么,后来我和 TRAE 一起反复调整完成。
Session ID:{“region”:“”,“traceId”:“4729250033113deb9ad5856682050c41”,“userId”:“zhanghao.01”,“chatSessionId”:“6a540c0f79d0c606cb1ea6cf”,“replyToMessageId”:“6a567919423850ad22fee878”,“messageId”:“6a567919423850ad22fee87a”,“createTime”:“2026/7/15 01:59:53”,“modelName”:“gpt-5.5”,“status”:“completed”,“agentProcessSupport”:“v3”,“appName”:“TRAE Work CN”,“appVersion”:“0.1.34”,“slardarSid”:“no_sid”,“ppe”:“no_ppe”}

五、社区报名帖链接