FrontPage

WeatherStationDemoのインストール方法

概要

  • WeatherStationDemoはESP8266_Weather_Stationライブラリのexamplesに含まれるプログラム
  • 128x64dot モノクロOLEDに時刻、天気と気温、3日分の天気予報などを表示します。
  • HSES-NODE-OLEDで動作させるための修正内容を説明します。

170131a0.jpg 170131a1.jpg 170131a2.jpg

WeatherStationDemoExtended の画面

入手方法

  • ライブラリがインストールできたら、Arduino-IDEのメニューバーから ファイル→スケッチの例→ESP8266 Weather Station→ WeatherStationDemo で開き、適当な場所に保存してください。

WeatherStationDemo/Extended/DSTの違い

  • よく似た名前の3つのサンプルスケッチがあります。
    • 中身も似てますので、おなじような修正で、それぞれ動かせます。
  • 違いは
    • WeatherStationDemo: SSID/パスワードはプログラムに埋め込み
    • WeatherStationDemoExtended: SSID/パスワードはスマホ等で設定、画面下部の表示内容が増える
    • WeatherStationDemoExtendedDST: 表示が6面、温湿度センサーも接続?

Wunderground API keyの入手

プログラムの修正箇所

  • WeatherStationDemoExtendedの例で説明します。

SSD1306WireをSSD1306Spiに

  • HSES-NODE-OLEDではSPI接続のOLEDを使用しているので、SSD1306WireをSSD1306Sp@iに変更します。
  • 36行あたり
    -#include "SSD1306Wire.h"
    +#include "SSD1306Spi.h"
  • 79行あたり
    -SSD1306Wire     display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN);
    +#define OLED_RST	16
    +#define OLED_DC		15
    +#define OLED_CS		 2
    +SSD1306Spi     display(OLED_RST, OLED_DC, OLED_CS);

時差、Wundergroundの設定

  • 64行あたり
    -const float UTC_OFFSET = 2;
    +const float UTC_OFFSET = 9;
     
     // Wunderground Settings
     const boolean IS_METRIC = true;
    -const String WUNDERGRROUND_API_KEY = "API_KEY";
    +const String WUNDERGRROUND_API_KEY = "<取得したAPI_KEY>";
     const String WUNDERGRROUND_LANGUAGE = "EN";
    -const String WUNDERGROUND_COUNTRY = "CH";
    -const String WUNDERGROUND_CITY = "Zurich";
    +const String WUNDERGROUND_COUNTRY = "Jp";
    +const String WUNDERGROUND_CITY = "ご希望の都市名";
  • どの都市名が使用できるかは、wundergroundの検索box/Search Locationsで検索してみるとわかります。

ThingSpeak関連処理の削除

  • ThingSpeakを経由して室温湿度等を表示する機能があります。
  • そのままですと、どこかの部屋の温度・湿度が表示されるだけなので削除します。
  • 121行あたり
    -FrameCallback frames[] = { drawDateTime, drawCurrentWeather, drawForecast, drawThingspeak };
    -int numberOfFrames = 4;
    +FrameCallback frames[] = { drawDateTime, drawCurrentWeather, drawForecast};
    +int numberOfFrames = sizeof(frames)/sizeof(frames[0]);
  • 265行あたり
    -  drawProgress(display, 80, "Updating thingspeak...");
    -  thingspeak.getLastChannelItem(THINGSPEAK_CHANNEL_ID, THINGSPEAK_API_READ_KEY)

コンパイルしプログラムを書き込む

  • ArduinoIDEの「マイコンボードに書き込む」ボタンをクリックし、プログラムを書き込んでください。

WiFi ManagerでWiFiの設定を入力

  • このプログラムは WiFi Managerを使用しており、無線LANのssidとパスワードをROMの専用領域に保存し使用するようになっています。
  • これらの情報が未設定あるいは接続できない場合、プログラムはWiFiアクセスポイントとして動作し、スマホ、ノートパソコン等で接続、ブラウザでssidとパスワードを入力します。

添付ファイル: file170131a2.jpg 28件 [詳細] file170131a1.jpg 29件 [詳細] file170131a0.jpg 31件 [詳細]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-31 (火) 13:22:48 (53d)