Releases: nobodycareme/remote-ac-controller
Release list
Remote AC Controller v1.2.6
Remote AC Controller v1.2.6
v1.2.6 restores public clean-clone deployment reproducibility and aligns the
Owner and safe command-loop contracts with the implementation.
Highlights
- Pins the verified multi-architecture
eclipse-mosquitto:2.1.2-alpineimage by full manifest digest. - Uses an authenticated, read-only
$SYS/broker/versionbroker healthcheck. - Builds frontend and backend from committed lockfiles with
npm ci. - Documents the safe IR-disabled ACK as
blocked_by_ir_policy/real_ir_control_disabled. - Uses
WEB_USERandWEB_PASSWORDas the single Owner credential. - Adds
cloud/tools/generate-scrypt-hash.mjsfor safe Owner password hash generation.
Compatibility and safety
- No Cloud API, database schema, MQTT topic, PCB, or real IR data changes.
- PCB remains Rev 1.0.1.
- Real IR remains disabled by default and requires all existing authorization and policy gates.
Assets
remote-ac-controller-pcb-rev1.0.1.zipremote-ac-controller-ir-simple-learner-src-v1.2.6.zipIR_Simple_Learner_v4_windows_x64.exeSHA256SUMS.txt
中文摘要
v1.2.6 修复公共仓库全新克隆部署的可复现性:固定真实存在的 Mosquitto 多架构摘要、
使用认证 Broker 健康检查、Docker 构建改用锁文件与 npm ci,并统一 Owner 登录凭据为
WEB_USER / WEB_PASSWORD。安全命令闭环在真实 IR 关闭时返回
blocked_by_ir_policy / real_ir_control_disabled。Cloud API、数据库、MQTT 主题、PCB
和真实 IR 数据均未改变,PCB 仍为 Rev 1.0.1,真实 IR 默认关闭。
Remote AC Controller v1.2.5
Superseded by v1.2.6. v1.2.6 restores clean-clone Docker Compose reproducibility and is the recommended release for new deployments. The v1.2.5 tag and its four release assets remain immutable.
Remote AC Controller v1.2.5
v1.2.5 完成了 MQTT TLS 指纹运行时接入,并修正了 WiFi SSID 校验规则。
主要变化
- 仅配置有效 TLS 指纹时,固件现在会真正把指纹应用到 BearSSL 客户端(
setFingerprint); - 同时配置 CA 和指纹时优先使用 CA(
setTrustAnchors); - 缺少有效 CA 和指纹时拒绝初始化 MQTT(
TLS_MATERIAL_MISSING/TLS_FINGERPRINT_INVALID); - SSID 允许包含普通空格(
Home WiFi、Lab Network 2); - SSID 长度按 UTF-8 字节计算,最大 32 字节;
- Python 构建期和 C++ 运行时使用相同 SSID 规则(共享测试向量)。
升级说明
- 建议使用 TLS 指纹配置的用户升级;
- 使用含空格 SSID 的用户不再被构建脚本错误阻止;
- Cloud API、数据库、MQTT 消息格式和 PCB 没有变化;
- PCB 仍为 Rev 1.0.1。
下载
remote-ac-controller-pcb-rev1.0.1.zip— PCB 制造数据(Rev 1.0.1)remote-ac-controller-ir-simple-learner-src-v1.2.5.zip— 红外学习工具源码IR_Simple_Learner_v4_windows_x64.exe— 红外学习工具 Windows 版SHA256SUMS.txt— 资产校验和
已知限制
- TLS 指纹需要在服务器证书更新后同步更新;
- 推荐长期部署优先使用 CA 证书;
- 不包含真实空调红外码;
- Windows EXE 未签名;
- 其他 ESP8266 板和红外模块需要适配。
English summary
Remote AC Controller v1.2.5 applies MQTT TLS certificate fingerprints at runtime and aligns the WiFi SSID validation rules.
- A valid TLS fingerprint is now really applied to the BearSSL client (
setFingerprint) when no CA is configured; - the CA certificate takes priority when both are valid (
setTrustAnchors); - MQTT initialization is refused when neither a valid CA nor a valid fingerprint is present;
- SSIDs may contain ordinary internal spaces (e.g.
Home WiFi); - SSID length is measured in UTF-8 bytes with a 32-byte maximum;
- the Python build-time validator and the C++ runtime use the same SSID rule (shared test vectors).
No breaking changes to the cloud API, database, MQTT message format, or the PCB (still Rev 1.0.1). A TLS fingerprint must be updated when the server certificate rotates; a CA certificate is recommended for long-term deployments.
Remote AC Controller v1.2.4
Remote AC Controller v1.2.4
v1.2.4 完成了本地 WiFi 连接来源和 Cloud 本地配置校验的修复。
主要变化
- local-wifi 开机后正确记录和显示实际 SSID;
wifi connect <ssid>现在真正连接指定的开放 SSID,不再被本地 WPA 配置覆盖;- 增加本地 WPA、校园 SSID 和运行时开放 SSID 的明确来源状态;
- 增加生产连接路径的 Host 集成测试;
- local-wifi-cloud 拒绝未修改或不完整的秘密配置(模板主机、端口、设备 ID、账号密码、TLS 材料);
- 要求有效的 MQTT TLS CA 证书或指纹。
升级说明
- 建议使用 local-wifi 或 local-wifi-cloud 的用户升级;
- Cloud API、数据库格式和 PCB 均未改变;
- PCB 仍为 Rev 1.0.1。
下载
remote-ac-controller-pcb-rev1.0.1.zip— PCB 制造数据(Rev 1.0.1)remote-ac-controller-ir-simple-learner-src-v1.2.4.zip— 红外学习工具源码IR_Simple_Learner_v4_windows_x64.exe— 红外学习工具 Windows 版SHA256SUMS.txt— 资产校验和
已知限制
- 不包含真实空调红外码;
- Windows EXE 未签名;
- 其他 ESP8266 板卡和红外模块需要自行适配。
English summary
Remote AC Controller v1.2.4 completes the local Wi-Fi connection-source and cloud credential-validation fixes.
- local-wifi records and displays the actual SSID after boot;
wifi connect <ssid>truly connects to the specified open SSID and is no longer overridden by the local WPA configuration;- an explicit connection-source state is added for local WPA, campus SSID, and runtime open SSID;
- host integration tests exercise the real production association path;
- local-wifi-cloud rejects unmodified or incomplete secret configurations (template host, port, device ID, credentials, TLS material);
- a valid MQTT TLS CA certificate or fingerprint is required.
No breaking changes to the cloud API, database format, or the PCB (still Rev 1.0.1).
Remote AC Controller v1.2.3
本版本已由 v1.2.4 取代。 v1.2.4 修复了本地 WPA 开机后的 SSID 状态、运行时开放 SSID 切换和 Cloud 秘密配置有效性校验。v1.2.3 标签和原有资产继续保留用于历史追溯。
Remote AC Controller v1.2.3
v1.2.3 修复了无凭据公开构建的网络启动策略,并统一了 WiFi、Cloud 和校园网配置说明。
主要变化
- 无有效 SSID 时不再发起 WiFi 连接;
- public 和 public-cloud-example 不再因 Cloud 模块启用而自动关联网络;
- local-wifi-cloud 现在会检查本地 WiFi 和 Cloud 凭据;
- 修正首次配置和校园网文档;
- 修正主页中关于独立固件、模拟设备和硬件兼容性的错误描述。
升级说明
- 建议使用 public 或 public-cloud-example 的开发者升级;
- 使用 local-wifi-cloud 时需要准备两个本地配置文件;
- Cloud API、数据库格式和 PCB 均未改变。
下载
remote-ac-controller-pcb-rev1.0.1.zip— PCB 制造数据(Rev 1.0.1)remote-ac-controller-ir-simple-learner-src-v1.2.3.zip— 红外学习工具源码IR_Simple_Learner_v4_windows_x64.exe— 红外学习工具 Windows 版SHA256SUMS.txt— 资产校验和
已知限制
- 不包含真实空调红外码;
- Windows EXE 未签名;
- 其他 ESP8266 板卡和红外模块需要自行适配。
English summary
Remote AC Controller v1.2.3 fixes the network startup policy for credentials-free public builds and aligns the Wi-Fi, cloud, and campus documentation with the actual code.
- No Wi-Fi connection is attempted when no SSID is configured;
publicandpublic-cloud-exampleno longer auto-associate just because the cloud module is compiled;local-wifi-cloudnow requires local Wi-Fi and cloud credentials;- README, first-time setup, and Xidian campus guide factual errors are corrected.
No breaking changes to the cloud API, database format, or the PCB (still Rev 1.0.1).
Remote AC Controller v1.2.2
本版本已由 v1.2.3 取代。 v1.2.3 修复了无凭据公开构建的网络启动策略,并进一步纠正了 WiFi 和校园网配置说明。v1.2.2 标签和原有资产继续保留用于历史追溯。
Remote AC Controller v1.2.2
v1.2.2 主要改善首次配置体验,并修复红外学习工具的稳定性和 Windows 构建流程。
主要变化
- 增加普通 WPA/WPA2 WiFi 配置;
- 增加中英文首次配置指南;
- 修复红外学习工具退出时可能卡住的问题;
- 改进 Windows EXE 构建和自动检查;
- 修正项目主页与文档中的错误链接和过时说明。
升级说明
- 固件和云端接口保持兼容;
- PCB 仍为 Rev 1.0.1;
- 使用普通家庭 WiFi 的用户可按首次配置指南填写本地凭据;
- v1.2.1 用户建议升级到 v1.2.2。
下载
remote-ac-controller-pcb-rev1.0.1.zip:PCB Rev 1.0.1 制造资料;remote-ac-controller-ir-simple-learner-src-v1.2.2.zip:红外学习工具源码;IR_Simple_Learner_v4_windows_x64.exe:红外学习工具(Windows x64,未签名);SHA256SUMS.txt:以上资产的校验清单。
已知限制
- 不包含真实空调红外码;
- 未提供经过验证的 BOM 和贴片坐标文件;
- Windows EXE 未签名。
更多信息
English summary
Remote AC Controller v1.2.2
v1.2.2 improves the first-time setup experience and fixes the IR learning tool's stability and the Windows build flow.
What changed
- Added home WPA/WPA2 Wi-Fi configuration;
- added bilingual first-time setup guides;
- fixed a possible hang when the IR learning tool exits;
- improved the Windows EXE build and automated checks;
- fixed broken links and outdated wording in the project homepage and docs.
Upgrade notes
- Firmware and cloud interfaces stay compatible;
- PCB stays Rev 1.0.1;
- home Wi-Fi users can follow the first-time setup guide to fill in local credentials;
- v1.2.1 users are recommended to upgrade to v1.2.2.
Known limitations
- No real AC IR codes included;
- no validated BOM or pick-and-place files;
- the Windows EXE is unsigned.
Remote AC Controller v1.2.1
⚠️ 本版本已由 v1.2.2 取代
v1.2.1 的 Windows IR 学习工具发布流程未完整通过正式构建脚本与全部单元测试,且公开版本仅支持开放 SSID 的 WiFi 连接。请使用 v1.2.2 或更新版本。
v1.2.1 标签与原有资产保留,仅用于历史追溯,未被替换或删除。
Remote AC Controller v1.2.1(原说明中文版)
软件版本 v1.2.1 · PCB 修订 Rev 1.0.1 · 发布日期 2026-08-01
主要变更
- 中英文 README 改为面向开发者的信息架构。
- 社区文件(CONTRIBUTING / SECURITY / SUPPORT)改为可直接执行的指南。
- PCB 版本独立为 Rev 1.0.1(软件版本与 PCB 修订分离)。
- 修正 PCB 制造文件(Gerber、钻孔、飞针测试数据与 EasyEDA 工程全部更新)。
- 修正 PCB README 中的 ESP32 错误表述(实际为 NodeMCU ESP8266 开发板)。
- 修正 README 过期 Release 链接与不存在的 BOM/坐标声明。
- 修复启动横幅双 v 显示(现为
firmware v1.2.1)。 - 制造数据改为按字节受控发布(
.gitattributes+ 确定性打包)。
已知问题(v1.2.2 已修复)
- IR 学习工具发布流程未完整通过正式构建脚本(v1.2.2 已锁定 PyInstaller 6.21.0 并修复 build.ps1)。
- IR 学习工具单元测试存在 3 项失败(v1.2.2 已修复状态机与预设断言,12/12 通过)。
- 固件仅支持开放 SSID(v1.2.2 已新增 WPA/WPA2 本地凭据支持)。
兼容性
- 固件:ESP8266(NodeMCU);云端:Node.js 24;前端 Vue 3。
- PCB 修订 Rev 1.0.1;未提供 BOM 或 pick-and-place 文件;公开仓库不含真实红外帧。
English summary (original v1.2.1 notes)
Remote AC Controller v1.2.1
Software v1.2.1 · PCB Rev 1.0.1 · released 2026-08-01.
What changed
- Bilingual READMEs re-architected for developers.
- Community files (CONTRIBUTING / SECURITY / SUPPORT) are now actionable
guides instead of stub redirects. - PCB revision separated as Rev 1.0.1.
- Corrected PCB manufacturing files (Gerber, drill, flying-probe data, and
EasyEDA project). - Corrected the ESP32 misstatement in the PCB README.
- Removed stale release links and non-existent BOM/coordinate claims.
- Fixed the double-"v" startup banner.
- Manufacturing data now published byte-for-byte (
.gitattributes+
deterministic packaging).
Known issues (fixed in v1.2.2)
- The IR learner release flow did not fully pass the official build script.
- The IR learner unit tests had 3 failures.
- The firmware only supported open SSIDs.
Use v1.2.2 or newer. The v1.2.1 tag and assets are retained for historical
audit and were not replaced or deleted.
Remote AC Controller v1.2.0
⚠️ Superseded by v1.2.1 / 本版本已由 v1.2.1 取代
Superseded by v1.2.1.
The PCB manufacturing files contained in the automatically generated v1.2.0
source archives predate the layout correction. Do not manufacture a PCB from
those source archives. Use v1.2.1 instead.
本版本已由 v1.2.1 取代。
GitHub 自动生成的 v1.2.0 源码归档中包含布局修正前的 PCB 文件。
请勿使用这些源码归档中的 PCB 文件进行制板,请改用 v1.2.1。
Remote AC Controller v1.2.0 — 唯一正式 Monorepo
本版本确立 nobodycareme/remote-ac-controller 为唯一公开、活跃、可发布的正式仓库。一次 clone 包含完整项目:Firmware(PlatformIO + Arduino IDE)、Cloud Backend(Fastify)、Cloud Frontend(Vue 3)、硬件 PCB(Gerber)、红外学习工具、完整中英文文档与统一 CI。
主要内容
- 西电校园网自动认证(正式实现):authEpoch 认证周期模型(每 Portal 周期一次初次认证;Wi-Fi 掉线 / DHCP 变化 / Portal 重现均可自动恢复);30/60/120s 退避阶梯 + 小时配额 + 硬阻断闩锁;编译期 feature-gate 依赖约束(AUTO→LIVE_AUTH→CAMPUS_AUTH→WIFI);日志脱敏。
- MQTT 自动恢复(真机验证):冷启动后 <1 分钟自动完成联网→认证→MQTT 恢复,遥测持续上报。
- 完整中英文双路径:根 README.md ↔ README.en.md;docs/doc-map.json 24 对一一映射;doc-parity / doc-links / doc-language-links 三套校验。
- 统一 CI(11 job):firmware-platformio-public、firmware-arduino-public(5 组矩阵)、firmware-host-tests、cloud-backend-build-test、cloud-frontend-build-test、repository-secret-scan、real-ir-exclusion、doc-parity、doc-links、version-consistency、repo-hygiene。
- 统一版本 1.2.0:根 VERSION / 固件常量 / backend / frontend 一致。
安全边界
- 公共构建:无真实凭据、无真实 IR 帧、自动认证关闭(ENABLE_AUTO_CAMPUS_AUTH=0)。
- 私有凭据仅存在于 git-ignored 的 campus_secrets.h / cloud_secrets.h / profiles/xidian.h,绝不进入公开仓库。
- 不含真实 IR 帧数据(ac_states.ts 仅含公开元数据);不含生产 Secrets;未做任何二次凭据轮换。
- 全量安全扫描:当前树 / 全历史 秘密命中 0、私钥 0、真实 IR 0、数据库 0。
从误拆仓库回迁
- remote-ac-firmware(HEAD 02e0c6f0,tag v1.1.0)与 remote-ac-cloud(HEAD d8a62223,tag v1.1.0)已停止维护,仅保留为私有归档记录。本次发布未导入其任何 Git 历史(无 merge --allow-unrelated-histories、无 subtree add、无 mirror push)。
- 唯一迁移项:cloud/tools/backend_verify.js 安全模式(env-var 凭据)合并入 Monorepo;拆分仓库含真实 IR 默认值的 config.ts 未迁入。
资产
- 源码归档(GitHub 自动生成 zip/tar.gz)
- remote-ac-controller-pcb-v1.2.0.zip — PCB 制造文件(Gerber + Drill + README)
- remote-ac-controller-ir-simple-learner-src-v1.2.0.zip — 红外学习工具源码
- SHA256SUMS.txt