HUOXIU

技術オタクのハードコアな大晦日のお祝い:位置情報と天気を自動更新し、2000以上の「有害な」インスピレーションを与える名言をランダムに再生するDIY電子インクカレンダー | オープンソース

QbitAI | アオフェイ寺院の Jia Haonan 氏と Yu Yang 氏によるレポートWeChat公式アカウント QbitAI

独自の電子インクカレンダーを作成するには、いくつの手順が必要ですか?

位置情報や天気情報を自動更新したり、2000 以上の有害な動機付けの引用をランダムに再生したりできるタイプのものです。

↑↑↑こんな感じです:もし私の人生が映画だとしたら、あなたはポップアップ広告です。10分ごとに新しい広告が表示されます。

フレーム付きで、オンラインショッピング プラットフォームで 299 元で販売されている商品と比べて、この商品をどのように評価しますか?

この新しい「製品」は、Weiboブロガーの@张欣| Kenn によるものです。

さらに、その制作方法をオープンソース化した

何が起こっているのか見てみましょう〜

ハードウェアの準備

@Zhang Xin | Kenn さんは、オンライン ショッピング プラットフォームで同様の製品が販売されているのを見て、このような電子インク スクリーンを作ることにしました。

この製品は非常に興味深いですが、「有害なポジティブさ」の味を味わいたいなら、自分でDIYする必要があります。

解決策を直接見てみましょう。

スクリーン、231元

まず、画面があります。スマートフォンやスマートスクリーンなどのハードウェアでは、画面は通常、最も高価な部品です。

張欣氏はオンライン小売業者が提供するソリューションを参考に、単価が比較的安いWeixue Electronicsの5.38インチモノクロ電子インクスクリーンを選択した。

この画面モデルは電子ペーパーと呼ばれ、解像度は648×480、SPIインターフェース、価格は231元です。

また、このスクリーンは現在普及しているシリアルポート形式を採用しています。パラレルポート接続と比較して、シリアルポートスクリーンは通信に必要な配線が2本のみで、制御プログラムもよりシンプルで、パラレルポートスクリーンよりも配線数が90%削減されます。

一部のシリアル ポート ディスプレイでは MCU が不要になり、直接制御できるようになりました。

DIY 電子製品の場合、シリアルポート画面の方が適しています。

Raspberry Pi や他の Arduino デバイスを使用して駆動する予定の場合は、アダプタ ボード付きのキット (価格は 283.5 元) を選択できます。

さらに、同様の電子スクリーンにはカラーバージョンもありますが、こちらはより高価です。

カラー スクリーンを使用する場合は、元の作者のコードを変更して動作させる必要がある場合があります。

計算単位78.75元

Zhang Xin はEspressif の ESP32 チップを使用しました。

ESP32 チップには 2.4G ワイヤレス ネットワークと Bluetooth が搭載されており、十分なピンがあります。

さらに、市場には成熟した ESP32 開発ボードが数多く存在します。

もちろん、本当に興味があれば、ESP32 ベースのモジュールを購入してボードに統合することもできます。

どちらの方法でも、画面のフレキシブル リボン ケーブルを SPI インターフェイスに変換するために、画面と一緒にアダプタ ボードを購入する必要があることに注意することが重要です。

完成品を迅速に作成するために、著者は、フレキシブルフラットケーブルインターフェースを内蔵し、ESP32 をベースにした、価格 78.75 元の WaveSnow 電子インク開発ボードを選択しました。

電源、50元以下

実際、開発中は、コンピューターの USB ポートを介してマイクロ USB ケーブルで直接電源を供給しながら、同時にデバッグを実行することができます。

ただし、実際の使用時に電源コードをなくしたい場合は、マイクロ USB 充放電インターフェースを内蔵したリチウム バッテリーを直接購入できます。

価格はバッテリー容量によって異なりますが、一般的には50元以下です。

最後に計算してみましょう。同じ電子インクスクリーンをDIYする場合の最大コストは、231 + 78.75 + 50 = 359.75元です。

なぜオンラインショッピングプラットフォームよりも高価なのですか?

