7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2026年最新版】SPIKE-RTを環境構築!

7
Last updated at Posted at 2026-03-17

0.初めに

この記事はkoshiro様による

を参考に、SPIKE‐RTの環境構築をする際に、2026年では変わってしまっているところをまとめたものです。
この記事はWindows向けに書いています。Macなどは、先ほどのkoushiro様の記事をご覧下さい。

1.環境構築

この章でやること

1.WSLを有効化します
2.Ubuntuをインストールします
3.初期設定とアップデートを行います
4.VSCodeをインストールします
5.VSCodeを日本語化します
6.C言語拡張を導入します
7.SPIKE-RTのソースコードを取得します

Windows Subsistem Linux(WSL)を有効にする。

WSLを有効にします。
ウィンドウズキーを押し、「Windows機能」と検索します。
そうすると、下の画像のような画面が出てきます。
スクリーンショット 2026-03-20 194221.png
「開く」を押してください。そうすると、このような画面が表示されます。
スクリーンショット 2026-03-20 194546.png
この、青いハイライトの付いている、「Linux用 Windows サブシステム」にチェックをいれてください。その後タブを閉じてください。

WSLとは?

WSL は、Windows の中に Linux を動かすための仕組みです。パソコンを再起動したり特別な設定をしなくても、Linux のコマンドやツールをそのまま使えるようになります。Windows と Linux を同時に使えるため、SPIKE‑RT のような開発環境を簡単に整えることができます。Docker と組み合わせることで、どのパソコンでも同じ開発環境を再現できます。

ターミナルのダウンロード

ターミナルをダウンロードします。
ターミナルとは、後から出てくるWindowsやUbuntuをおなじアプリで切り替えられる万能ターミナルです。
ウィンドウズキーをおして、ストアと検索してください。
このような画面が表示されるはずです。
スクリーンショット 2026-03-20 200243.png
そのままエンターをおして、開いてください。
ストアで、「ターミナル」と検索してください。
この、「Windows Terminal」というアプリがでてくるはずです。
スクリーンショット 2026-03-20 200639.png
それをクリックすると、このような画面に変わります。
スクリーンショット 2026-03-20 200506.png
(画像では、ダウンロード済みなので、「開く」と表示されていますが、まだダウンロードしていない場合、白いボタンに「インストール」と表示されるはずです。)
インストールを押して、ダウンロードしてください。

ターミナルの使い方

まず、ターミナルを開いてください。すると、このような画像が表示されるはずです。(プロンプト画面)
スクリーンショット 2026-03-20 204317.png
この画像では、もう押してしまっていますが、一番上の列の一番右の「∨」ボタンを押し、使用するターミナルを選択すると、ターミナルを開くことが出来ます。

WSLのアップデート

さっそく、ターミナルで、Windows Power Shellを開いてください。(これからは、パワーシェルといいます。)
そこで、このコマンドを実行してください。

Power Shell
wsl --update

Ubuntuとは?

Ubuntu は、Linux という種類のOSの中でも特に使われているものの一つです。無料で使うことができ、開発に必要なツールが最初からそろっているため、多くのプログラマーが利用しています。WSL と組み合わせることで、Windows の中で Ubuntu をそのまま動かすことができ、SPIKE‑RT のような開発環境を簡単に整えることができます。

Ubuntuのインストール

次に、

を開いてください。
スクリーンショット 2026-03-20 212245.png
このような画面が表示されるので、「ダウンロード」をおしてください。
その後、アプリをダブルクリックし、開いてください。
しばらくすると、

ubuntu
Enter new UNIX username

のように表示されるので、ユーザー名と、パスワードを入力してください。(よく聞かれるので、必ずメモしてください)

Ubuntuでパッケージのダウンロード

その後、そのまま、

ubuntu
sudo apt update
sudo apt upgrade

を一行ずつ実行してください。
sudoとは、管理者権限で実行するという意味です。

VSコードのダウンロード

を開いてください。
スクリーンショット 2026-03-20 213333.png
このような画面が表示されるので、「⍗Windows 10, 11」
をクリックして、ダウンロードをすすめてください。
途中で、デバイスに変更を加えるのを許可しますかなどでてきますが、すべて、「OK」を押してOKです。(?)
その後、VSコードをひらいてください。

