Skip to content

MualaniMarine/ThaloStudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThaloStudio | 礁谱光境

Noo-Psyche Coral Light Visualizer

面向 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。

使用流程

1. 创建或导入照明方案

在“24 组时间点编辑”中直接调整亮度和分钟,或通过以下任一方式导入已有配置:

  • 粘贴原始串
  • 粘贴设备返回报文
  • 从二维码图片识别配置
  • 选择已保存的照明参数方案

编辑区按小时固定保留 24 行,确保后续生成的配置仍是设备所需的完整 24 小时结构。

2. 预览与校准

切换到“照明曲线预览”,检查六通道的全天变化。需要模拟自然节奏时,在“模拟日出日落”中填写开灯/关灯时间,或输入经纬度和时区计算时间后应用到当前方案。

开灯与关灯时点会固定为六通道全零;曲线仅映射到两者之间的有效时段。重复应用相同时间不会继续改变曲线,可安全微调后再次应用。

3. 保存与回传

确认曲线后,可将方案保存为浏览器本地预设,导出为 JSON 备份,或生成二维码用于设备侧导入。需要检查协议内容时,可展开“汇总 / 原始串”查看和复制完整数据。

数据与协议

原始串

原始串由手动模式六通道亮度头和 24 组时序数据组成:

手动模式六通道亮度头(12 位 HEX)#24 组 16 位时序数据

示例:

323232323232#00000000000000000100000000000000...

界面以十进制输入手动模式的六通道亮度;生成原始串时会自动编码为每通道两位 HEX。每组时序数据固定为 8 个字节:

小时 分钟 白光 深蓝光 绿色光 UV 浅蓝光 红色光

各通道亮度范围为 0-100。小时索引覆盖 0017(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”及其相关名称、标识和品牌识别元素,归佛山纽斯科技有限公司及相关权利人所有、使用或主张权利;本项目仅在说明兼容目标时使用相关名称。

About

纽斯海水珊瑚灯光谱可视化编辑器,适用K7Pro IV / Noo-Psyche Coral Light Visualizer

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages