ESP32-WROVER(TTGO Camera)でHTTPS Serverを立ち上げPCとSSL通信をする(開発環境ESP-IDF & Eclipse)
少々長いタイトルですが、以前のTTGO T-CameraをESP-IDF & Eclipseで動かすでHTTP Serverを立ち上げPC or スマホからカメラ画像を取得してみました。
今回はそれをHTTPS ServerにしてSSL通信してみます。ただし送受信するデータはカメラ画像ではなく文字データだけなのでESP32-WROVER(TTGO Camera)というタイトルになっています。ESP32-WROVER類なら何でもいいのですが私が持っているのがTTGO Cameraだけなのでこれを使っています。
また”PCと”と限定しているのはSSL通信するにはルート証明書(オレオレ証明書)というものをPCにしか登録を試していないのでPC限定になっています。
最終目的がPCアプリとの通信なのでスマホはとりあえずスルーしています。
始めますがESP-IDF & Eclipse環境がインストールしてあることが前提になっています。
インストールされていなければTTGO T-CameraをESP-IDF & Eclipseで動かすなどを参考にインストールしてみてください。
では始めましょう!!!
Eclipseを起動してEclipseのメニューバーからFile→New→Espressif IDF Projectを選ぶとNew IDF Projectウインドウが開きます。
Project nameに「https-server-example」などと入れてNextを押します。

「Create a project using one of the templates」にチェックを入れて「Available IDF Templeates」ウィンドウの中から「protocols」→「https_server」を選択してから「Finish」を押します。

とりあえずトンカチアイコンを押してbuildします。

buildが正常終了すればsdkconfigファイルが出来ているのでこれをダブルクリックして開きます。Example Connection Configurationタブに自分自身のWifi環境のSSIDとPasswordを入力して閉じます(保存します)。

ちなみにこのTempleateは元々STAモードになっているので自分自身のWifi環境に参加する形になりますがコードを追記すればAPモードにもすることが出来ます。
ESP32-WROBERをUSBケーブルで繋げてから再度buildそしてflashします(緑の矢印ボタンで”Run”すればbuild & flashされます)。

実はこれでとりあえずはSSL通信ができます。とりあえずというのは元々Templateに入っているサーバー証明書はいわゆるオレオレ証明書なためブラウザーが散々警告してきます。
インターネットサイトでこの警告を無視して突き進んではいけませんが今回はESP32-WROVERが立ち上げているサーバーなので突き進んでみましょう。