VSコードとは?

VS Code は、プログラムを書くための編集ソフトです。多くの言語に対応していて、拡張機能を追加することで自分の作業しやすい環境に変えることができます。コードの色分けや自動補完が使えるため、初心者でも書きやすく、上級者でも効率よく作業できます。SPIKE‑RT の開発でも、VS Code を使うことでファイル編集やビルド作業をまとめて行うことができます。

拡張機能のダウンロード

このままだと、使いにくいので、拡張機能を二つダウンロードします。

①日本語

英語だと見づらすぎるので、日本語にする拡張機能をダウンロードします。
VSコードの右列の、拡張機能アイコン(下の画像)をクリックしてください。
image.png
その後、検索欄で、「japanese」と入力してください。
image.png
そうすると、このように、拡張機能が出てくるので、クリックし、出てきた「インストール」をクリックしてください。(私の物は、インストール済みなので、アンインストールとなっています。)
その後、変更を反映させるために、一度VSコードを閉じて、もう一度開き直してください。

②C言語拡張機能

これはあったら便利!という拡張機能なので、入れなくてもかまいません。
同じようにVSコードの右列の、拡張機能アイコン(下の画像)をクリックしてください。
image.png
その後、検索欄で、「C」と入力してください。
image.png
そうすると、このように、拡張機能が出てくるので、クリックし、出てきた「インストール」をクリックしてください。
その後、変更を反映させるために、一度VSコードを閉じて、もう一度開き直してください。

ソースコードのダウンロード

 ubuntuで、

Ubuntu
git clone https://github.com/keikyufun/spike-rt.git

を入力して、ソースコードをダウンロードしてください。
その後、

Ubuntu
ls

を実行してください。spike-rtというフォルダ名が出たら、成功です。もし、出なかった場合、もう一度、

Ubuntu
git clone https://github.com/keikyufun/spike-rt.git

を入力して、やりなおしてください。

2.ドッカー

この章でやること

1.Dockerの役割を理解します
2.Docker Desktopをインストールします
3.SPIKE-RT用のDockerイメージを取得します
4.Dockerコンテナを起動します

ドッカーとは?

Docker は、パソコンの中にもう一台のパソコンを作るための道具です。特別な設定をしなくても、必要なツールが最初から入った環境をすぐに用意できます。どのパソコンでも同じ環境が再現できるため、SPIKE-RT のような開発ではとても便利です。ゲームのカセットを差し込むと同じゲームが動くように、Docker イメージを使うと同じ開発環境が動きます。

ドッカーのインストール

次に、yoshiyasu様の

の「Dockerのインストール」をしてください。

コンテナ・イメージのダウンロード

次に、Github上にあるDockerのコンテナ・イメージをダウンロードします。

Ubuntuのターミナルを開いて、以下を実行してください。

Ubuntu
docker pull ghcr.io/keikyufun/spike-rt:2026

コンテナを開く

プルしてきたコンテナをDockerにアタッチして起動します。

Ubuntu
sudo docker run --rm -it -v $(pwd):$(pwd) -w $(pwd) -u "$(id -u $USER):$(id -g $USER)" -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro ghcr.io/keikyufun/spike-rt:2026 /bin/bash

この際、パスワードの入力が求められますので、Ubuntuの設定で入力したパスワードを入力してください。

Ubuntu
sudo docker run --rm -it -v $(pwd):$(pwd) -w $(pwd) -u "$(id -u $USER):$(id -g $USER)" -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro ghcr.io/keikyufun/spike-rt:2026 /bin/bash

これでドッカーの部分は終了です。ターミナルのウィンドウをctrl+Wもしくは×マークで消してください。

3.USBIPD-WINのダウンロード

この章でやること

1.USBIPD-WINの役割を理解します
2.公式GitHubからインストーラーをダウンロードします
3.WindowsにUSBIPD-WINをインストールします
4.USBをWSLに渡す準備を整えます

USBIPD-WINとは?

