本文說明如何使用 LattePanda搭配 python語言去使用雲服務來打造一個簡單的氣象預報機器人。
| 作者/攝影 | 袁佑緣 |
| 時間 | 1小時 |
| 難度 |
★★☆☆☆ |
| 材料表 |
|
本文說明如何使用 LattePanda搭配 python語言去使用雲服務來打造一個簡單的氣象預報機器人本範例的操作環境是以LattePanda的Windows10為主如果想要一般的PC上操作也可以另外對於linux與mac os的使用者建議用您的系統的軟件管理員來安裝以下的程式套件。
- 安裝python3 https://www.python.org/downloads/windows/記得在安裝時要選擇將python加入系統變數喔
- 執行Windows命令列
按下”win+R”的快捷鍵並輸入cmd便會叫出windows的命令提示字元 如果是windows10的使用者建議改輸入powershell。
- 安裝python套件
請在命令列中輸入以下的指令
[pastacode lang=”java” manual=”pip%20install%20SpeechRecognition%20pyaudio%20python-forecastio%20gtts” message=”” highlight=”” provider=”manual”/]- 從github上下載本專案 https://github.com/YuanYouYuan/weather-bot
- 從下列網址中下載mpv播放器如果您想要用windows media player也是可以但是要記得在第6步中程式碼修改播放器的檔案位置。
mpv 下載網址 https://mpv.srsfckn.biz/
如果您無法解壓縮7z檔案可以從以下的網址中下載7z的解壓縮安裝檔。
7z安裝檔下載網址 http://www.developershome.com/7-zip/
最後請記得將解壓縮後的mpv.exe移動到剛剛從github下載並解壓縮的專案資料夾中。
- 執行程式碼
請點開本專案資料夾並用python IDLE編輯器打開weather-test.py
請將裡面的api_key改成你在darkskyhttps://darksky.net/dev/上取得的api key。
請註冊一個新的帳號並取得一個weather api key。
本專案程式碼 weather-test.py
[pastacode lang=”java” manual=”%23%20This%20version%20is%20for%20windows%2C%20and%20there%20must%20be%20a%20mpv%20application%20in%20this%20work%20directory%0A%0Aimport%20forecastio%20%E5%BC%95%E5%85%A5python%E6%B0%A3%E8%B1%A1%E4%BA%92%E5%8B%95%E5%87%BD%E5%BC%8F%E5%BA%ABfrom%20gtts%20import%20gTTS%20%E5%BC%95%E5%85%A5google%E6%96%87%E5%AD%97%E8%BD%89%E8%AA%9E%E9%9F%B3%E5%87%BD%E5%BC%8F%E5%BA%ABimport%20subprocessapi_key%20%3D%20’Enter%20your%20api%20key’%20%E8%AB%8B%E8%BC%B8%E5%85%A5%E6%82%A8%E7%9A%84api%20key%0A%0A%23%20the%20following%20coordinate%20is%20Taipei%2FTaiwan%0Alat%20%3D%2025.0391667%20%23%E5%9C%A8%E6%AD%A4%E6%82%A8%E5%8F%AF%E4%BB%A5%E8%A8%AD%E5%AE%9A%E6%89%80%E8%A6%81%E6%9F%A5%E8%A9%A2%E7%9A%84%E5%9C%B0%E9%BB%9E%E7%9A%84%E7%B6%93%E7%B7%AF%E5%BA%A6%0Alng%20%3D%20%20121.525%0Alang%20%3D%20’zh-TW’%20%E8%A8%AD%E5%AE%9A%E8%AA%9E%E8%A8%80%E7%82%BA%E7%B9%81%E9%AB%94%E4%B8%AD%E6%96%87%0Afile_name%20%3D%20’weather.mp3’%0Aplayer%20%3D%20′.%2Fmpv’%20%23%E8%A8%AD%E5%AE%9A%E6%92%AD%E6%94%BE%E5%99%A8%E7%82%BAmpv%0A%0Aforecast%20%3D%20forecastio.load_forecast(api_key%2C%20lat%2C%20lng)%0A%0Aby_hour%20%3D%20forecast.hourly()%0A%0Afor%20data%20in%20by_hour.data%3A%0A%20%20%20%20text%20%3D%20’%E5%9C%A8’%20%2B%20str(data.time)%20%2B%20’%E6%B0%A3%E6%BA%AB%E6%98%AF’%20%2B%20%20str(data.temperature)%20%2B%20’%E5%BA%A6%E8%A5%BF’%20%E5%8F%96%E5%87%BA%E9%A0%90%E5%A0%B1%E6%99%82%E9%96%93%E8%88%87%E6%B0%A3%E6%BA%AB%0A%20%20%20%20print(text)%0A%20%20%20%20tts%20%3D%20gTTS(text%2C%20lang)%20%0A%20%20%20%20tts.save(file_name)%0A%20%20%20%20subprocess.call(%5Bplayer%2C%20file_name%5D)%20%E5%95%9F%E5%8B%95%E4%B8%80%E5%80%8B%E5%AD%90%E7%A8%8B%E5%BA%8F%E4%BE%86%E6%92%AD%E5%A0%B1%E6%B0%A3%E8%B1%A1%E9%A0%90%E5%A0%B1%E9%9F%B3%E6%AA%94%0A%0A” message=”” highlight=”” provider=”manual”/]7.youtube影片範例
- 延伸應用
如果您想要再玩玩更多進階的功能可以參考python-forecastio的github網站裡面有詳細的說明跟應用比如說想要知道當下的氣溫、或者是知道今天的氣象概況甚至還能做到降雨率的預報有興趣的朋友不妨去試一試吧
相關文章:















