Merge pull request #115 from km4ack/dev

Dev
pull/182/head
KM4ACK 2020-08-17 06:40:13 -05:00 zatwierdzone przez GitHub
commit 5b5dc6575c
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
10 zmienionych plików z 280 dodań i 15 usunięć

Wyświetl plik

@ -25,9 +25,17 @@ Flash a fresh copy of Buster to a SD card and run the following command
git clone https://github.com/km4ack/pi-build.git $HOME/pi-build && bash $HOME/pi-build/build-a-pi
# Video
[![IMAGE ALT TEXT](https://img.youtube.com/vi/l4M9VVqGxoc/0.jpg)](https://youtu.be/l4M9VVqGxoc "Build a Pi")
# Issue Reporting - Feature Requests
Please report issues & feature requests here https://github.com/km4ack/pi-build/issues
# BOINC FREE
Build a Pi has never and will not ever try to force any user to run BOINC (Berkeley Open Infrastructure for Network Computing). Build a pi has been always been about giving the end user a choice in the software they run. It is the reason Build a Pi isn't distrubuted as a pre built image. You have the final say in what you run on your pi. Install as little or as much as you choose. While it doesn't include as many apps as some of the pre-built images, it should give you a great base to work with and then you can add additional applications that may be important to you on top of Build a Pi. Want to run BOINC? Feel free because freedom is the basis of Build a Pi. The power is yours and yours alone.
# Available Apps to Install
#### RTC | Real Time Clock
@ -36,6 +44,9 @@ Software for DS3231 real time clock (Available through update script after initi
#### HOTSPOT:
Hotspot is used to generate a wifi hotspot that you can connect to with other wireless devices. This is useful when in the field so you can connect to and contol the pi from a wireless device.
#### Hotspot Tools:
Hotspot tools is a collection of tools designed to make managing the hotspot easier through a GUI interface. https://youtu.be/O_eihSN_ES8
#### GPS:
This will install the needed utilities to get a GPS device configured as a time source on the pi. Helpful when you are not connected to the internet since the pi doesn't have a real time clock and therefore will NOT keep accurate time when powered off. Confirmed to work with this GPS https://amzn.to/2R9Muup Other GPS units may work but have not been tested.

Wyświetl plik

@ -113,6 +113,13 @@ rm $MYPATH/intro.txt
exit
fi
rm $MYPATH/intro.txt
#####################################
# Create autostart dir
#used to autostart conky at boot
#####################################
mkdir -p $HOME/.config/autostart
#####################################
# Get User Call
#####################################
@ -176,7 +183,9 @@ echo "$i" >> $BASE
done
fi
#check if hotspot is chosen for install & get info if needed
#############################################################
#check if hotspot is chosen for install & get info if needed#
#############################################################
HS=$(cat $BASE | grep HOTSPOT)
if [ -n "$HS" ]; then
HSINFO(){
@ -238,6 +247,40 @@ fi
echo "SHACKSSID=$SHACKSSID" >> $CONFIG
echo "SHACKPASS=\"$SHACKPASS\"" >> $CONFIG
echo "HSPASS=\"$HSPASS\"" >> $CONFIG
###################################
#CHECK IF GPS IS CHOSEN TO INSTALL#
###################################
GPSINSTALL=$(cat $BASE | grep GPS)
if [ -n "$GPSINSTALL" ]; then
USB=$(ls /dev/serial/by-id)
USB=$(echo $USB | sed "s/\s/|/g")
yad --center --height="300" --width="300" --form --separator="|" --item-separator="|" --title="GPS" \
--image $LOGO --window-icon=$LOGO --image-on-top \
--text="\r\r\r\r\r<b><big>Connect your GPS to the pi</big></b>" \
--button="Exit":1 \
--button="Continue":2
BUT=$?
if [ $BUT = 1 ] || [ $BUT = 252 ]; then
exit
fi
GPS=$(yad --center --height="600" --width="300" --form --separator="|" --item-separator="|" --title="GPS" \
--image $LOGO --window-icon=$LOGO --image-on-top \
--text="Choose Your GPS" \
--field="GPS":CB "$USB")
BUT=$?
if [ $BUT = 252 ] || [ $BUT = 1 ]; then
echo exiting
exit
fi
GPS=$(echo $GPS | awk -F "|" '{print $1}')
GPS=/dev/serial/by-id/$GPS
echo "GPS=$GPS" >> $CONFIG
fi
#####################################
# FLSUITE
@ -292,6 +335,7 @@ false "HAMCLOCK" "Clock for Ham Radio Ops" \
false "PROPAGATION" "Propagation Prediction Software" \
false "YAAC" "Yet Another APRS Client" \
false "XASTIR" "APRS Client" \
false "GPREDICT" "Satellite Tracking" \
--button="Exit":1 \
--button="Check All and Continue":3 \
--button="Next":2 > $ADDITIONAL
@ -302,7 +346,7 @@ fi
if [ $BUT = 3 ]; then
ADDAPPS=(CONKY PI-APRS CHIRP GARIM PAT PAT-MENU JS8CALL M0IAX WSJTX PYQSO \
CQRLOG EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR)
CQRLOG EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR GPREDICT)
for i in "${ADDAPPS[@]}"
do
@ -373,7 +417,7 @@ crontab -l > $TEMPCRON
echo "@reboot sleep 10 && export DISPLAY=:0 && $MYPATH/.complete" >> $TEMPCRON
$MYPATH/.funfacts &
#upgrade the system
sudo apt-get upgrade
sudo apt-get -y upgrade
sudo apt -y full-upgrade
#set wallpaper
@ -489,7 +533,7 @@ done < $UTILITY
rm $BASE $ADDITIONAL $UTILITY $FLSUITE > /dev/null 2>&1
rm -rf $DIR > /dev/null 2>&1
rm -rf $HOME/Downloads/* > /dev/null 2>&1
sudo apt -y autoremove
sudo apt -y autoremove > /dev/null 2>&1
#restore crontab
crontab $TEMPCRON

Wyświetl plik

@ -1,4 +1,16 @@
version=3.0.2
version=3.0.3
3.0.3 Add GPS by-id to allow for different GPS units to be used (Thanks pleasantone for suggestion) https://github.com/km4ack/pi-build/issues/40
Change conky auto start. Fix https://github.com/km4ack/pi-build/issues/83
Add gpredict satellite tracking software
Add version number to update splash screen (Thanks N5RKE)
send auto remove to dev/null
resolve https://github.com/km4ack/pi-build/issues/92 in wsjtx section (hardcoded for 2.2.2)
add conky-logo.png
add conky logo to setconky
fix issue 108 https://github.com/km4ack/pi-build/issues/108 Thanks N5RKS!
add kernal version only line to diagnostic script
add 7inch conky setting (Thanks VK4GRA)
3.0.2 Add BAP update check to update script

90
conky/conky-7inch 100644
Wyświetl plik

@ -0,0 +1,90 @@
background yes
use_xft yes
xftfont 123:size=6
xftalpha 0.5
update_interval 0.5
total_run_times 0
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 120 5
maximum_width 200
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color gray
default_shade_color red
default_outline_color green
alignment top_right
gap_x 5
gap_y 10
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 1
override_utf8_locale no
use_spacer right
TEXT
${font Arial:size=12}${color Yellow}${alignc}N0CALL
${voffset -30}
${font Arial:bold:size=08}${color White}Gridsquare ${alignr}${color Yellow}${execi 25 $HOME/bin/conky/grid | cut -c1-8}
#${font Arial:bold:size=12}${color White}Radio Freq ${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq | cut -c1-6}
${color Yellow}LOCAL${alignr}ZULU
${voffset -20}
${color DarkSlateGray}${hr 2}
${font Arial:bold:size=08}${color White}${time %H:%M:%S}\
${alignr}${tztime Zulu %H:%M:%S}
${font Arial:bold:size=08}${color White}${time %d%b%y}\
${alignr}${tztime Zulu %d%b%y}
${voffset -85}
${color grey}
${font}
${font Arial:bold:size=08}${color Yellow}SYSTEM ${color DarkSlateGray} ${hr 2}
${font Arial:bold:size=08}${color White}Frequency $alignr${freq_g cpu0}Ghz
${font Arial:bold:size=08}${color White}Uptime $alignr${uptime}
#TEMP
${font Arial:bold:size=08}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | awk -F "[=\']" '{print($2 * 1.8)+32}'} F
${voffset -10}
${font Arial:bold:size=6}${color White}CPU${alignr}${cpu}%
${cpubar cpu}
${font Arial:bold:size=6}${color White}MEM $alignc $mem / $memmax $alignr $memperc%
$membar
${font Arial:bold:size=6}${color White}SWAP $alignc $swap / $swapmax $alignr $swapperc%
$swapbar
${font Arial:bold:size=6}${color White}HDD $alignc ${fs_used /home} / ${fs_size /home} $alignr ${fs_free_perc /home}%
${fs_bar /home}
#
${font Arial:bold:size=8}${color Yellow}NETWORK/HOTSPOT ${color DarkSlateGray}${hr 2}
${font Arial:bold:size=8}${color White}Wireless IP address $alignr ${addr wlan0}
${font Arial:bold:size=8}${color White}Wired IP address $alignr ${addr eth0}
${font Arial:bold:size=8}${color Yellow}DHCP ADDRESSES FOR HOTSPOT ${color DarkSlateGray}${hr 2}
${font Arial:bold:size=8}${color White}${execi 5 cat /var/lib/misc/dnsmasq.leases | awk '{ print $3" "$4 }'}
${voffset 25}
${font Arial:bold:size=8}${color Yellow}RADIO TOOLS ${color DarkSlateGray}${hr 2}
${font Arial:size=08}${if_running piardopc}${color green}ARDOP ACTIVE${else}${color red}ARDOP OFF$endif \
${alignr}${if_running rigctld}${color green}RIGCTL ACTIVE${else}${color red}RIGCTL OFF$endif
${if_running kissattach}${color green}KISSATCH ACTIVE${else}${color red}KISSATCH OFF$endif \
${alignr}${if_running direwolf}${color green}DIREWOLF ACTIVE${else}${color red}DIREWOLF OFF$endif
#
${font Arial:bold:size=8}${color Yellow}DIGITAL APPS ${color DarkSlateGray}${hr 2}
${font Arial:size=08}${if_running js8call}${color green}JS8 ACTIVE${else}${color red}JS8 OFF$endif \
${alignr}${if_running flrig}${color green}FLRIG ACTIVE${else}${color red}FLRIG OFF$endif
${if_running garim}${color green}GARIM ACTIVE${else}${color red}GARIM OFF$endif \
${alignr}${if_running fldigi}${color green}FLDIGI ACTIVE${else}${color red}FLDIGI OFF$endif
${if_running pavucontrol}${color green}PULSE ACTIVE${else}${color red}PULSE OFF$endif \
${alignr}${if_running pat}${color green}PAT ACTIVE${else}${color red}PAT OFF$endif
#
${font Arial:bold:size=8}${color Yellow}RECENT LOG ENTRIES ${color DarkSlateGray}${hr 2}
${font Arial:bold:size=6}${color White}${tail ~/Documents/mylog.txt 5}
#$diskio

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 4.8 KiB

Wyświetl plik

@ -6,6 +6,7 @@
MYPATH=$HOME/pi-build/conky
TEMPFILE=/run/user/1000/conky.tmp
LOGO=$MYPATH/conky-logo.png
CALL=$(cat ~/.conkyrc | grep "{color Yellow}" | sed s'/.*{alignc}//' | head -1)
@ -14,7 +15,7 @@ INFO=$(yad --form --width=420 --text-align=center --center --title="Preferences"
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="<b>Conky Preferences</b>\r\rThis only changes the call sign in conky." \
--field="Call Sign" "$CALL" \
--field="Conky Size":CB "conky-small|conky-medium|conky-large" \
--field="Conky Size":CB "conky-small|conky-medium|conky-large|conky-7inch" \
--field="C or F":CB "C|F" \
--button="Exit":1 \
--button="Continue":2)
@ -49,6 +50,9 @@ ${font Arial:bold:size=10}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencm
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-small' ]; then
#delete F line
echo
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-7inch' ]; then
#delete F line
echo
sed -i '/vcgencmd/d' $TEMPFILE
#add cel line
sed -i '/#TEMP/a \

Wyświetl plik

@ -210,8 +210,11 @@ CHECK
#get system info
WHO=$(whoami)
KERNAL=$(uname -r)
echo "User Name is $WHO" > $DIR/systeminfo.txt
echo "" >> $DIR/systeminfo.txt
echo "Kernal version is $KERNAL" >> $DIR/systeminfo.txt
echo "" >> $DIR/systeminfo.txt
cat /etc/os-release >> $DIR/systeminfo.txt
echo;echo;echo "#####uname######" >> $DIR/systeminfo.txt
uname -a >> $DIR/systeminfo.txt

Wyświetl plik

@ -73,11 +73,26 @@ WSJTX(){
cd $DIR
WSPKG=$(curl -s https://physics.princeton.edu/pulsar/k1jt/wsjtx.html | grep armhf.deb | sed 's/^.*wsjtx/wsjtx/' | sed 's/deb.*$/deb/' | head -1)
wget --tries 2 --connect-timeout=60 --no-check-certificate https://physics.princeton.edu/pulsar/k1jt/$WSPKG
WSJTXSUCCESS=$?
sudo dpkg -i $WSPKG
sudo apt-get --fix-broken -y install
sudo dpkg -i $WSPKG
#try sourcegorge if princeton.edu fails
WSJTX2(){
if [ "$WSJTXSUCCESS" ! = 0 ]; then
cd $DIR
wget --tries 2 --connect-timeout=60 https://sourceforge.net/projects/wsjt/files/wsjtx-2.2.2/wsjtx_2.2.2_armhf.deb
sudo dpkg -i wsjtx_2.2.2_armhf.deb
sudo apt-get --fix-broken -y install
sudo dpkg -i wsjtx_2.2.2_armhf.deb
fi
}
WSJTX2
}
##################################
# CONKY
##################################
@ -94,7 +109,25 @@ mkdir -p $HOME/bin/conky
cp $MYPATH/conky/* $HOME/bin/conky/
chmod +x $HOME/bin/conky/get-grid $HOME/bin/conky/temp-conv $HOME/bin/conky/get-freq $HOME/bin/conky/grid
sed -i "s/N0CALL/$CALL/" $HOME/.conkyrc
echo "@reboot sleep 20 && export DISPLAY=:0 && /usr/bin/conky" >> $TEMPCRON
#echo "@reboot sleep 20 && export DISPLAY=:0 && /usr/bin/conky" >> $TEMPCRON
#Create files needed for autostart at login
#Fix issue https://github.com/km4ack/pi-build/issues/83
cat <<EOF > $HOME/.local/share/applications/conky.desktop
[Desktop Entry]
Name=Conky
Comment=Conky
GenericName=Conky Screen Background Monitor
Exec=conky
Type=Application
Encoding=UTF-8
Terminal=false
Categories=HamRadio
Keywords=Radio
EOF
ln -sf $HOME/.local/share/applications/conky.desktop $HOME/.config/autostart/conky.desktop
}
##################################
@ -420,8 +453,13 @@ sudo mv $HOME/Downloads/hamclock.desktop /usr/share/applications/
}
##################################
# Gpredict
##################################
GPREDICT(){
sudo apt install -y gpredict
}

Wyświetl plik

@ -50,6 +50,10 @@ wget --tries 2 --connect-timeout=60 https://raw.githubusercontent.com/km4ack/pi-
chmod +x $DIR/gpsinstall
sudo $DIR/gpsinstall
rm $DIR/gpsinstall
#Set GPS by serial ID
#GPS Variable set by main script or update script
#and placed in config file
sudo sed -i "s|DEVICES.*$|DEVICES=\"$GPS\"|g" /etc/default/gpsd
}
################################

71
update
Wyświetl plik

@ -43,6 +43,20 @@ fi
trap FINISH EXIT
#remove temp dir if exist
#fix issue 108 https://github.com/km4ack/pi-build/issues/108
#Thanks to N5RKS for finding the bug
if [ -d $HOME/pi-build/temp ]; then
rm -rf $HOME/pi-build/temp
fi
#####################################
# Create autostart dir
#used to autostart conky at boot
#####################################
mkdir -p $HOME/.config/autostart
#Check for BAP updates
#Check for build a pi updates
echo "Checking for Build a Pi updates"
@ -96,8 +110,8 @@ clear
#Scan system for updated applications
yad --width=550 --height=250 --text-align=center --center --title="Update" \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="\r\r\r\rFirst we need to scan the system to see what is installed, \
then check for updates on the web. This should take less than a minute Ready when you are." \
--text="<b>Version $VERSION</b>\r\r\r\rFirst we need to scan the system to see what is installed, \
then check for updates on the web. This should take less than a minute. Ready when you are." \
--button="Exit":1 \
--button="Start Scan":2
BUT=$?
@ -581,6 +595,15 @@ fi
RTC="Unknown"
}
#----------------------------------------------------#
# Gpredict
#----------------------------------------------------#
if ! hash gpredict 2>/dev/null; then
GPREDICT="Not Installed"
else
GPREDICT="Installed"
fi
CHECK
#####################################
# Get User Call
@ -637,7 +660,9 @@ if [ $BUT = 1 ] || [ $BUT = 252 ];then
exit
fi
#check if hotspot is chosen for install & get info if needed
#############################################################
#check if hotspot is chosen for install & get info if needed#
#############################################################
HS=$(cat $BASE | grep HOTSPOT)
if [ -n "$HS" ]; then
HSINFO(){
@ -698,6 +723,39 @@ echo "SHACKSSID=$SHACKSSID" >> $CONFIG
echo "SHACKPASS=$SHACKPASS" >> $CONFIG
echo "HSPASS=$HSPASS" >> $CONFIG
###################################
#CHECK IF GPS IS CHOSEN TO INSTALL#
###################################
GPSINSTALL=$(cat $BASE | grep GPS)
if [ -n "$GPSINSTALL" ]; then
USB=$(ls /dev/serial/by-id)
USB=$(echo $USB | sed "s/\s/|/g")
yad --center --height="300" --width="300" --form --separator="|" --item-separator="|" --title="GPS" \
--image $LOGO --window-icon=$LOGO --image-on-top \
--text="\r\r\r\r\r<b><big>Connect your GPS to the pi</big></b>" \
--button="Exit":1 \
--button="Continue":2
BUT=$?
if [ $BUT = 1 ] || [ $BUT = 252 ]; then
exit
fi
GPS=$(yad --center --height="600" --width="300" --form --separator="|" --item-separator="|" --title="GPS" \
--image $LOGO --window-icon=$LOGO --image-on-top \
--text="Choose Your GPS" \
--field="GPS":CB "$USB")
BUT=$?
if [ $BUT = 252 ] || [ $BUT = 1 ]; then
echo exiting
exit
fi
GPS=$(echo $GPS | awk -F "|" '{print $1}')
GPS=/dev/serial/by-id/$GPS
echo "GPS=$GPS" >> $CONFIG
fi
#----------------------------------------------------#
# FLSUITE APP MENU
@ -743,6 +801,7 @@ false "GRIDTRACKER" "$GRIDTRACK" "Track grids in WSJTX" \
false "HAMCLOCK" "$HAMCLOCK" "Clock for Ham Radio Ops" \
false "PROPAGATION" "$PROP" "Propagation prediction" \
false "EES" "$EES" "KM4ACK Emergency Email Server" \
false "GPREDICT" "$GPREDICT" "Satellite Tracking" \
--button="Exit":1 \
--button="Next":2 > $ADDITIONAL
BUT=$?
@ -823,8 +882,8 @@ fi
crontab -l > $TEMPCRON
echo "@reboot sleep 10 && export DISPLAY=:0 && $MYPATH/.complete" >> $TEMPCRON
#update/upgrade the system
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt -y full-upgrade
#####################################
@ -878,7 +937,7 @@ done < $UTILITY
#####################################
#Remove temp files
rm $BASE $ADDITIONAL $UTILITY $FLSUITE > /dev/null 2>&1
sudo apt -y autoremove
sudo apt -y autoremove > /dev/null 2>&1
#restore crontab
crontab $TEMPCRON