pco2699’s blog

学んだものについて、メモしておく場所

ラズパイと天気予報APIとマルチカラーLEDで出勤時にチャリ使えるか教えてくれる装置つくった

つくったもの

出勤時(AM 6:00-7:00)の間に、マルチカラーLEDでその日 雨が降るか降らないか教えてくれる装置

雨がふるよ〜ってとき

こんな感じで赤色で点滅 (Live Photosで撮影)
関係ないけどLive PhotosをGIFに変換してくれるMotion Stillsマジ便利

f:id:pco2699:20161002172405g:plain

晴れるよ〜ってとき

こんな感じで青色で点灯

f:id:pco2699:20161009070937g:plain

作った理由

自分は徒歩 or チャリ出勤なんだけど、朝 毎回「チャリで今日出れんのかな〜」と天気予報アプリで調べるのがおっくうだったので

用意したもの

この記事を参考にしつつを以下を、用意。

回路図

回路図はこんな感じ
抵抗の配置の仕方は、前述のブログ記事からそのまま借用しました。。。
高校の時の物理を復習して自分で抵抗値とか出せるようにしたいところ。。。

一番左→GPIO 22番から150Ωの抵抗かまして赤色LED
二番左→カソード
二番右→ GPIO 23番から直で緑色LED 一番右→GPIO 24番から直で緑色LED

f:id:pco2699:20160919145014p:plain

ソースコード

Githubに上げてあります。

github.com

ポイント

帰りの天気が重要なので、直近の予報と9時間後の予報をそれぞれ調べて、どちらか一方でも雨が含まれていたら
雨判定となるようにした。
(でも、後から気づいたんだけど直近の予報 雨だったら窓から外みればいいから 9時間後の天気だけみりゃいいのでは。。。とか思ったり)

    # 朝時点で雨フラグ
    morning_rain_flag = False
    # 夕方時点で雨フラグ
    evening_rain_flag = False

    # 直近の天気情報を取得しプリント
    print(get_desc(0))
    # 9時間後の天気情報を取得しプリント
    print(get_desc(3))

    # 直近天気を検索、もしrainが含まれていたらフラグを真に
    if 'rain' in get_desc(0):
        morning_rain_flag = True

    # 直近天気を検索、もしrainが含まれていたらフラグを真に
    if 'rain' in get_desc(3):
        evening_rain_flag = True

    # 直近・9時間後のフラグをかけ合わせてresultに格納
    result = morning_rain_flag or evening_rain_flag

動かし方

ソースコードをcronで毎日 AM 6:00に起動するようにする。

今後の予定

  • 現状AM 6:00起動なので、なんかボタン押したら起動するようにしたい