Androidのメモとか

ポキオの日記です。今日も遅延してない。

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 京急

いい感じですね。

M5Stack Gray(9軸IMU搭載)

M5Stack Gray(9軸IMU搭載)

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

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。