USBIPD-WINはウィンドウズで接続したUSB機器をWSLに渡すためのツールです。普通、USB機器はウィンドウズ側でしか使えませんが、このツールを使うことで特定のUSB機器をWSLに接続してLinux側から操作できるようになります。SPIKERTの開発ではテクニックハブをDFUモードで接続するとき、必要になるため、このツールを使ってUSBをWSLに渡します。

USBIPD-WINのインストール

を開いてください。
このような画面が表示されるはずです。
image.png
この、上から二番目の「usbipd-win_5.3.0_x64.msi」をクリックしてダウンロードしてください。その後、ダウンロードしたファイルを実行してください。
USBIPD-WIN_1.png
「Install」ボタンを押して、インストールしてください。
インストールが完了するとこのような画面になるので、「Close」をおしてください。
USBIPD-WIN_2.png

4.PyUSBのダウンロード

この章でやること

1.venvを使ってPython仮想環境を作成します
2.仮想環境を有効化します
3.PyUSBをインストールします
4.必要な依存パッケージを確認します

PyUSBとは?

PyUSBはPythonからUSB機器を操作するためのライブラリです。USB機器を直接扱うための複雑な処理を自動で行ってくれるため、PythonのコードだけでUSBデバイスを認識したり通信したりできます。SPIKERTの開発ではDFU書き込みに必要なusbcoreやusbutilを使うため、このライブラリが必須になります。

PyUSBのダウンロード

ターミナルでUbuntuを開いてください。
以下のコマンドを打ち込んで、PyUSBをダウンロードしてください。

ubuntu
sudo apt install python3.12-venv

venvはPythonで仮想環境を作るための仕組みです。プロジェクトごとに別々の環境を用意できるため、使うライブラリの種類やバージョンが他のプロジェクトと混ざらないようにできます。仮想環境を作ると、その中だけでPythonやライブラリを管理できるようになり、開発が安定します。SPIKERTの開発でも必要なライブラリを安全に管理するためにvenvを使います。
その後、

ubuntu
python3 -m venv ./spike-rt/tools/python

で移動し、

ubuntu
./spike-rt/tools/python/bin/pip install pyusb

でインストールすれば完了です。

5.プロジェクトの作成をする準備

この章でやること

1.VSCodeでSPIKE-RTフォルダを開きます
2.スクリプトに実行権限を付与します
3.プロジェクト作成スクリプトを使う準備をします

参考にしたもの

には、元々、テンプレートとシェルスクリプトが作成されているので、テンプレートとシェルスクリプトを作成する必要はありません。テンプレートとシェルスクリプトは、

を参考にして作成しました。


権限付与

まず、VSコードを開いて、「リモートエクスプローラー」から「spike-rt」フォルダを選択してください。
つぎに、VSコード内で開けるbashターミナルをctl+shift+@で開いてください。そこに、

cd new_scripts

でnew_scriptsに移動し、

chmod +x start.sh
chmod +x new_project.sh
chmod +x build.sh
chmod +x write.sh

の順に権限をつけてください。

cd ../

で開き直します。

では、権限付与が

sudo chmod 777 start.sh
sudo chmod 777 new_project.sh
sudo chmod 777 build.sh
sudo chmod 777 write.sh

のようになっていて、少し権限が強すぎると思ったので「chmod +x ファイル名」にしました。

6.プロジェクトの作成方法

この章でやること

1.Docker付きターミナルでstart.shを実行します
2.new_project.shで新規プロジェクトを作成します
3.workspaceフォルダでコードを書きます
4.build.shでasp.binを生成します

ドッカーの起動

まず、VSコード内のターミナルで

Ubuntu
./new_scripts/start.sh

を入力しドッカーを起動します。
(このターミナルはdockerつきになります。)
その後、+ボタンでもう一個VSコードのターミナルを起動し、

Ubuntu(dockerなし)
./new_scripts/new_project.sh 作りたいプロジェクト名

で、プロジェクトを作ります。
(このターミナルはdockerなしです。)
そして、workspaceフォルダを開き、プログラムを入力してください。
次にプロジェクトからasp.bin(書き込み用ファイル)を作ります。

