wait for ip address assignmend during dhclien
This commit is contained in:
29
manage.sh
29
manage.sh
@@ -34,15 +34,26 @@ connect_using_wpa_supp() {
|
||||
sudo wpa_supplicant -D nl80211 -i $DRONE_INTERFACE -c network/$DRONE_WPA_SUPP_CONF
|
||||
}
|
||||
|
||||
wait_for_drone() {
|
||||
while ! ping -c1 192.168.10.1 &>/dev/null; do
|
||||
echo "Drone is offline. Waiting.."; sleep 2
|
||||
done
|
||||
echo "Drone is available, can ask for dhcp"; sleep 1
|
||||
}
|
||||
#wait_for_drone() {
|
||||
#while ! ping -c1 192.168.10.1 &>/dev/null; do
|
||||
# echo "Drone is offline. Waiting.."; sleep 2
|
||||
#done
|
||||
#echo "Drone is available, can ask for dhcp"; sleep 1
|
||||
#}
|
||||
|
||||
get_dhcp_ip () {
|
||||
sudo dhclient $DRONE_INTERFACE
|
||||
while true; do
|
||||
sudo dhclient $DRONE_INTERFACE
|
||||
ip_address=$(ip addr show wlan1 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)
|
||||
if [[ -n $ip_address ]]; then
|
||||
echo "Drone assigned IP to commander: $ip_address"
|
||||
echo "ok"
|
||||
break
|
||||
else
|
||||
echo "Drone is not assigned an IP yet. Waiting.."
|
||||
sleep 2
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
start_jupyter() {
|
||||
@@ -81,9 +92,6 @@ elif [ "$1" == "connect-drone" ]; then
|
||||
wpa_supp_pid=$!
|
||||
echo "started wpa supplicant to connect drone network with PID $wpa_supp_pid"
|
||||
echo $wpa_supp_pid > $pids_dir/wpa_supp_pid.txt
|
||||
echo "will wait forever until drone is on and connected to repeater"
|
||||
wait_for_drone
|
||||
echo "ok"
|
||||
|
||||
elif [ "$1" == "disconnect-drone" ]; then
|
||||
wpa_supp_pid_file="$pids_dir/wpa_supp_pid.txt"
|
||||
@@ -157,7 +165,6 @@ elif [ "$1" == "stop-commander" ]; then
|
||||
echo "stopped commander"
|
||||
fi
|
||||
|
||||
|
||||
elif [ "$1" == "prepare-flight" ]; then
|
||||
./manage.sh connect-drone
|
||||
./manage.sh get-dhcp
|
||||
|
||||
Reference in New Issue
Block a user