AT+CIPSENDで一回送信するバイト数を小さくすると安定して通信させることができた。AT+CIPCLOSEした時にまだ処理中だったらしい。
まとめ
- ESP02と通信する時は処理時間を考慮する必要がある
- intは2バイトなのですぐオーバーフローする。millis()はunsigned longを使うこと。
- 整数の定数値も1000 * 60 * 1でなく1000L * 60 * 1
- 安定はしないが3.3V, 5Vの信号は直結できる。
- ダイオードによる5V->3.3V、トランジスタによる3.3V->5V信号変換を試すことができた。
- ダイオードは電流が遮断されることとプルアップを利用
- トランジスタはベース電流のon-offによるエミッタ電圧の変化(0.6Vくらい-5V)を利用
- ソフトウェアシリアルの最大通信レートは9600bps
- 電子工作ではブレッドボードや配線などが机の上を動いて安定しないのでダイソーの弱粘着ゲル両面テープが使いやすい。