OTA(Over the Air)プログラミングは、ESP32やESP8266などのWiFi対応マイクロコントローラーの機能であり、これらのデバイスが物理的なアクセスなしでファームウェアまたはソフトウェアをワイヤレスでアップグレードできるようにします。この機能は、屋根やケーブルの接続が難しいその他の場所に固定されているデバイスを再プログラムするために使用できます。 OTAを使用すると、同じネットワーク上にある複数のマイクロコントローラーまたはデバイスに更新を送信できます。たとえば、この機能を使用して、バグを解決したり、いくつかの機能を追加したりするための更新を複数のマイクロコントローラー、携帯電話、コンピューター、セットトップボックスなどに送信できます。OTA更新もIoTで重要な役割を果たしています。これは、インターネットに接続されたデバイスを新しい設定、ソフトウェア、およびファームウェアでリモート更新するために使用されます。
以前、OTAを使用してESP8266NodeMCUをプログラムする方法を学びました。このチュートリアルでは、ArduinoIDEのOTAWeb Updaterを使用して、ESP32で無線(OTA)プログラミングを使用します。
必要なコンポーネント
- ESP32
- Arduino IDE
OTAプログラミングはどのように機能しますか?
Over the Air(OTA)プログラミング機能を使用するには、まず、シリアルポートを介してスケッチをアップロードする必要があります。このスケッチには、後でブラウザを使用してコードをアップロードできるように、OTAWebアップデータを作成するためのHTMLコードが含まれています。コードがシリアルポート経由でアップロードされると、Webサーバーが作成され、Webブラウザーを介して新しいスケッチを選択してアップロードできます。
最初のコードをアップロードするには、ESP32をラップトップに接続してArduino IDEを開き、ボードタイプをESP32 Dev Kitとして選択し、正しいシリアルポートを選択します。
次に、 [ファイル]> [例]> [ArduinoOTA]> [OTAWebUpdater]に 移動し ます
元のコードのWi-Fi名とパスワードを変更します。
const char * ssid = "あなたのWiFi名"; const char * password = "パスワード";
コードをESP32ボードにアップロードします。コードを正常にアップロードした後、シリアルモニターを開きます。シリアルモニターで115200のボーレートを変更し、ESP32のリセットボタンを押すと、ESP32IPアドレスが出力されます。
次に、デフォルトのブラウザを開き、ESP32IPアドレスを貼り付けます。次の画像に示すように、Over theAirプログラミング用のWebサーバーを開く必要があります。
デフォルトのユーザー名とパスワードはadminです。
次に、ユーザー名とパスワードを入力し、ログインページをクリックすると、新しいタブが開きます。ここでコードをアップロードできます。
ここでは、簡単なLED点滅コードをアップロードします。無線でアップロードするすべてのコードには、OTAコードが含まれている必要があります。したがって、元のOTAコードに点滅部分を追加します。完全なコードはページの最後にあります。
void loop(void){server.handleClient(); delay(1); digitalWrite(led、HIGH); delay(600); digitalWrite(led、LOW); delay(600); }
移動し、新しい名前を使用して、コードの保存およびSの ケッチ]> [エクスポート]コンパイルされたバイナリ 。これにより、スケッチフォルダに新しい .bin ファイルが作成されます。
次に、OTA Webページに移動し、 [ファイルの選択 ]ボタンをクリックして、 .bin ファイルを選択します。この後、 「更新」 ボタンをクリックしてスケッチをアップロードします。
これは、シリアル通信を使用せずにOTAを使用してESP32をプログラムする方法です。