Atom Lite× MicropythonでOpen-Meteoの天気予報の取得に挑戦しました。
![](https://static.wixstatic.com/media/85c204_4f990352061749cabe3d88ac06f2615b~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/85c204_4f990352061749cabe3d88ac06f2615b~mv2.png)
Atom LiteのMicropythonの設定方法については、当ブログでは下記の記事に記載しております。
Open-Meteoですが、ユーザー登録とキーの取得が不要なAPIです。
1 日あたり 10,000 API 呼び出しを超える場合は、お問い合わせくださいとのことですが、
1時間とか30分のごとの更新にすれば、超えることはないかと思います。
Open-Meteo
知りたい情報を取得するURLを調べるには下記のリンク先を利用するのが便利です。
![](https://static.wixstatic.com/media/85c204_3985f4cf29ed43daa57a09d1dfc91e3b~mv2.png/v1/fill/w_980,h_418,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/85c204_3985f4cf29ed43daa57a09d1dfc91e3b~mv2.png)
selectcitiyに英語で市町村名を入力して緯度経度を取得します。
![](https://static.wixstatic.com/media/85c204_16794f33bb2647bf8b63c209e54ee551~mv2.png/v1/fill/w_980,h_272,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/85c204_16794f33bb2647bf8b63c209e54ee551~mv2.png)
![](https://static.wixstatic.com/media/85c204_28be847d1ca94b40bd0d3361c5ee9905~mv2.png/v1/fill/w_980,h_273,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/85c204_28be847d1ca94b40bd0d3361c5ee9905~mv2.png)
所得したい情報にチェックを入れます。
今回はdailyの最高気温・最低気温・最大降水確率にチェックを入れています。
![](https://static.wixstatic.com/media/85c204_fe336e15633645da9cf35ad45b959c7f~mv2.png/v1/fill/w_980,h_502,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/85c204_fe336e15633645da9cf35ad45b959c7f~mv2.png)
タイムゾーン・単位・データを取得する日数を指定します。
![](https://static.wixstatic.com/media/85c204_ac0ed39f2f0741b2a3da878b8d276dd6~mv2.png/v1/fill/w_980,h_169,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/85c204_ac0ed39f2f0741b2a3da878b8d276dd6~mv2.png)
Preview Chartボタンを押すとAPI URLが更新されます。
![](https://static.wixstatic.com/media/85c204_417ef5b5be324e268fd53fde1dd7584b~mv2.png/v1/fill/w_980,h_305,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/85c204_417ef5b5be324e268fd53fde1dd7584b~mv2.png)
(Open in new tab)をクリックすると、API URLのリンク先を別ウィンドウで表示できます。
![](https://static.wixstatic.com/media/85c204_b5853a3cff434e3485bd96b30b931c19~mv2.png/v1/fill/w_980,h_308,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/85c204_b5853a3cff434e3485bd96b30b931c19~mv2.png)
こちらは、東京都の7日分の天気・最高気温・最低気温・最大降水確率を取得したものです。
![](https://static.wixstatic.com/media/85c204_18049d0b818c422e8e422088608e683a~mv2.png/v1/fill/w_625,h_790,al_c,q_90,enc_auto/85c204_18049d0b818c422e8e422088608e683a~mv2.png)
なお、JSONビューアーはchromeの拡張機能のJSON Viewerを使用しています。
JSON Viewerをインストールをしたら、拡張機能の一覧を示すページ(?)のJSON Viewerの拡張機能を管理をクリックします。
![](https://static.wixstatic.com/media/85c204_fadd7cdd31874a80b0a3ea5a7e9642ff~mv2.png/v1/fill/w_980,h_361,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/85c204_fadd7cdd31874a80b0a3ea5a7e9642ff~mv2.png)
管理ページへ移動したら、ファイルのURLへのアクセスを許可するをONにします。
![](https://static.wixstatic.com/media/85c204_dc5eaa18bca74deb9d698877ec981c31~mv2.png/v1/fill/w_980,h_374,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/85c204_dc5eaa18bca74deb9d698877ec981c31~mv2.png)
Open-Meteoは天候の表記にweathercodeを使っているのですが、リンク先の下方にコードに関する記述が記載されています。
![](https://static.wixstatic.com/media/85c204_195a6f150b934b95bde4447f2815ce9c~mv2.png/v1/fill/w_806,h_571,al_c,q_90,enc_auto/85c204_195a6f150b934b95bde4447f2815ce9c~mv2.png)
なお、OLEDに表示する際は表示しきれない為、大まかな表示としました。
ここまで準備ができたらいよいよプログラムを書いていきます。
なお、OLEDディスプレイを使う際はライブラリーをインストールする必要があります。
OLEDのライブラリーの取得
ツール > パッケージを管理
![](https://static.wixstatic.com/media/85c204_8348f0253ec04de1ae4c14b5da7cb727~mv2.png/v1/fill/w_528,h_246,al_c,q_85,enc_auto/85c204_8348f0253ec04de1ae4c14b5da7cb727~mv2.png)
![](https://static.wixstatic.com/media/85c204_844ad63584144799b48e6dd9913528e9~mv2.png/v1/fill/w_846,h_598,al_c,q_90,enc_auto/85c204_844ad63584144799b48e6dd9913528e9~mv2.png)
作成したプログラムは下記の通りです。
プログラムをmain.pyでAtom Liteに保存すれば、ACアダプターなどで起動することができます。
ACアダプターは5V2Aのもので動きました。
実行結果は下記の通りです。
筐体は厚紙で5cmの立方体を作成しています。
![](https://static.wixstatic.com/media/85c204_9e4570bf65b844e5afdc40b9585664da~mv2.png/v1/fill/w_980,h_551,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/85c204_9e4570bf65b844e5afdc40b9585664da~mv2.png)
中身です。
SCLをGP26、SDAをGP32に接続しています。
![](https://static.wixstatic.com/media/85c204_64f06ffc0d124b6581bb09688a274673~mv2.png/v1/fill/w_980,h_551,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/85c204_64f06ffc0d124b6581bb09688a274673~mv2.png)
のりづけする前
![](https://static.wixstatic.com/media/85c204_054482d0ac6e49cf997f8a90cd4d5e30~mv2.png/v1/fill/w_498,h_884,al_c,q_90,enc_auto/85c204_054482d0ac6e49cf997f8a90cd4d5e30~mv2.png)
参考にしたサイト
・プログラムについて
・Raspberry Pi Pico W OpenWeatherMap API Sensorless Weather Station
・MicroPython: OpenWeatherMap API with ESP32/ESP8266 – Sensorless Weather Station
・M5Stack で天気情報を表示する(OpenWeatherMap API)
・Open-Meteoについて
・APIキーもログインも不要!完全無料で使える天気予報API「Open-Meteo」を使ってみた!
・Open Meteo API で天気予報を取得する
・weather codeについて
・気象関係コード表
・WMO Meteorological codes
・4677
Comments