(クライアントからの)WiFiネットワーク接続が少なくとも1つ存在する場合、任意のデーモンを起動する必要があります。そして、このAPへの接続がなくなったら、任意のデーモンを停止します。それを効率的に行う方法は?今のところ、hostapd_cli all_sta
の結果をポーリングすることを検討していますが、奇妙に思えます。フックできるシステムイベントが必要だと確信しています。
今のところ、私は次の解決策を見つけました:
hostapd_cli -a'some_script '
スクリプトがネットワークインターフェイス名とイベントタイプを引数として受け取る場所。これは、hostapd
デーモンの後に開始する必要があります。また、ctrl_interface
をhostapd.conf
に設定する必要があります。
@beemasterが言ったようにこれを実行します:
hostapd_cli -a '/onHostapdChange.sh'
スクリプトを使用する場合:onHostapdChange.sh
#!/bin/bash
if [[ $2 == "AP-STA-CONNECTED" ]]
then
echo "someone has connected with mac id $3 on $1"
fi
if [[ $2 == "AP-STA-DISCONNECTED" ]]
then
echo "someone has disconnected with mac id $3 on $1"
fi