![見出し画像](https://assets.st-note.com/production/uploads/images/118989736/rectangle_large_type_2_24ba43f5e96275fc95cbbb75fbb34c95.jpeg?width=1200)
Raspberry Pi Zero 2 W で Stream Deckを無線化
こちらの記事で知ったStream Deckの無線化をRaspberry Pi Zero 2 Wで実現できたので手順をまとめておきます。
なお初めてRaspberry Piを使うこともありスターターキットを使用しました。スターターキットにはOSインストール済のmicroSDカード、電源ケーブル、変換アダプタが付属しているので迷いと手間が減り助かりました。
起動まで
microSDカードを本体スロットに挿入
USB-A接続キーボードをMicro USBに変換し左側のOn-The-Go(OTG)ポートに接続
miniHDMIの出力をHDMIに変換しモニタに接続
電源ケーブルを右側のUSB Micro Bソケットに接続
これで自動で電源が入る
初期設定
起動後に画面に表示される初期設定を進めた。
Welcome to Raspberry Pi
NextSet Country
- Country: Japan
- Language: Japanese
- Timezone: Tokyo
- Use US Keyboard: チェックなしChange Password
必要であれば変更Select WiFi Network
WiFiネットワーク選択。後ほどMacbookからログインし操作したかったためここでパスワード入力し接続した。Update Software
一旦飛ばした。ここでUpdateしても良いと思う。
![](https://assets.st-note.com/img/1697373964548-WGOqQpeqD4.png?width=1200)
sshログイン設定
ここでsshで外部ログインする設定を追加した。
本体から電源コードを抜き、microSDカードを取り出し
microSDカードにアダプタを付けMacbook Proで読み込み
bootフォルダ直下に「ssh」という空ファイルを作成
再度microSDカードを挿し込み起動
macOSでterminalを起動し以下実行。問題ない場合はsshでログインできる。
$ ssh pi@raspberrypi.local
そもそも疎通しているか分からない場合はpingを打ってみる
$ ping raspberrypi.local
追加設定
sshログイン後に各種追加設定をmacOSから行った。
パッケージ更新
$ sudo apt-get update
$ sudo apt-get upgrade -y
IPアドレス固定化のため、まずは現在の設定確認
$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (ローカルループバック)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.11.2 netmask 255.255.255.0 broadcast 192.168.11.255
inet6 fe80::b0c1:1b42:55ef:52fe prefixlen 64 scopeid 0x20<link>
ether d8:3a:dd:45:ce:31 txqueuelen 1000 (イーサネット)
RX packets 132 bytes 19174 (18.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 140 bytes 22615 (22.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
dpcpcd.conf を開く
$ sudo nano /etc/dhcpcd.conf
以下の内容を記載。ここでは「192.168.11.201」とした。
# IPアドレス固定化
interface wlan0
static ip_address=192.168.11.201/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1
本体再起動で反映される。
VirtualHereインストールと設定
$ cd /usr/local/sbin
$ sudo wget https://virtualhere.com/sites/default/files/usbserver/vhusbdarm
$ sudo chmod +x vhusbdarm
$ sudo vi /etc/systemd/system/virtualhere.service
[Unit]
Description=VirtualHere USB Sharing
Requires=avahi-daemon.service
After=avahi-daemon.service
[Service]
ExecStartPre=/bin/sh -c 'logger VirtualHere settling...;sleep 1s;logger VirtualHere settled'
ExecStart=/usr/local/sbin/vhusbdarm -i
Type=idle
[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl enable virtualhere
$ sudo systemctl start virtualhere
$ sudo reboot
注意: Raspberry Pi Zero 2 Wは64bit CPUだがmicroSDに既存で入っていたOSは32bitだった。vhusbdarm64では動作せずvhusbdarmを使用。カーネルbit数は以下で確認可能
$ getconf LONG_BIT
32
起動しているサービスを確認するにはこちら
$ sudo systemctl list-unit-files -t service | grep enabled
Stream Deckを接続し動作確認
Stream DeckをMicro USBに変換し左側のOn-The-Go(OTG)ポートに接続。
本体の電源を入れる。電源にモバイルバッテリー使用すると無線化された状態となる。
macOSにVirtualHere USB Clientをインストールし起動。
https://www.virtualhere.com/usb_client_software
無事動作していると「Stream Deck」が表示される。
![](https://assets.st-note.com/img/1697434146789-OqkbDYrCJU.png?width=1200)
![](https://assets.st-note.com/img/1697434301006-1b2y3b1F05.png)
Windowsの場合
VirtualHere Clientアプリを起動後、Specify Hubs…からHubを追加する必要がありました。
Hubs > Add から 192.168.11.xxx:7575 (例) を追加
別PCで設定する際
別の場所でssh接続する際に "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" と表示される場合があります。以下で解決できるはず。
$ ssh-keygen -R 対象名
トラブル対応
1. VirtualHere Clientアプリで対象が表示されない
Raspberry Pi Zero本体に設定した固定のIPアドレスが他端末と重複していて、Clientアプリで対象が表示されないことがありました。
参考リンク
この記事が気に入ったらサポートをしてみませんか?