UnitV2というカメラを知っていますか?
m5stackが出しているLinuxがのっているAIカメラです。
Jupyter Notebookでの開発環境が準備されているのですが、VSCodeで書きたい人のためにVSCodeからSSHする方法を紹介します。
環境
UnitV2 M12カメラ
Windows11
Visual Studio Code
UnitV2側の設定
まず、こちらの公式ドキュメントにのっとってドライバをインストールしてください。
これでもうPCからSSHできるのですが、このままだとsudoが使えないので以下の作業を行います。
Jupyter Notebookからだとroot権限で入れるそうなので、ブラウザでUnitV2のJupyter Notebookを開きます。
UnitV2をつないだ状態で、ブラウザでunitv2.pyか10.254.239.1にアクセスすると以下の画面が開きます。
この右上の歯車マークをクリックし、switch to notebook mode
をクリックするとJupyter Notebookの画面に切り替わります。OKを押して数秒待った後にリロードしてください。
するとJupyter Notebookが開くので、右上のNew
からTerminal
を開いてください。
そして以下の3つのコマンドを実行してください。
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
chown root:root /usr/libexec/sudo/sudoers.so
chown root:root /etc/sudoers
これでsudoが使えるようになりました。
VSCodeで開発しよう
VSCodeからSSHをするための拡張機能としてRemote-SSHというものがあるのですが、これはうまくできませんでした(Raspberry pi zeroが使えないらしいのでそれと同じようなものかも?)
そのため、普通にターミナルを使ってscpをしましょう。
VSCode上のターミナルを使うとすべてがVSCodeで完結するので楽です。
どこかに作業用のフォルダを作ってVSCodeで開いてください。
そしてVSCode上でターミナルを開いてください。Ctrl
+@
でターミナルを表示できます。
1
最初に以下のコマンドを打ってください。
ssh m5stack@10.254.239.1
パスワードが求められたら12345678
と入力してEnterを押します。
これでUnitV2にSSHで入れます。
2
次に、scpコマンドでファイルを転送できるようにするために以下のコマンドを打ちます。
sudo chmod o+rw /dev/null/
ここでもパスワードが求められますが、先ほどと同じ12345678で構いません。
これでscpの準備が整ったので、exitでSSHから抜けてください。
3
以下のコマンドを打つと、UnitV2の/home/notebookにあるものをVSCodeで開いているフォルダに移せます。
scp -r m5stack@10.254.239.1:home/notebook ./
-rはフォルダごと転送するという意味です。scpの書き方についてはネットにいろいろ載っているので調べてみてください。
/home/notebookにJupyter Notebookのファイルが、/home/m5stackにUnitV2にもともと入っているアプリケーションなどが入っているようです。SSHでログインした直後は/home/m5stackにいます。
これでUnitV2とローカルで自由にファイルを転送できる準備が整いました。
SSHとscpでいじくりまわしましょう。
電源が落ちると権限がリセットされてしまうので、UnitV2を再起動するたびに1と2は実行してください。
参考