#author("2017-01-31T13:21:51+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で動作させるための修正内容を説明します。 &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]]