ステップアップ!
前回は初級編でした
初級編では、京急の運行情報ページから運行情報を取得して、平常運転か否かを確認するプログラムを書きました。今回はこれに加えて、以下のフィーチャーを追加してみようと思います。
これでようやく実用的な京急遅延チェッカーが完成します。
クソコードはこちら
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向けライブラリを転用
こんな感じです。画像は大人事情的に問題なさそうな範囲で自作しました。テスト表示させた様子がこちら。
いい感じですね。