2018年2月18日日曜日

ESP32で micropython

マイコンを使って簡単な画像処理をしたい時に便利そうなマシンビジョンモジュール「OpenMVカメラ M7」をスイッチサイエンスで発見。

ARM Cortex M7搭載でカメラはOV7725、プログラミングは専用IDEで micro Pythonで記述するらしい。画像処理は名前からしてOpenCVライクなのではないかと想像。

マイコンで画像処理といえば、Raspberry Pi にUSBカメラを接続して OpenCVでプログラムするのが王道ですが、いかんせんLinuxの環境構築やコマンドラインでのコンパイルは初心者にはハードルが高過ぎます。

OpenMVなら専用IDEでmicroPythonでプログラミング出来るので、インストールしたらすぐに画像処理することが出来そうです。

とりあえずしたいことは、7セグ表示器の数字を認識したり、アナログ指示計の値を読み取ったり、QRコードやApriコードを読み取るなので、大した画像処理ではありません。

なぜそこでESP32かというと、まだ実機を入手していないので、手元にあるESP32で microPythonを動かして、Pythonに慣れておきたいということです。

ネットで調べてみると、Windows環境なら下記の手順で出来るらしい

1.microPythonのバイナリをダウンロード

http://micropython.org/download#esp32

2.ESP32ファーム書き込みツールをダウンロード & インストール

Flash Download Tools (ESP8266 & ESP32)
https://www.espressif.com/en/support/download/other-tools

3.ESP32 USB-シリアルドライバ(CP2102)をダウンロード & インストール

Windows 7/8/8.1/10 (v6.7.5) 用ダウンロード(VCP)
https://jp.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

4.ESP32ファーム書き込みツールで、microPythonのバイナリを書き込む

http://iot-bits.com/esp32/esp32-flash-download-tool-tutorial/
注1:SPIDownload、スタートアドレスは、0x1000
注2:一度ERASEをしてから、ファームを書き込みました
注3:オリジナルのファームウェアに戻すには、下記のbinを書き込む

https://www.espressif.com/en/products/hardware/esp32/resources

5.TeraTermで microPythonコンソールに接続して実行

CP2102ドライバがインストールされたCOMポートに115200bpsで接続