-
Notifications
You must be signed in to change notification settings - Fork 20
hackspi_command
-
hackspi
コマンドは、HackSPiを完全ヘッドレスで扱うためのコマンドです。 -
RasPike環境のWikiにて解説されているセットアップ手順に比べ、ほぼフルオートでセットアップします。
- Raspberry Pi ImagerでSDカードを作成する
- etrobo環境から
hackspi install
を実行する - SDカードをラズパイにセットして電源を投入し、以下の項目を自動インストールしてもらう
- raspi-configおよび/boot/config.txtの変更
- OSのアップデート
- 必要なパッケージのインストール
- RasPike環境のインストール
- Bluetooth PAN-NAPの設定
- Spike Hubのmain.pyの書き換え
- 約15分ほど待ち、Spike Hubに表示されるWi-FiのIPアドレスを確認する
- 既知の問題:1と11など、同じ数字が連続する場合には表示されている時間の長さが2倍になるだけになっています。
- ホストPCにVNC Viewer・Mu Editorをインストールする必要がなくなります。
- Raspberry Pi Imagerは必須です。
-
Legacy SPIKE Appは、Spike Hubのファームウェアを更新する場合にのみ必要です
- 現行のSPIKE App Ver.3系でファームウェアを更新するとRasPikeが動作しません。必ずLegacy Spike App(Ver.2系)を使用してください。
- Visual Studio Codeは、なくてもいいですが、使いたくなるはずです。
- ホストPCのVisual Studio Code上で全て操作可能ですので、VNC Viewerは不要です。
- main.pyの書き換え機能を持っているので、Mu Editorは完全に不要です。
- Spike HubのREPLコンソールを直接利用することができます。
- ラズパイのBluetoothとペアリングすることができます。
- 電源投入時に自動的に
make start
し走行することができます(起動には40秒程度かかります)。 - (Debian系)Linuxでもセットアップを行えます(ただし、ChromeOSではできなくもないですが不安定です)。
- Raspberry Pi Imagerが起動したら、 「OS」に「Raspberry Pi OS (32-bit)」、「ストレージ」はSDカードのデバイスを設定し、ウィンドウ右下の設定ギアボタンを押す
- 「SSHを有効化する」「ユーザー名とパスワードを設定する」「Wi-Fiを設定する」の項目は、必ず漏れなく設定する
- セットアップ中にもWi-Fi経由でインターネットアクセスする必要があります。自宅やスマホテザリングなど、プロキシがかかっていない環境で実行してください。
- 「終わったときにメディアを取り出す」のチェックを外し、「保存」ボタンを押す
- 「書き込む」ボタンを押し、「本当に続けますか?」に「はい」で回答する
- ディスクイメージの書き込みを10分程度待つ
- (注:1.の手順で使用したPCにSDカードがそのまま入っている前提です。 また、まれにそのままの状態で実行するとコマンドが失敗することがあります。この場合には一度SDカードを抜いてからもう一度挿し直してください。 それでも失敗する場合はもっと別の問題です)
- WindowsではWSLのパスワードを聞かれます。
- 一瞬で終わり、説明書きが出ます。
- 途中4回再起動します。15分程度そのままお待ちください。
- インストールが終了すると、起動音がなって「wlan0: <IPアドレス>」が表示されますので、オートパワーオフする前にメモを取ってください。
- ものすごく便利ですよ。使わない手はないです。
- 「リモートエクスプローラー」のドロップダウンから「リモート」を選択してください。
- ツリー上「SSH」をホバーすると右側に表示される「+」(新しいリモート)ボタンを押します
- バージョンが古い場合、「SSH ターゲット」→「新規に追加する」ボタンを押す、かもしれません
- 「SSH 接続コマンドを入力する」欄に、「ssh <ユーザ名>@<Hubに表示されているWi-FiのIPアドレス> -A」と入力しエンターキー
- 「更新するSSH 構成ファイルを選択する」に、一番上の選択肢を選ぶ
- 登録したリモートホストは、初回「リモート」ホバーから「更新する」ボタンを押さないと表示されないかもしれません。
- 「select the platform~」が出たら「Linux」を選ぶ。
- 「"IPアドレス"のフィンガープリント~」が出たら「続行しますか?」に「続行」を選ぶ
- 一度SSHしたIPアドレスに、再インストールしたHackSPiが繋がっていると、フィンガープリントで弾かれます。
- この場合、etrobo環境から
hackspi resetSSH <IPアドレス>
を実行してから再トライしてください。
- パスワードを入力すると接続します。
- エクスプローラーペインの「フォルダーを開く」から「/home/<ユーザ名>」そのままで「OK」ボタンを押す
- 再度パスワードを入力する
- 「~信頼しますか?」で「親フォルダー~」のチェックを入れてから「はい、作成者を信頼します」を押します。
-
[Ctrl]
+[@]
(Windows)または[Ctrl]
+[Shift]
+[@]
(Windows以外)でターミナルを開く
-
./hackspi pairing
を実行する - ホストPC側でHackSPiを探し接続を試みる
- 双方にパスキーが表示されるので、必ずHackSPi側から「yes」と回答してからホストPC側の確認ボタンを押す
- ホストPC側でBluetooth PAN接続を行う
※2022年6月末現在、Google社製およびApple社製の最新OSでは、Bluetooth PANは利用できません。
hackspi
コマンドはホームディレクトリ(~)で実行してください。
プロジェクトをビルドします。
最後にビルドしたプロジェクトを実行します。実行に先立ちSpike Hubがリセットされます。
最後にビルドしたプロジェクトを、次回起動時に一度だけ実行します。
最後にビルドしたプロジェクトを、起動するたびに実行します。
設定した上記once/onの設定を解除します。
Spike Hubをリセットします。
Spike Hubの電源を切ります。
main.pyを工場出荷時のものへ戻します。
Spike HubにPythonファイルをアップロードします。ファイルパスを全て省略すると、raspike_etrobo.pyをmain.pyとしてアップロードします。
例えば「ET」アイコンを独自のものに変更したいなどSpike Hub起動時の振る舞いを変更したい場合、~/work/RasPike/spike/raspike_etrobo.py
を適当な場所にコピーして、
455・456行目あたりを適切に変更し、./hackspi mainpy upload このファイルへのパス
を実行してください。
Spike Hub上のファイルを操作します。サブコマンドは ./hackspi --help
でご確認ください。
なお、hub/hubfs系コマンドなど、一度直接REPLコンソールにアクセスすると、そのセッション中はオートパワーオフが自動的に有効になりますので注意してください。
Copyright (C) 2020-2024 ETロボコン実行委員会, Released under the MIT License.