12/9(月) 応用科学学会シンポジウムで自動運転に関する講演を担当します☆彡(試乗会もあります!来て!)

7-32. Raspberry Piの無線LAN設定ファイル(wpa_supplicant.conf)をWeb上で生成する

やること

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」で大丈夫でした。

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