kopia lustrzana https://github.com/F5OEO/rpidatv
Impemented Wifi switching
rodzic
bf8fd00428
commit
217486330b
|
@ -102,11 +102,21 @@ if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
||||||
. /etc/bash_completion
|
. /etc/bash_completion
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Uncomment to enable tidy shutdown by hardware button
|
## Tidy shutdown by hardware button
|
||||||
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
||||||
## See https://github.com/philcrump/pi-sdn
|
## See https://github.com/philcrump/pi-sdn
|
||||||
## sudo pi-sdn 3 2 &
|
## Calls .pi-sdn if present and runs "sudo pi-sdn 3 2 &"
|
||||||
|
|
||||||
|
if [ -f ~/.pi-sdn ]; then
|
||||||
|
. ~/.pi-sdn
|
||||||
|
fi
|
||||||
|
|
||||||
./rpidatv/scripts/rpibutton.sh
|
## Facility to Disable WiFi
|
||||||
|
## Calls .wifi_off if present and runs "sudo ifconfig wlan0 down"
|
||||||
|
|
||||||
|
if [ -f ~/.wifi_off ]; then
|
||||||
|
. ~/.wifi_off
|
||||||
|
fi
|
||||||
|
|
||||||
|
./rpidatv/scripts/rpibutton.sh
|
||||||
|
|
||||||
|
|
|
@ -113,9 +113,20 @@ if ! shopt -oq posix; then
|
||||||
fi
|
fi
|
||||||
#con2fbmap 1 1
|
#con2fbmap 1 1
|
||||||
|
|
||||||
## Uncomment to enable tidy shutdown by hardware button
|
## Tidy shutdown by hardware button
|
||||||
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
||||||
## See https://github.com/philcrump/pi-sdn
|
## See https://github.com/philcrump/pi-sdn
|
||||||
## sudo pi-sdn 3 2 &
|
## Calls .pi-sdn if present and runs "sudo pi-sdn 3 2 &"
|
||||||
|
|
||||||
|
if [ -f ~/.pi-sdn ]; then
|
||||||
|
. ~/.pi-sdn
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Facility to Disable WiFi
|
||||||
|
## Calls .wifi_off if present and runs "sudo ifconfig wlan0 down"
|
||||||
|
|
||||||
|
if [ -f ~/.wifi_off ]; then
|
||||||
|
. ~/.wifi_off
|
||||||
|
fi
|
||||||
|
|
||||||
./rpidatv/scripts/menu.sh menu
|
./rpidatv/scripts/menu.sh menu
|
||||||
|
|
|
@ -113,9 +113,21 @@ if ! shopt -oq posix; then
|
||||||
fi
|
fi
|
||||||
#con2fbmap 1 1
|
#con2fbmap 1 1
|
||||||
|
|
||||||
## Uncomment to enable tidy shutdown by hardware button
|
## Tidy shutdown by hardware button
|
||||||
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
||||||
## See https://github.com/philcrump/pi-sdn
|
## See https://github.com/philcrump/pi-sdn
|
||||||
## sudo pi-sdn 3 2 &
|
## Calls .pi-sdn if present and runs "sudo pi-sdn 3 2 &"
|
||||||
|
|
||||||
|
if [ -f ~/.pi-sdn ]; then
|
||||||
|
. ~/.pi-sdn
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Facility to Disable WiFi
|
||||||
|
## Calls .wifi_off if present and runs "sudo ifconfig wlan0 down"
|
||||||
|
|
||||||
|
if [ -f ~/.wifi_off ]; then
|
||||||
|
. ~/.wifi_off
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
./rpidatv/scripts/menu.sh
|
./rpidatv/scripts/menu.sh
|
||||||
|
|
|
@ -102,10 +102,21 @@ if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
||||||
. /etc/bash_completion
|
. /etc/bash_completion
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Uncomment to enable tidy shutdown by hardware button
|
## Tidy shutdown by hardware button
|
||||||
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
||||||
## See https://github.com/philcrump/pi-sdn
|
## See https://github.com/philcrump/pi-sdn
|
||||||
## sudo pi-sdn 3 2 &
|
## Calls .pi-sdn if present and runs "sudo pi-sdn 3 2 &"
|
||||||
|
|
||||||
|
if [ -f ~/.pi-sdn ]; then
|
||||||
|
. ~/.pi-sdn
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Facility to Disable WiFi
|
||||||
|
## Calls .wifi_off if present and runs "sudo ifconfig wlan0 down"
|
||||||
|
|
||||||
|
if [ -f ~/.wifi_off ]; then
|
||||||
|
. ~/.wifi_off
|
||||||
|
fi
|
||||||
|
|
||||||
sudo killall fbcp
|
sudo killall fbcp
|
||||||
fbcp &
|
fbcp &
|
||||||
|
|
|
@ -102,10 +102,21 @@ if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
||||||
. /etc/bash_completion
|
. /etc/bash_completion
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Uncomment to enable tidy shutdown by hardware button
|
## Tidy shutdown by hardware button
|
||||||
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
||||||
## See https://github.com/philcrump/pi-sdn
|
## See https://github.com/philcrump/pi-sdn
|
||||||
## sudo pi-sdn 3 2 &
|
## Calls .pi-sdn if present and runs "sudo pi-sdn 3 2 &"
|
||||||
|
|
||||||
|
if [ -f ~/.pi-sdn ]; then
|
||||||
|
. ~/.pi-sdn
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Facility to Disable WiFi
|
||||||
|
## Calls .wifi_off if present and runs "sudo ifconfig wlan0 down"
|
||||||
|
|
||||||
|
if [ -f ~/.wifi_off ]; then
|
||||||
|
. ~/.wifi_off
|
||||||
|
fi
|
||||||
|
|
||||||
sudo killall fbcp
|
sudo killall fbcp
|
||||||
fbcp &
|
fbcp &
|
||||||
|
|
|
@ -112,7 +112,19 @@ if ! shopt -oq posix; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Uncomment to enable tidy shutdown by hardware button
|
## Tidy shutdown by hardware button
|
||||||
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
## Button to 3.3v on physical pin 15. LED to indicate still running on pin 13
|
||||||
## See https://github.com/philcrump/pi-sdn
|
## See https://github.com/philcrump/pi-sdn
|
||||||
## sudo pi-sdn 3 2 &
|
## Calls .pi-sdn if present and runs "sudo pi-sdn 3 2 &"
|
||||||
|
|
||||||
|
if [ -f ~/.pi-sdn ]; then
|
||||||
|
. ~/.pi-sdn
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Facility to Disable WiFi
|
||||||
|
## Calls .wifi_off if present and runs "sudo ifconfig wlan0 down"
|
||||||
|
|
||||||
|
if [ -f ~/.wifi_off ]; then
|
||||||
|
. ~/.wifi_off
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
## called by .bashrc at log-on to diable wifi
|
||||||
|
## If this file is not in ~, then wifi is allowed to start
|
||||||
|
|
||||||
|
sudo ifconfig wlan0 down
|
||||||
|
|
||||||
|
## Only way to restart wifi is to reboot
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
##STARTNW
|
||||||
|
## No network loaded
|
||||||
|
##ENDNW
|
|
@ -0,0 +1,4 @@
|
||||||
|
network={
|
||||||
|
ssid="PixienetG"
|
||||||
|
psk=b7a2fc71b648e214d337ca533c8c506167fc8f463477c50df379067cc3341912
|
||||||
|
}
|
|
@ -578,7 +578,7 @@ do_freq_setup()
|
||||||
FREQ_OUTPUT=$(get_config_var freqoutput $CONFIGFILE)
|
FREQ_OUTPUT=$(get_config_var freqoutput $CONFIGFILE)
|
||||||
FREQ=$(whiptail --inputbox "$StrOutputRFFreqContext" 8 78 $FREQ_OUTPUT --title "$StrOutputRFFreqTitle" 3>&1 1>&2 2>&3)
|
FREQ=$(whiptail --inputbox "$StrOutputRFFreqContext" 8 78 $FREQ_OUTPUT --title "$StrOutputRFFreqTitle" 3>&1 1>&2 2>&3)
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
set_config_var freqoutput "$FREQ" $CONFIGFILE
|
set_config_var freqoutput "$FREQ" $CONFIGFILE
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -850,18 +850,62 @@ CURRENTIP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '(
|
||||||
whiptail --title "IP" --msgbox "$CURRENTIP" 8 78
|
whiptail --title "IP" --msgbox "$CURRENTIP" 8 78
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_WiFi_setup()
|
||||||
|
{
|
||||||
|
$PATHSCRIPT"/wifisetup.sh"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_WiFi_Off()
|
||||||
|
{
|
||||||
|
sudo ifconfig wlan0 down ## Disable it now
|
||||||
|
cp $PATHCONFIGS"/text.wifi_off" /home/pi/.wifi_off ## Disable at start-up
|
||||||
|
}
|
||||||
|
|
||||||
|
do_Enable_DigiThin()
|
||||||
|
{
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
do_Exit()
|
||||||
|
{
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
do_Reboot()
|
||||||
|
{
|
||||||
|
sudo reboot now
|
||||||
|
}
|
||||||
|
|
||||||
|
do_Shutdown()
|
||||||
|
{
|
||||||
|
sudo shutdown now
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
do_system_setup()
|
do_system_setup()
|
||||||
{
|
{
|
||||||
menuchoice=$(whiptail --title "$StrSystemTitle" --menu "$StrSystemContext" 16 78 5 \
|
menuchoice=$(whiptail --title "$StrSystemTitle" --menu "$StrSystemContext" 16 78 9 \
|
||||||
"1 Autostart" "$StrAutostartMenu" \
|
"1 Autostart" "$StrAutostartMenu" \
|
||||||
"2 Display" "$StrDisplayMenu" \
|
"2 Display" "$StrDisplayMenu" \
|
||||||
"3 IP" "$StrIPMenu" \
|
"3 IP" "$StrIPMenu" \
|
||||||
3>&2 2>&1 1>&3)
|
"4 WiFi Set-up" "SSID and password" \
|
||||||
case "$menuchoice" in
|
"5 WiFi Off" "Turn the WiFi Off" \
|
||||||
1\ *) do_autostart_setup ;;
|
"6 Enable DigiThin" "Not Implemented Yet" \
|
||||||
2\ *) do_display_setup ;;
|
"7 Exit Menu" "Go to Command Line" \
|
||||||
3\ *) do_IP_setup ;;
|
"8 Reboot" "Reboot the Raspberry Pi" \
|
||||||
esac
|
"9 ShutDown" "Shutdown for Safe Power Off" \
|
||||||
|
3>&2 2>&1 1>&3)
|
||||||
|
case "$menuchoice" in
|
||||||
|
1\ *) do_autostart_setup ;;
|
||||||
|
2\ *) do_display_setup ;;
|
||||||
|
3\ *) do_IP_setup ;;
|
||||||
|
4\ *) do_WiFi_setup ;;
|
||||||
|
5\ *) do_WiFi_Off ;;
|
||||||
|
6\ *) do_Enable_DigiThin ;;
|
||||||
|
7\ *) do_Exit ;;
|
||||||
|
8\ *) do_Reboot ;;
|
||||||
|
9\ *) do_Shutdown ;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
do_language_setup()
|
do_language_setup()
|
||||||
|
|
|
@ -20,3 +20,4 @@ pidaudio=257
|
||||||
display=Waveshare
|
display=Waveshare
|
||||||
menulanguage=en
|
menulanguage=en
|
||||||
analogcamname=/dev/video0
|
analogcamname=/dev/video0
|
||||||
|
startup=Prompt
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Script used to set up WiFi from rpidatv menu
|
||||||
|
|
||||||
|
reset # Clear the screen
|
||||||
|
|
||||||
|
# Check that wifi has not been disabled
|
||||||
|
|
||||||
|
if [ -f ~/.wifi_off ]; then
|
||||||
|
printf "WiFi was disabled at start-up.\n"
|
||||||
|
printf "You cannot set up the WiFi until it is re-enabled.\n"
|
||||||
|
printf "Do you want to re-enable it and reboot imediately?\n"
|
||||||
|
read -n 1
|
||||||
|
printf "\n"
|
||||||
|
if [ "$REPLY" = "Y" ]; then
|
||||||
|
echo "rebooting"
|
||||||
|
rm ~/.wifi_off
|
||||||
|
sudo reboot now
|
||||||
|
else
|
||||||
|
if [ "$REPLY" = "y" ]; then
|
||||||
|
echo "rebooting"
|
||||||
|
rm ~/.wifi_off
|
||||||
|
sudo reboot now
|
||||||
|
else
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Wifi is enabled so
|
||||||
|
## List the available networks
|
||||||
|
|
||||||
|
printf "The following networks are available:\n"
|
||||||
|
printf "\n"
|
||||||
|
sudo iwlist wlan0 scan | grep 'ESSID'
|
||||||
|
printf "\n"
|
||||||
|
printf "Type the SSID of the network that you want to connect to (without qoutes) and press enter\n"
|
||||||
|
printf "\n"
|
||||||
|
|
||||||
|
read SSID
|
||||||
|
|
||||||
|
printf "\n"
|
||||||
|
printf "Type the network password and press enter\n"
|
||||||
|
printf "Characters will not be displayed\n"
|
||||||
|
printf "\n"
|
||||||
|
|
||||||
|
stty -echo
|
||||||
|
|
||||||
|
read PW
|
||||||
|
|
||||||
|
stty echo
|
||||||
|
printf "\nWorking....\n\n"
|
||||||
|
stty -echo
|
||||||
|
|
||||||
|
PSK_TEXT=$(wpa_passphrase "$SSID" "$PW" | grep 'psk=' | grep -v '#psk')
|
||||||
|
|
||||||
|
PATHCONFIGS="/home/pi/rpidatv/scripts/configs" ## Path to config files
|
||||||
|
|
||||||
|
## Build text for supplicant file
|
||||||
|
|
||||||
|
rm $PATHCONFIGS"/wpa_text.txt"
|
||||||
|
|
||||||
|
echo -e "network={" >> $PATHCONFIGS"/wpa_text.txt"
|
||||||
|
echo -e " ssid="\"""$SSID"\"" >> $PATHCONFIGS"/wpa_text.txt"
|
||||||
|
echo -e " "$PSK_TEXT >> $PATHCONFIGS"/wpa_text.txt"
|
||||||
|
echo -e "}" >> $PATHCONFIGS"/wpa_text.txt"
|
||||||
|
|
||||||
|
## Copy the existing wpa_supplicant file to work on
|
||||||
|
|
||||||
|
sudo cp /etc/wpa_supplicant/wpa_supplicant.conf $PATHCONFIGS"/wpa_supcopy.txt"
|
||||||
|
sudo chown pi:pi $PATHCONFIGS"/wpa_supcopy.txt"
|
||||||
|
|
||||||
|
## Define the parameters for the replace script
|
||||||
|
|
||||||
|
lead='^##STARTNW' ## Marker for start of inserted text
|
||||||
|
tail='^##ENDNW' ## Marker for end of inserted text
|
||||||
|
CHANGEFILE=$PATHCONFIGS"/wpa_supcopy.txt" ## File requiring added text
|
||||||
|
APPENDFILE=$PATHCONFIGS"/wpa_markers.txt" ## File containing both markers
|
||||||
|
TRANSFILE=$PATHCONFIGS"/transfer.txt" ## File used for transfer
|
||||||
|
INSERTFILE=$PATHCONFIGS"/wpa_text.txt" ## File to be included
|
||||||
|
|
||||||
|
grep -q "$lead" "$CHANGEFILE" ## Is the first marker already present?
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
sudo bash -c 'cat '$APPENDFILE' >> '$CHANGEFILE' ' ## If not append the markers
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Replace whatever is between the markers with the insert text
|
||||||
|
|
||||||
|
sed -e "/$lead/,/$tail/{ /$lead/{p; r $INSERTFILE
|
||||||
|
}; /$tail/p; d }" $CHANGEFILE >> $TRANSFILE
|
||||||
|
|
||||||
|
sudo cp "$TRANSFILE" "$CHANGEFILE" ## Copy from the transfer file
|
||||||
|
rm $TRANSFILE ## Delete the transfer file
|
||||||
|
|
||||||
|
## Give the file root ownership and copy it back over the original
|
||||||
|
|
||||||
|
sudo chown root:root $PATHCONFIGS"/wpa_supcopy.txt"
|
||||||
|
sudo cp $PATHCONFIGS"/wpa_supcopy.txt" /etc/wpa_supplicant/wpa_supplicant.conf
|
||||||
|
sudo rm $PATHCONFIGS"/wpa_supcopy.txt"
|
||||||
|
|
||||||
|
stty echo
|
||||||
|
|
||||||
|
##bring wifi down and up again
|
||||||
|
|
||||||
|
sudo ifdown wlan0
|
||||||
|
sudo ifup wlan0
|
||||||
|
|
||||||
|
printf "WiFi Configured\n"
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
exit
|
Ładowanie…
Reference in New Issue