やること
Raspberry Piの無線LAN設定ファイル(wpa_supplicant.conf)をWeb上で生成してみました。ブラウザでSSIDとパスワードを入力して設定ファイルをダウンロードできます。
参考文献
こちらのサイトを参考にさせていただきました。感謝します。
コード
「index.html」の内容です。
<!DOCTYPE html>
<html lang="ja">
<head>
<metahttp-equiv="content-type" content="text/html; charset=UTF-8">
<title>無線LAN設定ファイル生成</title>
<script>
function save() {
//入力文字列を取得
const text1 = document.getElementById('text1').value;
const text2 = document.getElementById('text2').value;
//どちらかが空なら終了
if(!text1 || !text2){
return;
};
//テキストファイルの中身の作成
const text3 = `country=JP\n`
+ `ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\n`
+ `update_config=1\n`
+ `network={\n`
+ ` ssid="${text1}"\n`
+ ` psk="${text2}"\n`
+ `}`;
//文字列のBlob化
const blob = new Blob([text3], {type: 'text/plain'});
//ダウンロード用のaタグ
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = 'wpa_supplicant.conf';
a.click();
};
</script>
</head>
<body>
SSID<br>
<input type="text" id="text1" size="30" maxlength="100"><br>
パスワード<br>
<input type="text" id="text2" size="30" maxlength="100"><br>
Wi-Fi設定ファイルをダウンロード<br>
<button onclick="save();">ダウンロード</button>
</body>
</html>
ブラウザにアクセスし、SSIDとパスワードを入力してダウンロードボタンを押すと「wpa_supplicant.conf」が手に入ります。
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="aaa"
psk="eee"
}
これで /etc/wpa_supplicant/wpa_supplicant.conf を置き換えるとか、そんな感じでWi-Fiに繋がると思います。なお、Raspberry Piの種類によっては2.4GHzのみ対応であることにご注意ください。5GHzのSSIDを書き込んでも繋がりません。
おわりに
「wpa_supplicant.conf」の改行コードが違うと機能しませんのでご注意を。「\n」で大丈夫でした。