Raspberry Pi Zeroをモニター、マウスなしで設定する方法

crafts ラズパイでクラフトビール発酵槽!


クラウドファンディングに向けて、昨日からRaspberry Pi側の設定を別のPCからできるように簡単なWebアプリを作っています。

ここで問題なのは、購入してくれた方がモニターなしでどうやってWiFiに接続し、どうやってRaspberry Piに割り当てられたIPアドレスを知るかというところです。

モニターなしでWiFiに接続・SSHの設定

WiFiには、OSを焼いたSDカードにWiFiのSSIDとパスワードを書き込めば接続できるようです。

SSHもSDカードに設定を書き込めば有効にできるみたいですね。

情報が多くあるので、下記のリンクなどを参照してください。

https://www.penpale.jp/blog/raspberry_pi_zero_w_setup_without_monitor.html

Raspberry Piに接続する方法

さて、上記の方法でWiFiに接続できたとします。
次に問題になるのが、SSHで接続するためにRaspberry Piに割り当てられたIPアドレスを知ることです。

上記のURLでは、ルーターの設定画面でIPアドレスを特定して接続しています。しかし、この方法だと毎回IPアドレスを調べないといけないし、IPアドレスを固定するにしても少しの知識が必要です。このように一般化できない部分があると、商品化する上での課題になりますね。

ところが、色々と調べていると、下記のコマンドで接続している記事を見かけました。LAN内にDNSサーバーがないのに、ホスト名で接続しています。(?)と思いましたが、最近はLAN内にDNSサーバーなくても「Bonjour」という機能で「ホスト名.local」と打てばLAN内の機器に接続できるようです。

ssh pi@raspberrypi.local

「Bonjour」は、Apple製品の機能なのでMacには標準で入っているようですね。Windowsの場合もiTunesをインストールすれば、この機能を使用できるようになります。

また、iTunesをインストールしなくても、Windows10には同等の機能が標準化されているそうです。この場合、Windowsファイヤウォールの設定が必要とのことです。

設定は次のように行います。

1. コントロールパネルから「Windowsファイアウォール」を開く
2. ウインドウ左側の「詳細設定」をクリックする
3. ウインドウ左側の「受信の規則」を右クリックして「新しい規則」を選択する
4. 現れた画面で「ポート」を選択し「次へ」ボタンをクリックする
5. 「UDP」を選択し、「特定のローカルポート」欄に「5353」と入力して「次へ」ボタンをクリックする
6. 「接続を許可する」を選択し、「次へ」ボタンをクリックする
7. 「この規則はいつ適用しますか」という質問は、すべてをチェックして「次へ」ボタンをクリックする
8. 名前欄に適当な文字列(ex. Bonjour)を入力し、「完了」ボタンをクリックする

https://news.mynavi.jp/article/applelifehack-60/