ラビット・エンジニアリング

趣味の電子工作を、備忘録もかねて・・・・

M5CAMERAでラジコン戦車作ってみた〜【Part1: ハードウエア組み立て】

趣味でM5CAMERA使ってラジコン戦車つくりました^^)

この記事では、ハードウエア組み立てについて紹介します

 

 

完成品の姿

完成品はこんな姿です。

身の回りにあるものでお金をかけずにつくっているので、素朴な仕上がりです^^;

f:id:Pin-Pon-Usagi:20210526114440j:plain

ラジコン戦車の完成状態

 

 動かしている様子はこんな感じ

youtu.be

 

 

戦車を選んだ理由

四輪の自動車だと、進行方向を変えるためにハンドルを切るアクションが必要ですが、戦車ならば下の絵のように左右のキャタピラのトルク差で方向を変えられるため、プログラムが簡単になると思って戦車を選択しました。黒矢印がキャタピラごとの動き、赤矢印が全体の動きを示しています。
 

f:id:Pin-Pon-Usagi:20210526162135p:plain

図1:キャタピラの進行方向と戦車全体の進行方向。

キャタピラの回転方向の組み合わせで戦車の進む方向をコントロール可能

 
 
過去の経験から、キャタピラものは車軸回りのつくりが甘いと走行中に車輪からキャタピラが外れることが多く、また経年劣化ですぐに硬くなるなど、ハード製作には苦労が多いです。できるだけ手軽にハードを作ってプログラミングに移れるように、後ほど紹介する信頼と実績のタミヤのキットを選びました。 

モータドライバICの役割と仕組み

上の図1で説明した戦車の動きを実現するためには、モータの回転方向を切り替える必要があります。そのためにモータードライバICを使いますが、ここで簡単に原理を見ていきたいと思います。

 

モータは、図2のように、電池をつなげば決まった方向に一定の速度で回転します。 

f:id:Pin-Pon-Usagi:20210526163305p:plain

図2:モータに電流を流すと、決まった方向に回転する(ここでは、これを正回転とする)

 逆回転させるためには、電池のプラスとマイナスを逆に接続を変える必要がありますが、モータドライバICを使うと、モータに流す電流の方向を変えたり、電流の大きさを変えることができます。

 

モータドライブICは、図3のように電池とモータを4つのスイッチ(Sw1~Sw4)でつなぐ内部構造になっています。このスイッチは、手動のスイッチではなく、プログラムで命令すると電気的にON/OFF可能なスイッチです。今はSwがすべてOFFでモータは停止しています。

f:id:Pin-Pon-Usagi:20210526164129p:plain

図3:モータドライバICのイメージ。電池とモータを4つのスイッチでつなぐ

 プログラムによる命令で、下の図4のように、Sw1とSw4をONにすると、電気回路が図2と同じ接続状態になるので、モーターは正回転します。

f:id:Pin-Pon-Usagi:20210526164820p:plain

図4:モータを正回転するときの接続

これとは逆に、Sw2とSw3をONにすれば、次に示す図5のようにモータを逆回転させることができます。

f:id:Pin-Pon-Usagi:20210526165026p:plain

モーターを逆回転する時の接続

 

モータドライバICは、さらにSw1とSw2およびSw3とSw4のONとOFFの時間比率であるデューティー比を0対100から100対0の間で変化させることで、モータの両端に印加される電圧の平均値を変化させて、モータに流れる電流量をコントロールすることも可能です。これをPWM制御と言います。これなら、モータのトルクも自由に変えられますね。

 

ギヤ比の選び方

ギヤBoxは、タミヤ 楽しい工作シリーズ No.227の中にふくまれていますが、タミヤの楽しい工作シリーズ、No.168 ダブルギヤボックスとして単体でも売っています。

 

f:id:Pin-Pon-Usagi:20210526184251j:plain

タミヤの楽しい工作シリーズ、No.168 ダブルギヤボックス

黄色と青の歯車の組み合わせを変えることで、ギヤBox全体のギア比を、以下のA~Dの4種類に設定できます。この値は説明書に書かれている、3V駆動時の出力軸の実測データです。

 

タイプ     ギヤ比      回転トルク     回転数

    A          12.7:1          94 gf•cm   1039 rpm

    B         38.2:1         278 gf•cm    435 rpm

    C        114.7:1         809 gf•cm     115 rpm

    D.      344.2:1       2276 gf•cm     38 rpm

 

