BBC micro:bit上のmicropythonのプログラムをPyCharmで開発する

BBC micro:bitを購入した。

任意のウェブブラウザーからブロックエディター、JavascriptPython、Scratchなどを使ってプログラムすることができます。ソフトのインストールは必要ありません。

とのことで、micropythonでプログラミングの学習に使用するつもり。

開発環境

BBC micro:bit MicroPython ドキュメンテーションによると、

開発環境としてはMuを使うらしい。

PyCharm

しかし。Pythonの開発環境としては筆者はPyCharmが使いたい。

PyCharmはAndroid StudioのベースとなるIntelliJ IDEAを開発しているJET BRAINSが開発しているPython向けの開発環境である。

Android Studioを初めて使用した時は衝撃的だった。

嬉しいことにCommuityエディションを提供してくれている。商用利用するわけではないためこれを使わせてもらう。

Ubuntuでは

Ubuntu 16.04以降ではSnapイメージが提供されているので、次のコマンドでインストールすることができる。

$ sudo snap install pycharm-community --classic

インストールが完了すると、次のコマンドで起動できるようになる。

$ pycharm-community

初回起動時は、初期設定のダイアログが表示されるが基本的には画面の指示通りに操作するだけで良い。

MicroPython pulugin

PyCharmでPythonスクリプトの開発はできるが、MycroPythonやmicro:bitは使えるのか心配。

しかし、ありがたいことにプラグインが存在する。

JET BRAINS製のIDEはとても便利なので、プラグインのインストールもすべてIDEから行うことができる。

PyCharmを起動すると、次の画面が表示されるので画面左下の「Configure」->「Plugins」を選択する。

f:id:mickey_happygolucky:20180224181211p:plain

「Plugins」ダイアログが表示されるので、画面下の「Browse repositories...」ボタンを押下する。

f:id:mickey_happygolucky:20180224181228p:plain

「Browse Repositories」ダイアログが表示されるので、画面左上の検索フィルタで「micropython」と入力すると「MicroPythonプラグイン」が見つかるので、「Install」ボタンでインストールする。

f:id:mickey_happygolucky:20180224181235p:plain

プラグインの有効化

この時点ではプラグインは有効になっていないため、有効化する必要がある。

プロジェクトが作成してあったほうが都合が良いので、適当に「hello_microbit」というプロジェクトを作成する。

すると、プロジェクトが作成され、メインウィンドウが表示されるので、メニューから「File」 -> 「Settings」を選択し、「Settings」ダイアログを表示する。

右側のツリーで「Language & Frameworks」->「MicroPython」を選択する

f:id:mickey_happygolucky:20180224181243p:plain

「Enable MicroPython support」にチェックし、「Device type」に「Micro:bit」を選択、このままOKを押して、一度ダイアログを閉じる。

プラグインが動作するために必要なパッケージが入っていない場合、画面上部にメッセージが出るため「Install Required Packages」のリンクをクリックすると自動的にインストールされる。

筆者環境では、uflashとpyserialが追加でインストールされた。

micro:bitをPCに接続し、再度、MicroPythonの設定ダイアログを開く。 Device Pathの行の「Detect」ボタンを押すと「/dev/ttyACM0」が自動で追加される。

f:id:mickey_happygolucky:20180224181310p:plain

「/dev/ttyACM0」はmicro:bitと通信するためのUARTデバイスのこと。

OKボタンを押下してダイアログを閉じる、

これで、PyCharmとmicro:bitが会話できるようになった。

プログラムの作成

画面右側の「Project 」ツリーの「hello_microbit」を右クリックし 「New」->「Python File」

New Python fileダイアログで「hello.py」としてOKを押下する。

ここの最初のプログラムを入力する。

from microbit import *
display.scroll("Hello, World!")

これをmicro:bit本体に書き込む必要がある。

書き込むための設定を行うため、画面右側の「Project」ツリー上の「hello.py」を右クリックし「Create 'Flush hello.py'...」を選択する。

f:id:mickey_happygolucky:20180224181319p:plain

「Create Run/Debug Configuration: 'Flash hello.py'」ダイアログが表示されるので、内容を確認してOKボタンを押下する。

f:id:mickey_happygolucky:20180224181326p:plain

メイン画面右上のドロップダウンで「Flash hello.py」が選択できるようになる。

f:id:mickey_happygolucky:20180224181333p:plain

実行するとプログラムがmicro:bitに書き込まれ、hello.py実行される。

5x5のLEDにHello World!の文字列がスクロールしたら成功。

PyCharm便利

PyCharmのインテリセンスや機能は非常に秀逸なので、これらを使用してmicro:bitで遊べるのは大変嬉しい。