WiFi接続で天気も表示するスマート卓上時計、3Dプリンタケース付きで自作可能

FabScene(ファブシーン)| テクノロジーの「現場」を記録するメディア

ESP32/ESP8266マイコンボードとMAX7219 LEDマトリクスを組み合わせたWiFi対応デスククロック「ESPTimeCast」がオープンソースで公開されている。開発者のmfactory_osaka氏がGitHubで公開しており、時刻表示に加えて天気情報やカウントダウン機能を搭載する。

Webインターフェース経由で全設定を管理

ESPTimeCastは8×32のLEDマトリクスディスプレイを搭載し、現在時刻、曜日、OpenWeatherMapから取得した天気情報(気温・湿度・天気概況)を表示する。初期設定から詳細設定まで、すべて内蔵のWebインターフェースで管理でき、一度ネットワークに接続すればコードの変更は不要だという。

初回セットアップ時は、デバイスが自動でアクセスポイントモードで起動し、SSID「ESPTimeCast」、パスワード「12345678」で接続できる。ブラウザで192.168.4.1にアクセスし、WiFi設定や天気情報の設定を行う仕組みになっている。

対応マイコンボードはWemos D1 Mini(ESP8266)とWemos S2 Mini(ESP32)で、MAX7219との接続にはSPIインターフェースを使用する。電源は5V USB給電で、MAX7219への電力供給も5Vラインから行う。開発者によると、従来の3.3V給電では電流不足により過熱や不安定動作が発生するため、5V給電に変更したという。

設定可能な項目には、WiFi接続情報、OpenWeatherMap APIキー、都市・国コード設定、タイムゾーン選択、表示言語設定、各種表示時間の調整などがある。高度な設定として、NTPサーバーのカスタマイズ、12/24時間表示切り替え、華氏・摂氏温度単位選択、ディスプレイ明度調整、時間帯による調光スケジュール設定なども可能だ。

カウントダウン機能と血糖値モニタリング対応

機能面では、指定した日時までのカウントダウン表示に対応し、「Scroll」と「Dramatic」の2つの表示モードを選択できる。また、Nightscout対応の血糖値モニタリング機能も搭載しており、糖尿病患者向けの情報表示も可能だという。

表示動作は時計モードと天気モードを自動的に切り替える仕様で、天気概況表示を有効にした場合は3番目のモードとして概況が3秒間表示される。NTPサーバーから時刻取得に失敗した場合は「! NTP」、天気データ取得に失敗した場合は「! TEMP」とエラー表示される。

開発環境としてArduino IDEを使用し、必要なライブラリはArduinoJson、MD_Parola、MD_MAX72xx、ESPAsyncTCP/AsyncTCP、ESPAsyncWebServerとなっている。プロジェクトデータはLittleFSファイルシステムに保存され、Webインターフェースファイルも含めて専用プラグインでアップロードする。

3Dプリント対応の専用ケースも提供されており、PrintablesとCults3Dで公開されている。V2ケースではレーザーカット対応の3mmフロントパネルも設計されている。

設定した内容は電源を切っても保持される仕組みになっており、バックアップ・復元機能も搭載する。GitHubでソースコードが公開されており、MIT互換のライセンスで提供されている。

関連情報

GitHub – mfactory-osaka/ESPTimeCast

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!