今回の目的は、Wifi機能がないPanasonicレコーダーと、WifiがないYAMAHAルータで
パナソニック製HDD TVレコーダーに録画された番組をiPhone からどこでもディーガというアプリで
鑑賞するために、ラズパイをWifiのアクセスポイントにしたいというのがスタートです。
※セットアップするだけなら手でやった方が早いというのは無しです。
1年後にラズパイのSDカードが壊れてもPlaybookで1発 OKという状態にしておきたい
・作り方
ラズパイを使ったWifiのAPを導入する方法は沢山あります。
今回は、下記を満たしているものを作成します。
・WifiのIPアドレスはルータと同じセグメントのDHCPから払い出します。
<用意するハードウェア>
・ラズパイ1台 Raspberry Pi 3 Model B Rev 1.2 を使用(WifiAPにする)
・Micro SDカード1枚 今回は16GBを用意 (ラズパイのOSを書き込む)
・Windows10 バージョン2004 ビルド19041.685に、WSL2 https://docs.microsoft.com/ja-jp/windows/wsl/install-win10(Ansible 実行環境)をインストールしておく
<前提>
・Ansible を実行するLinuxが1台ある(今回はWSL2で行う)
<Windowsの手順>
・公式のイメージ書き込みツール「Raspberry Pi Imager」をダウンロードしてhttps://www.raspberrypi.org/software/
SDカードにRaspbianを書き込んでおく
今回は、Linux raspberrypi 5.4.79-v7+ を使用
Imagerで書き込み後、SDカードのドライブで、Explorer で、右クリック、新規作成で、
SDカードに ssh という空のファイルを作成する。(ラズパイ起動時に、sshに接続するため)
<ラズパイの手順>
Windowsで作成したSDカードをラズパイに差し込んで電源を入れる。
ラズパイにLANケーブルを差して、WindowsのWSLから接続できる状態にしておく。
<Windowsの手順>
・Windows10上のWSL2で、Ansible 実行環境を構築する
$ sudo apt-get install ansible
$ ansible --version
ansible 2.9.6
$ sudo useradd -s /bin/bash -d /home/pi pi
$ su - pi
鍵認証するため公開鍵を作成する
$ ssh-keygen -t rsa
鍵をラズパイにコピーする
$ ssh-copy-id pi@raspberrypi.local
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
$ cd ~
$ pwd
/home/pi
$ mkdir -p playbook/inventory
$ cd playbook
ラズパイのIPアドレスをhosts.iniに書き込む
$ echo 192.168.2.110 >inventory/hosts.ini
Playbookを記載する
$ vi wifi-ap.yml
:
$ ansible-playbook -i inventory/hosts.ini wifi-ap.yml
PLAY RECAP *************************************************************************************************************
192.168.2.110 : ok=18 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
<備考>
・ラズパイのWifi APのソフトは下記の通り。apt でバージョン指定していないため、
実行する時期で、バージョンは変わる可能性があります。
hostapd v2.8-devel
bridge-utils/stable,now 1.6-2 armhf
・今回は、Playbookが140行と長いため割愛します。