|
| 1 | +# OpenDS360 |
| 2 | + |
| 3 | +**PCCooler CPS DS360 のポンプヘッドに、CPU / GPU の温度を表示する非公式ソフトウェア。** |
| 4 | + |
| 5 | +メーカー製の `DeviceMonitorPcc` を置き換えることを目的としています。 |
| 6 | +通信プロトコルは公開されていないため、**実機の USB 通信を解析して実装しました**。 |
| 7 | + |
| 8 | +> **これは非公式ソフトウェアです。** PCCooler / APALTEK とは無関係であり、 |
| 9 | +> 両社から承認・支援を受けていません。自己責任でご利用ください。 |
| 10 | +
|
| 11 | +--- |
| 12 | + |
| 13 | +## なぜ作ったか |
| 14 | + |
| 15 | +メーカー製アプリには、常用するには気になる点がありました。 |
| 16 | + |
| 17 | +- **FTP の認証情報が実行ファイルに平文で埋め込まれており**、起動のたびに |
| 18 | + 外部サーバへ平文 FTP で接続を試みる |
| 19 | +- デバッグ版 C ランタイム(`ucrtbased.dll`)が製品に同梱されている |
| 20 | +- コード署名証明書が 2025-02-27 で失効しており、更新の形跡がない |
| 21 | +- 自動起動を `HKLM\...\Run`(管理者権限が必要な位置)に登録する |
| 22 | +- About ダイアログの Hardware / Firmware Version は**デバイスに問い合わせておらず**、 |
| 23 | + ハードコードされた値を表示しているだけ |
| 24 | + |
| 25 | +OpenDS360 は **外部通信を一切行いません**。 |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## 対応ハードウェア |
| 30 | + |
| 31 | +| 状態 | 機種 | 備考 | |
| 32 | +|---|---|---| |
| 33 | +| ✅ **動作確認済み** | PCCooler **CPS DS360 WH** | 実機で確認 | |
| 34 | +| 🟡 **動作する可能性(未確認)** | CPS DS360 BK など、**3½桁7セグ表示**を搭載する同型機 | 同一 ODM・同一制御基板と推定。報告歓迎 | |
| 35 | +| 🟡 **動作する可能性(未確認)** | 他ブランドの APALTEK 製 7セグ AIO | ODM の供給先は非公開のため特定できていません | |
| 36 | +| ❌ **非対応** | CPS DS360 **Display** / DC360 Pro など**2.4インチ LCD 版** | プロトコルが全く異なります | |
| 37 | +| ❌ **非対応** | PCCooler GT360 | CDC-ACM 接続・640x480。[別プロジェクト](https://github.com/NextWork123/PCCoolerGT360-Display)があります | |
| 38 | + |
| 39 | +### ⚠️ 「DS360」には2種類あります |
| 40 | + |
| 41 | +同じ **DS360** という名前で、**中身が全く違う2製品**が販売されています。 |
| 42 | + |
| 43 | +- **3½桁の7セグメント LED**(数字だけを表示するタイプ)→ **本ソフトの対象** |
| 44 | +- **2.4インチ IPS LCD**(画像や動画を表示できるタイプ)→ **対象外** |
| 45 | + |
| 46 | +お手持ちの製品のヘッドに**数字だけが表示される**なら対象です。 |
| 47 | + |
| 48 | +### 対象デバイスの識別子 |
| 49 | + |
| 50 | +``` |
| 51 | +VID 0x2E3C / PID 0x0A15 |
| 52 | +製品文字列: LIQUID COOLER DIGITAL DISPLAY - PCC |
| 53 | +``` |
| 54 | + |
| 55 | +> **補足:** `VID 0x2E3C` は ARTERY Technology(マイコンメーカー)のものです。 |
| 56 | +> ODM である APALTEK が搭載 MCU の VID を流用しているため、**この VID を名乗る |
| 57 | +> 無関係の製品が存在します**。本ソフトは誤動作を防ぐため、VID/PID に加えて |
| 58 | +> 製品文字列も照合しています。 |
| 59 | +
|
| 60 | +--- |
| 61 | + |
| 62 | +## 必要なもの |
| 63 | + |
| 64 | +### PawnIO(CPU 温度を表示する場合は必須) |
| 65 | + |
| 66 | +CPU の温度は MSR という特権レジスタからしか読めず、カーネルドライバが必要です。 |
| 67 | + |
| 68 | +**[PawnIO](https://pawnio.eu/) をインストールしてください。** |
| 69 | + |
| 70 | +``` |
| 71 | +winget install namazso.PawnIO |
| 72 | +``` |
| 73 | + |
| 74 | +オープンソースの**署名済み**ドライバで、**Windows のセキュリティ設定を下げる |
| 75 | +必要はありません**(HVCI 有効のままで動作します)。 |
| 76 | + |
| 77 | +導入しない場合、CPU 温度は取得できず **0 と表示されます**。 |
| 78 | +GPU 温度は PawnIO なしでも動作します。 |
| 79 | + |
| 80 | +詳しい理由は [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md) を参照してください。 |
| 81 | + |
| 82 | +### 動作環境 |
| 83 | + |
| 84 | +- Windows 10 / 11(64bit) |
| 85 | +- .NET ランタイムは**不要**(インストーラに同梱) |
| 86 | + |
| 87 | +--- |
| 88 | + |
| 89 | +## 使い方 |
| 90 | + |
| 91 | +1. [Releases](https://github.com/kitepon-rgb/OpenDS360/releases) からインストーラを入手して実行 |
| 92 | +2. トレイに常駐します。アイコンを右クリックまたはダブルクリックで設定 |
| 93 | + |
| 94 | +### 設定できること |
| 95 | + |
| 96 | +| 項目 | 内容 | |
| 97 | +|---|---| |
| 98 | +| 表示する温度 | CPU パッケージ / **CPU CCD 最大** / GPU | |
| 99 | +| 温度の単位 | 摂氏 / 華氏 | |
| 100 | +| 点滅させる温度 | 指定温度以上でディスプレイを点滅(0 で無効) | |
| 101 | +| 起動時の演出 | オン / オフ | |
| 102 | +| 自動起動 | ログオン時に自動で開始 | |
| 103 | + |
| 104 | +**CPU CCD 最大温度**は、Ryzen X3D のように CCD 間で温度差が大きい構成向けです。 |
| 105 | +(例: Ryzen 9 9950X3D では CCD1 が 70℃、CCD2 が 48℃ということが起こります) |
| 106 | + |
| 107 | +設定は `%APPDATA%\OpenDS360\settings.json` に保存されます。 |
| 108 | + |
| 109 | +### 自動起動について |
| 110 | + |
| 111 | +管理者権限が必要なアプリのため、`HKCU\...\Run` に登録すると**起動のたびに UAC が |
| 112 | +表示されます**。OpenDS360 は代わりに**タスクスケジューラ**へ「最上位の特権で実行」 |
| 113 | +として登録するため、UAC なしで自動起動できます。 |
| 114 | + |
| 115 | +--- |
| 116 | + |
| 117 | +## 注意事項 |
| 118 | + |
| 119 | +**メーカー製アプリ(DeviceMonitorPcc)と同時に動かさないでください。** |
| 120 | +デバイスは排他ロックされないため両方が書き込めてしまい、表示が競合します。 |
| 121 | +OpenDS360 は起動時に検出して終了を促します。 |
| 122 | + |
| 123 | +--- |
| 124 | + |
| 125 | +## 技術資料 |
| 126 | + |
| 127 | +解析したプロトコルの全仕様を [docs/PROTOCOL.md](docs/PROTOCOL.md) に公開しています。 |
| 128 | +同種のデバイスを解析する方の役に立てば幸いです。 |
| 129 | + |
| 130 | +要点だけ挙げると: |
| 131 | + |
| 132 | +- USB HID・65バイトのレポートを **0.5秒周期で送信し続ける** |
| 133 | + (途切れるとウォッチドッグで消灯します) |
| 134 | +- 表示可能な値は **0〜199**(3½桁) |
| 135 | +- 華氏変換は**PC 側**で行う(`floor(C * 9 / 5 + 32)`) |
| 136 | +- **メーカー製アプリが使っていない「点滅」機能**を発見し、本ソフトでは |
| 137 | + 高温警告に利用しています |
| 138 | + |
| 139 | +--- |
| 140 | + |
| 141 | +## ビルド |
| 142 | + |
| 143 | +```bash |
| 144 | +# 発行(自己完結型・単一 exe) |
| 145 | +dotnet publish src/OpenDS360 -c Release -o dist/app |
| 146 | + |
| 147 | +# インストーラ作成(要 Inno Setup 6) |
| 148 | +ISCC.exe installer/OpenDS360.iss |
| 149 | +``` |
| 150 | + |
| 151 | +--- |
| 152 | + |
| 153 | +## ライセンス |
| 154 | + |
| 155 | +[MIT License](LICENSE) |
| 156 | + |
| 157 | +同梱するサードパーティ コンポーネントについては |
| 158 | +[THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md) を参照してください。 |
| 159 | + |
| 160 | +--- |
| 161 | + |
| 162 | +## 動作報告のお願い |
| 163 | + |
| 164 | +**お手持ちの機種で動いた/動かなかった報告を歓迎します。** |
| 165 | +[Issues](https://github.com/kitepon-rgb/OpenDS360/issues) にお寄せください。 |
| 166 | +対応表を育てていきたいと考えています。 |
| 167 | + |
| 168 | +報告の際は以下を教えていただけると助かります。 |
| 169 | + |
| 170 | +- クーラーの製品名 |
| 171 | +- ヘッドの表示(数字のみ / カラー液晶) |
| 172 | +- デバイスマネージャーで確認できる VID / PID |
0 commit comments