カシオ「お天気情報お知らせクロック」DWS-200J を、純正アプリとカシオの天気配信サーバーが 止まったあとも自分の手で動かし続けたい人のための資料。
時計との通信仕様、天気データの入手先と変換方法をまとめた資料。
カシオ計算機とは無関係の非公式な資料。同社の確認は受けていない。 正確性は保証しない。実機への書き込みは自己責任で。
| 事柄 | 時期 |
|---|---|
| 純正アプリ CASIO CLOCK+(iOS 専用)のサポート | 2025 年 8 月に終了済み |
| カシオの天気予報配信サービス | 2027 年 3 月ごろ終了予定 |
サービスが止まると時計は天気を受け取れなくなる。時刻・室温・湿度・アラーム・時報といった 本体だけで動く機能は残るので、困るのは主に天気の更新(と、アプリからの一括時刻合わせ)。
- 通信は BLE だけで、暗号化もペアリング鍵も無い。 平文。だから iPhone の純正アプリでなくても、 BLE を喋れる機械(Windows PC、Raspberry Pi、Android、ESP32 など)なら何からでも書き込める。
- 天気の中身は自分で用意できる。 気象庁が予報を無料で公開していて、時計はその天気予報コードを そのまま解釈する。右から左に流すだけで純正サービス経由と同じ表示になる。
つまり要るのは、気象庁などから天気を取ってきて BLE で時計に流し込む小さなプログラムを 自分で動かし続けること。
flowchart LR
A["気象庁 / Open-Meteo<br/>天気予報 JSON(無料で公開)"] -->|HTTP| B["自分で用意するプログラム<br/>時計のフレームに組み替える"]
B -->|BLE| C["DWS-200J<br/>表示"]
| ドキュメント | 内容 |
|---|---|
| 時計との通信(BLE) | BLE での見え方、フレーム形式、天気を送る最小シーケンス、接続の保ち方、コマンド一覧 |
| 天気データの入手と変換 | 気象庁 JSON の使い方、天気コード 28 種と 3 時間ごとコード、area.json の落とし穴 |
| 都市コード | 外出先の地点を時計に覚えさせる 7 バイトコードと、その導出規則 |
| 時計の設定と室温・湿度 | 表示項目・時報・デュアルタイムなどの設定、本体に溜まる温湿度履歴の取り出し |
まず天気を出したいだけなら 時計との通信 だけで足りる。
30 → FF AA(天気本体)→ 36 を送れば表示が変わる。
| ファイル | 内容 | 件数 |
|---|---|---|
data/jis2prefix.json |
JIS 市区町村コード → 都市コード前半 5 バイト | 1759 市区町村 |
data/locations.json |
都道府県 → 一次細分区域 → 市区町村(office・class10・アメダス・緯度経度つき) | 47 / 142 / 1805 |
data/city_prefix.json |
都市コード前半 5 バイトを一次細分区域ごとにまとめた表 | 47 / 77 |
- 接続維持のためにコマンドを送らない。 時計が 60 秒ごとに送る
33に04 00 33を返すだけでよい。 それ以外を定期的に送ると切断される。 - 接続前のスキャンは数十秒確保する。 待受中のアドバタイズは約 11 秒に 1 回。
- 天気の更新だけなら端末認証は不要。 認証を通さない場合 BT マークは点灯しないが、天気は更新される。
- 同時接続は 1 台。 純正アプリ(iPhone)がつないでいる間は他からつながらない。
- 表示される日付・時刻は送信したヘッダの値で、時計の内蔵時計とは独立している。
- 気象庁の区域は改定される。 区域が増減すると都市コードの対応も変わりうる。
- 気象庁の区域定義・アメダス・予報データは気象庁の公開データに由来。https://www.jma.go.jp/bosai/
- 都市コード・天気コード・BLE の仕様は、実機の動作から得たもので、メーカー公式の情報ではない。
- この資料と同梱データは CC0 1.0 Universal(パブリックドメイン提供)。 出典表示なしで自由に利用・改変・再配布してよい。ただし気象庁由来の部分は気象庁の利用ルールに従うこと。
- カシオ計算機とは無関係の非公式な資料。正確性は保証しない。実機への書き込みは自己責任で。