ギヤ比とトルク、ギヤ比とスピードの関係をグラフにしてみました。

f:id:Pin-Pon-Usagi:20210527101213p:plain

ギヤ比を上げると大きなトルクが出せる一方、スピードは低下する

 

左のグラフのように、ギヤ比とを上げると大きなトルクが出せますが、右のグラフに示されるように、スピードは下がります。自転車のスタート用の1段ギアをイメージしてください。大きなトルクが出せるので、軽い力で上り坂も登れますが、その分多くの回数ペダルを回す必要があるのでスピードはそれほど上がりません。

 

今回は、モータドライバICの最大電流が0.2Aとかなり小さい値に制限されていることと、狭い部屋の中で微妙なコントロールをして遊ぶことを想定して、Dタイプの低速で大トルクのギヤ比を選択しました。

 

 

使った部品の紹介

使った部品と購入の参考となるリンクを貼っておきます。

 

M5CAMERA

ラジコンカーの頭脳と目となる部品です。

ここから購入できます、安い!

www.switch-science.com

 

詳細は、今後のプログラム紹介で触れたいと思います。

 

本体

こちらの、タミヤ 楽しい工作シリーズ No.227 カムプログラムロボット 工作セット 70227を使いました。筐体+キャタピラ+モータ+ギアのセットです。

 
 

モータードライバIC

モータドライバIC は、スイッチサイエンスさんのGROVE - I2C ミニモータードライバを使いました。www.switch-science.com  

ケーブルとHUB

ケーブルはM5STACK用のGROVEケーブルを使いました。電源とI2Cを一体にした4本線をまとめたコネクタ付きのケーブルです。

 

M5Stack用GROVE互換ケーブル 10 cm(5個入り) - スイッチサイエンス

f:id:Pin-Pon-Usagi:20210527111553p:plain

GROVEケーブル

できるだけ短いケーブルがほしかったので10cmを購入しました。

 

M5Stack用拡張ハブユニット - スイッチサイエンス

f:id:Pin-Pon-Usagi:20210527111827p:plain

GROVE HUB

電源を電池ボックスから取っているため、M5CAMERA、モータドライバIC、電池ボックスの3部品を接続する必要があったため、HUBを使いました。

 

電池ボックス

電池ボックスは、家にあったものを流用しました。

単四のエネループ4本で、1.2V×4=4.8Vで動かしています。

乾電池も安く無いので、充電可能なエネループをつかいました。

 

マスキングテープ

M5カメラを戦車に固定するために、貼り直しやすいマスキングテープを使いました。 

部品の接続

部品は下図のように接続ています。

f:id:Pin-Pon-Usagi:20210527110603p:plain

部品の接続図

 

部品を使っている場所と、部品の形状を下記の動画にまとめたので組み立ての参考にしてください

youtu.be

 

 

以上、簡単ですがラジコン戦車の組み立てについての紹介でした!

 

M5CAMERAで、ストリーミングカメラ映像見ながら遊べるWiFiリモート戦車作ってみた

 

M5CAMERA使ってラジコン戦車作ってみました

ストリーミングカメラの映像見ながら、スマホから操縦できます!

小学生の息子が別の部屋から操縦して、月面探査機みたく遊んでいます。

 

↓こんな感じ 

youtu.be

 

作ってみると色々な勉強になったので、おいおい製作方法を備忘録として残そうと思います。今回は、とりあえず概要ということで。

 

ハードウエア 

      • 本体とキャタピラ、モータ・ギアはタミヤの教育用工作キットです
        • 左右2つのモータの回転方向とスピードをコントロールするために、モータドライバIC GROVE - I2C ミニモータードライバ - スイッチサイエンス を使いました。Amazonで扱っていないのでスイッチサイエンスさんのリンクを貼っておきます
        • バッテリは、充電して何度もつかえる単四型のエネループを4本使っています。1.2x4=4.8Vで、M5カメラ本体とモータドライバIC両方に給電しています
      • それぞれのパーツの電気接続はグローブケーブル使いました


部品を使っている場所と、部品の形状を下記の動画にまとめたので組み立ての参考にしてください

youtu.be

 

 

ソフトウエア 

操縦画面はこんな感じです。

