3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LEGO SPIKEプライムをターミナルから制御する

Last updated at Posted at 2021-03-22

なぜSPIKEプライム?

久しぶりの更新になるが、先月LEGOから衝撃の発表があった。

00.png [`まもなく販売終了(廃盤)予定`](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) 00-1.png [【重要なお知らせ】教育版レゴ® マインドストーム® EV3 販売終了のお知らせ](https://afrel.co.jp/news/32727)

あの教育版レゴ® マインドストーム® EV3が終売に向かっていくことが発表された。
そのため後継品であるSPIKEプライムについての投稿や情報発信が増えていくだろう。

SPIKEプライムについて

SPIKEプライムについて詳しくはこちらを参照

ハードウェア

EV3と比較すると、センサーなどの構成はそのままに組み立てや見た目などがとっつきやすいようにデザインされている。
入力出力ポートが一体化されているが全体数としては8→6ポートと減っているなど違う点も散見される。
しかしこれでセンサーやモーターをどこに挿したらいいかはわかりやすくなっており入門としては優しくなっている。内包されているLEGOパーツもかなり便利なパーツが含まれており、ロボットモデルの組み立てはかなりやりやすい印象。
00-2.png

00-3.png

ソフトウェア

プログラミング環境としては、EV3の時と同様に専用のソフトウェアが用意されている。
ソフトウェア内ではScratchベースでのアイコンプログラミングと、MicroPythonを使ったテキストプログラミングが最初からサポートされている。
00-4.png
Scratchベースのアイコンプログラミング

00-5.png MicroPythonでのテキストプログラミング

ターミナルエミュレーターから直接MicroPythonを実行してみる

上記でSPIKEプライムのプログラミング環境を紹介したが今回はどちらも利用しない。
今回はSPIKEプライムのハブにはMicroPythonがインストールされているので、シリアル通信でPCからハブに直接アクセスしてインタプリタ形式でPythonプログラムを実行してみようと思う。

今回のPCの環境は以下である。

  • Windows 10
  • ターミナルエミュレーターとしてPuttyを利用する
  1. まずはPuttyをダウンロードしインストールする。
    こちらより環境にあわせてmsiファイルをダウンロードし実行・インストールする。

  2. PCとSPIKEプライムのハブをUSBケーブルで接続し、SPIKEプライムの電源をONにする。

IMG_1304.jpg
  1. デバイスマネージャーを開きハブが何番のポートに接続されているか確認する。
    画像ではCOM5にハブが接続されている。
01.png
  1. Puttyを開きConnection typeSerialにチェックを入れる。(初期ではSSHに入っている。)
    チェックを入れたらSerial Line欄に調べたCOMポートを入力する。(画像ではCOM5を入力している。)
    隣のSpeed115200と入力する。(初期では9600が入っている。)
    Speedの115200はシリアルコンソールの速度として一般的にサポートされている速度らしい。9600もサポートされているので動作は問題なくできるがここは変更を推奨する。
02.png
  1. 前述の手順を入力できたらOpenをクリックする。
    するとハブにアクセスしたターミナルウィンドウが起動しハブに内蔵されているセンサーの値を返し始める。
03.png この状態で`Ctrl+C`キーを押すことでインタプリタのMicroPythonを入力することができるようになる。 04.png

簡単なプログラムの実行

MicroPythonを実行できるようになったので以下のような簡単なプログラムを実行してみる。
import hub
hub.display.show(‘Test’)
インタプリタなので一行ずつ入力するごとにEnterキーを入力する必要がある。
2行目を入力しEnterキーを押すと実行される。
以下が実行結果になる。
IMG_1307.png
IMG_1308.png
IMG_1309.png
IMG_1310.png

一定間隔でTestの文字がハブに表示される。

他にどのようなメソッドがあるか調べるにはhub.と入力しTabを押すことでそれ以降に入力することができるメソッド一覧が表示されるので
必要に応じて調べながらプログラムを作成することができる。

Appendix

ハブ内にインストールされているMicroPythonのバージョンを調べてみた。
以下のコードで調べることができる。
import sys
sys.version_info
05.png
バージョンの情報がタプル形式で返される。
インストールされているMicroPythonのバージョンは3.4.0であることがわかった。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?