鳥なき里のマイコン屋(75) VS CodeでM5Stack、ちょっと設定

JosephHalfmoon

前回、VS CodeとPlatform IOをインストールして、あまりに簡単にM5Stack用の「スケッチ」(VS Code上では、立派な main.cppですが)のビルドと実行に成功し、VS Code凄い凄いと浮かれてしまいました。それでついつい細かいところを端折ってしまいました。最低限の設定くらい済ませておかないとね。ということで今回は前回の落穂ひろい。 “鳥なき里のマイコン屋(75) VS CodeでM5Stack、ちょっと設定” の続きを読む

鳥なき里のマイコン屋(74) VS Codeでマイコン・ソフト開発

M5Stack Hello From VS Code
JosephHalfmoon

Visual Studio Code、お使いの方も多いのではないかと思います。そのホームページの冒頭にあります。

Code Editing. Redefined.

しびれるカッコよさです。しかし、いままで見くびってました。というより、見誤っていた、というべきでしょう。「Visual StudioならC#書くとき使っているもんね」「Visual Studioのエディタ部分?」。Web開発などで使われている記事などが散見されました。マイコンには関係ないかな。。。などと思っておったのです。本日根本的に考えを改めました。 “鳥なき里のマイコン屋(74) VS Codeでマイコン・ソフト開発” の続きを読む

トホホな疑問(25) Python、argparse、help??

JosephHalfmoon

前回に引き続き「Microでない方の」Pythonネタです。普段、使い慣れており、まったく気にしていなかったモジュールがエラーを吐いて動かない。そういうときはダメージが大きいです。「何か悪いことをした?」と自分を責めつつ、パニくりまくり。今回は、コマンドライン引数を解釈する定番のモジュールargparseで体験したトホホです。 “トホホな疑問(25) Python、argparse、help??” の続きを読む

トホホな疑問(24) Python 3.8.0、chcp関係ない?

JosephHalfmoon

今回はPC上の「Microでない」Pythonネタです。昨年秋に、長年慣れ親しんだ2.7をようやく諦め、3.8.0に移行いたしました。Python2.7で、日本語文字コードを取り扱うことはそれほど多くなかったのですが、その度に、結構、苦労したような記憶があります。3.8.0はその辺、なんと堅牢なことか。とりあえず全部UTF-8にしておけばまず失敗がない。でもWindowsのcmd.exe デフォルトのコードページはCP932だよね。なんで大丈夫なの? “トホホな疑問(24) Python 3.8.0、chcp関係ない?” の続きを読む

モダンOSのお砂場(14) M5StickC、MicroPython REPL

JosephHalfmoon

前回、Webベースでグラフィカルな開発環境、UIFlowを使ってM5StickC上のMicroPythonのプログラムを作り、シリアルポートからMicroPythonのREPLに接続できることを確かめました。今回は、そのREPLを使ってターミナルエミュレータからMicroPythonのプログラムを直接流し込んで動かしてみます。 “モダンOSのお砂場(14) M5StickC、MicroPython REPL” の続きを読む

モダンOSのお砂場(13) M5StickC、UIFlowとprint()

JosephHalfmoon

前回、グラフィカルでWebベースの開発環境、UIFlowを使用してM5StickCのプログラミングを始めてみました。プログラムそのものを走らせるのは楽ちんで良いのですが、デバッグなど考えると pdb(Pythonの標準デバッガ)使えないとはいえ、print()くらい使えないものかな?と思いました。

“モダンOSのお砂場(13) M5StickC、UIFlowとprint()” の続きを読む

モダンOSのお砂場(12) M5StickC、UIFlowとMicroPython

JosephHalfmoon

このところKendryte K210搭載のM5StickVの上でMicryoPythonしておりましたが、実は同時期に、ESP32搭載のM5StickCも購入しておったのです。同じM5Stickのシリーズなので兄弟というべきか?プロセッサSoCが違い、CPUコアも違いで開発環境も似ていても違う、従兄弟くらいか、それとも腹違い?の兄弟か? “モダンOSのお砂場(12) M5StickC、UIFlowとMicroPython” の続きを読む

モダンOSのお砂場(11) MicroPython、GPIO入出力

JosephHalfmoon

