クリエイター手抜きプロジェクト[636]IoT マイクロビット編 MicroPythonに挑戦(1)
── 古籏一浩 ──

投稿:  著者:



今回は、マイクロビットでPython(パイソン)を使ってみます。と言っても書いている本人が、ほとんどPythonを使ってないので勉強しながらみたいな感じです。

Pythonは出始めの頃に本を買って少し勉強したくらいで、こんなにも多く使われるとは思ってませんでした。ですから早い時期に使わなくなりました。

アプリケーション自動化においては、Pythonを使って自動処理するというのはあったのですが、そのようなアプリケーションは少なく、自分にとってメリットがなかったからですが。その後、ラズベリーパイの機器制御(自動撮影とか)には、少し使ったりした程度です。

Pythonと言えば、今はAI/Tensorflowに使われていますが、12年くらい前からGoogleでは多く使われていましたが、なかなかブレークすることなく時間が過ぎていきました。AIのディープラーニングとTensorflowによって、一躍メジャーになったプログラミング言語と言えるでしょう。

さて、そんなPythonですが、マイクロビットでも使うことができます。マイクロビットに搭載されているPythonは、MicroPython(マイクロパイソン)です。機能縮小版といったところですが、処理的に若干違うところもあるようです。古い「Interface」誌に確か特集があって、詳しく書かれていた号があったと思います。





マイクロビットは、JavaScriptブロックエディタ、JavaScript、Pythonの3種類でプログラムを作ることができますが、実際には自分で考えた言語も使うことができます。ちなみに、こんなのもあります。

・IchigonQuest for micro:bit
https://yrm006.wordpress.com/2018/05/24/ichigonquest-for-microbit-beta-has-been-released-you-can-do-programming-without-laptop-and-tablet-microbit%E7%89%88-ichigonquest-%CE%B2%E7%89%88%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%EF%BC%81/


それでは、マイクロビットでPythonを使ってプログラムを作ってみましょう。JavaScriptブロックエディタでの開発と同じく、Webブラウザを使います。

以下のURLに直接アクセスするか、マイクロビットの公式ページからアクセスします。

・Pythonエディター
https://python.microbit.org/v/1.1


Pythonエディターのページにアクセスすると、以下のような Hello, World! を表示するプログラムが書き込まれています。

# Add your Python code here. E.g.
from microbit import *

while True:
display.scroll('Hello, World!')
display.show(Image.HEART)
sleep(2000)

今回は、このままマイクロビットに転送して動かしてみます。マイクロビットに転送するためのファイルを作成します。

画面左上にある「Download」ボタンをクリックします。するとダウンロードフォルダに「microbit.hex」といった名前のHEXファイルが作成されます。あとは、このファイルをマイクロビットに転送(ドラッグ&ドロップ)するだけです。

転送が終わると、マイクロビットのLEDにHello, World!の文字が流れて表示されていきます。

ちなみに実行速度はJavaScriptブロックエディタ(JavaScriptエディター)で作るよりも高速です。また、アイコンなどの種類も多く、LEDの輝度なども細かく処理できます。機能もそれなりに豊富です。

ただ、ひとつ難点があります。それは「無線」であるBluetoothが使えないことです。容量的な問題と書かれており、現時点ではどうしようもないようです。JavaScriptよりも40KBほど容量が多い分、無線機能が入らなかったのかもしれません。

パソコンならわずかな40KBというサイズでも、IoTなど小型コンピューターにとっては非常に大きいサイズです(新しいマイクロビットは容量が2倍なので、使えるのではないかと思いますが、この原稿を書いている時点では現物がないのでわかりません)

とは言え、ブラウザで手軽にプログラムを書いて、実機(IoT機器)で動作させることができるのは便利です。JavaScriptコードとPythonコードを、比較しながら勉強することもできます。

なお、マイクロビットのPythonのリファレンスとチュートリアルは、以下のページにあります。プログラマであれば、このページさえあれば十分でしょう。

・リファレンス
https://microbit-micropython.readthedocs.io/en/latest/



【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/


最新版のIllustrator。時間のある人は「Illustratorについて...」で表示される画面の、クレジットのリンクをクリックして、数分眺めてみてくださいませ。どこかで見たような事があるかもしれない名前が流れてきます。

ようやく農業系の主な作業が昨日で終了。なんだけど、役員なので集金とかもろもろやることが……。ゲームのサクナヒメのように、単独でお米作るだけってことないので、現実は大変。

・天穂のサクナヒメ
https://www.marv.jp/special/game/sakuna/


・創って学ぼうプログラミング
https://news.mynavi.jp/series/makeprogram


・8K/4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/


・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/