家庭内の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ファイルの名前を変更して再起動することで変更可能です。
コメント