M5Stack 覚書

注意

M5Stackは802.11aには対応していない。このため、11gでのWiFi接続が必要となる。

今回のモチベーション

Raspiの最大の問題は

購入したのは M5Stack ESP32 Mpu9250 9Axies Motion Sensor Core だが、Basicでもいいと思う。

開発環境を作る

まず、M5Stack向けの開発環境を作る。

このページ の通り、VSCodeでの環境を揃えるのが最も早そう。

デバッグ用シリアルポートの準備

M5Stackはとても便利で、付属のUSB-Cポートを用いてUARTの通信もできるし FirmのUploadもできる。 しかし、シリアルポートは一度開いてしまうと、ロックしてしまうため、 upload -> UARTでのdebugのサイクルを繰り返そうとすると面倒である。 そこで、GPIOピンを用いたUART2を使ってデータ通信できるようにすると良い。

具体的に以下のように行う。

Hardware

CMOSレベルで通信できるシリアル を用意する。 次に、

GND <-> GND
GPIO 16番ピン(RX) <-> TX
GPIO 17番ピン(TX) <-> RX

で結線を行う

Software

#include <M5Stack.h>
HardwareSerial uart2(2);
void setup()
{
    uart2.begin(9600);
    uart2.println("");
}

のように行うことでuart2を使った出力ができる。 つまり、デバッグ用にUART2向けのCOMを開いておきながら、VSCodeからFirmをuploadできる。

upload portの指定

COMポートを複数持っている開発PCの場合、

serial.serialutil.SerialException: could not open port 'COM10': PermissionError(13, 'アクセスが拒否されました。', None, 5)

など、本来使ってほしくないポートでアップロード施行される場合がある。 この場合は、platformio.iniに

[env:m5stack-core-esp32]
platform = espressif32
board = m5stack-core-esp32
framework = arduino
upload_port=COM12 ; これ

などを追加してやる。