カメラの映像を中央にして、左右のキャタピラを動かすための前進・後退用スライダーを付けました。左右のキャタピラを反対方向に動かすと、その場でクルクルと回転します。

      • 操縦画面はホームページを作成する要領でHTMLで作りました
      • M5カメラ側でHTML表示用のウェブサーバーを動かし、そこにスマホからウェブブラウザでアクセスしてスマホの画面に表示させています
      • スマホとM5カメラは、WiFiでつながっています
      • ウェブサーバーは、マイクロパイソンで動かすことのできるpicowebサーバー
      • スライダーを動かすと、htmlファイル内のjavaScriptがスライダーの状態に応じた変数を、xmlHttpRequestを使ってサーバーに通知します
      • 通知を受けたサーバ側は、スライダーの状態を受け取り、モータドライバにI2Cで命令を送ります。この部分はPythonで書いています

工夫したところ

スマホ側での操作は、HTMLの状態変化として認識されますが、スライダーを動かすたびにhtml全体を更新すると、カメラのストリーミングも再読み込みされてしまい、数秒間映像が途切れてしまいました。カメラのストリーミングに影響を与えることなくスライダーの操作を行うために、htmlの必要な部分のみを更新させる、Ajaxと呼ばれる方法を使っています。

 

 

この方法で出来た! M5STACKにMicroPythonファームウエアをMacBookAirからインストールする方法

 

背景

M5STACKをMicroPythonで開発するためのファームウエアをインストールする手順を備忘録としてまとめました。

このページで伝えたいこと

最低限の手間と時間で、Pythonを使ったM5STACKの開発が始められる事を目指しました。自身、ネット上のいくつかの方法を試しましたが、うまくいかないものがあまりに多いことに驚きました。同じような困りごとにぶつかっている人が、理屈はさておき前に進められるようにと思い残しました。 

ゴールイメージ

ゴールは、M5STACKとPCをUSBケーブルでつないで、パイソン対話モードでM5STACKを動かせること。今回はティスプレイに文字を表示するHello worldプログラム、すなわち

>>> from m5stack import lcd
>>> lcd.print('This is the goal!!')

 

と打ったら、この写真のようにディスプレイ画面に表示されることがゴールです。

f:id:Pin-Pon-Usagi:20210523152119j:plain

M5STACKをPythonでうごかすのがここでのゴール!

 

前提条件 

開発環境はMacBookAir M1 2020で、macOS Big Sur バージョン11.2.2 を使っています。 なお、M5STACKは Basicです。

Arduino IDEではなく、なぜMicroPythonなのか?

個人的にPythonが好きだからです 

M5STACKの開発環境といえば、Arduino IDEが標準的ですね

自分はArduino IDEも使いますが、ライブラリやトラブルシュート情報もネットに充実・・・

やりたいことを最小限の努力で実現するならArduinoをおすすめします

 

うまくいった方法(ここからがメイン) 

ここからは実際に、うまくいったファームウエアのインストール方法を紹介します。

 

早速ですが、自分が使ったファームウエアはここにあります。

github.com

 

ここのディレクトリにある、m5stack-20180516-v0.4.0.bin を使いました。

拡張メモリpsram無しバージョンで、最新の物を選択しました。

f:id:Pin-Pon-Usagi:20210523153122p:plain

使ったファームウエア

ファームウエア書き込みの流れ

ファームウエア書き込みの流れは、

  1. 拡張子.binのファームウェアをローカルにコピー
  2. esptoolを使ってM5STACKのフラッシュメモリデータを消去
  3. esptoolを使って新しいファームウエアをフラッシュメモリに書き込み
  4. 動作確認

順番に説明しますね。

 

1.ファームウエアファイルをローカルにコピー

Macのターミナルで作業したいフォルダに移動、

そのディレクトリでgitコマンドを使ってファームウエアの置いてあるディレクトリを丸ごとコピーしました。

 

usagi@usagi-mba work % git clone https://github.com/m5stack/M5Cloud
Cloning into 'M5Cloud'...
remote: Enumerating objects: 510, done.
remote: Total 510 (delta 0), reused 0 (delta 0), pack-reused 510
Receiving objects: 100% (510/510), 25.65 MiB | 17.66 MiB/s, done.
Resolving deltas: 100% (230/230), done.
usagi@usagi-mba work %

 

