以下の内容はhttps://relativelayout.hatenablog.com/entry/2018/08/15/000124より取得しました。


M5STACKでダァシエリイェス(中級)

ステップアップ!

ポキオ M5STACK FIRE 京急

前回は初級編でした

relativelayout.hatenablog.com

初級編では、京急の運行情報ページから運行情報を取得して、平常運転か否かを確認するプログラムを書きました。今回はこれに加えて、以下のフィーチャーを追加してみようと思います。

  • 定期的な実行
  • 様々な状況へ対応
  • 運行情報に応じてLCDの表示を変える
  • LCDの表示はSDに保存した画像を表示する

これでようやく実用的な京急遅延チェッカーが完成します。

クソコードはこちら

from m5stack import lcd
import urequests
import uos
import utime

uos.mountsd()

while True:
    response = urequests.get('http://unkou.keikyu.co.jp/')
    unko = response.text.split("<div class=unko-panel>")[1].split("</div>")[0]
    response.close()
    
    lcd.clear()
    if unko.find("受託") > 0:
        lcd.image(0, 0, file="/sd/5.jpg", scale=0, type=lcd.JPG)
    elif unko.find("見合わせ") > 0:
        lcd.image(0, 0, file="/sd/4.jpg", scale=0, type=lcd.JPG)
    elif unko.find("乱れ") > 0:
        lcd.image(0, 0, file="/sd/3.jpg", scale=0, type=lcd.JPG)
    elif unko.find("遅れ") > 0 or unko.find("運休") > 0:
        lcd.image(0, 0, file="/sd/2.jpg", scale=0, type=lcd.JPG)
    elif unko.find("平常") > 0:
        lcd.image(0, 0, file="/sd/1.jpg", scale=0, type=lcd.JPG)
    else:
        lcd.setCursor(0, 0)
        lcd.setColor(lcd.WHITE)
        lcd.print("unknown state.")
    
    utime.sleep(60 * 5)
  • SDカード上のファイルへはuos.mountsd()してから、よしなにアクセス
  • 定期実行はwhile Trueループで実装
  • urequests.get()したら必ずclose()すること
  • 運行情報判断ロジックは以前作ったESP8266向けライブラリを転用

こんな感じです。画像は大人事情的に問題なさそうな範囲で自作しました。テスト表示させた様子がこちら。

ポキオ M5STACK FIRE 京急

ポキオ M5STACK FIRE 京急

いい感じですね。

  • メディア: おもちゃ&ホビー




以上の内容はhttps://relativelayout.hatenablog.com/entry/2018/08/15/000124より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14