方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)

ESP32

スポンサーリンク
アプリ(Flutter / React Native)

【ESP32 × Flutter】Wi-Fiのセキュリティと信号強度に応じたアイコン表示とESP32接続

Wi-Fiの信号強度(RSSI:Received Signal Strength Indicator)とセキュリティ情報は、ESP32でWi-Fiネットワークをスキャンする際に取得できる。ESP32のWi-Fi暗号化方式の番号は、通常は整数(int型)で扱われる。
サーバー(Go / Rails)

【Flutter × ESP32】AWS Device Shadow・MQTT経由でおやすみモードの時間設定を同期

FlutterアプリとESP32デバイスを連携させ、AWS Device ShadowとMQTTを利用しておやすみモードの時間設定を同期する方法について解説。デバイスシャドウのdesiredセクションが更新されると、その情報はMQTTメッセージとしてESP32デバイスに通知される。
組み込み(C++ / ESP32)

【ESP32】gaddr2lineを活用したバックトレース分析

ESP32を使ってネコ型おしゃべりロボットを開発中だが、デバイスを初回起動した時に下記エラーが発生するようになった。ESP32のクラッシュ問題を解決するために、gaddr2lineツール(Linuxではaddr2line)を使用したバックトレース分析の手順を記載
組み込み(C++ / ESP32)

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

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

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

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

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

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

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

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

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

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

【ESP32 × PlatformIO】設定ファイル(AWS IoT)をLittleFSからNVS領域に移動

現状、設定ファイルをdata配下に置きビルド時はSPIFFS領域に含まれているが、ダウンロードの処理の不具合などでLittleFSのストレージが溢れた際、証明書の読み込みなど失敗する可能性があるので、NVS領域への書き込みと読み取りに変更する。
組み込み(C++ / ESP32)

【ESP32 × PlatformIO】フレームワークをArduinoとESP-IDFで併存する方法

PlatformIOでArduinoとESP-IDFのフレームワークを併用することができる。platform.iniにframework = arduino, espidf と設定することで既存の多くのArduinoライブラリを直接利用できるため、コードのポーティングや書き直しの手間を省くことができる。
スポンサーリンク