microbit MicroPython CLI開発ツール
2020/1/15+
microbit Micropython CLI(Command Line Interface) tool
microbit MicroPython CLI tool
概要
microbitのMicroPythonのプログラミングの書き込み/実行をコマンドラインで行なう方法について説明する。 MicroPythonのfirmwareのhexとMicroPythonのスクリプトの2つをhexとして結合したものを microbitに書き込んでいるので、firmwareとスクリプトを結合するツールを利用する。
ツールのインストール
mkdir microbit_MP
cd microbit_MP
git clone https://github.com/bbcmicrobit/micropython.git
cd micropython/tools
#このディレクトリにあるmakecombinedhex.pyをツールとして使うことになる。
firmwareのダウンロード(その1)
micro:bitの最新版の場合、v2.0のeditorの出力したfirmwareを利用する。
以下のオンラインツールを利用してfirmwareを作る。
(1)以下のリンクをクリックしてエディタを起動する。
microbit-python-editor v2.0
(2)編集して空のスクリプトを作る。
(3)[Download]を押して、生成したhexをダウンロードする。
(4)ダウンロードしたhexをfirmwareV20.hexにrenameする。
(5)このhexファイルを~/microbit_MP/micropython/toolsに置く。
firmwareのダウンロード(その2)
互換ボードのchibi:bitの場合、メモリマップの違いか、microbitの最新版用のhexを書き込んだ場合、エラーになり動作しないことがあるので、初期バージョンのpython-editor-mbf0.1.zipに含まれるfirmware.hexをそのまま使用する。
このhexファイルを~/microbit_MP/micropython/toolsに置く。
現在はネットに置いていない?ようなので、取り出したfirmware.hexをここに置く。
(microbitのみしか使用しないときは、本件は不要)
使用例
以下の実行例でmicrobitに書き込むouthexがDownloadのディレクトリにでき、hello.py、compass.pyが入力するスクリプトのファイルになる。入力するスクリプトは任意のエディタで作る。
~/microbit_MP/micropython/tools$
./makecombinedhex.py firmwareV20.hex hello.py -o ~/Downloads/out.hex
./makecombinedhex.py firmwareV20.hex ../examples/compass.py -o ~/Downloads/out.hex
書き込み/実行
上で作ったout.hexを接続しているmicrobitのストレージに書き込む。 書き込んだ後、該当のストレージが消えるが、再度、出現したら書き込み完了になるので ボードの[reset]を押すと書き込んだプログラムが起動する。
bashスクリプト定義
上のままだと使いにくいので、以下のようなbashスクリプトを定義する。:
(chmd u+x filename で実行権限を与えること)
chibibit用:
(chibibitのストレージなどは自分の環境に合わせること)
mpy2chibi
#!/bin/bash
HX=~/microbit_MP/micropython/tools/firmware.hex
PY=$PWD/$1
OUT=~/Downloads/$1_V10.hex
#echo $HX
#echo $PY
#echo $OUT
~/microbit_MP/micropython/tools/makecombinedhex.py $HX $PY -o $OUT
cp $OUT /media/user/CHIBIBIT/
rm $OUT
microibt用:
(microbitのストレージなどは自分の環境に合わせること)
mpy2mb
#!/bin/bash
HX=~/microbit_MP/micropython/tools/firmwareV20.hex
PY=$PWD/$1
OUT=~/Downloads/$1_V20.hex
#echo $HX
#echo $PY
#echo $OUT
~/microbit_MP/micropython/tools/makecombinedhex.py $HX $PY -o $OUT
cp $OUT /media/user/MICROBIT/
rm $OUT
これらのスクリプトを利用して
以下のようにで一気に書き込みが行える。
./mpy2chibi hello.py
./mpy2mb hello.py
これで、好みのエディタで作成したスクリプトをmicrobitで実行できる。
おまけ(offline editor)
以下のやり方でofflineのeditorが使えるようになる。
git clone https://github.com/bbcmicrobit/PythonEditor
cd PythonEditor
git submodule update --init --recursive
# 以下のコマンドでeditorを起動することができる。。
./bin/show
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
# http://localhost:8000/editor.htmlをブラウザーでアクセスするとオンラインと同じeditorが起動する。
# 以下のコマンドでもeditorを起動する
firefox editor.html
# または
chromium-browser editor.html
参考参照:
Python Editor Version 2
version 2.0になってから、WebUSB(chromeのみ)を利用して、cmsis-dap経由で、microbitにプログラムを書き込んだり、シリアルでデータをやり取りできるようになり、便利になった。
以上
| 固定リンク
「linux」カテゴリの記事
- platfomioを使ってnaitive(linux/windows)のプログラムをビルドする方法(2021.03.10)
- micro:bit Yotta開発ツール(linux版)(2021.01.09)
- PlatformIOをRaspberryPi4で動かしてみる(実験)(2020.10.20)
- headless RaspberryPiインストール方法(v2)(2020.10.20)
- wio-terminalのファームウェア・アップデートについて(linux版)(2020.10.15)
「mbed」カテゴリの記事
- micro:bit Yotta開発ツール(linux版)(2021.01.09)
- micro:bit Arduino/MBED開発ツール(v2)(micro:bit-v2対応,linux版)(2021.01.02)
- NUCLEO-F767ZIにMicropythonをインストールする(v2)(2020.05.22)
- 開発ツールPlatformIOをArchProで使う(mbed版)(2020.05.20)
- 開発ツールmbed-cliをインストールする(2020.04.10)
「MicroPython」カテゴリの記事
- microbit-v2にMicropythonをインストールする(2021.05.06)
- PicoボードのMicroPythonをVS_CodeのextensionのPico-Goでプログラミングする(2021.02.10)
- MicroPython/CircuitPython Performance Test(2021.02.07)
- PicoボードにMicropython/CircuitPythonをインストールする(2021.02.03)
- MicroPython(F767ZI) Network Samples(2021.01.03)
コメント