こんばんは。
ツイッターでもつぶやいていたのですが、今回は Arduino IDE 1.6.9 で ESP-WROOM-02 ( ESP8266 ) 開発や、ESP8266内フラッシュメモリを読み書きするSPIFFSファイルシステム、およびTimeライブラリなどについての注意点や情報を少々まとめてみました。
Arduino IDE 1.6.9 でESP-WROOM-02開発は問題なし
Arduino IDE 1.6.9 は現在のところかなり調子良いです。
1MB以上のファイルをESP-WROOM-02のフラッシュへSPIFFSファイルシステムアップロードする場合、IDE1.6.8ではSerial-USBではエラーになってしまいました。
しかし、こちらの記事のコメント欄 でKさんから素晴らしい情報をいただきました。
そのおかげで1.6.9で問題なくSerial-USBで最速の921600でアップロードできました。
また、スケッチのコンパイル書き込みも921600の最速で問題ありませんでした。
IDE 1.6.5の時は115200で書き込んでいたので、それに比べると約9倍の速さです。
ということで、ESP-WROOM-02 ( ESP8266 )の開発は Arduino IDE 1.6.9 をお勧めします。
1.6.9でもシリアルUSBでアップロードできない場合がありました。結局その対処法はOTAということになります。こちらの記事をご覧ください(2016/7/6時点)
ただ、古いバージョンから再インストールする場合は正常にコンパイルできなかったり、転送エラーになったり、SPIFFSアップロードエラーになったりする場合があります。
その場合、隠しフォルダ内にあるArduino15フォルダを削除してから再インストールしないと正常に動作しませんのでご注意ください。(Windowsの場合です)
その方法はこちらのページを参照してください。
1Mバイト以上のファイルのSPIFFSファイルシステムアップローダー使用に注意
Arduino IDE用SPIFFSファイルシステムアップローダープラグインの最新バージョンは0.2.0です。(2016/6/17現在)
このインストール方法はこちらの記事を参照ください。
先ほど述べましたが、IDEが1.6.8では1MB以上のファイルをESP-WROOM-02 ( ESP8266 )のフラッシュメモリへSPIFFSファイルシステムアップロードする場合は、Wi-FiでOTA機能を使用するしかありませんでした。しかも、メインのスケッチを書き込む場合はSerial-USBに設定変更しなければならず面倒でした。汎用プログラミング言語のPythonもインストールしなければいけませんでした。Wi-FiのOTA転送はSerial-USBより格段に高速なんですが、何しろ手順が複雑になり過ぎでした。 (こちらの記事参照)
1.6.8では500kB以下でしたらUSBでも問題なくアップロードできましたが、800kBくらいでもエラーが出ましたので、IDE1.6.8使用はやめた方が良いです。
また、IDEのツールメニューのFlash Size を変えた場合、一度コンパイルし直してからSPIFFSファイルをアップロードした方が良いかもしれません。スケッチのメモリサイズも変わるので要注意です。一度、SPIFFSファイルのメモリ領域を作ってからアップロードする感じです。
Timeライブラリ使用の注意点
GitHubにあるTimeライブラリの最新バージョンは1.4です。(2016/6/17現在)
これはTime.cppのソースコードのコメント欄を見れば分かります。
古いライブラリをインストールしていて、setSyncProvider関数を使おうとしてもエラーになったりした方はこちらの記事を参照していただき、最新版Timeライブラリをインストールしてください。
そして、インクルードを
#include <Time.h> → #include <TimeLib.h>
というふうに変更してなければ動作しないということがありますので、ご注意ください。
先日、知らぬ間にライブラリが更新されているとこういうことがあり、過去の記事のコメント欄でご指摘をいただいたことがありました。
私もできるだけ古い記事は修正していこうと思っておりますが、なかなか手が回らないのが現状です。
GitHubのダウンロード先リンクも知らぬ間に変わってたりして、私も困っております。
もし、誤り等ありましたらコメント欄等でご連絡いただけると助かります。
以上です。
自分でこういうブログを立ち上げておいて何ですが、こういう修正が結構大変で時間を大幅に取られるのが痛いです・・・。
では、また・・・。
Amazon.co.jp 当ブログのおすすめ
コメント