実のところ、これは簡単に理解できます。すべての部品を小売価格で購入すると、当然、メーカーの購入価格よりも高くなります。

しかし、技術オタクの喜びは、まさに自分で物事を行うことの喜びではないでしょうか?

ソフトウェアソリューション

ハードウェアの準備ができたら、ソフトウェアをどのように実装すればよいでしょうか?

フレームワークとして、Zhang Xin は、すぐに使用できるサードパーティ製のライブラリが多数あるため、Arduino を選択しました。

開発ツールに関しては、Visual Studio Code の使用を推奨しています。

具体的には、プロジェクトのコードは主に以下の機能を実装します。

まず、画面レイアウトを計画し、10 分ごとに画面を更新して、有害なインスピレーションを与える引用のフレーバーをリアルタイムで変更します。

画像出典:Weiboブロガー@ZhangXin |ケン

次のような、既成の「有毒チキンスープ」の引用が 2,000 個以上あります。

人生とは、現在の闘争だけではなく、将来の闘争でもあるのです。

直径2メートルの稲妻のように細くなりますように。

...

詳細は、このプロジェクトのtoxicsoul.hファイルに記載されています。

日付は ESP32 システムに付属の時計に設定されます。

現在のデバイスの IP アドレスを照会することによって位置が取得されます。

部分コード

リアルタイムの天気情報はHefeng Weather開発プラットフォームから提供されます。実際には、アカウントを登録し、アプリケーションキーを取得する必要があります。

 const String QWEATHER_API_KEY = “**“;

関係するサードパーティ ライブラリには主に次のものがあります。

  • Adafruit GFX: ディスプレイ出力を可能にするグラフィック エンジン。

  • GxEPD2: Adafruit_GFX ライブラリに基づくさまざまな電子インク ディスプレイ用のドライバー。

  • Adafruit GFX用U8g2: テキストを表示

  • u8g2_fontmaker: u8g2 フォント ソース コードを生成するための、ワンクリックで簡単に使用できるスクリプト ツール。これもプロジェクト作成者によって作成されました。

  • ArduinoJSON: JSON文字列の扱い

準備が整ったら、プログラムを開発ボードに書き込み、ホットグルーなどのDIYツールを使って組み立てました。電源を接続すると、 「Toxic Chicken Soup」のE-Inkスクリーンカレンダーが誕生しました。

ネットユーザー:さあ始めましょう!

この「毒チキンスープ」の電子インクカレンダーは、元旦に最初に完成し、ネットユーザーから熱烈な賞賛を受けた。

多くのネットユーザーからは「いいね!やろう!」などのコメントが寄せられた。

一部のネットユーザーは、その場で新たな要求を提起した(冗談です)。

前日の日次統計を表示したい。

著者はコメント欄でバッテリー寿命に関する質問にも答えています。

まだ消費電力を測定する時間も条件も整っていません。実は、コードを少し最適化すれば、リフレッシュ後に画面とESP32をスリープモードにし、リフレッシュ間隔を長くすれば、消費電力は非常に低くなるはずです…

著者について

張欣は北京化工大学でコンピュータサイエンスの学士号を取得し、中国科学院大学で修士号を取得しました。

以前はマイクロソフトのシニアプロダクトコンサルタントとして、マイクロソフトプラットフォーム上のプロジェクト開発に携わり、.NETプラットフォーム、データベース、多層アーキテクチャ設計において豊富な経験を有しています。複数の大規模アプリケーションシステムのアーキテクチャ設計、開発、実装に参画し、主導的な役割を果たしてきました。

彼は Microsoft MVP (Most Valuable Professional)でもあります。

張欣氏は現在、ドローンに特化したスタートアップ企業であるNewbee Intelligentのパートナー兼プロダクトマネージャーを務めている。

放送はこれで終わりです。これを読んで、少しでも興味が湧きましたか?

では、始めましょうか?結局のところ—

一生懸命働くつもりさえあれば、失敗できないことはない。

(冗談です)

プロジェクト住所:
https://github.com/breakstring/eInkCalendarOfToxicSoul