【CoreInk】天気の表示をする【UIFlow】(後編)
前編の続き
天気アイコンを決める
OpenWeatherMap提供アイコンはこんな感じ
下記サイトにあります
これでは、2階調の電子ペーパーには雲の絵がうまく映らないので、
別のアイコンを探した
こちらのアイコンにしました。
対応表はこんな感じにしました
ダウンロードした画像が表示させるサイズに合わせて32pxにしたので上記のように荒いです
アイコンを画面に表示してみる
これも「if」「if elase」を駆使して対象の画像にします
10個の場合分けになりました
これを4箇所に入れます
できました。
ちなみに、温度と降水確率は「C」、「%」をテキストの足し算で入れました。(℃は入れれなかった、%は表示が少し崩れる・・・)
もう少し配置を整えます
画像がなんか汚い
ダウンロードした画像PNG形式のまま使用したからかな
Windowsのペイントで名前をつけて保存でJPEG形式で保存にして入れ直しました。
おぉきれいな画像になった(^o^)
数値が左詰めなのが気になる
いつか直そう
ボタン押下で処理
このままでは電源ONで一回のみ動作なので、マルチボタンのMIDを押したときに天気を取得するようにしました
最後に取得してから最新のデータが変化なければ、押しても天気の取得をしないようにしました
・RTCブロックで時間設定と取得
・時間を最後に取得した時間の3時間以内か確認
・日時が同じで3時間以内なら何もしない
・上記の時間外なら取得
RTC設定のweekdayは月曜-日曜を表す 0-6らしい
うまくできました。
インターネットにつなげる
Flowモードで実行すれば特に問題ないけど、プログラムを端末にアップロードしてAppモードで実行するにはインターネットにつなげる処理が必要
高度なブロックの「network」にありました
これでできるはず
操作以外は電源OFF
電子ペーパーで省電力品なので、ボタン操作していないときは電源がOFFするようにしたい。
が、、UIFowのブロックで「バッテリー」の「Power on」「Power off」があるけど、どうもうまく動作できない。
電源OFFはできても、ONができない
電源が落ちる
APPモードでUSBケーブル外しておくと、2時間ほどで電源が落ちてしまう。
その状態で電源ボタンを押すとリセットされるが、バッテリーは残っている。
とりあえず、USBケーブル刺したままで動くことができるので、今回はいいとしよう。。
というわけで、今回の天気予報表示はこれくらいにします
◆いつかの課題
・%表示
・電源OFFON制御(DeepSleep)
・APPモードでケーブルレス運用
ファイルはここに置いておきます
OpenWeatherMapのURLとアイコンを入れればできるはずです
この記事が気に入ったらサポートをしてみませんか?