ラズパイにIPを意識せずにアクセスする方法

家庭内のwifi環境でローカルネットワークにラズパイを置いて、wifiルータで、DHCP時に固定IPを割当てるように設定しても良いですが、mdns を使った方がお手軽だと思うので、そのやり方を説明します。

mdns とは?

mdnsは超ざっくりいうと、通信するのに必要な通信相手のIPアドレスを、コンピュータの名前から取得する方法です。

WSL Ubuntuでの設定方法

windowsでは、powershell のコマンドで、resolve-dnsname を使うと指定した名前のコンピュータの情報が取得できます。そこから、IPアドレスを抜き出して、ssh コマンドの一部としてIPを使用してラズパイと接続するようにしました。
以下は、.bashrc のスクリプトです。rapsberrypi とbashでコマンドを打てば接続できます。DHCPでIPが変更になっても問題ありません。

※ WSLから直接 xxx.local では動作ができません。

<.bash.rc>

#### mDNSを使って、引数のホストのIPを求める。 ここではrapsberrypi.local を指定する。
function mdns() {
  command powershell.exe "resolve-dnsname" $1 | command grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
}  

function rapsberrypi() {
  IPVAR=$(mdns rapsberrypi.local)
  echo IP:${IPVAR}
  command ssh -l user -i "path_to_sshfile" ${IPVAR}
}

ラズパイのホスト名の変更

ちなみに、ラズパイの名前を変更したい場合は、
 /etc/hostname
 /etc/hosts
の2ファイルの名前を変更して再起動することで変更可能です。

Xserver が お友達紹介割引 で申込みが可能になります。

コメント

タイトルとURLをコピーしました