M5Stack 覚書(設定方法など) === ## 注意 M5Stackは802.11aには対応していない。このため、11gでのWiFi接続が必要となる。 ## 今回のモチベーション Raspiの最大の問題は 購入したのは [M5Stack ESP32 Mpu9250 9Axies Motion Sensor Core](https://amzn.to/2zZltSe) だが、Basicでもいいと思う。 ## 開発環境を作る まず、M5Stack向けの開発環境を作る。 [このページ](https://qiita.com/lutecia16v/items/1c560bdd7eac7ebeaff7) の通り、VSCodeでの環境を揃えるのが最も早そう。 ### デバッグ用シリアルポートの準備 M5Stackはとても便利で、付属のUSB-Cポートを用いてUARTの通信もできるし FirmのUploadもできる。 しかし、シリアルポートは一度開いてしまうと、ロックしてしまうため、 upload -> UARTでのdebugのサイクルを繰り返そうとすると面倒である。 そこで、GPIOピンを用いたUART2を使ってデータ通信できるようにすると良い。 具体的に以下のように行う。 ### Hardware [CMOSレベルで通信できるシリアル](http://akizukidenshi.com/catalog/g/gK-01977/) を用意する。 次に、 ``` GND <-> GND GPIO 16番ピン(RX) <-> TX GPIO 17番ピン(TX) <-> RX ``` で結線を行う ### Software ``` #include 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 ; これ ``` などを追加してやる。