ここでは、ファームウエアが格納されている階層の2階層上のディレクトリ以下をまとめてコピーしています。ファームウエアが置いてある、もっと下位のフォルダでgit clone できないかと思って試しましたが、そんなリポジトリはないと言われて進みませんでした。

 

2.esptoolを使ってM5STACKのフラッシュメモリデータを消去

esptoolを使って、M5STACK内のフラッシュメモリを消去します。

esptoolが使える状態か、確認するには、ターミナルで下記のコマンドを実行します。

 

usagi@usagi-mba ~ % esptool.py version
esptool.py v3.0
3.0

 

バージョン情報が返ってきたら、OK。

command not found などエラーっぽいメッセージが返ってきたらなんらかの問題があります。esptoolをまだインストールしていないという方も含めて、自分が以前に実施して成功したこちらを真似してみてください。

pin-pon-usagi.hatenablog.com

 

フラッシュメモリの消去は以下のコマンドを使います

 

esptool.py --port /dev/tty.usbserial-0203ACAE erase_flash

 

ここで、/dev/tty.usbserial-0203ACAEが、M5STACKのデバイス名です。

この部分は使っているデバイスや環境によって異なるため、自身の環境で確認が必要です。

確認方法は次のように行ってください。

 

まず、M5STACKをUSB接続していない状態で、デバイス情報をlsコマンドで確認 

usagi@usagi-mba ~ % ls /dev/tty.*

/dev/tty.Bluetooth-Incoming-Port
/dev/tty.wlan-debug
/dev/tty.debug-console

 

つぎに、M5STACKをUSB接続している状態で、デバイス情報をlsコマンドで確認します

usagi@usagi-mba ~ % ls /dev/tty.*

/dev/tty.Bluetooth-Incoming-Port
/dev/tty.wlan-debug
/dev/tty.debug-console 
/dev/tty.usbserial-0203ACAE

 

一つ増えた。/dev/tty.usbserial-0203ACAEがM5カメラです

以下は、メモリ消去実施結果です。

 

usagi@usagi-mba OFF-LINE % esptool.py --port /dev/tty.usbserial-0203ACAE erase_flash
esptool.py v3.0
Serial port /dev/tty.usbserial-0203ACAE
Connecting.....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: b8:f0:09:c5:c5:10
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 25.5s
Hard resetting via RTS pin...
usagi@usagi-mba OFF-LINE %

 

Chip erase completed successfullyと表示されればOK!

 

3.esptoolを使って新しいファームウエアを書き込み

 

ターミナルでcd コマンドを使い、ファームウエアの置いてあるディレクトリまで移動します

 

usagi@usagi-mba work % cd M5Cloud/firmwares/OFF-LINE 

 

ls コマンドでファームウエアが表示されればOK!

usagi@usagi-mba OFF-LINE % ls 
m5stack-20180323-v0.3.8.bin
m5stack-20180516-v0.4.0.bin
m5stack-psram-20180419-v0.3.9.bin
m5stack-20180419-v0.3.9.bin
m5stack-psram-20180323-v0.3.8.bin
m5stack-psram-20180516-v0.4.0.bin

ファームウェアの書き込みは、フラッシュメモリ消去の時と同様に、esptoolをつかいます

書き込むファームウエアを選んで下記のコマンドを実行します

 

esptool.py --chip esp32 --port /dev/tty.usbserial-0203ACAE write_flash -z 0x1000 m5stack-20180516-v0.4.0.bin

 

/dev/tty.usbserial-0203ACAEの部分は、みなさんの環境によって異なるので、上の方の「2.esptoolを使ってM5STACKのフラッシュメモリデータを消去」を参考に確認してください。

 

書き込みを行うと以下のメッセージが流れます。

