M5StickCと言えばarduinoIDEなのだがそんなもん触りたくないんじゃあ。VScodeがいいんじゃあ。とか騒いでたら素敵なサイトが:
https://kitto-yakudatsu.com/archives/7143
の説明が分かり易いしそれなりに役に立ちそうなのでここに記す。
ところがいきなり上記のページの主も危惧されてるとおりhttps://docs.m5stack.com/#/ja/quick_start/m5stickc/m5stickc_quick_start_with_uiflow
の画像リンクが切れまくりでさらになにがなんだか分からない。
本気でM5Stackの連中は小学生のオスガキやロリ幼女に触らせる気があるのか眉を顰める。
ちなみに以下の文章はM5StickCのCPUはESP32でUSBコントローラはcp210xだからcp210x関連のデバイスドライバ見つけてCOMポート認識させるぐらいの知識は前提条件です。
まずこれですな。M5Burnerなるみょうちくりんなソフトウェアを動かさなくてはならないらしい。USBにM5StickCさしてCOMポートは5であることを確認してダウンロード&解凍。私はアレ系の人間なのでこのままbinフォルダやpackagesフォルダといったドロップアイテムのそばで裸体でひっころがってるexeファイルをいきなり実行などというデリカシーのない人間ではないのでバイナリエディタでM5Burner.exeの0x80番地が50 45 00 00 4C 01なのを確認してC:\Program Files (x86)にフォルダごと匿いショートカットをデスクトップに(そっと)置く。もちろん人の心もITもすべてが荒んだ21世紀にそんなことをする必要は全くない。
さていやらしく流行りのフラットなデザインの画面でUIFlowが既に赤い「Burn」になってるのは「Download」を押した後の状態。これでは小学生がますます分からんと思うがまずwebのどっからかUIFlowの最新版を「Download」してM5StickCに「Burn」焼きを淹れろ。という事らしい。
このへんで1980年代のマイコン少年は今の開発者の体たらくに我慢できない。ファミコンよろしくカートリッジをガチャン♪ポン☆プー!と挿しただけでI/OポートやワークエリアやBASIC命令がセットされたMSXを見習ってほしい。これでは21世紀は退化もいいところではないか!…などとブツブツ言ってるとM5StickCの中のUIFlowが動き出しSSID表示してるのでノートPC引っ張り出してM5StickCの無線LAN(パスワードなし)に接続する。
なんだか認証に時間がかかるが無事接続できたら192.168.4.1にhttpでアクセスする。と…
小生意気にもM5StickCがてめえん家の無線LANのSSIDとパスワード教えてね。と言ってきたので教えてやる。
おっさんなのでボカシが発生するとなぜか嬉しいのだがこのAPI KEYってのはユニークIDなんでしょうね。obnizみたいだな…などと言いつつ、これでこいつはひとん家の無線LANから無事にwwwのどっかにアクセス成功したようです。IoTですね。
でつぎはM5StickCをUSBモードにするんだがこれが押しにくいキー操作の連続でめんどくさい。M5BurnerのUIFlowの「burn」の隣にある「configuration」でUSB Modeで起動するよう設定する。以後電源入れたら間違いなくUSBモードになるのでいよいよVScodeをインスコする。VScodeの日本語化は
https://qiita.com/nanamesincos/items/5c48ff88a4eeef0a8631
が詳しい。
とにかく初心者はVScodeが使える喜びに打ち震えて頂きたい。喩えドンキの激安ノートでも液晶画面でVScodeが動いていれば勝ちである。隣でMBPいじってるイケメンが居たとしても問題ない。あなたが優勝だ。
https://github.com/AmbientDataInc/ambient-python-lib
からambient.pyをM5STACK DEVICEのルートフォルダ(?)へアップロードして、
https://github.com/rin-ofumi/m5stickc_envhat_ambient
からtest_ENV_Ambient.pyを落としたのならそれに
AM_ID = (ambientのチャンネルID)
AM_WKEY = ‘(同じくライトキー)’
を書き加えてappsフォルダへアップロードしてUSBモードの役目は終了。
次にM5StickCへアップロードしたtest_ENV_Ambient.pyを指定して実行させる「APP Listモード」なのだがこれはUSBモードよりはるかに簡単でAボタン押しながらの電源ボタンON→</>CODEとか意味不表示されたらBボタンぽちぽちで切替できる。
この画面が出たら目的のtest_ENV_Ambient.pyを選択して実行。しかしwifiがつながるのがかなり待たされる(10分ぐらい待ってもいいかも)。そうしてAmbientのグラフも5分更新なんだからまた待たされる。まあM5StickCのちっこい画面よりWEBに結果が反映されるほうが感動も大きいというもの(ENV Hatのセンサーの精度はアレだがw)。
でグラフは最近中古で買ったSHARPの除湿器の排気ダクトを段ボールで作って出来るだけ温度を上げずに除湿だけしてる様子。九州でたいへんな被害が出てる長雨であんまり喜ぶのは憚れるが除湿器の効果が結構あるのが良く分かる。
M5StickCのENVHatはやはり安価なセンサーなので普段生活で使ってる計測機器の値との差は大きいがグラフで動きが見られるのはIoT様様である。
Ambientが面白い。除湿器停めたら湿度があがっていく様子が良く分かる。はじめてGPSを手に入れてトラックログ見てるような楽しさ。横軸は↑だと3000だけど100ぐらい指定してグラフの枠を半日ぐらいでどんどんスクロールしていくと良い感じ。
しかしここまで初心者が簡単に出来るかと思えばかなりしんどい。もうちょっと子供でもお婆ちゃんでも餃子のみんみんに叱られた立憲民主党でもつまりかなりのおバカでもホイホイいぢれるデバイスにならないものかと思ったりする。ネットワークに関して言えば分散台帳とか使えばこんな面倒な作業ある程度省略できるんじゃないかとは思う。