【ESP32で遊ぼう 暇潰し】

Arduinoを使ったプログラムからESP32に移行。Arduinoをキーワードに調べていたらESP32との比較が紹介されていた。 特にWiFi時計やWiFi HTMLサーバーに興味が・・・早速遊んでみた。

【FREENOVE ESP32 WROOM 】 ESP32は、2016年9月に中国のEspressif Systemsから発表された、Wi-FiとBluetoothを統合したマイコンだ。 IoTデバイス向けに設計されたこのチップは、デュアルコアプロセッサ、豊富な入出力端子、強化されたセキュリティ機能を 搭載したベアチップらしい。
【無線通信機能 :】 ワイヤレス接続機能では、ESP32は2.4GHz帯の802.11 b/g/n Wi-Fi(最大150Mbps)と Bluetooth v4.2 BR/EDRおよびBLE4.2を統合している。 送信出力は最大+20.5dBm(802.11b)で、統合アンテナスイッチ、RFバラン(高周波回路の整合素子)、パワーアンプ、低ノイズ受信アンプ、フィルタを内蔵する。 ESP32の書き込みが遅いのは、主に「コンパイル時間」と「アップロード時間」である。Arduinoに比べて相当遅い。解決方法は あるらしいが、このままの状態で仕事に使うにはチョット無理かなぁ~ 購入した箱の中に Get Tutorial & Get Supportが記されたカードが入っている。

【ESP32-PIN機能説明】 ピンの役割が決められているので、注意してH/Wを設計する事

【準備その1: ESP32 基本構成部品 & PCA】 基本的な部品で構成され、ジャンパーワイヤ等で簡単に試験H/Wを構築できる。

*** ESP32 試験環境を作る為の準備部品 ***

*** 簡易試験環境の為に製作したPCA 完成品 ***

【準備その2: どうしたら簡単に遊べるか? を考慮して遊ぶ環境を構築】 開発ソフト環境?は、Arduino環境をベースとしたVSCodeを使用。H/Wは、ブレッドボードの代わりにダブルピンソケット を使用し、簡単に試験できる環境作りを考慮した。

*** ESP32 基本接続図 ***

*** 3.3V --- 5V インターフェースレベル変換接続図 ***

【試験H/W例: LED等を実装するジャンパーワイヤーや、湿温度計(DHT11/22)を直接実装】 簡単に組み換えできて即試験可能。試験確認後必要であればライブラリー化できる。

*** ESP32 LED実装例 ***

*** ESP32 湿温度計実装例 ***

 

【ESP32で遊ぼう 無線通信機能を使用したもの作り】

【とりあえずWiFi時計の製作】 なにが作れるのかネットで調べた結果、WiFi時計/WiFiカメラが紹介されていた。Arduino Core for ESP32 はもうずいぶん前 2.0系から3.0系にバージョンアップされ、変更が多く混乱させられた。ただ、公式の説明がよく分からなかったり、 移行の仕方が載っているWeb記事が引っかからなかったり大変です。未だに古い記事などでは2.0系のコード記述で変換も 解説記事が少ないので苦労します。タイマー割り込み設定等はその典型でチョッピリ苦労した。 WiFi接続は6時間間隔とし、時間取得後切断する。(無駄に資源を使わない?)

ESP32 WiFi時計 表示器:TM1637+CDS HH:MM

ESP32 WiFi時計 表示器7segLED HH:MM:SS +(MAX7219)

ESP32 WiFi時計 表示器:MAX7219+CDS HH:MM:SS

ESP32+MAX7219+CDS 接続図

【WiFi Webサーバー(HTMLサーバー )】 Wi-Fi接続後得たIPアドレスをスマホ Or PCに入力してアクセスする。ESP32から送られたHTMLコードを 画面に表示して操作を促す。クライアントからの指示に従い、ESP32側で与えられた処理を実行する。

【とりあえず良く紹介されている”Lチカ”】 上記試験H/W例のESP32 LED実装による動作確認結果。

*** PC画面(サーバー読み出し) ***

*** iphone画面(サーバー読み出し) ***

【とりあえず良く紹介されている”温湿度センサーデータ取得】 上記試験H/W例のESP32 湿温度計実装よる動作確認結果。