Raspberry Piをセットアップする(続)
Raspberry Piからケーブルを除く
LANケーブルを除去したので、他のケーブルも除去したいと思います。
目指すのは、電源ケーブル以外がささっていない状態です。
その前に、無線LANの設定について、自身がハマった点について、記載しておきたいと思います。
$ lsusb
Bus 001 Device 006: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
前回、これでEW-7811Unという個別名称が認識されているので、OKだと書きました。
ところが、外出先で使うため、2個目のDHCPを登録しようとして、インターネットを検索しました。
このときに出てきた情報が古く、そのまま適用したところ、Wi-Fiに繋がらなくなってしまいました。
$ sudo vi /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
allow-hotplug wlan0
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
erfaces file "/etc/network/interfaces"
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="[ポケットWi-FiのSSID]"
psk="[ポケットWi-Fiのパスワード]"
proto=WPA2
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
priority=2
}
network={
ssid="[ホームルーターのSSID]"
psk="[ホームルーターのパスワード]"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
priority=2
}
そこには、上記のように、/etc/network/interfaces と /etc/wpa_supplicant/wpa_supplicant.conf を編集するように記述されていました。
また、別のサイトでは、これらを/etc/dhcpcd.confで設定するよう記述されているところもあります。
$ sudo ifdown wlan0;sudo ifup wlan0;
ifdown: /etc/network/interfaces:19: misplaced option
ifdown: couldn't read interfaces file "/etc/network/interfaces"
ifup: /etc/network/interfaces:19: misplaced option
ifup: couldn't read interfaces file "/etc/network/interfaces"
と、無線LANである wlan0は、ファイルに不備があって読めないので、再起動できない旨の返答が返ってきました。
その後、様々な設定を見直すも、どうしても接続できず、FacebookのRaspberry Piコミュニティに質問したところ。
stretchでは何も入れないのがデフォルトではないか?
との指摘を頂きました。
Raspberry PiのOSである Raspbian は、Linuxのディストリビューションの一つ、Debian を元にしていて、そのDebianの最新バージョンのCodename が stretch
という事は、当然にRaspbianもその影響を受け、デフォルト値も変わってくるという訳です。
$ sudo vi /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="[ポケットWi-FiのSSID]"
psk="[ポケットWi-Fiのパスワード]"
key_mgmt=WPA-PSK
}
network={
ssid="[ホームルーターのSSID]"
psk="[ホームルーターのパスワード]"
key_mgmt=WPA-PSK
}
に修正しました。
結果、ネットワークへの接続が復活しています。
ラズパイはwebでも書籍などでも情報が多くて新旧入り乱れてるので、その情報がいつ頃書かれたもので、今のバージョンに合ってるか見極める必要がある とは 上記コミュニティで頂いたアドバイスです。
これでLANケーブルについては、除去が確定したので、キーボードとマウスを撤去したいと思います。
方法の1つは、こちらのBluetooth ドングルを取り付け、有効化する事です。
$ lsusb
Bus 001 Device 007: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
ドングルを挿入すると、このように認識されていますので、OKです。
Bluetooth機器をペアリングモードにすれば、簡単に認識します。
これで、マウスとキーボードも無線化され、ケーブルは抜去できます。
ただ、この方法にはBluetooth機器を用意する必要があるという欠点もあります。
そこで、そうした機器がなくともマウスやキーボードが不要になる設定をしたいと思います。
その方法は、Raspberry Pi の画面をパソコンのウィンドウに表示して、マウス、キーボードで操作するという方法です。
こちらの記事では、Windows パソコン同士で、相手のパソコンの画面を表示していましたが、VNCはRaspberry Piでも動作しますので、画面をそのまま表示させる事ができます。

設定は、このようにRaspberry Piのメインメニューから「設定」を選び、「Raspberry Piの設定」を選ぶと、各種の設定ウィンドウが開きます。
その中の「インターフェイス」からVNCを有効にし、OKをクリックします。
上のツールバーにVNCのアイコンが表示されれば、設定は完了です。
次に、VNCのパスワードを設定します。

先ほどのVNCアイコンをクリックし、ノートのような設定ボダンを押すと、設定メニューが表示されます。
Options を選んで、設定画面に移行します。

警告が表示されました。
これは、Raspberry PiのOSである Raspbian が画面に接続するデフォルトユーザーに管理権限を認めているためです。
これは、Raspberry PiがIoT機器である以上、やむを得ないかと思います。
一方、簡単なパスワードでVNC接続を突破されると、ほぼ全部の設定をやりたい放題にできてしまうという意味でもあり、セキュリティ上は問題が残ります。
今回は、VNCパスワードを複雑化する事で解決としていますが、実際にRaspberry Piを使用されるときは、セキュリティ設定にはご注意お願いします。

まずはセキュリティ設定で、VNCの専用パスワードでの認証にします。
UNIXパスワードではVNCクライアントから接続できない事があります。

次の画面でVNCパスワードを設定します。

$ ifconfig で調べたところ、192.168.1.25 が割り当てられていたので、WinndowsパソコンのVNCクライアントから、そのIPへ接続をかけると、このようにパスワードを要求されます。
先ほど設定したパスワードを入力すれば、VNC上にRaspberry Piの画面を表示できます。
こうなれば、もうRaspberry Piにはキーボードもマウスも、そしてモニターの接続も必要ありません。

このように、ケーブルは電源のみで操作はすべてパソコンから行う事ができます。
最後に、これは運用の状況によりますが、私のRaspberry Piは「こんな事ができますよ」の試験機ですから、いろいろな場所に持っていくことを想定しています。
すると、場所場所のネットワークに繋げないと困るため、DHCPでIPをとります。
結果、必ずしも先の192.168.1.25だとは限りません。
せっかくケーブルレスにしたのに、ifconfigで割り当てされたIPを確認するために、モニターやキーボード、マウスを繋げるのも面倒です。
このため、sambaをインストールしてあります。
$ sudo apt-get install samba
ファイルサーバーとして使用している訳ではないですが、nmbを稼働させると、名前解決ができるため、DHCP環境下で、raspberrypi の名前で、VNC接続する事ができるようになります。