8.1 @OpenWeatherMapからのリアルタイム天気情報

IoTオープンウェザーディスプレイプロジェクトは、ESP32ボードとI2C LCD1602モジュールを使用して、OpenWeatherMap APIからデータを取得する天気情報ディスプレイを作成します。

このプロジェクトは、APIの使用、Wi-Fi接続、ESP32ボードを使用したLCDモジュール上でのデータ表示に関する素晴らしい入門となります。IoTオープンウェザーディスプレイを使用すれば、一目でリアルタイムの天気更新情報にアクセスできるため、家庭やオフィス環境に理想的なソリューションです。

必要な部品

このプロジェクトでは、以下のコンポーネントが必要です。

一式を購入するのが間違いなく便利です。リンクはこちらです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ジャンパーワイヤ

BUY

I2C LCD1602

BUY

OpenWeather APIキーを取得

OpenWeather は、OpenWeather Ltdが所有するオンラインサービスで、APIを介して現在の天気データ、予報、今予報、任意の地理的位置の過去の天気データなど、グローバルな天気データを提供しています。

  1. OpenWeather にアクセスして、ログイン/アカウントを作成します。

    ../../_images/OWM-1.png
  2. ナビゲーションバーからAPIページに移動します。

    ../../_images/OWM-2.png
  3. Current Weather Data を見つけてサブスクライブをクリックします。

    ../../_images/OWM-3.png
  4. Current weather and forecasts collection の下で、適切なサービスにサブスクライブします。このプロジェクトでは無料プランで十分です。

    ../../_images/OWM-4.png
  5. API keys ページからキーをコピーします。

    ../../_images/OWM-5.png

デバイスを完成させる

  1. 回路を組み立てます。

    ../../_images/2.6_i2clcd1602_bb.png
  2. コードを開きます。

    • esp32-starter-kit-main\c\codes\iot_1_open_weather ディレクトリ内にある iot_1_open_weather.ino ファイルを開くか、Arduino IDEにコードをコピーします。

    • ボード(ESP32 Dev Module)と適切なポートを選択した後、 アップロード ボタンをクリックします。

    • "Unknown COMxx"が常に表示されますか?

    • ここでは LiquidCrystal I2CArduino_JSON ライブラリが使用されており、 Library Manager からインストールできます。

  3. 次の行を見つけて、あなたの <SSID><PASSWORD> で修正してください。

    // Replace the next variables with your SSID/Password combination
    const char* ssid = "<SSID>";
    const char* password = "<PASSWORD>";
    
  4. 以前にコピーしたAPIキーを openWeatherMapApiKey に入力してください。

    // Your Domain name with URL path or IP address with path
    String openWeatherMapApiKey = "<openWeatherMapApiKey>";
    
  5. あなたの国コードと市を置き換えてください。

    // Replace with your country code and city
    // Fine the country code by https://openweathermap.org/find
    String city = "<CITY>";
    String countryCode = "<COUNTRY CODE>";
    
  6. コードが実行された後、I2C LCD1602にあなたの位置の時間と天気情報が表示されます。

注釈

コードが実行されているとき、画面が空白の場合は、モジュールの背面にあるポテンショメーターを回してコントラストを上げることができます。