usagi@usagi-mba OFF-LINE % esptool.py --chip esp32 --port /dev/tty.usbserial-0203ACAE write_flash -z 0x1000 m5stack-20180516-v0.4.0.bin
esptool.py v3.0
Serial port /dev/tty.usbserial-0203ACAE
Connecting.......
Chip is ESP32-D0WDQ6-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: b8:f0:09:c5:c5:10
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 1747296 bytes to 1119059...
Wrote 1747296 bytes (1119059 compressed) at 0x00001000 in 98.6 seconds (effective 141.8 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
usagi@usagi-mba OFF-LINE %

 

うまくいくとM5STACKのディスプレイが、プツッという音とともに光ります。

f:id:Pin-Pon-Usagi:20210523164109j:plain

プッ・・という音とともに突然ディスプレイが光ります(ビックリします)。

 この状態になれば、ファームウエアの書き込みは完了です!

 

4.動作確認

USB接続した状態で、screenコマンドでM5STACKにアクセスします。

screenコマンドに続いて、M5STACKのデバイス名を引数に指定し、通信速度は115200とします 

 

usagi@usagi-mba work % screen /dev/tty.usbserial-0203ACAE 115200

 

コマンド実行すると、下記のようにはじめは真っ白な画面が出ますが、リターンキーを押すとプロンプトが表示されて、Pythonの対話モードにはいります。 

 

  • まずはターミナルでscreenコマンド入力

f:id:Pin-Pon-Usagi:20210524082806p:plain

ターミナルに、screenコマンドを入力しM5STACKとUSB接続

 

  • 直後は真っ白な画面が表示されます

f:id:Pin-Pon-Usagi:20210524082915p:plain

はじめは真っ白な画面だが、これで大丈夫!
  • リターンキーを押すと、プロンプト>>>が表示され、Pythonの対話モード開始

f:id:Pin-Pon-Usagi:20210524082958p:plain

リターンキーを押すと、Pythonの対話モードに入り、プロンプト>>>が表示!!


動作確認は、対話モードでおこないます。
対話モードは、コマンド入力すると応答が即座に得られます。

たとえば、以下のような計算を行うと答えが表示されます。

 

>>> 1+1
2
>>>

 

以下はm5stackのlcdに文字を表示するコマンドで、一行づつ実行します。

m5stackパッケージから、lcdモジュールをインポート

m5stackのlcd(液晶ディスプレイ)をクリア

m5stackのlcdに文字を表示

>>> from m5stack import lcd
>>> lcd.clear()
>>> lcd.print('This is the goal!')
>>>

 

f:id:Pin-Pon-Usagi:20210523152119j:plain

LCDに入力した文字が表示されればOK.

以上が、M5STACKにMicroPythonファームウエアを、MacBookAirからインストールする方法でした。

この記事が、誰かのお役に立つことを願っています^^)

 

 

 

 

 

アップルM1チップ搭載のMacBookAirにesptoolをインストールしてみた

背景

MacBookAir 11インチを愛用していたが、5年ぶりにM1チップ搭載のMac Book Airを購入。当然だがそのままではesptoolが使えないのでインストール方法まとめてみた。

 

結論

M1チップMacBookAirは、購入状態ではpipコマンドによるesptoolのインストールに失敗するが、pipを最新にアップグレードしたら問題解決。esptoolが使えるようになった。

 

前提

esptool.pyのようなPythonモジュールがらみの環境構築には、PythonPython3の共存の話が尽きない。最新のMacを購入したのに、旧バージョンのPythonに悩まされたく無いので、Python3のみで構築することを前提とした。

 

以下、やった事を残した。

 

まずはそのままesptoolのインストール

MacBookAir購入状態でそのままesptoolのインストールしてみた。

方法は簡単。コンソールで下記コマンド実行

pip install esptool

 

詳しくは、ここに詳細説明あり。

micropython-docs-ja.readthedocs.io

 

言われた通りにpipでのインストールやってみたが・・・

pipコマンドでesptoolインストールした結果が以下

 

usagi@usagi-mba ~ % pip install esptool

Traceback (most recent call last):

File "/usr/local/bin/pip", line 11, in <module>

load_entry_point('pip==21.1.1', 'console_scripts', 'pip')()

 ...長いので省略

 

ImportError: No module named typing

 

ImportError: No module named typing、要するにpipが見つからないっぽい。

 

pip3コマンドでやってみた

usagi@usagi-mba ~ % pip3 install esptool
Collecting esptool
Collecting reedsolo<=1.5.4,>=1.5.3 (from esptool)
Collecting cryptography>=2.1.4 (from esptool)
Using cached https://files.pythonhosted.org/packages/9b/77/461087a514d2e8ece1c975d8216bc03f7048e6090c5166bc34115afdaa53/cryptography-3.4.7.tar.gz
Installing build dependencies ... done

...長いので省略

I
Successfully built cffi
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 19.2.3, however version 21.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
usagi@usagi-mba ~ %

 

pipの時とは異なり、なんとなくうまく進んでsuccessfullyで終わっている部分もあるが、最終的にはERRORで終わっている。

