ESP32

ESP32
ESP32[17] ESP-NOW

ESP-NOWを使ってみた。1対1の通信なら、WiFiでも特に問題なく使用できるし、BTSerialでも比較的簡単にできる。しかし、複数のESP32を使用しようと思った場合、ルータを中心にスター型の接続はそれほど難しくは […]

続きを読む
ESP32
ESP32[16] シリアル通信

ESP32には3つのUARTがあります。それぞれにPINは決められていて下記のようになっています。 UART# Tx PIN RX PIN オブジェクト名 UART0 1 3 Serial UART1 10 9 Seri […]

続きを読む
ESP32
ESP32[15] BMX055 9軸センサーのデータをBLEで送信する。

BMX055 9軸センサーをRaspberry Piで読んで姿勢推定に使おうと思っていましたが、9軸センサーから姿勢を出すことが難しいことがわかりました。しかし、ArduinoだとMadgwickライブラリーが提供されて […]

続きを読む
ESP32
ESP32[14] Bluetooth Serial で通信相手を切り替える

ESP32のBluetooth Serialは非常に簡単に使えてよいのですが、複数の端末を切り替えて通信のが結構、情報がなくて苦労しました。 ネットで見つかる説明はPeer to Peer の説明が多く、途中で通信相手を […]

続きを読む
ESP32
ESP32[10] Watch Dog Timer 番犬

Watch Dog Timerはソフト処理が何処かでループしたり想定より遅くなった場合に、強制的にソフトリセットをかける機能です。個人的には、そんな時は既にハードウエアに異常があるので、何回ソフトリセットしても効果がない […]

続きを読む
ESP32
ESP32[9] Bluetooth接続

ESP32は標準でBluetoothを搭載しています。これを使うと、コンソールなしでESP32と通信することができます。私はBluetooth経由で設定値をフラッシュメモリに書いて使用しています。書き込むときは、書込みモ […]

続きを読む
ESP32
ESP32[8] フラッシュメモリのへ書き込み

ESP32は内部にユーザー書込みができるフラッシュメモリを持っています。フラッシュメモリは不揮発メモリなので、電源を落としても消えないことから、初期値などをここに書き込むことで、ユーザビリティーが向上します。 以下のヘッ […]

続きを読む
ESP32
ESP32[7]Deep Sleep

ESPの消費電力は20mAから30mA程度のようです。車載に使うとなると、許せる範囲とは思いますが、Deep Sleep機能を使うと、10mA程度まで下げることができます。 Deep sleepはまず、眠らすことと起こす […]

続きを読む
ESP32
ESP32【6】GPIO割込

ESPはマイコンなので、GPIOによる割込み欲しくなる場合があります。前回のブログで書いたように、リアルタイム性をあまり必要としないアプリケーションなら、毎回GPIOの状態を確認すれば済むかもしれません。このような場合は […]

続きを読む
ESP32
ESP32[5] タイマー割込

ある程度複雑なプログラムを書くとなると、どうしても割込という機能が欲しくなってきます。割込とはハード的なトリガを受けて、今動いているプログラムを一旦やめて、それぞれの割込みに設定されたプログラムを実行することです。OSが […]

続きを読む