GitHub の Arduino core for the ESP8266 ページで、公式に 2.4.1 が更新されています(2018/04/11時点)。 Wi-Fiにもちゃんと繋がり、シリアルモニターも正常動作するようになりました。 ただし、Crystal Frequency を正しく設定しないと正常動作しませんのでご注意!!
Arduino core for ESP8266 は長らく ver 2.3.0 だったのですが、2017/10/16頃からネットや Twitter で Wi-Fi 通信暗号化 WPA2 の脆弱性ニュースが騒がれて、アップデートされました。
(Espressif Systems社の以下の記事参照)
http://espressif.com/en/media_overview/news/espressif-releases-patches-wifi-vulnerabilities-cert-vu228519
ただ、2017/10/19時点では、2.4.0-rc2 はバグが多いです。
まず、今まで繋がった Wi-Fi ルータに接続できない。
シリアルモニターがなぜか 74880 bps でしか表示できない。
などです。
脆弱性を解決したパッチを当てても、これでは使えないと思います。
もし、正常に動作しなかったら、ver 2.3.0 に戻すことは簡単です。
Latest Version ページを開く
まず、下図の様にGitHub のArduino core for ESP8266 トップページを開きます。
そして、Latest release の隣にあるアイコンをクリックします。
次に、Latest release ページを開いたら、下図の様なところのブルーの 「Releases 」をクリック
すると、リリース最新版のページが開きます。
WPA2 脆弱性対策のパッチが当てられているのは、2.4.0-rc2 らしいです。
下図の様に下の方にusing boards manager という文章があるところに、Arduino ボードマネージャー用リンク URL がありますので、それをドラッグしてコピーしてください。
Arduino IDE の環境設定
次に、Arduino IDE を起動してください。
Arduino IDE は 1.8.5 で動作確認しております。
下図の様に「ファイル」メニューの「環境設定」をクリックしてください。
すると、下図の様な画面が開きますので、「追加のボードマネージャのURL 」に先ほどコピーした、2.4.0-rc2 の URL を貼り付けてください。
その後、「OK」をクリックします。
それが終わったら、Arduino IDE を再起動してください。
ボードマネージャーで再インストール
Arduino IDE を再起動したら、「アップデート」メッセージが出て、それをクリックしても良いのですが、ここではボードマネージャーでインストールする方法を説明します。
下図の様に「ツール」メニューの「ボード」を開いて、「ボードマネージャ」をクリックしてください。
ボードマネージャーが開いたら、一番下の方までスクロールすると、ESP8266ボードが出てきます。
そうしたら、そこのところをクリックすると、下図の様になるので、最新版バージョンを選択し、「更新」をクリックします。
ここで、もし、現在のバージョンが不要ならば「削除」をクリックしてから操作をやり直して、「更新」しても良いです。
すると、下図の様にダウンロードが始まり、しばらく待ちます。
完了したら、ESP8266ボードのところをもう一度見直すと、下図の様に最新版 2.4.0-rc2 になっていればOKです。
以上が終わったら、Arduino IDE を再起動してください。
その後はESP8266 ボードの設定をすればOKです。
因みに、ESPr Developer の推奨設定は下図の様な感じです。
●ボード:”Generic ESP8266 Module”
●Flash Mode:”QIO”
●Flash Size:”4M (3M SPIFFS)”
●Debug port: “Disabled”
●Debug Level: “なし”
●IwIP Variant:”v2 Lower Memory”
●Reset Method:”nodemcu”
●Crystal Frequency:”26MHz”
●Flash Frequency:”80MHz”
●CPU Frequency:”160MHz”
●Builtin Led:”2”
●Upload Speed:”921600”
●Erase Flash:”Only Sketch”
●シリアルポート:”各自のUSBポート”
●書込み装置:”USBasp”
Flash Size はなぜか 8MB や 16MBがありますが、最近の ESP-WROOM-02 は 2MB または 4MB ですので、それ以上にしても意味ありません。
これは、他メーカーの拡張ボード用の設定のようです。
ESP-WROOM-02 の Flash Size を調べたい場合は以下のページを参照してください。
ESP-WROOM-02 ( ESP8266 ) チップ・メモリ・MACアドレス情報確認方法
特に重要なのは、Crystal Frequency を 26MHz にすることです。
こうしないと、Wi-Fiアクセスポイントに接続できなかったり、シリアルモニターが74880bpsでしか表示できないなどの不具合が出ますので、要注意です。
これはコメント投稿で JK さんから教えていただきました。
JKさん、ありがとうございます。
m(_ _)m
最初に述べましたが、ver 2.4.0 – rc2 はバグが多く、Wi-Fi ルーターに接続できない場合があります。。
その場合は、2.3.0 もしくは、2.4.0-rc1 にしてください
以上、Arduino – ESP8266 最新バージョンのインストール方法でした。
Amazon.co.jp 当ブログのおすすめ
コメント
いつも情報ありがとうございます。参考になります。ver 2.4.0-rc2 はバグが多いとのことで参考になります。
KRACKが気になるのでバージョンあげようと思ってんですけど、ver 2.4.0-rc2はKRACK に対応しているのかよくわかりませんでした。
リリースノートを見ても明確に記載がないようにも見えました。
Espressifのリリースもmaster branch, since commit …と書いてますが、最後のコードで対応がわかるのでしょうか?
すみません、良くわからないのでご存知でしたらご教授ください。
野尻さん
記事をご覧いただき、ありがとうございます。
日曜日なのに仕事だったのと、帰ってからこの件を調べるのに時間がかかって、お返事遅くなりスミマセン。
m(_ _)m
Arduino core for the ESP8266 の issue で、主要開発メンバーの Ivan Grokhotkov (ハンドルネーム igrr )さんが述べられています。
以下のページを参照して、Google 翻訳などを使って読んでみると良いと思います。
https://github.com/esp8266/Arduino/issues/3725
Twiiter でも、igrr さんのアカウント ( @i_grr )でツイートしていました。
2.4.0-rc2 は WPA2 脆弱性対策のパッチを当てたよみたいな・・・。
ただ、これは、実際にKRACK を当てて実証して見なければホントに効果があるかどうか分かりませんが・・・。
因みに、私は Wi-Fi繋がらないので、2.4.0-rc2 は使ってません。
以上、今のところ分かるところはこのくらいです。
先日はご回答ありがとうございました。
1月上旬に2.4が正式リリースされたので使ってみましたが、かなり動作が不安定な気がします。
(頻繁に再起動がかかるような気がします)
2.4について何か情報(特に安定度についての一般的な意見、利用しても良い?、改善計画などあるの?)などお持ちでしたら共有頂けますと幸いです。
野尻さん
コメントありがとうございます。
私は最近は ESP32 しか開発しておらず、Arduino – ESP8266 で公式に 2.4.0 になっていたとは知りませんでした。
教えていただき、ありがとうございます。
ただ、やっぱり私の環境でもちゃんと動作しないですね。
シリアルモニターも115200bps で指定したのに、74880bps でしか読み取れないし、そもそもコンパイルが通っても、まともに動作しません。
これは、2.4.0-rc2 と同じ症状ですね。
やっぱり、2.4.0-rc2 を基に作られていると思われます。
その場合はやはり 2.4.0-rc1 にするしかありませんね。
Wi-Fiのセキュリティー脆弱性対策が施されているかどうかは全く明記されていないので、私もさっぱり分かりません。
これはオープンソースですから仕方ないところですね。
もし、いろいろ疑問がおありでしたら、GitHub の Issue に質問を投げかけてみてはいかがでしょうか。
私の場合は ESP32 に専念しておりますので、ESP8266 は 2.4.0-rc1 でいいかな、と思っています。
あまりお役に立てずにスミマセン。
m(_ _)m
一応、Twitter でもこの情報をツイートしておきますね。
誰かが有効な情報を持っているかもしれませんので・・・。
いつもお世話になっております。
私も何かないかウォッチしておきます。
そうですよね、ESP32 がかなりハイパフォーマンスで安くて本当に良いですね。
私がやっているのはもう少し動作が軽くても良いのでESP8266で楽しんでます。(メモリが少なすぎますが。。。)
ESP32は私が先月試していたらすごく熱を持つなーという感想です。
バッテリー消費が激しそう。。。って感じで、そこらへんも改善されるのを今後期待しています。
ただ、ご指摘の通りESP32がこれからの主流だと思います。
とりとめない話しですみません。また、情報ありがとうございましたm(_ _)m
ESP32も興味津々なので今後も本ブログも愛読させて頂きます!
野尻さん
当ブログを愛読させて頂けるとは、感謝感謝です!!
m(_ _)m
記事作成はかなり辛い仕事でして、時々面倒になって省略したり、誤字脱字があったりといろいろとご迷惑をおかけするかもしれませんが、ご容赦くださいませ。
ESP32 に関してはそうですね。
電力消費が半端ないです。
でも、ネット上で調べてみると、ESP32 のパワーセーブモードをうまく使えば、バッテリーでも長時間使えるようです。
私はまだパワーセーブ機能は試していないのでサッパリ分かりませんが・・・。
ということで、今後、ESP8266 に関して何か気付いたことがありましたら、ご連絡いただけると幸いです。
宜しくお願いいたします。
こんにちは、
こちらのサイトの情報で何とかESP8266が動くようになりましたが、一つ気になる事がありましたのでご連絡します。
Core Version = 2_4_1
での設定でしたがCrystal Frequencyを26MHzに設定しないと
処理速度が1.6倍くらい遅くなります。
JKさん
ブログご覧いただき、ありがとうございます。
お返事遅くなりすみません。
最近ほとんど ESP8266 を使っておらず、検証するのに時間がかかってしまいました。
JKさんのおっしゃる通り、最新版 Arduino-ESP8266 ver 2.4.1 では、Crystal Frequency を 40MHzにしてしまうと、WiFiアクセスポイントに接続できないし、シリアルモニターもなぜか74880bpsでしか正常表示されませんでした。
ですから、2.4.1 はバグなのではないかと思ってインストールしていませんでした。
でも、Crystal Frequency を 26MHzにすると、確かに処理能力がグーンと上がりました!
それに WiFiにもちゃんと繋がり、シリアルモニターもちゃんと115200bpsで接続できるようになりました。
とっても有益な情報です!!
ブログでもこの方法を紹介させて頂きたいと思います。
ありがとうございました。
m(_ _)m