AIカメラと銘打って販売されているM5StickV(RISC-Vコア+AIアクセラレータKPU搭載のKendryte K210搭載機)ですが、カメラの横にはかなり強力なLEDが搭載されています。近くのものならこれで照明しながら撮影できそうです。このLED、色が変えられます。照明の光の波長を変えて撮影すると何かいいことあるかも。LED点灯色など制御しているのがGPIOの端子群です。ついでにキー入力もやってしまいましょう。 “モダンOSのお砂場(11) MicroPython、GPIO入出力” の続きを読む

モダンOSのお砂場(10) MicroPython、モジュールとhelp

JosephHalfmoon

皆さまは、PythonのREPL(Read-Eval-Print Loop)使っておられますか?実を申せば、私はPC上のPythonではまず使いません。ほとんどバッチでPythonスクリプトを走らせているから。インタラクティブなデバッグしたいときはpdb起動しているし… でも今回K210をCPUに頂くM5StickV上のMicroPythonを使うにあたってREPL使うことにいたしました。help()関数、使わねばね。 “モダンOSのお砂場(10) MicroPython、モジュールとhelp” の続きを読む

モダンOSのお砂場(9) MicroPython、ファイルにアクセス

JosephHalfmoon

前回に引きつづき、M5StickVのMicroPythonのREPL環境で「遊んで」おります。M5StickVの場合、内蔵Flash以外にSDカードも使用できるので、スクリプトやデータの格納場所に困るということはなかなか無さそうです。その分、いろいろファイル操作したくなる局面も多くなると思います。そこで、ちょこっとユーティリティ的なスクリプトを書いて「お手軽化」してみました。 “モダンOSのお砂場(9) MicroPython、ファイルにアクセス” の続きを読む

モダンOSのお砂場(8) M5StickV、micropython

JosephHalfmoon

micropythonは言語処理系であってOSではないとお叱りを受けそうですが、このモダンOSのお砂場シリーズでは、Interface 2019年5月号の特集にならいmicropythonも「マイコンを制御するためのOS的な要素含む」としてモダンOSに含めております。ま、実際はM5Stack、M5Stick系の実装では、根本にFreeRTOSというモダンOSがいて、その上でmicropythonが走っているという階層構造ですが。 “モダンOSのお砂場(8) M5StickV、micropython” の続きを読む

IoT何をいまさら(52) M5Stack、Sleep、deepとlight

JosephHalfmoon

前々回、M5Stack GreyのLCDをオフにしたら、フル充電から約77分ほど動作しつづけたケースのグラフをお見せしました。しかし、M5.Powerモジュールの中にはもっと消費電力をケチれるAPIが準備されています。deepSleepとlightSleep。実際、lightSleep使ってみたら同様な条件で約397分も動作しつづけました。でもね、sleep、ちょっとクセがありそう。 “IoT何をいまさら(52) M5Stack、Sleep、deepとlight” の続きを読む

トホホな疑問(23) 今、StdOutどこ向いている?

JosephHalfmoon

今までそんなシチュエーションにならなかったのが不思議なくらいなのです。Windowsのバッチファイルの中で呼び出すつもりのPythonのスクリプトを書いていて、

標準出力がコンソールに向いているのか、どこかにリダイレクトされているのか知りたい

と思ったのです。この歳になるまでそんな事をついぞ考えないで生きてきたのですから、まずは幸せな人生であった、というべきでしょう。sysモジュールか何かで簡単に知れるんでないかい、と思ったのが間違いでした。

“トホホな疑問(23) 今、StdOutどこ向いている?” の続きを読む

モダンOSのお砂場(7) FreeRTOS kernelとAmazon FreeRTOS

JosephHalfmoon

前回、FreeRTOSの話をちょっと書かせていただきました。ただし、”FreeRTOS”といえば、まっさきに喧伝されている感のある Amazon AWSとの連携、Amazon IoTサービスといった話はまったくでてきませんでした。これは、別に無視していたわけでなく、FreeRTOS.ORGから入っていくと各種のマイコン、それもかなりリソースの限られたマイコンからでも利用可能な汎用のRTOSとしてのFreeRTOSのカーネルが中心であるためです。AmazonのIoT向けサービスなどの連携などを調べようとしたら、また、別なところへ行かなければならないようです。 “モダンOSのお砂場(7) FreeRTOS kernelとAmazon FreeRTOS” の続きを読む