PR 記事には広告が含まれています
スポンサーリンク
Translate

電子ペーパー天気予報モニターの作り方

スポンサーリンク


電子ペーパー天気予報実験セットで、天気予報モニターを作る方法のご紹介です。

電子ペーパーの実験セットは↓こちら↓で購入いただけます

以下のような手順でご説明します

  1. 組み立て(電子ペーパーと本体の接続)
  2. Arduino開発環境のセットアップ
  3. プログラムの書き込み
  4. 天気アイコンの変更方法
スポンサーリンク

1.組み立て

電子ペーパーと本体基板との接続

コネクタの黒部分を引き出す

epdset02
コネクタの黒い部分を引き出します。黒い部分の両サイドに飛び出したところを爪で引っ掛ける感じで引き出すことができます。

フイルムコネクタを差し込む

epdset03
電子ペーパーのフィルムコネクタを、基板のコネクタに刺し込みます。この時、コネクタの黒い部分が閉まってしまうと、奥まで刺さらないので、黒い部分が引き出された状態で、フィルムコネクタを刺し込んでください。

コネクタの黒い部分を閉める

epdset04
基板のコネクタの黒い部分を、写真のようにしっかりと閉めます。これでフィルムコネクタが抜けなくなり、接続が完了します。

フィルムコネクタはとても弱く切れやすいので、動かすときには、よじれたり、ねじれたりしないよう注意してください。epdset05

USBをつなぐ

基板の右下にUSBケーブルを接続します。USBのもう片方のコネクタは、Arduinoがセットアップ終わるまではパソコンには繋がないでください。

スポンサーリンク

Arduinoのセットアップ

こちらの記事を参考に、セットアップしてください。

スポンサーリンク

OpenWeatherMapの利用準備

天気予報は、OpenWeatherMapというインターネットのサービスを利用して取得しています。利用するためには、API Keyという利用許可証が必要です。そして、郵便番号または都市名を指定して天気予報を調べることができます。

API Keyの取得

こちらの記事を参考にしてAPIKeyを取得してください。

郵便番号で天気予報が取得できるか調べる

天気予報を調べる時には、通常郵便番号で調べることができます。

http://api.openweathermap.org/data/2.5/weather?zip=100-0000,jp&units=metric&lang=ja&APPID=[API Key]

zip=の後に郵便番号を入れます。[API Key]はご自身で取得したAPI Keyを入れます。これをブラウザのURLのところに貼り付けて、リターンを押してみてください。

このように表示されれば郵便番号で天気予報が取得できる地域です。以下のように、404となった場合は、郵便番号ではなく都市名で調べる必要があります。

都市名の調べ方

Interactive weather maps - OpenWeatherMap
Explore OpenWeather's interactive weather map focused on tem...

のページを開いて、天気予報を知りたいところをズームしていきます。

数字が付いている都市名が、検索できる都市名となっています。都市名で検索する場合には、以下のうようになります。

http://api.openweathermap.org/data/2.5/forecast?&q=Naha-shi,JP&units=metric&cnt=3&appid=[API Key]
q=の後に、都市名を入力します。これをブラウザのURLにコピーしてエンターを押すと、以下のように天気予報が表示されます。
郵便番号で検索できない場合には、この都市名を使うのでメモしておいてください。
スポンサーリンク

天気予報プログラムの準備

天気予報プログラムのダウンロードと展開

天気予報実験セットのプログラムを以下よりダウンロードして展開します。

kc_epdforecast3.zip

2020.7.31 更新:NTP接続時間の延長、降水時刻のバグ修正
2019.9.20 更新:バグ修正
2019.9.2 更新:機能追加
雨が降りだす時間を表示するよう変更。予報の取得を9時間から12時間後まで拡大。アクセスポイントへの接続リトライ機能を追加
2019.6.6 更新:esp8266ライブラリ ver2.5.2に対応
2019.3.21 更新:機能追加
フルカラーまたはグレースケールのBMPはディザリングで表示するよう改善
バグ修正:更新日時表示の月が間違っていたのを修正

展開してできたkc_epdforecast3フォルダをArduinoのフォルダの中に入れてください。

Macの場合は、[書類]->[Arduino]

Windowsの場合は、[Documentd]->[Arduino]

の中です。

データファイルのコピー

天気予報プログラムは、SDカードから天気マークの画像データやフォントデータを読み取って電子ペーパーに表示しています。付属のマイクロSDカードに、それらのファイルをコピーします。

コピーするファイルは、先ほど展開したフォルダの中にあります。

Macの場合は、[書類]->[Arduino]->[kc_epdforecast3]->[sd]

Windowsの場合は、[Documentd]->[Arduino]->[kc_epdforecast3]->[sd]

のフォルダの中を全部SDカードにコピーします。

sdフォルダの中身を全てコピーします。sdというフォルダをコピーするわけではないので注意してください。

 

プログラムをカスタマイズ

お客様のご利用環境に合わせて、プログラムをカスタマイズします。Arduino IDEでプログラムを開いてください。

[ファイル]->[開く]で、[Arduino]->[kc_epdforecast3]->[kc_epdforecast3.ino]

を開きます。

