ESP32 CAMを動かしました。
あけましておめでとうございます。
あけましておめでとうございます。
今年も宜しくお願い致します。
早いものでブログを書き始めてもう少しで2年です。
心房細動から始まった急性心不全によりコンサルの仕事にブレーキをかけたことから何かをしないといけないと思い、ブログを始めたのですが、あれからもう2年です。
これからも気ままに書き続けていきたいと思います。
新年最初の記事は、ESP32 CAMについてです。
今、僕はArduinoを色々触っていますが、領域を広げてESP32も使ってみることにしました。
ESP32に関しての説明が以下の記事にありますのでご参考。
今回買ったのは、ESP32にカメラ機能を搭載したモジュールとUSBシールドのセットです。
それがコレ。
これを少しでも安く手に入れるためにメルカリで買いました。
値段は1180円です。
マイコン+カメラ+wifi+Bluetoothがついて1180円です。
ESP32もArduino IDEでコードを管理できるので便利です。
今回は、ESP32 CAMを使ってウェブカメラを動かしてみました。
コツがつかめない。
初めてのESP32のためか使うコツがつかめません。
Arduino IDEで使うためのボード情報の設定や必要なライブラリの登録は簡単でしたがESP32にコードが書き込めません。
ESP32にコードを書きこむ際のめんどくささはネットに沢山ありましたが、今回僕が遭遇したのはこれらの記事とは全く別物でした。
ESP32へコードを書きこむ際にリセットボタンやBOOTボタンの操作が必要みたいなことは理解していたのですが、今回悩んだのはESP32 CAMのボードの出来が悪すぎるところからきていました。
コードの書き込みを行うと下の画面のようなエラーが発生しました。
a fatal error occurred: failed to connect to esp32: timed out waiting for packet header
原因が判りませんでした。
ESP32とパソコンの接続が悪くてUSBでの通信ができないのか、ESP32のリセットやBOOTボタンの操作方法が間違えているのか、ESP32のボードの設定に間違いがあるのか、全く判りませんでした。
ということでネットで調べた多くのことを色々と試しましたが全てダメ。
さて困ったとESP32 CAMを眺めていると、???、なんだこのハンダブリッジは?
これは意図的にピン間をショートさせているのだろうか?
ボードにスタッドピンをハンダ付けしているのですが、そのピン間にハンダのブリッジがありました。
下の写真の右のピンの下から1番目と2番目にハンダブリッジがあります。
下の写真の左から1番目と2番目のピンです。
当該ピンは、信号のUOTとGNDです。
UOTをGNDに接続すべきというなら問題はありませんが何となく違和感があります。
それでネットを調べてみると何とUOTはUSB通信のRXです。
これはGNDに繋げるものではないので早速修理に入りました。
まさかこんなミスをするはずないよな、と思ったのですが、中国の深センでの製作です。
ボード表面も綺麗でなくこれを作っている会社は品質に問題がありそうです。
ネットで調べていると、動かないから追加で5個買ったとか書いている人もいました。
でも、品質に問題があっても日本では作っているところもないので、こういうパーツとも付き合っていく必要があります。
修正した姿がコレ。
ハンダブリッジを除去しました。
さあこれで動くぞ、とやった結果がコレ。
下の状態表示のところに
Leaving
Hard resetting via RTS pin...
と出ているのでコードの書き込みは成功です。
でも、どうも動いていません。
シリアルモニタを動かしてみるとcamera prove failedというエラーが出ています。
またまた、頭の中に???が飛びます。
どうやらカメラを認識していないようです。
これには心当たりがありました。
カメラのコネクタの接続が心もとなかったのです。
シート状のコネクタを差し込んでプレートで押さえるタイプのものなのですが、押さえて時に押さえがいがないというか押さえていないかな?という感じになっていました。
ということで、今度はキッチリと入れなおしてしっかりと押さえるようにしました。
その結果がコレ。
こんどは大丈夫でしょう。
そして動かすと、ちゃんと認識しました。
下の画面コピーの上の部分は動かなかったときのエラー表示で、下の所にある
WiFi connected
が動いた証拠。
では、ということで、ブラウザーにIPアドレスを打ち込んで動かしました。
その結果がコレ。
判りにくいですが、下の図の中央にあるウインドウがESP32 CAMからの映像です。
ここまできましたので、次はこの映像を使って何かをやってみたいと思います。
今日はここまで。
では、また。