みなさん、こんにちは。Noriaki Hayashiです。
本記事では、スマートピクセルクロック(Smart Pixel Clock)の「Ulanzi TC001」をご紹介します。
Ulanzi TC001のスペック・外観・サイズ
Ulanzi TC001は、MQTT / REST APIインターフェイスを介して制御可能な256 RGB 8×32 ピクセルのLEDスクリーンを搭載した時計です。
製品名 | Ulanzi TC001 Smart Pixel Clock |
価格 | 8,445円(公式ストア) ※2024年6月 AliExpress にて5,605円で購入 |
製品サイズ | 200.58 x 70.25 x 31.86mm ※横x奥行x高さ |
製品重量 | 283g |
USB端子 | USB Type-C |
動作電力 | 3.7 V, 3W |
駆動方式 | USB接続 ※内蔵バッテリー 4000 mAh |
保証 | 1年間 無償保証 |
Ulanzi TC001の付属品は以下の通りです。
- メインフレーム本体
- Type-A to C USBケーブル
- 使用説明書
- 適合証明書
常時USB接続による給電を行う場合には、別途、USB 電源アダプタ(5V, 1A)を購入する必要があります。
主な機能と特徴
Ulanzi TC001の主な機能と特徴は以下の通りです。
Ulanzi TC001(ハードウェア)の主な特徴
- 256 RGB 8行 32列 ピクセル表示可能なLEDディスプレイ
- ESP32-WROOM-32DモジュールによるWiFi接続
- ブザー、光、温度、湿度センサーを内蔵
- 最大5時間のバッテリー寿命を持つ内蔵4400 mAhバッテリー
Ulanzi TC001に内蔵されている温度および湿度センサーは、ESP32モジュールとLEDマトリックスで囲まれています。
このため、実際の室温よりも高温を示しがちで、室温を読み取る用途には不向きです。
Ulanzi TC001(ソフトウェア)の主な特徴
- フォロワー数の表示(YouTube、Bilibili、Weibo、Douyin に対応)
- 「Tomato Clock」(ポモドーロタイマー)
- ストップウォッチ
- 天気予報 表示(中国圏の気象APIを使用)
- ゲームスコアボード(卓球などに使える)
- 電池容量表示
- The Matrix(スクリーンセーバー的な位置づけ)
Ulanzi TC001の公式ファームウェアに実装されたソフトウェア機能の大部分は、中国圏 固有のサービスに由来しています。
ポモドーロタイマーや、ストップウォッチ、ゲームスコアボードなどバッテリー駆動による可搬性が功を奏す機能もありますが、ニッチな機能です。また、これらはインターネット接続機能のメリットを活かしていません。
このままではあまり役に立ちそうもありません。
このガジェットが持つ真の機能を発揮させるには、カスタムファームウェアを導入する必要があります。
Awtrix 3 オープンソース カスタムファームウェア
「Awtrix」は2018年にドイツのBlueforcer氏にて開始された、ESP8266 用に作成されたピクセルマトリックスディスプレイ向けカスタムファームウェアに関するプロジェクトです。
現行バージョンである「Awtrix 3」により、MQTTコマンド / REST APIインターフェイスを介した制御や、カスタムアプリの導入を実現し「Ulanzi TC001」を最大限に活用することができます。
Awtrix 3 のインストール
Awtrix 3のインストールに特別なツールは不要です。すべてWebインターフェイスを介して行うことが可能です。Windows OS / macOS など標準的なコンピュータを用意してください。
Awtrix 3のインストール手順は次の通りです。
オリジナルファームウェアの消去とカスタムファームウェアの導入
- Ulanzi TC001をUSB-Cケーブル(デバイス付属のケーブル)経由でPCに接続
- Ulanzi TC001本体の電源をオン
- Google Chrome(またはMicrosoft Edge)にて「Ulanzi TC001 and custom builds flasher」を開く
- [CONNECT]ボタンをクリックし、Ulanzi TC001のシリアルポートを選択
- [Device Dashboard]ウインドウにて、[INSTALL AWTRIX 3]リンクをクリック
- [Erase device]ウインドウにて、チェックボックスをONにし、[NEXT]リンクをクリック
- [Install AWTRIX 3]ウインドウにて、[INSTALL]リンクをクリック
- [Installing AWTRIX 3]ウインドウにてインストールの進捗状況を確認。この間、本体よりビープ音が鳴り続ける。
- [Installation complete!]ウインドウが表示される。[NEXT]リンクをクリックし、本体が[AP MODE]へ移行。
オリジナルファームウェアへ戻したい場合、こちらからBIN形式のファイルをダウンロードすることが可能です。
WiFiネットワークの設定
Awtrix 3 カスタムファームウェアのインストールが完了すると、Ulanzi TC001上に「AP MODE」と表示されます。
この状態では次のWiFiネットワークのアクセスポイントとして機能しています。このアクセスポイントへPCより接続します。
- アクセスポイント名:awtrix_XXXXX
- パスワード:12345678
アクセスポイントへの接続が成功すると「Awtrix Web インターフェイス」が表示されます。自動接続されない場合には、「192.168.4.1」アドレスへ接続を行います。
インターネット接続可能なWiFiの[SSID]ならびに[Password]を設定します。ルーターによって割り振られたIPアドレスへブラウザよりアクセスすることで、「Awtrix Web インターフェイス」にアクセスができます。
NTPによる時刻合わせの設定
「Awtrix Web インターフェイス」より[Time]タブを選択します。初期設定は次の通りです。
- NTP Server:de.pool.ntp.org
- Timezone:CET-1CEST,M3.5.0,M10.5.0/3
日本の環境に合わせて、[NTP Server]と[Timezone]の設定について変更を行います。
- NTP Server:ntp.nict.jp
- Timezone:JST-9
APIによる通知の送信
Awtrix3では、MQTTまたはHTTPプロトコルにより、デバイスの統計の取得、画面のミラーリング、通知、カスタムアプリ、サウンドの再生、ムード照明などの制御を行うことが可能です。
REST APIによる通知
ここでは、REST API(HTTPプロトコルを使用して通信を行い、JSON形式でデータをやりとりします。)にて、通知の送信を行います。curlコマンドを使用します。コマンド構文は次の通りです。
% curl -X POST -H "Content-Type: application/json" -d "{'text': 'HELLO'}" http://192.168.XXX.XXX/api/notify
通知にアイコンを追加
通知にはアイコンを追加することが可能です。「Awtrix Web インターフェイス」より[Icons]タブを選択します。[Icon ID]は、「LaMetric Icon Gallery」のIDに準拠しています。
ここでは、「Icon ID: 19171」(pikachu)のアニメーションアイコンを入手します。
[Icon ID]テキストボックスに、19171を入力し、[Preview]ボタンをクリックします。期待通りのアイコンが表示されていることを確認したら、[Download]ボタンをクリックします。
このアイコンを含む通知命令をcurlコマンドを使用し、REST APIで送信します。コマンド構文は次の通りです。コマンド構文は次の通りです。
% curl -X POST -H "Content-Type: application/json" -d "{'icon': '19171', 'text': 'I choose you!'}" http://192.168.XXX.XXX/api/notify
Ulanzi TC001のディスプレイにで指定した番号に対応したアイコンと、[text]で指定した文字列が表示されます。
より高度な通知の送信
テキストとアイコンを指定した通知の送信は最も基本的な使い方です。
「Awtrix3 MQTT / HTTP API」を活用すれば、より高度な通知を行うことが可能です。
このうち、私がよく使うJSONプロパティは次のとおりです。
キー | タイプ | 説明 | デフォルト | カスタムアプリ | 通知 |
text | 文字列 | 表示するテキスト | なし | x | x |
background | 整数の文字列または配列 | 背景色を設定 | なし | x | x |
icon | 文字列 | アプリに表示するアイコンIDまたはファイル名(拡張子なし)。 8×8 jpb BASE64文字列として送信することも可能 | なし | x | x |
repeat | 整数 | アプリが終了する前に、テキストのマトリクスをスクロールする回数を設定 | -1 | x | x |
duration | 整数 | アプリまたは通知が表示される期間を設定 | 5 | x | x |
hold | ブール | 1を設定することで、表示を維持 本体上部中央のボタンを押すまで維持 | 0 | x |
この機能を組み合わせれば、「ON AIRサインランプ」を作成することができます。コマンド構文は次のとおりです。Ulanzi TC001本体のボタンを押せばON AIRの常時点灯から、通常の表示ループに戻すことが可能です。
% curl -X POST -H "Content-Type: application/json" -d "{'text': 'ON AIR', 'background': '#ff0000', 'hold': '1'}" http://192.168.XXX.XXX/api/notify
おうちサイネージとしての活用
「デジタルサイネージ」(Digital Signage)とは、映像表示装置を使って、広告や案内などの情報を発信するシステムです。
これまで紹介してきた機能を活用することで、デスクトップ上にインターネットから取り込んだ情報を表示させることが可能です。
日々の生活においても意識すべき「数値」や「データ」は数多く存在します。そんな値をより身近に意識できるよう、おうちサイネージ作りに挑戦してみましょう。
現在、私が使っている表示ループはこちら。表示にアプリ(AWTRIX Flows)は使っておらず、Pythonコードとcronを組み合わせて表示させています。
日めくりカレンダー&時計
↓
Udemy 受講者数カウンター
↓
X(旧 Twitter)フォロワー数
↓
株価
↓
ソーラーパネルの発電量
[日めくりカレンダー&時計]は、最も便利な機能です。日付、曜日、時刻すべてを高い視認性で確認できます。
[Udemy 受講者数カウンター]は、Ulanzi TC001を導入した理由といえます。作成したコースの人気を常に意識すると、自然と新しいコースを作成しようとするモチベーションにつながります。
[X(旧 Twitter)フォロワー数]、[株価]、[ソーラーパネルの発電量]は、知りたい情報はなんでも表示してみようと作成してみました。知りたい情報をスクレイピングできれば、なんでも表示させることができます。
いちいち、それぞれのサービスへ接続し情報を集める手間を省くことができます。時間を節約し、知りたい情報だけを集約して表示できることは大きなメリットです。
まとめ
スマートピクセルクロック(Smart Pixel Clock)の「Ulanzi TC001」を紹介しました。
ファームウェアを書き換えが必須であること。アプリをコーディングしなければ使いこなせないなど、その利用にあたり敷居は高いと思います。
いったん敷居を乗り越えてしまえば、アイデアを形にできる楽しいガジェットだと感じています。
その後…
5ヶ月間ほど常時USB接続による給電にて使用し続けました。その結果、意図せぬシャットダウンが発生するようになりました。いろいろと調べてみると内蔵バッテリーに起因している模様。
解決策としてUlanzi TC001を分解し、バッテリーを取り除き運用することも可能なようです。
しかし、ちょっと手間。もうしばらく、このままで使い続けてみます(Ulanzi TC001、かなり手のかかるガジェットです)。
参考情報
- Quentin JOLY, Awtrix Ulanzi + Domotique = ❤️, 2024/05/12, https://une-tasse-de.cafe/blog/awtrix3-ulanzi-home-assistant/
- Ulanzi, Ulanzi Desktop Pixel Clock TC001 Review, 2023/05/25, https://www.ulanzi.com/blogs/news/ulanzi-desktop-pixel-clock-tc001-review
- Homey Community Forum, [TUTORIAL] How to use an Ulanzi Pixelclock with Awtrix Light for notification, 2023/05/17, https://community.homey.app/t/tutorial-how-to-use-an-ulanzi-pixelclock-with-awtrix-light-for-notification/78627/1
コメント