
Raspberry Pi Zero W (以下RPi0W)では無線LANだけでなくBluetoothも利用できるらしいのでマウスとキーボードはUSBではなくBluetoothで接続することにした。
そうすると、初期状態では無線LAN未設定未接続でキーボードもマウスも繋がっていないのでRaspberry Pi Zeroを操作する術がない。
そこで、RaspbianのOSイメージを書き込んだmicroSDカードをPCに繋いでマウントし、無線LAN設定を書き込んでからRPi0Wに挿して起動し、SSHでログインしてBluetoothの機器のペアリングを行うことにした。
SSHを利用可能にする
Raspbianは初期値がSSHアクセスを受け付けない設定になっているので受付可に変更する。
RaspbianのOSイメージを書き込んだmicroSDカードをPCに挿すとbootパーティションとファイルシステムのパーティションの2つが認識される筈。
ファイルシステム側ではなくbootパーティション側をマウントしてそこにsshというファイル名で空ファイルを作成する。
ファイルシステムのbootディレクトリと勘違いなく。
これで次回RPi0WでRaspbianを起動するとSSHでログインすることができる。
無線LANを利用可能にする
USBのキーボード・マウスをRPi0Wに繋ぐ場合はこの時点でRaspbianのOSイメージを書き込んだmicroSDカードをRPi0Wに挿して起動すればモニターを見ながら無線LANの設定を行うことができる。しかし、今回はキーボード・マウスをBluetoothで繋ぐと決めたのでRaspbianを起動してもまだ操作を行うことができない。
RaspbianのOSイメージを書き込んだmicroSDカードをPCに挿すとbootパーティションとファイルシステムのパーティションの2つが認識される筈。(上のSSHの部分と同じ)
今回はファイルシステムのパーティションをマウントしてそのパーティション内の/etc/network/intergacesと/etc/wpa_supplicant/wpa_supplicant.confの2つのファイルに追記する。おそらくLinuxなどでは一般ユーザーだとファイルの書き込みができないので管理者権限で編集保存する方が良さげ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | auto lo
iface lo inet loopback
auto wlan0
allow-hotplug wlan0
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
##DHCPでIPアドレスを貰う場合 (Raspbian Jessieのみ)
iface wlan0 inet dhcp
##固定IPで設定する場合
#iface wlan0 inet static #Raspbian Jessieではこれ
#iface wlan0 inet manual #Raspbian Stretchではこれ
#address 192.168.0.186 #IPアドレス
#netmask 255.255.255.0 #サブネットマスク
#gateway 192.168.0.1 #ゲートウェイとなるルーターアドレス
#dns-nameservers 8.8.8.8 8.8.4.4 #DNSサーバ
|
2017年12月14日変更&追記:
12月中旬現在Stretchでは固定IPの設定でstaticにするとダメみたい。manualにすると成功する。
StretchにてDHCPでアドレスを取得する場合はこのファイルを触らない。(重要)
1 2 3 4 5 6 | network={
ssid="wifi-ap" #接続したいWi-FiルーターやAPのSSIDを指定
scan_ssid=1
psk="01234567890abcedf" #接続したいWi-FiルーターやAPの鍵(PSK)を指定
key_mgmt=WPA-PSK #WPAの公開鍵方式を指定
}
|
2017年12月14日追記:
Stretchでは?このwpa_supplicant.conf をファイルシステムの /etc/wpa_supplicant/ 下に置くのではなく、上の手順のbootパーティションの直下に置くのもアリらしい。
これでPC側でのmicroSDカードへの書き込みは完了。microSDカードをアンマウントしてPCから外し、RPi0Wに挿す。RPi0Wに電源投入。
固定IPアドレスを指定している場合ならそのIPアドレスを指定してSSHで接続。
DHCPの場合はどのIPアドレスがRPi0Wに与えられているかわからないのでルーターでクライアント情報(家庭用ルーターの場合?)を見るか、arp -a で確認するかなど。
初期アカウント: pi
初期バスワード: raspberry
コマンド: ssh pi@192.168.0.186 (など)
sudo raspi-config で設定
[5 Interfacing Options Configure connections to peripherals] を選択。
[P2 SSH Enable/Disable remote command line access to your Pi using SSH] を選択。
SSHを有効化。
これで次回以降もSSHを利用することが可能になる。
Bluetooth機器接続
Bluetoothはペアリングをしてやらないと使えない。そこでbluetoothctlでペアリングしてやる。ちょっと面倒だけど。
基本はRPi0W側でscan onを実行しスキャンしている間に接続したいBluetooth機器のペアリング用ボタンを押すこと。スキャン時間は長いので急ぐ必要はない。
解りにくいのは承認コードの入力。ちょっと待ったらペアリング成功してたみたいなことが多い気がする。もちろん、Pairing successfulのメッセージを確認すること。
最後にconnect yy:yy:yy:yy:yy:yy (yy:・・・はBluetooth機器のID)で接続するのを忘れずに。
$ sudo bluetoothctl[Enter] [NEW] Controller xx:xx:xx:xx:xx:xx raspberrypi [default] [bluetooth]# agent on[Enter] Agent registered [bluetooth]# default-agent[Enter] Default agent request successful [bluetooth]# scan on[Enter] Discovery started [CHG] Controller xx:xx:xx:xx:xx:xx Discovering: yes [NEW] Device yy:yy:yy:yy:yy:yy ELECOM Bluetooth BlueLED Mousepair yy:yy:yy:yy:yy:yy Attempting to pair with yy:yy:yy:yy:yy:yy [CHG] Device yy:yy:yy:yy:yy:yy Connected: yes [ELECOM Bluetooth BlueLED Mouse]# pair yy:yy:yy:yy:yy:yy [CHG] Device yy:yy:yy:yy:yy:yy Modalias: usb:v056Ep9994d1633 [CHG] Device yy:yy:yy:yy:yy:yy UUIDs: 00001124-0000-1000-8000-008000000000 [CHG] Device yy:yy:yy:yy:yy:yy UUIDs: 00001200-0000-1000-8000-008000000000 [CHG] Device yy:yy:yy:yy:yy:yy ServicesResolved: yes [CHG] Device yy:yy:yy:yy:yy:yy Paired: yes Pairing successful [CHG] Device yy:yy:yy:yy:yy:yy ServicesResolved: no [CHG] Device yy:yy:yy:yy:yy:yy Connected: no [bluetooth]# connect yy:yy:yy:yy:yy:yy Attempting to connect to yy:yy:yy:yy:yy:yy [CHG] Device yy:yy:yy:yy:yy:yy Connected: yes Connection successful [CHG] Device yy:yy:yy:yy:yy:yy ServicesResolved: yes [ELECOM Bluetooth BlueLED Mouse]# quit[Enter] [DEL] Controller xx:xx:xx:xx:xx:xx raspberrypi [default] pi@raspberrypi:~ $
xx:xx:xx:xx:xx:xxはRPi0WのBluetoothアドレス。yy:yy:yy:yy:yy:yyは上の例ではELECOMのマウスのBluetoothアドレス。
周りでBluetoothの機器が大量に利用されてると対象機器が判りづらくなるので、できれば周りにBluetooth機器が動いていないところで1つずつ電源を入れて接続した方が良い。
RPi0Wの場合はとりあえずマウスなどのポインティングデバイスだけbluetoothctlで登録しておいて、他は画面操作で他のBluetooth機器を登録する方が楽だと思われる。
上のX画面でBluetooth機器を何かの理由でremove後、その機器がリストに出てこなくて再接続できない場合は上のbluetoothctlコマンドで機器をリストアップしてペアリング、接続すると良さそう。上では使ってないdiscoverable on, pairable onなども使うかも。
[bluetooth]#が表示されているときにhelp[Enter]でヘルプ表示。
Bluetoothの機器は一度ペアリングして使えてしまえば、次回以降はRPi0W側とBluetooth機器側の両方で特に気にしないで電源オンですぐ使えるので苦労するのは最初だけの筈。だけど、上手く接続できない、調子が悪い、が一旦発生すると苦労することになるんだよね。
- Prometheus2とGrafana6によるシステム監視 シングルボードコンピュータの温度表示
- ELK Stackでシステム監視 FilebeatでRaspberry Pi Zero WのVolumio楽曲再生ランキング
- ELK Stackでシステム監視 MeticbeatでRaspberry Pi Zero WのVolumioを監視
- RaspberryPi Zero WとDAC基板をアルミケースに入れる 後編
- RaspberryPi Zero WとDAC基板をアルミケースに入れる 前編
- BubbleUPnP for DLNA/ChromecastでVolumioを操作
- 100均で買ったケースにRaspberryPi Zero WとDAC基板を入れる
- Raspberry Pi用のPlexメディアプレーヤーRasPlex 後編
- Raspberry Pi用のPlexメディアプレーヤーRasPlex 前編
- Volumio2がDLNA/UPnPに対応
- Raspberry Pi Zero W + volumioでもう少し遊ぶ
- Raspberry Pi Zero W + DACで音楽プレーヤーmoOde audio playerを使う
- Raspberry Pi Zero W + DACで音楽プレーヤーVolumioを使う
- RaspberryPi Zero WにDACを接続
- Raspberry Pi Zero Wネットワーク通信性能
- Raspberry Pi Zero Wベンチマーク
- 大人の夏休み宿題工作 Raspberry Pi Zero W用フリスクケース
- Raspberry Pi Zero WでBluetoothキーボード・マウスを使う
- Raspberry Pi Zero Wが届いた
- Raspberry Piシリーズ
ここを見てUSBキーボード・マウスの接続無しに青歯接続できました。