Add RP power control scripts

master
Harry Ho 2021-05-05 11:48:34 +08:00
parent 781cae28b4
commit 0fc9309748
2 changed files with 58 additions and 0 deletions

26
rp_start_uhubctl Normal file
View File

@ -0,0 +1,26 @@
#!/bin/sh
# Host where the smart USB hub is connected
# (uhubctl must be installed on the host)
export HOST=rpi-3
export HOSTPORT=22
# Hub port where the RedPitaya is connected
export HUBPORT=4
# RedPitaya hostname
export RP_HOST=rp-f0612e
# Get power-on time & date
TIMESTAMP_PRETTY=$(date '+%Y-%m-%d %H:%M:%S')
# Power on RedPitaya connected to the smart USB hub
# (assume that only 1 hub is connected)
ssh -p $HOSTPORT $HOST "uhubctl -a on -p $HUBPORT"
echo "RP powered on at $TIMESTAMP_PRETTY."
# Check if RedPitaya becomes connectable from network by pinging
while true
do
ping $RP_HOST -c 1 >/dev/null 2>/dev/null && break
done
# Print time when RedPitaya ready on network
TIMESTAMP_PRETTY=$(date '+%Y-%m-%d %H:%M:%S')
echo "RP becomes connectable at $TIMESTAMP_PRETTY."

32
rp_stop_uhubctl Normal file
View File

@ -0,0 +1,32 @@
#!/bin/sh
# Host where the smart USB hub is connected
# (uhubctl must be installed on the host)
export HOST=rpi-3
export HOSTPORT=22
# Hub port where the RedPitaya is connected
export HUBPORT=4
# RedPitaya hostname and root information
export RP_HOST=rp-f0612e
# Issue shutdown on the RedPitaya
echo "Requesting shutdown on RP at $RP_HOST. Please enter password."
ssh -o PubkeyAuthentication=no -o PreferredAuthentications=password root@$RP_HOST "shutdown 0"
# Check if RedPitaya has been disconnected from network by pinging
while ping $RP_HOST -c 1 >/dev/null 2>/dev/null
do
true
done
# Print time when RedPitaya is down on network
TIMESTAMP_PRETTY=$(date '+%Y-%m-%d %H:%M:%S')
echo "RP disconnected at $TIMESTAMP_PRETTY."
# Wait 15 seconds
sleep 15
# Get power-off time & date
TIMESTAMP_PRETTY=$(date '+%Y-%m-%d %H:%M:%S')
# Power off RedPitaya connected to the smart USB hub
# (assume that only 1 hub is connected)
ssh -p $HOSTPORT $HOST "uhubctl -a off -p $HUBPORT"
echo "RP powered off at $TIMESTAMP_PRETTY."