在 ThaloStudio 光谱编辑器基础上整合 ThaloPliot 的设备连接协议。除原有二维码、配置导入导出和日出日落编辑外,新增本地中间件:扫描局域网 TCP 8266 灯具、指定 AP IP 连接、读取配置、同步时间及下发完整 24 点曲线。
npm install
npm run console浏览器打开 http://localhost:5173。AP 模式通常直接输入灯具网关 IP(默认填入 192.168.4.1);局域网模式可扫描当前私有 IPv4 /24 网段或手动填写网段前三段。
中间件仅允许访问私有 IPv4 地址,并且仅探测/连接灯具的 TCP
8266端口。
面向 Noo-Psyche 海水珊瑚灯的开源配置编辑器。使用浏览器即可编排 24 小时六通道照明曲线、预览光谱变化,并在二维码、原始串与设备报文之间完成配置导入和导出。
ThaloStudio · 礁谱光境 专注于让照明方案的编辑、复用与回传过程更直观、更可控。
| 能力 | 说明 |
|---|---|
| 24 小时时序编辑 | 固定 24 个小时点,每个时点可设置分钟与六通道亮度。 |
| 六通道可视化 | 使用彩色滑块和十进制输入编辑白光、深蓝光、绿光、UV、浅蓝光、红光。 |
| 照明曲线预览 | 以图表展示全天亮度变化,快速核对开灯、峰值与关灯节奏。 |
| 配置互通 | 支持二维码生成与识别、原始串粘贴回填、设备返回报文导入。 |
| 方案资产化 | 内置 SPS / LPS 示例;照明参数方案和模拟日出日落预设均可本地保存、导入、导出。 |
| 日出日落模拟 | 可直接设置开灯/关灯时间,也可按经纬度和时区计算,并支持跨午夜照明周期。 |
克隆或 Fork 本仓库后,可通过 GitHub Pages 工作流部署为静态站点。项目不依赖服务端,构建结果可部署到任意静态托管平台。
建议使用 Node.js 20 或更高版本。
git clone https://github.com/MualaniMarine/ThaloStudio.git
cd ThaloStudio
npm install
npm run dev常用命令:
npm run dev # 启动本地开发服务器
npm run build # 构建生产版本到 dist/
npm run preview # 本地预览构建结果推送到 main 分支后,仓库内置的 GitHub Actions 会自动构建并部署到 GitHub Pages。
在“24 组时间点编辑”中直接调整亮度和分钟,或通过以下任一方式导入已有配置:
- 粘贴原始串
- 粘贴设备返回报文
- 从二维码图片识别配置
- 选择已保存的照明参数方案
编辑区按小时固定保留 24 行,确保后续生成的配置仍是设备所需的完整 24 小时结构。
切换到“照明曲线预览”,检查六通道的全天变化。需要模拟自然节奏时,在“模拟日出日落”中填写开灯/关灯时间,或输入经纬度和时区计算时间后应用到当前方案。
开灯与关灯时点会固定为六通道全零;曲线仅映射到两者之间的有效时段。重复应用相同时间不会继续改变曲线,可安全微调后再次应用。
确认曲线后,可将方案保存为浏览器本地预设,导出为 JSON 备份,或生成二维码用于设备侧导入。需要检查协议内容时,可展开“汇总 / 原始串”查看和复制完整数据。
原始串由手动模式六通道亮度头和 24 组时序数据组成:
手动模式六通道亮度头(12 位 HEX)#24 组 16 位时序数据
示例:
323232323232#00000000000000000100000000000000...
界面以十进制输入手动模式的六通道亮度;生成原始串时会自动编码为每通道两位 HEX。每组时序数据固定为 8 个字节:
小时 分钟 白光 深蓝光 绿色光 UV 浅蓝光 红色光
各通道亮度范围为 0-100。小时索引覆盖 00 至 17(HEX),对应完整 24 小时。
可直接粘贴设备返回的完整报文,例如:
abaa1008......bb
导入器会识别 abaa 起始标记,提取手动模式亮度头、分组数和 24 组时序数据,并忽略其后的设备标识尾部。无须手动裁剪原始报文。
该模块用于把已有照明曲线映射到指定的开灯和关灯时段,同时保持完整的 24 时点协议结构。
- 可直接填写开灯时间和关灯时间。
- 可输入纬度、经度与时区偏移自动计算时间。
- 经纬度支持十进制度数,例如
23.1291;也支持度分秒格式,例如23°07'45"N。 - 支持跨午夜周期,例如前一晚开灯、次日凌晨或上午关灯。
- 时间预设与地点信息可保存到浏览器,也可导入、导出为 JSON。
日出日落计算在浏览器本地完成,不会请求在线天文服务。
本项目是纯前端静态应用:
- 照明参数方案和模拟日出日落预设默认存储在当前浏览器的
localStorage。 - 本地预设不会自动同步到其他浏览器或设备。
- 配置、坐标和二维码图片不会上传到服务端。
- 建议通过导出 JSON 定期备份重要方案。
src/main.js 页面逻辑、配置编解码、二维码、报文解析与日出日落计算
src/styles.css 响应式界面与可视化样式
index.html 应用入口与页面元信息
项目基于 Vite 构建,并使用 qrcode 生成二维码、jsQR 识别二维码。
欢迎通过 Issue 或 Pull Request 提交改进。提交前请至少执行:
npm run build涉及设备协议、配置兼容性或亮度映射的改动,请同时说明测试报文、预期行为和实际设备表现,避免将未经验证的假设带入默认方案。
本项目以 MIT License 开源。
本项目是为便捷配置、数据可视化与兼容性测试制作的非官方工具,不代表 Noo-Psyche 官方网站、官方应用或官方背书。
“Noo-Psyche”及其相关名称、标识和品牌识别元素,归佛山纽斯科技有限公司及相关权利人所有、使用或主张权利;本项目仅在说明兼容目标时使用相关名称。