#!/bin/sh
|
|
PROCESS=/data/dds_service.sh
|
|
softap_stop()
|
{
|
echo softap_stoping
|
|
killall dui_fespa || echo dui_fespa-exit
|
ip addr delete 192.168.1.1 dev p2p0 || echo ip-addr-delete
|
killall hostapd || echo hostapd-exit
|
ifconfig p2p0 down || echo p2p0
|
|
echo softap_stopped
|
}
|
|
dds_start()
|
{
|
softap_stop
|
#echo dds_start
|
pidof dui_fespa || $PROCESS start
|
|
gst-play-1.0 /data/aispeech_softap_lite/audio/connect_ok.mp3
|
}
|
|
dds_stop()
|
{
|
echo dds_stop
|
#$PROCESS stop
|
}
|
wifiReadyAction()
|
{
|
pidof dui_fespa || $PROCESS start
|
}
|
wifiUpAction()
|
{
|
echo wifiUp
|
dds_start
|
}
|
wifiDownAction()
|
{
|
echo wifiDown
|
dds_stop
|
}
|
wifiChangeAction()
|
{
|
echo wifiChange
|
dds_stop
|
dds_start
|
}
|
wifiRequestingIp()
|
{
|
echo wifiRequestingIp
|
}
|
|
checkwifistate()
|
{
|
local flag=0
|
local last_ip_address=0
|
while true
|
do
|
wpa_state=`wpa_cli -iwlan0 status | grep wpa_state | awk -F '=' '{printf $2}'`
|
ip_address=`wpa_cli -iwlan0 status | grep ip_address | awk -F '=' '{printf $2}'`
|
|
if [ "${wpa_state}"x = "COMPLETED"x ];then
|
if [ "${ip_address}"x != ""x ] && [ "${ip_address}"x != "0.0.0.0"x ];then
|
if [ $flag -eq 0 ];then
|
flag=1
|
wifiUpAction
|
elif [ "${ip_address}"x != "${last_ip_address}"x ];then
|
flag=1
|
wifiChangeAction
|
else
|
flag=1
|
wifiReadyAction
|
fi
|
else
|
flag=0
|
wifiRequestingIp
|
fi
|
else
|
if [ $flag -eq 1 ];then
|
flag=0
|
wifiDownAction
|
fi
|
fi
|
sleep 3
|
last_ip_address="${ip_address}"
|
done
|
}
|
|
$PROCESS stop
|
checkwifistate
|