Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

ESP8266モジュール(ESP-WROOM-02)を試す その10 Arduino IDE - WebUpdate & HTTPSRequest & NTPClient -

Arduino IDEにあるESP8266のExamplesを試す。
Arduino IEDを真面目に使い始めたのは2015/12/13から、ESP8266は2015/12/11から。
つまり、初心者の右往左往の記録だ。
しかも、この初心者、あきらめだけはめっぽう素早い。

File > Examples > ESP8266WebServer > WebUpdate は、実行できるが、いまひとつ何をやっているのかわからない。
esp8266_arduino_webupdate_01
esp8266_arduino_webupdate_02
表示されているのが指定したファイルのサイズなのは確かだけど。

File > Examples > ESP8266WiFi > HTTPSRequest は、良く分からないのでパス。

File > Examples > ESP8266WiFi > NTPClient を、例によって、ssidとpassだけ書き込んでコンパイルすると以下のエラーが出る。
‘sendNTPpacket’ was not declared in this scope
これ、前にも出たな、確か。
前は放置してスルーしたが、ふと、PICのXC8とかでも出るfunction declared implicitみたいな感じじゃないかと気付いた。
なので、sendNTPpacketをソース内で検索してみると、確かに関数本体はエラーの行より後にある。
こういうとき出るんだよな、function declared implicitの場合は。
Arduino IDEの吐くメッセージも内容的には似たようなことを言ってるように思える。
sendNTPpacketの本体をエラーの出ている行より前に移してコンパイルしてみたら、エラー無しにコンパイルできた。
え、そういうことでよかったの?
ならば、先頭の方に
unsigned long sendNTPpacket(IPAddress& address);
を追加してあらかじめ宣言すれば良かろうということで、やはり問題なくコンパイルできた。
Examplesってそういうのが放置されたままななのか、私が何か設定を忘れているのか、それは分からない。
いずれにしても、このExampleはタイム・サーバーから時刻を拾ってくるという、非常に有用な例だ。
esp8266_arduino_ntpclient_01
観測時刻を記録するとか、正確な時計が欲しいとか、時刻がらみの要求はWi-Fiの範囲内であればほとんど満たされるわけだ。
esp8266_arduino_ntpclient_02
微妙に時間が遅れるのは内部で換算しているのでその手間がかかっている分なのか?

ESP8266関連記事一覧へ

このエントリーをはてなブックマークに追加

Posted under: ESP8266


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.