こんな警告が出ていた。

 

WARNING: You are using pip version 19.2.3, however version 21.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

  

pipの更新をおすすめされているらしい。

 

pipを最新バージョンにアップグレードした。

 

usagi@usagi-mba work % sudo pip3 install --upgrade pip

... 省略

Installing collected packages: pip
Found existing installation: pip 19.2.3
Uninstalling pip-19.2.3:
Successfully uninstalled pip-19.2.3
Successfully installed pip-21.1.1

問題なく終わった

 

pipのバージョン確認

usagi@usagi-mba work % pip -V
pip 21.1.1 from /Library/Python/3.8/site-packages/pip (python 3.8)

問題なく最新バージョンに更新された。
さらに注目は、pip3コマンドではなく、pipコマンドでPython3のモジュールの呼び出しができているところ。これからはpipとpip3を気にしなくていいと思われる。

 

最新のpipでesptoolをインストール

usagi@usagi-mba work % pip install esptool

... 省略

Successfully built esptool bitstring cffi reedsolo
Installing collected packages: pycparser, cffi, reedsolo, ecdsa, cryptography, bitstring, esptool
Successfully installed bitstring-3.1.7 cffi-1.14.5 cryptography-3.4.7 ecdsa-0.16.1 esptool-3.0 pycparser-2.20 reedsolo-1.5.4

 

無事インストールされたらしい。

 

esptoolの動作確認

versionコマンドで動作チェック

usagi@usagi-mba work % esptool.py version
zsh: command not found: esptool.py

 

そんなコマンドないよって。
whichコマンドで探してみたら、ここにあった。
 

usagi@usagi-mba ~ % which esptool.py

/Users/usagi/Library/Python/3.8/bin/esptool.py

 

ここに移動して再度確認

usagi@usagi-mba bin % ./esptool.py version
esptool.py v3.0
3.0

 

動くぞ!
要するに、パスが通ってないってことか?
パスの設定見てみる。

 

usagi@usagi-mba work % echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin

 

確かに通ってない。

 

パスを通す

M1チップ搭載Macのシェルはzsh

usagi@usagi-mba work % echo $SHELL
/bin/zsh

 

パスを設定するには、.zschrcにパスを追記すればいい。
まずは、ホームに.zschrcが存在するか確認。
 

usagi@usagi-mba ~ % find .zshrc
find: .zshrc: No such file or directory

 

ないので作成

usagi@usagi-mba ~ % touch .zshrc

 

作成したファイルにviエディタなどでesptool.pyのあるディレクリ
/Users/usagi/Library/Python/3.8/bin
を追加。
 

export PATH=$PATH:/Users/usagi/Library/Python/3.8/bin

 

保存して、有効化する。

usagi@usagi-mba ~ % source ~/ .zshrc

 

改めて、あえてesptool.pyの存在する場所とは異なるディレクトリからの動作確認

 

usagi@usagi-mba ~ % esptool.py version
esptool.py v3.0
3.0
usagi@usagi-mba ~ %

 

無事に通った。

 

M5STACK差し込んで確認してみる

差し込む前のデバイス情報をlsコマンドで確認 

usagi@usagi-mba ~ % ls /dev/tty.*

/dev/tty.Bluetooth-Incoming-Port
/dev/tty.wlan-debug
/dev/tty.debug-console

 

接続後

usagi@usagi-mba ~ % ls /dev/tty.*

/dev/tty.Bluetooth-Incoming-Port
/dev/tty.wlan-debug
/dev/tty.debug-console 
/dev/tty.usbserial-0203ACAE

 

一つ増えた。/dev/tty.usbserial-0203ACAEがM5カメラ

flash_idコマンドでチップ情報みてみる。

 

usagi@usagi-mba ~ % esptool.py chip_id
esptool.py v3.0
Found 4 serial ports
Serial port /dev/cu.wlan-debug
/dev/cu.wlan-debug failed to connect: [Errno 16] could not open port /dev/cu.wlan-debug: [Errno 16] Resource busy: '/dev/cu.wlan-debug'
Serial port /dev/cu.usbserial-0203ACAE
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: b8:f0:09:c5:c5:10
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: b8:f0:09:c5:c5:10
Hard resetting via RTS pin...

 

認識した。

これでこれまでのMacと同様にesptool使える環境に戻った。