Kris Wang

[Raspberry Pi Project] Accuweather Display

Leave a Comment


當初買RPi板子,就是為了練習一些電路控制以及Python的應用,所以拿到手後,立刻又買了些小的電子零件做些GPIO的測試, Accuweather Display就是ㄧ個簡單的練習project

[目標]
擷取Accuweather上台北市的現在氣溫跟天氣,並且顯示在LCD螢幕上

[硬體]
因為之前並沒有電路相關的知識,所以只能先跟著網路上的sample照表操課. 我是參考adafruit learning system上的這篇文章,裡面已經把線路圖以及 LCD上各個PIN的用途都解釋得很清楚,所以只需要把零件買齊再照著接就可以了.

關於零件的購買:
[麵包板,杜邦線,電阻]這種直接去電子材料行買就可以了(台北市可以到新生南路一段6號B1,有好幾家店可以挑)
[LCD] 這種純文件的LCD大多是HD44780相容,所以只要確認PIN腳一樣就可以了(我自己是在拍賣上買的)

[軟體]
如果想熟悉用不同的語言控制RPi的GPIO,可以參考這篇連結.
因為後續我進行的練習應該都會是用Python,而adafruit learning system也已經提供了LCD控制以及顯示的python code,所以剩下的的就是擷取Accuweather數據的方法.

Python應該有一些UI化的Accuweather模組,但是因為這個實驗只有純文字LCD可以使用,所以我選擇最簡單的方式:利用python直行shell scrip,curl到accuweather的rss網頁後直接parsing. 因為用shell scrip只要以下的一行就可以搞定,多棒啊!
curl -s "http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=ASI|TW|TW018|TAIPEI|" | sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([CF]\).*/\2°\3, \1/p (如果要顯示其他地方,請找一下該地區的locCode)

[source code]
https://github.com/kris2808/RPi/tree/master/temperature

[延伸]
目前只parsing了accuweather的current weather,後續可以繼續挖出預報的部分後,週期性切換顯示各種訊息

0 意見:

張貼留言