ESP32

開発・デザイン

【Flutter × Go × gRPC】OTAアップデート:Firmware更新をgRPCでアプリ通知

AWS s3のfirmwareディレクトリに新しいFirmwareバイナリを開発者がバージョン指定してアップロードする。各ユーザーのFirmwareのバージョンと開発者がアップロードした最新バージョンを比較し、異なる場合にFlutterアプリに「新しいFirmwareをインストール可能です」と通知する。
開発・デザイン

【ESP32】ハードウェアトリガーでファームウェアを初期化する方法

ESP32でTTP223タッチセンサーによるハードウェアトリガーを用いたファームウェア初期化の手順を記載。PlatformIOとTFT_eSPIを活用して、セーフモードでのディスプレイを利用した状態表示やOTAアップデートの実行方法について記載。
開発・デザイン

【EasyEDA】でPCB作成しJLCPCBで基板発注。コスト抑えたい場合は2枚実装依頼

EasyEDAで回路図作成して、回路図をPCBに変換する。PCBでの作業としては、部品配置・番号印字・ボードアウトライン描画・auto routingによる配線・取り付け穴作成・銅箔ベタ作成などがある。PCBでの作業を終えたらJLCPCBで基盤発注
開発・デザイン

【TTP223】静電容量式タッチセンサーの仕組みとESP32との配線

タッチセンサーモジュールを調べたところ、専用のドライバICを搭載した、静電容量式のタッチセンサー基板のTTP223に行き着いた。 指によるタッチ入力状態を1ビットのON/OFF信号として取得できるとのこと。センサー範囲は5mmまで対応可能。
開発・デザイン

【ESP32】スリープモード(Deep / Light sleep)選択基準。消費電力の最適化と実装

ESP32は高度な省電力機能を備えており、その中心となるのがスリープモード。主にDeep-sleep modeとLight-sleep modeの2つのスリープモードがある。特筆すべきは、Light-sleep modeとDeep-sleep modeで消費電力がアクティブモートの時と比較すると、ほとんど誤差みたいな差であること。
開発・デザイン

【ESP32 × Flutter】Wi-Fiスキャン結果をBLEでチャンク分割送信する方法

ESP32とFlutter(flutter_blue_plus)を利用してWi-Fiスキャンの結果をBLEを通じてスマートフォンに分割送信する方法を記載。BLEのNotify機能を使用して、大きなデータを小さなパケットに分け、受信したデータを再構成する。
開発・デザイン

【ESP32】OTAアップデート機能を実装して、遠隔でファームウェア更新する方法

ESP32のWiFiモジュールを搭載した猫型ロボット「ミーア」の開発を進めているが、今回は製品をユーザーに提供後に新機能をリリースした際に、開発者がリモートでファームウェアの更新を行えるようにするために、OTAアップデート機能を導入する。
開発・デザイン

【ESP32】OTAアップデート:MQTTとAWS IoTデバイスシャドウを利用したファームウェア更新

ユーザーがアップデートを受け入れると、アプリがサーバーにAPIリクエストを送信し、サーバーがAWS IoTのデバイスシャドウに変更を反映させる。デバイスはMQTTを通じてこの変更を検知し、ファームウェアのダウンロードとアップグレードを実行する。
開発・デザイン

【ESP32】リポバッテリー駆動もできる自作基板の電子回路

USB Type-Cとリポバッテリーの両方に対応できる自作ESP32基板の制作過程を記載。充電電流はPROGで調整し、電圧レギュレーターをAMS1117からME6211シリーズに切り替え。PMOSFETを用いて、自動切り替え回路を実装する。
開発・デザイン

【ESP32】開発ボードから自作プリント基板を設計し製品化するまで

猫型おしゃべりロボット「ミーア」は、ESP32 Wi-Fi Bluetooth モジュールを利用した自作基板で開発している。ESP32の開発ボードを用いた初期開発から、自作基板を作成し製品用に何回か変更を繰り返した経緯を備忘録的にまとめておく。