2025年1月28日
023-1.SPIKEプライム Bluetooth入門-第1回「ラージハブと通信をする」
この連載ではBluetooth Low Energy(ブルートゥース・ロー・エナジー)という機能を使って、「レゴ エデュケーションSPIKEプライム(以下、SPIKE)」のラージハブと通信する方法について紹介します。この技術を応用して、パソコンからラージハブを制御してみましょう。なお、この記事ではWindows(10以上)搭載のパソコンを使用しています。(文/松原拓也)
◆ Bluetoothとは?
まず、Bluetoothについての大まかな紹介です。
Bluetoothというのは無線の通信規格の一つです。無線と言うと「Wi-Fi」が有名ですが、BluetoothはWi-Fiと違って、狭い範囲での通信に使われています。現在、ワイヤレスイヤホンやゲーム機のコントローラはほとんどBluetoothを採用しています。Bluetoothの最新バージョンは5.4です。 2010年ごろに、Bluetoothはバージョン4.0となり、そこで「Bluetooth Low Energy」という機能が追加されました。名前が長いので以後は「Bluetooth LE」と書くことにします。4.0より前からあった機能は「Bluetooth Classic(BR/EDR/HS)」と呼び、今でも使うことができます。
SPIKEのラージハブはBluetoothを使ってパソコンやスマートフォンと通信することができます。2022年の末にSPIKEアプリはVer.2(Legacy)→Ver.3にバージョンアップして、通信方法が「Bluetooth Classic」から「Bluetooth LE」に変更されました。これにより、Webブラウザ版のSPIKEアプリはプログラムをラージハブへ直接転送できるようになりました。それ以前はSPP(Serial Port Profile)という技術を使い、COMポートから接続していましたが、それが廃止されています。
ラージハブ~パソコン間の通信プログラムをどうやって作ったら良いのでしょうか? いきなり難問です。
そのヒントはレゴ グループの「LEGO Education SPIKE Prime protocol documentation」という公式の資料にあります。
https://github.com/LEGO/spike-prime-docs/ こちらのページを開いて、「Code」ボタンをクリックしたら、「Download zip」ボタンをクリックしましょう。
これで「spike-prime-docs-main.zip」という圧縮ファイルがダウンロードされます。
◆ サンプルプログラムを動かす
ラージハブ~パソコン間でどのような通信をやりとりしているのでしょうか? この問いについては、レゴ グループの次の公式の資料が参考になります。
https://lego.github.io/spike-prime-docs/#
この資料を見ると、Messages(メッセージ)という項目に通信のコマンドの仕様が書かれています。あとは、サンプルプログラムの「messages.py」と照らし合わせていけば、オリジナルのプログラムが作れるようになると思います。サンプル側にクラスがない場合は追加しないといけません。かなり大変な作業になりそうです。
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。