Open10

スタックちゃんメモ

uniuni

スタックチャンファームウェアの環境をセットアップ

https://github.com/meganetaaan/stack-chan/blob/dev/v1.0/firmware/README_ja.md

環境構築をすすめていく
↓の方法でやってみる
https://github.com/meganetaaan/stack-chan/blob/dev/v1.0/firmware/docs/getting-started_ja.md#xs-devを使う推奨

npm run setup
sudo: a password is required

sudoのパスワード要求されたので、解除してみる

sudo visudo
username ALL=NOPASSWD: ALL

https://qiita.com/RyodoTanaka/items/e9b15d579d17651650b7

uniuni

スタックチャンファームウェアの環境をセットアップ 2

npm run setup

...
 version `GLIBC_2.33' not found 

ubuntu 20.04 だと GLIBCが最新にならないらしい

apt policy libc6
libc6:
  Installed: 2.31-0ubuntu9.9
  Candidate: 2.31-0ubuntu9.9
  Version table:
 *** 2.31-0ubuntu9.9 500
        500 http://jp.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.31-0ubuntu9.7 500
        500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
     2.31-0ubuntu9 500
        500 http://jp.archive.ubuntu.com/ubuntu focal/main amd64 Packages

https://ubuntuforums.org/showthread.php?t=2486771

ubuntu 22.04 にして進める。
npm run setup は成功した
が、次のコマンドでエラー

npm run setup -- --device=esp32

...
 stderr: '  error: subprocess-exited-with-error\n' +
    '  \n' +
    '  × Getting requirements to build wheel did not run successfully.\n' +
    '  │ exit code: 1\n' +
    '  ╰─> [322 lines of output]\n' +

python 3.11は対応中の様子xs-devについていじる気がおきなかったのでpythonのバージョンをpython 3.10に変えて再実行
https://github.com/espressif/esp-idf/issues/10116

どのバージョンを使っているかは info から確認した。また、再度インストールさせるためESP32 IDF Directoryを削除しておく必要があった

 npx xs-dev info
xs-dev environment info:
  CLI Version                0.20.0                                                 
  OS                         Linux                                                  
  Arch                       x64                                                    
  NodeJS Version             v16.15.0 (/home/uni/.nodenv/versions/16.15.0/bin/node) 
  Python Version             3.10.1 (/home/uni/.pyenv/shims/python)                 
  Moddable SDK Version       4.0.0 (/home/uni/.local/share/moddable)                
  Supported target devices   lin, esp32                                             
  ESP32 IDF Directory        /home/uni/.local/share/esp32/esp-idf                   

If this is related to an error when using the CLI, please create an issue at "https://github.com/hipsterbrown/xs-dev/issues/new" with the above info.
uni@uni-Dell-G15-5511:~/dev/platformio/stack-chan/firmware$ rm -fr ~/.local/share/e
esp32/     evolution/ 
rm -fr ~/.local/share/esp32/

なにやら npm run setup -- --device=esp32 時にpythonのglobalのバージョンが3.11だとだめらしい。パスの設定できそうな気もしたが、ちょっと調べがつかなかった

pyenv global 3.10.1

として(venv使いたかった)実行したら build まで通った


追記
pythonのパスが以下のようになっていれば大丈夫な様子
(npm run setup --device=esp32 実行のインストール先)

which python
~/espressif/python_env/idf4.4_py3.10_env/bin/python
uniuni

↑Moddable ファームウェアの構築をがんばるよりも
ai スタックちゃんなんかでも使っている、 arduino を platform io で使うことにした

uniuni

co2 センサーをやってみたい

センサーのドキュメントのページより
https://docs.m5stack.com/en/unit/co2

exampleをとってきた

https://github.com/m5stack/M5Unit-ENV/blob/master/examples/Unit_CO2_M5Core/Unit_CO2_M5Core.ino

環境構築

コードを見ると最初にいくつかライブラリを読み込んでいる

#include <M5Stack.h>
#include <SensirionI2CScd4x.h>
...

とあるので、依存ライブラリをいれる
platform io の画面より Libraries から、適当に registry を検索しそれっぽいのを追加する
m5 とか sensirion i2c で検索したらそれっぽいのがでてきた

また、platform io より
projects -> library options からでも Add Library にて追加できる

platform.ini

[env:m5stack-core-esp32]
platform = espressif32
board = m5stack-core-esp32
framework = arduino
lib_deps = 
	m5stack/M5Stack
	sensirion/Sensirion I2C SCD4x @ ^0.4.0
build deploy

vscode のコマンド(Ctrl + p)より、platform io の build と upload を実行