first commit
This commit is contained in:
commit
a5a0434432
1126 changed files with 439481 additions and 0 deletions
112
Script/install_scratch.sh
Normal file
112
Script/install_scratch.sh
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
echo "This script will install Scratch for GrovePi+ on a standard Stretch Raspbian"
|
||||
|
||||
|
||||
PIHOME=/home/pi
|
||||
RASPBIAN=$PIHOME/di_update/Raspbian_For_Robots
|
||||
DEXTER=Dexter
|
||||
ROBOT_FOLDER=GrovePi
|
||||
LIB=lib
|
||||
LIB_PATH=$PIHOME/$DEXTER/$LIB
|
||||
DEXTERLIB_PATH=$LIB_PATH/$DEXTER
|
||||
SCRATCH=Scratch_GUI
|
||||
SCRATCH_PATH=$DEXTERLIB_PATH/$SCRATCH
|
||||
RFR_TOOLS_PATH=$LIB_PATH/$DEXTER/RFR_Tools
|
||||
|
||||
# let's test for the presence of ~/Dexter/lib/Dexter as a sign that all tools are
|
||||
# pre-installed
|
||||
if [ ! -d "$DEXTERLIB_PATH" ]
|
||||
then
|
||||
echo "Installation issues. Please install GrovePi first."
|
||||
echo "curl -kL dexterindustries.com/update_grovepi | bash"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -d "$RFR_TOOLS_PATH" ]
|
||||
then
|
||||
echo "Installation issues. Please install GrovePi first."
|
||||
echo "curl -kL dexterindustries.com/update_grovepi | bash"
|
||||
exit 2
|
||||
fi
|
||||
if [ ! -d "$PIHOME/$DEXTER/$ROBOT_FOLDER" ]
|
||||
then
|
||||
echo "Installation issues. Please install GrovePi first."
|
||||
echo "curl -kL dexterindustries.com/update_grovepi | bash"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
source $DEXTERLIB_PATH/script_tools/functions_library.sh
|
||||
|
||||
# feedback "Installing some libraries"
|
||||
# sudo apt-get install python-smbus python3-smbus
|
||||
|
||||
setup_modules_and_config(){
|
||||
feedback "activating I2C"
|
||||
sudo sed -i "/i2c-dev/d" /etc/modules
|
||||
sudo echo "i2c-dev" >> /etc/modules
|
||||
sudo sed -i "/dtparam=i2c_arm=on/d" /boot/config.txt
|
||||
sudo echo "dtparam=i2c_arm=on" >> /boot/config.txt
|
||||
}
|
||||
|
||||
install_scratchpy() {
|
||||
# installing scratch_controller
|
||||
pushd $LIB_PATH > /dev/null
|
||||
delete_folder scratchpy
|
||||
git clone --depth=1 https://github.com/DexterInd/scratchpy
|
||||
cd scratchpy
|
||||
sudo make install > /dev/null
|
||||
popd > /dev/null
|
||||
}
|
||||
|
||||
|
||||
# Copy shortcut to desktop.
|
||||
install_desktop_icons() {
|
||||
feedback "Installing Scratch on the desktop"
|
||||
|
||||
if [ -f "/usr/bin/scratch" ]
|
||||
then
|
||||
echo "Installing support for Scratch 1.4"
|
||||
echo $RFR_TOOLS_PATH/Scratch_GUI/Scratch_Start.desktop
|
||||
sudo cp $RFR_TOOLS_PATH/Scratch_GUI/Scratch_Start.desktop /home/pi/Desktop/Scratch_Start.desktop
|
||||
else
|
||||
echo "scratch not found"
|
||||
fi
|
||||
|
||||
if [ -f "/usr/bin/scratch2" ]
|
||||
then
|
||||
echo "Installing support for Scratch 2"
|
||||
pushd $PIHOME/$DEXTER/$ROBOT_FOLDER/Software/Scratch/s2pifiles > /dev/null
|
||||
sudo cp extensions.json /usr/lib/scratch2/scratch_extensions/extensions.json
|
||||
sudo cp piGrovePiExtension.js /usr/lib/scratch2/scratch_extensions/piGrovePiExtension.js
|
||||
sudo cp grovepi.html /usr/lib/scratch2/scratch_extensions/grovepi.html
|
||||
sudo cp -u grovepi.png /usr/lib/scratch2/medialibrarythumbnails/grovepi.png
|
||||
popd > /dev/null
|
||||
sudo cp $PIHOME/$DEXTER/$ROBOT_FOLDER/Software/Scratch/Local_Scratch2_Start.desktop /home/pi/Desktop/Local_Scratch2_Start.desktop
|
||||
fi
|
||||
|
||||
# Desktop shortcut permissions.
|
||||
sudo chmod +x $PIHOME/Desktop/*.desktop
|
||||
}
|
||||
|
||||
feedback "Installing Scratch Environment"
|
||||
setup_modules_and_config
|
||||
install_scratchpy
|
||||
|
||||
sudo rm -r $DEXTERLIB_PATH/$SCRATCH
|
||||
mkdir -p $DEXTERLIB_PATH/$SCRATCH
|
||||
cp -r $RFR_TOOLS_PATH/$SCRATCH $DEXTERLIB_PATH/
|
||||
|
||||
install_desktop_icons
|
||||
|
||||
# Make select_state, error_log, nohup.out readable and writable
|
||||
sudo echo "GrovePi" >> $SCRATCH_PATH/selected_state
|
||||
sudo touch $SCRATCH_PATH/error_log
|
||||
sudo chmod 666 $SCRATCH_PATH/selected_state
|
||||
sudo chmod 666 $SCRATCH_PATH/error_log
|
||||
|
||||
sudo cp $PIHOME/$DEXTER/$ROBOT_FOLDER/Software/Scratch/new.sb $PIHOME/$DEXTER/$LIB/$DEXTER/$SCRATCH/new.sb
|
||||
|
||||
# transferring Scratch examples into proper Scratch folder
|
||||
sudo rm /usr/share/scratch/Projects/$ROBOT_FOLDER 2> /dev/null
|
||||
sudo ln -s $PIHOME/$DEXTER/$ROBOT_FOLDER/Software/Scratch/Examples /usr/share/scratch/Projects/$ROBOT_FOLDER 2> /dev/null
|
||||
|
||||
feedback "You now have a Scratch icon on your desktop. Double clicking it will start Scratch with all the necessary configuration to control your GrovePi+"
|
||||
feedback "Please note that you cannot use Scratch from the menu or double click on a Scratch file to control your robot."
|
||||
Loading…
Add table
Add a link
Reference in a new issue