Ubuntu (Dockerあり)
./new_scripts/build.sh 作ったプロジェクト

これで、asp.binが作ったプログラムファイルの中にできます。

7.プロジェクトの書き込み

この章でやること

1.ハブをDFUモードにします
2.USBIPD-WINでUSBをWSLに渡します
3.lsusbでPIDを確認します
4.deploy-dfu.shのPIDを書き換えます
5.write.shでハブに書き込みます

プロジェクトの書き込み

まず、ハブをDFUモード(簡単に言うと書き込みモード)にします。
以下の手順で実行してください。
①SPIKEプライムのBluetoothボタンを押した状態でUSBケーブルを使ってPCに接続します。
②Bluetoothボタンの色が赤→緑→青と点滅するまで押し続けます。

Youtubeより

その後、
スクリーンショット 2026-03-18 185703.png
のように、WSLを左クリックし、管理者権限で

WSL(管理者権限)
usbipd list

これで出てくるUSBに接続されているデバイス一覧から、

WSL(管理者権限)
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
1-1    046d:c534  USB 入力デバイス                                              Not shared
1-4    0694:0011  LEGO Technic Large Hub in DFU Mode                            Shared
1-5    04f2:b60f  FJ Camera                                                     Not shared
1-7    04c5:14de  Qualcomm Atheros QCA61x4 Bluetooth 4.1                        Not shared
1-8    04c5:14b9  USB 入力デバイス                                              Not shared

Persisted:
GUID                                  DEVICE

のような一覧が出力されます。
ここの、
「1-4 0694:0011 LEGO Technic Large Hub in DFU Mode 」
のようになっているところの「1-4」のような数字(それぞれ異なります)(今後はとします)を後から使います。

初めてハブと接続する場合は、

WSL(管理者権限)
usbipd bind --busid <BUSID>

を実行してください。
次に

WSL(管理者権限)
usbipd attach --wsl --busid <BUSID>

を実行してください。これでWSL側は終了です。

その後、VSコードのターミナル(dockerなし)で、

Ubuntu(dockerなし)
lsusb

と入力すると、

0694:0011  LEGO Technic Large Hub in DFU Mode

のような感じで出力があるはずです。この0694:0011(PID)の部分の0011の数字に合わせて、ファイルを編集しなければいけません。
対応表

ハブ種類 USB VID:PID(DFUモード) 説明
51515 Inventor Hub 0694:0006 51515 の DFU モード。Pybricks や公式ファーム書き込み時に使用。
SPIKE Prime Hub 0694:0006 SPIKE Prime の DFU モード。51515 と同じ PID を使う。
Technic Large Hub 0694:0011 Technic Hub の DFU モード。私のは何故かこれでした。

このPIDに合わせてspike-rt/scripts
/deploy-dfu.shを書き換えてください。書き換える場所は12行目です。

deploy-dfu.sh
#!/bin/bash -xe
TOOL_DIR=$( cd "$( dirname "$0" )" && pwd -P )/../tools

PYTHON3=python3

MPTOP=$TOOL_DIR/../external/libpybricks/micropython
DFU=$MPTOP/tools/dfu.py
PYDFU=$MPTOP/tools/pydfu.py

TEXT0_ADDR=0x8008000
DFU_VID=0x0694
DFU_PID=0x0011⬅︎ここ


echo "DFU Create $1"
$PYTHON3 $DFU -b $TEXT0_ADDR:$1 firmware.dfu

echo "Writing $1 to the board"
$PYTHON3 $PYDFU -u firmware.dfu --vid $DFU_VID --pid $DFU_PID

rm -rf firmware.dfu

ここを、PIDに合わせて変更してください。
※一度変更した場合はもういいです。
(ctl+Sで保存してください。)
次に、いよいよ書き込みをします。

Ubuntu(dockerなし)
./new_scripts/write.sh 作ったプロジェクト名

を実行します。そうすると、pybricks OSが起動し、プログラムが実行されるはずです!

8.終わりに

ここまでお疲れ様でした!
参考にしたブログを作ってくれたkoushiro様には感謝です!
実際のコードについては

を参照してください。

7
3
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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?