ESP32を遠隔でプログラム更新してみる

Arduino


ESP32ではOTA(Over The Air)という機能を使い

プログラムのアップデートをWi-Fi経由で行える機能が

あるそうなので試してみる

調べてみると結構面倒くさそうな感じだったが

簡素化した方法もあるようなのでそちらを参考にした

まず以下のURLからZIPをダウンロード



解凍後 0TA_Template_Sketchフォルダ内のOTA.hヘッダーファイルを

プロジェクトフォルダにコピーする


ソースは以下

実行前にmyNameにはお好きな認識名
mySSID,myPASSWORDにはWiFiのID・PASSを入力しておく

接続が成功し少し待つとArduino IDEの接続ポート部分に

設定した認識名とIPが含まれるポートが現れる

これがネットワーク越しのESP32への通信ポートとなるのでこちらに設定しOKする

上のプログラムでは本体内蔵のLEDを赤にするという命令が入っているので

ボード上のLEDが赤に光る

ここでキチンとネットワーク越しにファームアップ出来るかのテストのため

一度USBケーブルをデータ通信不可のものに交換し(ESP32に電源は必要なので…)

プログラムの

neopixelWrite(RGB_BUILTIN,255,0,0);

neopixelWrite(RGB_BUILTIN,0,255,0);

と変更しコンパイルを開始すると…

パスワードを聞いてきた

おそらくWiFiのパスワードかなということで入力

転送が始まった

やはりUSB直接よりは遅い感じだが正常にESP32へ転送出来たようだ

無事LEDが緑になった

WiFi経由のファームアップに成功である

しかし1点問題が

転送が100%になってもArduino IDE上の書き込み中の表示が

ず~~~と終わらん

プログラムは書き換わってるのは間違いないためバグなのか設定の問題なのか…

まあとりあえず大きな問題では無いのでいいかな

注意する点としては当然OTAのコードを書いてないプログラムをアップしてしまうと

繋がらなくなるので以降のプログラムにもOTAのコードを追加する必要がある

この方法だと

この3箇所だけ追加すれば良いためさほど苦労はしないだろうけど


コメント

タイトルとURLをコピーしました