なぜSPIKEプライム?
久しぶりの更新になるが、先月LEGOから衝撃の発表があった。
[`まもなく販売終了(廃盤)予定`](https://education.lego.com/ja-jp/products/lego-mindstorms-education-ev3-core-set/5003400#%E6%95%99%E8%82%B2%E7%89%88%E3%83%AC%E3%82%B4-%E3%83%9E%E3%82%A4%E3%83%B3%E3%83%89%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0-ev3-%E5%9F%BA%E6%9C%AC%E3%82%BB%E3%83%83%E3%83%88) [【重要なお知らせ】教育版レゴ® マインドストーム® EV3 販売終了のお知らせ](https://afrel.co.jp/news/32727)あの教育版レゴ® マインドストーム® EV3が終売に向かっていくことが発表された。
そのため後継品であるSPIKEプライムについての投稿や情報発信が増えていくだろう。
SPIKEプライムについて
SPIKEプライムについて詳しくはこちらを参照
ハードウェア
EV3と比較すると、センサーなどの構成はそのままに組み立てや見た目などがとっつきやすいようにデザインされている。
入力出力ポートが一体化されているが全体数としては8→6ポートと減っているなど違う点も散見される。
しかしこれでセンサーやモーターをどこに挿したらいいかはわかりやすくなっており入門としては優しくなっている。内包されているLEGOパーツもかなり便利なパーツが含まれており、ロボットモデルの組み立てはかなりやりやすい印象。
ソフトウェア
プログラミング環境としては、EV3の時と同様に専用のソフトウェアが用意されている。
ソフトウェア内ではScratchベースでのアイコンプログラミングと、MicroPythonを使ったテキストプログラミングが最初からサポートされている。
Scratchベースのアイコンプログラミング
ターミナルエミュレーターから直接MicroPythonを実行してみる
上記でSPIKEプライムのプログラミング環境を紹介したが今回はどちらも利用しない。
今回はSPIKEプライムのハブにはMicroPythonがインストールされているので、シリアル通信でPCからハブに直接アクセスしてインタプリタ形式でPythonプログラムを実行してみようと思う。
今回のPCの環境は以下である。
- Windows 10
- ターミナルエミュレーターとしてPuttyを利用する
-
まずはPuttyをダウンロードしインストールする。
こちらより環境にあわせてmsiファイルをダウンロードし実行・インストールする。 -
PCとSPIKEプライムのハブをUSBケーブルで接続し、SPIKEプライムの電源をONにする。
- デバイスマネージャーを開きハブが何番のポートに接続されているか確認する。
画像ではCOM5にハブが接続されている。
- Puttyを開き
Connection type
のSerial
にチェックを入れる。(初期ではSSHに入っている。)
チェックを入れたらSerial Line欄
に調べたCOMポートを入力する。(画像ではCOM5を入力している。)
隣のSpeed
に115200
と入力する。(初期では9600が入っている。)
Speedの115200はシリアルコンソールの速度として一般的にサポートされている速度らしい。9600もサポートされているので動作は問題なくできるがここは変更を推奨する。
- 前述の手順を入力できたら
Open
をクリックする。
するとハブにアクセスしたターミナルウィンドウが起動しハブに内蔵されているセンサーの値を返し始める。
簡単なプログラムの実行
MicroPythonを実行できるようになったので以下のような簡単なプログラムを実行してみる。
import hub
hub.display.show(‘Test’)
インタプリタなので一行ずつ入力するごとにEnterキーを入力する必要がある。
2行目を入力しEnterキーを押すと実行される。
以下が実行結果になる。
一定間隔でTest
の文字がハブに表示される。
他にどのようなメソッドがあるか調べるにはhub.
と入力しTabを押すことでそれ以降に入力することができるメソッド一覧が表示されるので
必要に応じて調べながらプログラムを作成することができる。
Appendix
ハブ内にインストールされているMicroPythonのバージョンを調べてみた。
以下のコードで調べることができる。
import sys
sys.version_info
バージョンの情報がタプル形式で返される。
インストールされているMicroPythonのバージョンは3.4.0であることがわかった。