FC2ブログ
ブログパーツ
TAKAさんの毎日が発見・ブログ
アマチュア無線の機器製作を中心にした日常の活動記録です (by Taka JA2GRC、このブログはFC2_BLOGを使わせていただいてます。)
≪08月   2018年09月   10月≫
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  
Arduino OTA
 ESP8266のWiFi機能を使ってスケッチを書き換える機能、OTA(Over The Air)を試してみました。
 我が家では、ESP8266のスケッチの書き換えは、ArduinoIDEからシリアルポートを使って書き換えていますが、屋外に設置しているデジタル百葉箱のスケッチを書き換える時は大変です。 充分デバッグして設置していますので、今のところ、緊急に書き換えなければならない事態にはなっていませんが、何時、書き換えなければならない状況になるかも分かりません。 バグだけではなく機能アップの為の書き換えが必要になるかも知れません。 そのたびに、屋外に設置してある、デジタル百葉箱を外して来るのは大変です。 WiFiが付いているのだから、このWiFi経由でスケッチの書き換えは出来ない物だろうかと言う疑問が湧いてくるのは自然な事だと思います。 また、WiFi付きだからこそ、こうした離れた場所に設置する事も多いと思います。

 もう一つ、WiFi経由でアップロードできる様になると、ESP8266のシリアルポートが空くので、このシリアルポート経由のデータ入出力の自由度が上がります。 今まで、このシリアルポートをデータ入出力に使おうとすると、スケッチのアップロード用との切り替えが必要で、操作もややこしかったのですが、かなり使い易くなりそうです。

 そんなんで、例によって、ネットを調べていたら、最近主流のESP32では普通にWiFi経由のスケッチ書き換えが行われているようです。 まあ、当然の流れなんでしょうね。 ESP32が主流となっている世間の流れからは取り残されている我が家ですが、ESP32で出来るのなら、当然、ESP8266でも出来るだろうと、更に的を絞って調べてみたら、やっぱりESP8266でも有りました。 しかも、記事の発行日時からは、結構古くから試されていたみたいです。 私が知らなかっただけ見たいです。

 と言う事で、Arduino IDE を最新版にアップデイトして、ライブラリやボード情報も最新版に更新してみたら、メニューにちゃんと有りました。 この手法は、OTA(Over The Air)と言うみたいです。

180320_arduino_ota_01.jpg

 まずは、「スケッチ例」の「ArduinoOTA - BasicOTA」というのをロードして、我が家のWiFiのSSIDとPASWORDを設定します。 このスケッチを通常通りシリアルポート経由でESP8266に書き込みます。

180320_arduino_ota_02.jpg

 そうすると、シリアルポートモニタにIPアドレスが表示されれば準備はOK見たいです。 このIPアドレスは、ルーターがDHCPで付けたIPアドレスみたいですね。

180320_arduino_ota_03.jpg

 こうして準備が出来た状態でArduino IDEを起動し直すと、「ツール」メニューの「シリアルポート」欄に「ネットワークポート」と言うのが表示される様になります。 これを選択するとネットワーク経由でスケッチのアップロードが出来る様になる見たいです。

180320_arduino_ota_04a.jpg

 ネットワーク経由のアップロードには最初にロードした「BasicOTA」が常に必要みたいで、ブートローダーの役割を果たして居るみたいですね。 従って、通常のスケッチは、この「BasicOTA」の「setup」と「loop」の末尾に追加する模様です。

 で、ネット情報によると、「BasicOTA」の部分は固定なのと、通常の「setup」と「loop」用のスケッチと混ざり合うと分かりにくくなるので、この部分は別TABで作っておくと分かり易いようです。

180320_arduino_ota_05.jpg

 と言う事で、この別TABに作成した「OTA_setup」と「OTA_loop」に今までの「setup」と「loop」スケッチを書き込んでいきます。 まずは、お約束のLチカを書き込んで、アップロードしてみましたら、簡単に行けました。 シリアルポート経由の様に「LOAD」ボタンを押しておく必要も無く、ArduinoIDE側からの操作だけでアップロードできるようです。 これならば、屋外に設置した機器でも、問題なくスケッチの書き換えが出来そうです。

180320_arduino_ota_06.jpg
コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by まとめ.