30行目から33行目までの4行が変更する場所になります。

  1. ssid:ご自宅の無線LANのアクセスポイントの名前を入れてください。本機は2.4GHzの電波にしか対応していません。5GHzのアクセスポイントにはつながらないので注意してください。
  2. pass:アクセスポイントのパスワードを入れてください。
  3. zip:天気予報を知りたい場所の郵便番号を入れます。全て半角で、ハイフンも入れます。123-4567のような書式で設定します。
  4. apiKey:先ほど取得したOpenWeatherMapのAPI Keyを入力してください。

郵便番号で天気予報が取得できない場合は、以下のように修正します。

  1. zipに郵便番号ではなく都市名を入れる("Naha-shi"など)
  2. 105行目の"&zip="を"&q="に変更

これでカスタマイズ完了です。

JSONライブラリの追加

天気予報プログラムは、JSONライブラを使って、サーバーから得た情報を解析しています。そのためのライブラリを追加します。

[ツール]->[ライブラリを管理]をクリックします。

右上のテキストボックスに「arduinojson」を入力します。するとArduinoJsonライブラリが検索で出てきます。その欄をクリックすると、右下に[インストール]ボタンが出てくるので、クリックしてインストールします。

バージョン6.X.X INSTALLEDとなればインストール完了です。右下の[閉じる]をクリックして、ウィンドウを閉じます。

スポンサーリンク

プログラムの書き込み

ここまでで準備は完璧です。カスタマイズしたプログラムを書き込んで、動作の確認をします。

USBをつなぐ

電子ペーパー実験セットのボードとパソコンをUSBで接続してください。

[ツール]->[シリアルポート]で、追加されたポートを設定します。

シリアルモニタを起動

マイコンから現在の処理状況がシリアルポートを経由して、ログ情報として送信されています。その情報を受信するためにシリアルモニタを起動します。

[ツール]->[シリアルモニタ]で、モニタが表示されます。

シリアルモニタの通信速度を変更します。

右下のプルダウンメニューから「115200 bps」を選択します。

プログラムの書き込み

左上から2番目の矢印のアイコンをクリックします。

すると、プログラムがコンパイルされて自動的に書き込みます。 

赤い点々がどんどん伸びて100%になると書き込み完了。自動的にマイコンが再起動してプログラムが動作を開始します。

動作の確認

正常に動作すると、電子ペーパーに天気予報が表示されます。

今後912時間までの天気予報が表示されます。気温も同様に912時間までの間の、最高最低気温になります。1日の中での最高最低気温ではありません。降水量、降雪量は雨または雪の時のみ表示されます。1時間あたりの降水量となっています。

以降、30分毎に天気予報を取得して表示してくれます。

また、シリアルモニタに出力された処理状況から、動作が確認できます。

正常に終了すると、上記のようなログになります。

天気予報が表示されない場合

無線LANに接続できませんでした

アクセスポイントの名前(SSID)かパスワードが間違っています。プログラムの30,31行目が正しいか確認してください。また、5GHzの無線LANにはつがらないので、2.4GHzのアクセスポイントを利用してください。

サーバーから情報を取得できませんでした

  • API Keyが取得したものと同じか確認してください
  • 郵便番号が正しいか、検索できる郵便番号か確認してください。以下をブラウザのURLにコピーして表示できますか?(XXX-XXXXは郵便番号)
    http://api.openweathermap.org/data/2.5/weather?zip=XXX-XXXX,jp&units=metric&lang=ja&APPID=[API Key]
  • 都市名の場合は、105行目の"&zip="が、"&q="に変更してあるか確認してください

白または黒

SDカードにフォントやアイコンファイルがありません。プログラムを展開した時にできたsdフォルダの中身を、そのままマイクロSDカードにコピーしてください。SDカードを開くと中身はこのようなファイル構成になっています。

スポンサーリンク

お天気アイコンのカスタマイズ

お天気アイコンはBMPファイルとなっています。このファイルを書き換えることで、自由に天気アイコンを変更することができます。天気アイコンの画像データはSDカードに入っています。

天気アイコンのファイル名

天気とファイル名は以下のようになっています。

  • 晴れ(日中):sunny.bmp
  • 晴れ(夜間):moon.bmp
  • 曇り:cloudy.bmp
  • 雨:rainy.bmp
  • 雪:sonwy.bmp

このファイルを書き換えることで、アイコンを変更できます。

天気アイコンファイルの画像フォーマット

  • 解像度:500 ピクセル x 500 ピクセル
  • 色数:2色(1bit) または フルカラー(24bit)
  • フォーマット:BMP

500x500ピクセルのBMPファイルとなっています。フルカラー(24ビット)のBMPの場合、白黒に変換して表示されます。

アイコンのサンプル

フリーのアイコンをいろいろ揃えてみました。

こちらダウンロードできます。

icons.zip

展開してできたフォルダの中のBMPファイルを、SDカードにコピーしてお使いください。

アイコンはこちらのサイトの一部を利用しました。

The Best 17+ Free Weather Vector Icon Sets - Hipsthetic
We've catalogued an awesome bunch of free flat, minimal and ...
スポンサーリンク

おつかれさまでした

多くの作業があって大変だったと思います。これで、いつでも天気予報がわかるようになりました。

フォトフレームに納めるととても素敵ですよ。

電子ペーパーの実験セットは↓こちら↓で購入いただけます