はじめに
M5StackでFirebaseからメッセージ受信させるコードについて、PlatformIO IDE for VSCodeの環境
でビルドするためにはいくつか対処が必要だったので書いておきます。
ビルド環境変更
今回試したことの元ネタは以下ページの内容になります。
https://fabcross.jp/category/make/20180425_kodomo_messenger_03.html
上記ではArduino IDEを使用していたのですが、今回、PlatformIO IDE for VSCodeでビルドしました。
ビルド環境変更した手順は、
・使用するライブラリ(.hと.cのファイル)を、プロジェクトのlibフォルダに展開
自分の環境では、以下フォルダ名にしました。
/lib/IOXhop_FirebaseESP32
/lib/ESP32_SD_ShinonomeFNT
/lib/ESP32_SD_UTF8toSJIS
・ArduinoJsonをインストール
IOXhop_FirebaseESP32でArduinoJsonが必要になるため、こちらはPIO HomeのLibraryから検索してインストールします。
また、M5Stackもインストール済みでなければ追加が必要です。
・platformio.iniに以下定義を追加
lib_extra_dirs = /lib/IOXhop_FirebaseESP32, /lib/ESP32_SD_ShinonomeFNT, /lib/ESP32_SD_UTF8toSJIS
lib_deps =
ArduinoJson@5.13.4
ArduinoJsonの最新版は6.9.1でしたが、そのままではビルドが通らず1個前のバージョンに戻す必要がありました。
・main.c修正
M5.Speaker.playMusicは、PlatformIOの環境では通らないため取り合えず削除しておきます。
(音は出なくなります)
また、WIFI_SSID、WIFI_PASSWORD、FIREBASE_DB_URLの定義内容は自分の環境に合わせて適切な値に変更しておきます。
その他トラブルについて
今回作業している途中でVSCodeのアップデート(version 1.32)を行ったのですが、
ビルドすると、
UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 22: ordinal not in range(128)
が発生するようになってしまいました。
pythonの環境に問題があるようでしたのでGoogle検索で調べたところよくあるエラーのようで、
http://shu223.hatenablog.com/entry/20111201/1328334689
を参照し、以下にsitecustomize.pyを作成したところエラーは解消しました。
E:\bin\Python27\Lib\site-packages