- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2017-01-31T11:00:32+09:00","default:nari","nari")
#author("2017-01-31T13:22:48+09:00","default:nari","nari")
[[FrontPage]]
* WeatherStationDemoのインストール方法 [#z31cee3b]
** 概要 [#zda533ff]
- WeatherStationDemoはESP8266_Weather_Stationライブラリのexamplesに含まれるプログラム
- 128x64dot モノクロOLEDに時刻、天気と気温、3日分の天気予報などを表示します。
- HSES-NODE-OLEDで動作させるための修正内容を説明します。
- [[squix78/esp8266-weather-station: New version of the ESP8266 Weather Station:https://github.com/squix78/esp8266-weather-station]]
&ref(./170131a0.jpg,25%);
&ref(./170131a1.jpg,25%);
&ref(./170131a2.jpg,25%);
CENTER:WeatherStationDemoExtended の画面
** 入手方法 [#q7534868]
- ESP8266 Weather Station ライブラリに付属します。
-- ライブラリマネージャからインストール可能です。
-- GitHubの下記ページからもダウンロード/git clone可能です。
--- [[squix78/esp8266-weather-station: New version of the ESP8266 Weather Station:https://github.com/squix78/esp8266-weather-station]]
- ライブラリがインストールできたら、Arduino-IDEのメニューバーから ファイル→スケッチの例→ESP8266 Weather Station→ WeatherStationDemo で開き、適当な場所に保存してください。
** WeatherStationDemo/Extended/DSTの違い [#fbde1382]
- よく似た名前の3つのサンプルスケッチがあります。
-- 中身も似てますので、おなじような修正で、それぞれ動かせます。
- 違いは
-- WeatherStationDemo: SSID/パスワードはプログラムに埋め込み
-- WeatherStationDemoExtended: SSID/パスワードはスマホ等で設定、画面下部の表示内容が増える
-- WeatherStationDemoExtendedDST: 表示が6面、温湿度センサーも接続?
** Wunderground API keyの入手 [#s9a21749]
- このプログラムを動作させるにはWunderground のAPI Keyが必要です。
-- [[Wunderground API keyの入手方法]]
** プログラムの修正箇所 [#gec1e142]
- WeatherStationDemoExtendedの例で説明します。
*** SSD1306WireをSSD1306Spiに [#ab94ec0d]
- 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の設定 [#t2c1f416]
- 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:https://www.wunderground.com/]]の検索box/Search Locationsで検索してみるとわかります。
*** ThingSpeak関連処理の削除 [#r834fa8b]
- [[ThingSpeak:https://thingspeak.com/]]を経由して室温湿度等を表示する機能があります。
- そのままですと、どこかの部屋の温度・湿度が表示されるだけなので削除します。
- 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)
*** コンパイルしプログラムを書き込む [#hf2ba932]
- ArduinoIDEの「マイコンボードに書き込む」ボタンをクリックし、プログラムを書き込んでください。
** WiFi ManagerでWiFiの設定を入力 [#y795870d]
- このプログラムは WiFi Managerを使用しており、無線LANのssidとパスワードをROMの専用領域に保存し使用するようになっています。
- これらの情報が未設定あるいは接続できない場合、プログラムはWiFiアクセスポイントとして動作し、スマホ、ノートパソコン等で接続、ブラウザでssidとパスワードを入力します。
- 参考:
-- [[ESP8266 Wi-Fi SSID、パスワードのオンライン設定 - IoTラボ:http://takehikoshimojima.tumblr.com/post/138820924644/esp8266-wi-fi-ssid%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AE%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%A8%AD%E5%AE%9A]]
-- [[ESP8266 がアクセスポイントとなってSSID・パスワードの初期設定をする - Qiita:http://qiita.com/hotchpotch/items/eec0260b8b1938dda696]]