見出し画像

【CoreInk】天気の表示をする【UIFlow】(後編)

前編の続き


天気アイコンを決める

OpenWeatherMap提供アイコンはこんな感じ

画像1

下記サイトにあります

これでは、2階調の電子ペーパーには雲の絵がうまく映らないので、
別のアイコンを探した

こちらのアイコンにしました。

対応表はこんな感じにしました

画像2

ダウンロードした画像が表示させるサイズに合わせて32pxにしたので上記のように荒いです

アイコンを画面に表示してみる

これも「if」「if elase」を駆使して対象の画像にします
10個の場合分けになりました

画像3

これを4箇所に入れます

画像4

できました。
ちなみに、温度と降水確率は「C」、「%」をテキストの足し算で入れました。(℃は入れれなかった、%は表示が少し崩れる・・・)

もう少し配置を整えます

画像5

画像がなんか汚い
ダウンロードした画像PNG形式のまま使用したからかな
Windowsのペイントで名前をつけて保存でJPEG形式で保存にして入れ直しました。

画像8

おぉきれいな画像になった(^o^)
数値が左詰めなのが気になる
いつか直そう

ボタン押下で処理

このままでは電源ONで一回のみ動作なので、マルチボタンのMIDを押したときに天気を取得するようにしました

最後に取得してから最新のデータが変化なければ、押しても天気の取得をしないようにしました

・RTCブロックで時間設定と取得
・時間を最後に取得した時間の3時間以内か確認
・日時が同じで3時間以内なら何もしない
  ・上記の時間外なら取得

画像8

RTC設定のweekdayは月曜-日曜を表す 0-6らしい

うまくできました。

インターネットにつなげる

Flowモードで実行すれば特に問題ないけど、プログラムを端末にアップロードしてAppモードで実行するにはインターネットにつなげる処理が必要

高度なブロックの「network」にありました

画像9

これでできるはず

操作以外は電源OFF

電子ペーパーで省電力品なので、ボタン操作していないときは電源がOFFするようにしたい。

が、、UIFowのブロックで「バッテリー」の「Power on」「Power off」があるけど、どうもうまく動作できない。
電源OFFはできても、ONができない

画像7

電源が落ちる

APPモードでUSBケーブル外しておくと、2時間ほどで電源が落ちてしまう。

その状態で電源ボタンを押すとリセットされるが、バッテリーは残っている。

とりあえず、USBケーブル刺したままで動くことができるので、今回はいいとしよう。。

というわけで、今回の天気予報表示はこれくらいにします


◆いつかの課題
・%表示
・電源OFFON制御(DeepSleep)
・APPモードでケーブルレス運用

ファイルはここに置いておきます
OpenWeatherMapのURLとアイコンを入れればできるはずです


この記事が気に入ったらサポートをしてみませんか?