From 034d2c03e618bb7ce1aad2a6ca6f67bd3c6e59b3 Mon Sep 17 00:00:00 2001 From: davidferguson Date: Sun, 7 Aug 2016 10:47:44 +0100 Subject: [PATCH] update blocks to 2.0 blocks 2.0 contain OTG modes, a fix to the run command block, and the new block loading system --- .../bootbehaviour/bootbehaviour.json | 1 + pibakery-blocks/categories.json | 29 ++++++++ pibakery-blocks/changepass/changepass.json | 1 + pibakery-blocks/deletefile/deletefile.json | 1 + .../downloadfile/downloadfile.json | 1 + pibakery-blocks/info.json | 11 ++- pibakery-blocks/lampinstall/lampinstall.json | 1 + pibakery-blocks/otgether/otgEther.sh | 50 +++++++++++++ pibakery-blocks/otgether/otgether.json | 18 +++++ .../otgmassstorage/otgMassStorage.sh | 74 +++++++++++++++++++ .../otgmassstorage/otgmassstorage.json | 12 +++ pibakery-blocks/otgmidi/otgMidi.sh | 32 ++++++++ pibakery-blocks/otgmidi/otgmidi.json | 12 +++ pibakery-blocks/otgremove/otgRemove.sh | 17 +++++ pibakery-blocks/otgremove/otgremove.json | 12 +++ pibakery-blocks/otgserial/otgSerial.sh | 35 +++++++++ pibakery-blocks/otgserial/otgserial.json | 12 +++ .../packageinstall/packageinstall.json | 1 + pibakery-blocks/reboot/reboot.json | 1 + pibakery-blocks/runcommand/runCommand.sh | 2 +- pibakery-blocks/runcommand/runcommand.json | 1 + pibakery-blocks/runpython/runpython.json | 1 + pibakery-blocks/sethostname/sethostname.json | 1 + pibakery-blocks/shutdown/shutdown.json | 1 + pibakery-blocks/vncserver/vncserver.json | 1 + pibakery-blocks/vncstart/vncstart.json | 1 + pibakery-blocks/wifisetup/wifisetup.json | 1 + 27 files changed, 326 insertions(+), 4 deletions(-) create mode 100755 pibakery-blocks/categories.json create mode 100755 pibakery-blocks/otgether/otgEther.sh create mode 100755 pibakery-blocks/otgether/otgether.json create mode 100755 pibakery-blocks/otgmassstorage/otgMassStorage.sh create mode 100755 pibakery-blocks/otgmassstorage/otgmassstorage.json create mode 100755 pibakery-blocks/otgmidi/otgMidi.sh create mode 100755 pibakery-blocks/otgmidi/otgmidi.json create mode 100755 pibakery-blocks/otgremove/otgRemove.sh create mode 100755 pibakery-blocks/otgremove/otgremove.json create mode 100755 pibakery-blocks/otgserial/otgSerial.sh create mode 100755 pibakery-blocks/otgserial/otgserial.json diff --git a/pibakery-blocks/bootbehaviour/bootbehaviour.json b/pibakery-blocks/bootbehaviour/bootbehaviour.json index c51e172..f535b1e 100755 --- a/pibakery-blocks/bootbehaviour/bootbehaviour.json +++ b/pibakery-blocks/bootbehaviour/bootbehaviour.json @@ -11,6 +11,7 @@ "network": false, "continue": true, "type": "setting", + "category":"setting", "shortDescription":"Alter what happens when you power on your Raspberry Pi. Requires reboot to take effect", "longDescription":"When you power on you Raspberry Pi, you can choose what you want to happen. You can either have it open the Desktop or just the text console, and in both of these cases you can choose whether you want to have the Raspberry Pi automatically log in for you or not." } diff --git a/pibakery-blocks/categories.json b/pibakery-blocks/categories.json new file mode 100755 index 0000000..fcfd72f --- /dev/null +++ b/pibakery-blocks/categories.json @@ -0,0 +1,29 @@ +{ + "categories": [ + { + "name": "software", + "display": "Programs", + "colour": "120" + }, + { + "name": "network", + "display": "Network", + "colour": "260" + }, + { + "name": "setting", + "display": "Settings", + "colour": "210" + }, + { + "name": "otg", + "display": "Pi Zero OTG", + "colour": "80" + }, + { + "name": "other", + "display": "Other", + "colour": "290" + } + ] +} diff --git a/pibakery-blocks/changepass/changepass.json b/pibakery-blocks/changepass/changepass.json index 7436e1c..f64745a 100755 --- a/pibakery-blocks/changepass/changepass.json +++ b/pibakery-blocks/changepass/changepass.json @@ -12,6 +12,7 @@ "network": false, "continue": true, "type": "setting", + "category":"setting", "shortDescription":"Change the password for the default pi user", "longDescription":"Raspbian comes with a user account already setup, with the username 'pi' and the password 'raspberry'. For the sake of security, you can choose to change your password to anything you want. If you don't change it now, you'll still be able to change it later." } diff --git a/pibakery-blocks/deletefile/deletefile.json b/pibakery-blocks/deletefile/deletefile.json index 4a4dad5..bdfc783 100755 --- a/pibakery-blocks/deletefile/deletefile.json +++ b/pibakery-blocks/deletefile/deletefile.json @@ -12,6 +12,7 @@ "network": false, "continue": true, "type": "other", + "category":"other", "shortDescription":"Delete a file or folder", "longDescription":"If you so desire, you can choose to delete a file or folder from your Raspberry Pi. This block will not send the data to the recycle bin, rather it will delete it permanently. Please be careful when using this block." } diff --git a/pibakery-blocks/downloadfile/downloadfile.json b/pibakery-blocks/downloadfile/downloadfile.json index 18e002b..2b2fefe 100755 --- a/pibakery-blocks/downloadfile/downloadfile.json +++ b/pibakery-blocks/downloadfile/downloadfile.json @@ -17,6 +17,7 @@ "network": true, "continue": true, "type": "network", + "category":"network", "shortDescription":"Download a file from the internet to a location on your Raspberry Pi. This block requires an internet connection to work.", "longDescription":"This block allows you to enter a remote URL of a file along with a save location, and it will download the file to that location. As this block will download the file from the internet, an internet connection is required to use this block." } diff --git a/pibakery-blocks/info.json b/pibakery-blocks/info.json index eea3bac..c0ed1c2 100755 --- a/pibakery-blocks/info.json +++ b/pibakery-blocks/info.json @@ -1,7 +1,7 @@ { - "version": 1.0, - "compressedMD5": "ccd8a4084986dbbceda36a423d829702", - "downloadUrl": "https://github.com/davidferguson/pibakery-blocks/releases/download/v0.1.0/pibakery-blocks.zip", + "version": 2.0, + "compressedMD5": "9c741092e80e07a01ac8c32a5ecbfc79", + "downloadUrl": "https://github.com/davidferguson/pibakery-blocks/releases/download/v0.2.0/pibakery-blocks.zip", "loadOrder": [ "packageinstall", "lampinstall", @@ -9,6 +9,11 @@ "vncstart", "wifisetup", "downloadfile", + "otgether", + "otgmidi", + "otgserial", + "otgmassstorage", + "otgremove", "bootbehaviour", "changepass", "sethostname", diff --git a/pibakery-blocks/lampinstall/lampinstall.json b/pibakery-blocks/lampinstall/lampinstall.json index a74f2f1..711d4de 100755 --- a/pibakery-blocks/lampinstall/lampinstall.json +++ b/pibakery-blocks/lampinstall/lampinstall.json @@ -6,6 +6,7 @@ "network": true, "continue": true, "type": "software", + "category":"software", "shortDescription":"Install a full web server on your Raspberry Pi. Requires internet connection.", "longDescription":"Apache is a web server, and combined with PHP and MySQL it makes for a great way for beginners to experiment with web development, and also experienced users to easily run their websites. This downloads packages from the Raspbian repository, and therefore requires an internet connection." } diff --git a/pibakery-blocks/otgether/otgEther.sh b/pibakery-blocks/otgether/otgEther.sh new file mode 100755 index 0000000..483028f --- /dev/null +++ b/pibakery-blocks/otgether/otgEther.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Add the line to /boot/config.txt if it's not already there +if ! grep -qxF "dtoverlay=dwc2" "/boot/config.txt" +then + echo "dtoverlay=dwc2" | tee -a /boot/config.txt +fi + +# Add the line to /etc/modules if it's not already there +if ! grep -qxF "dwc2" "/etc/modules" +then + echo "dwc2" | tee -a /etc/modules +fi + +# Remove any modules currently in /etc/modules +otg_modules=( "g_serial" "g_ether" "g_mass_storage" "g_midi" "g_audio" "g_hid" "g_acm_ms" "g_cdc" "g_multi" "g_webcam" "g_printer" "g_zero" ) +for module in "${otg_modules[@]}" +do + if grep -qxF "$module" "/etc/modules" + then + grep -v "$module" "/etc/modules" > "/etc/modules2"; mv "/etc/modules2" "/etc/modules" + fi +done + +# Disable the g_mass_storage startup script if it exists +if [ -f /etc/systemd/system/otgmassstorage.service ] +then + systemctl disable /etc/systemd/system/otgmassstorage.service +fi + +# Add g_ether to /etc/modules +echo "g_ether" | tee -a /etc/modules + +# Remove the static IP stuff from /etc/dhcpcd.conf if it exists +startLine=$(grep -n "interface usb0 " /etc/dhcpcd.conf | cut -d : -f 1) +if [ ! -z "$startLine" ] +then + matchLine=$((startLine+1)) + grep -n "static " /etc/dhcpcd.conf | cut -d : -f 1 | while read line + do + if [ $line -eq $matchLine ] + then + endLine=$line + sed -i "${startLine}d;${endLine}d" /etc/dhcpcd.conf + fi + done +fi + +# Add the static IP to /etc/dhcpcd.conf +echo -e "interface usb0 \nstatic ip_address=$1" | tee -a /etc/dhcpcd.conf diff --git a/pibakery-blocks/otgether/otgether.json b/pibakery-blocks/otgether/otgether.json new file mode 100755 index 0000000..b66894f --- /dev/null +++ b/pibakery-blocks/otgether/otgether.json @@ -0,0 +1,18 @@ +{ + "name": "otgether", + "text": "Set Pi Zero OTG Mode to Ethernet\\nWith Static IP: %1", + "script": "otgEther.sh", + "args": [ + { + "type": "text", + "default": "169.254.64.64", + "maxLength":16 + } + ], + "network": false, + "continue": true, + "type": "network", + "category":"otg", + "shortDescription":"Set the Pi Zero to use Ethernet over OTG, with a static IP address.", + "longDescription":"The Raspberry Pi Zero has the ability to support OTG gadget mode over it's DATA usb port. This block enables the Ethernet gadget, allowing your Raspberry Pi to be networked to a computer over USB. You need to specify an IP address for your Raspberr Pi, so that you'll be able to connect to it." +} diff --git a/pibakery-blocks/otgmassstorage/otgMassStorage.sh b/pibakery-blocks/otgmassstorage/otgMassStorage.sh new file mode 100755 index 0000000..8adcd30 --- /dev/null +++ b/pibakery-blocks/otgmassstorage/otgMassStorage.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +#megabytes=$1 +#kilobytes=$((megabytes * 1024)) +#bytes=$((kilobytes * 1024)) + +# Add the line to /boot/config.txt if it's not already there +if ! grep -qxF "dtoverlay=dwc2" "/boot/config.txt" +then + echo "dtoverlay=dwc2" | tee -a /boot/config.txt +fi + +# Add the line to /etc/modules if it's not already there +if ! grep -qxF "dwc2" "/etc/modules" +then + echo "dwc2" | tee -a /etc/modules +fi + +# Remove any modules currently in /etc/modules +otg_modules=( "g_serial" "g_ether" "g_mass_storage" "g_midi" "g_audio" "g_hid" "g_acm_ms" "g_cdc" "g_multi" "g_webcam" "g_printer" "g_zero" ) +for module in "${otg_modules[@]}" +do + if grep -qxF "$module" "/etc/modules" + then + grep -v "$module" "/etc/modules" > "/etc/modules2"; mv "/etc/modules2" "/etc/modules" + fi +done + +# Add g_acm_ms to /etc/modules +echo "g_mass_storage" | tee -a /etc/modules + +if [ ! -d /opt/otgmassstorage ] +then + mkdir /opt/otgmassstorage +fi + +if [ ! -f /opt/otgmassstorage/filesystem.bin ] +then + dd if=/dev/zero of=/opt/otgmassstorage/filesystem.bin bs=512 count=2880 + mkdosfs /opt/otgmassstorage/filesystem.bin +fi + +if [ ! -f /etc/systemd/system/otgmassstorage.service ] +then + /bin/cat </etc/systemd/system/otgmassstorage.service +[Unit] +Description=Starts kernel modules for USB OTG +After=systemd-remount-fs.service +DefaultDependencies=false + +[Service] +Type=simple +ExecStart=/opt/otgmassstorage/start.sh +WorkingDirectory=/opt/otgmassstorage/ + +[Install] +WantedBy=local-fs.target +EOF +fi + +if [ ! -f /opt/otgmassstorage/start.sh ] +then + /bin/cat </opt/otgmassstorage/start.sh +#!/bin/sh -e + +modprobe g_mass_storage file=/opt/otgmassstorage/filesystem.bin stall=0 +exit 0 +EOF +fi + +chmod +x /etc/systemd/system/otgmassstorage.service +chmod +x /opt/otgmassstorage/start.sh + +systemctl enable /etc/systemd/system/otgmassstorage.service diff --git a/pibakery-blocks/otgmassstorage/otgmassstorage.json b/pibakery-blocks/otgmassstorage/otgmassstorage.json new file mode 100755 index 0000000..af109ad --- /dev/null +++ b/pibakery-blocks/otgmassstorage/otgmassstorage.json @@ -0,0 +1,12 @@ +{ + "name": "otgmassstorage", + "text": "Set Pi Zero OTG Mode to Mass Storage", + "script": "otgMassStorage.sh", + "args": [], + "network": false, + "continue": true, + "type": "setting", + "category":"otg", + "shortDescription":"Set the Pi Zero to use Mass Storage over OTG.", + "longDescription":"The Raspberry Pi Zero has the ability to support OTG gadget mode over it's DATA usb port. This block enables the Mass Storage gadget, allowing your Raspberry Pi to appear as a USB flash drive to a connected computer. The files dropped onto this drive will be saved in the BIN file '/opt/otgmassstorage/filesystem.bin' allowing you to mount it, and retrieve the files you stored on it." +} diff --git a/pibakery-blocks/otgmidi/otgMidi.sh b/pibakery-blocks/otgmidi/otgMidi.sh new file mode 100755 index 0000000..1ad9420 --- /dev/null +++ b/pibakery-blocks/otgmidi/otgMidi.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# Add the line to /boot/config.txt if it's not already there +if ! grep -qxF "dtoverlay=dwc2" "/boot/config.txt" +then + echo "dtoverlay=dwc2" | tee -a /boot/config.txt +fi + +# Add the line to /etc/modules if it's not already there +if ! grep -qxF "dwc2" "/etc/modules" +then + echo "dwc2" | tee -a /etc/modules +fi + +# Remove any modules currently in /etc/modules +otg_modules=( "g_serial" "g_ether" "g_mass_storage" "g_midi" "g_audio" "g_hid" "g_acm_ms" "g_cdc" "g_multi" "g_webcam" "g_printer" "g_zero" ) +for module in "${otg_modules[@]}" +do + if grep -qxF "$module" "/etc/modules" + then + grep -v "$module" "/etc/modules" > "/etc/modules2"; mv "/etc/modules2" "/etc/modules" + fi +done + +# Disable the g_mass_storage startup script if it exists +if [ -f /etc/systemd/system/otgmassstorage.service ] +then + systemctl disable /etc/systemd/system/otgmassstorage.service +fi + +# Add g_midi to /etc/modules +echo "g_midi" | tee -a /etc/modules diff --git a/pibakery-blocks/otgmidi/otgmidi.json b/pibakery-blocks/otgmidi/otgmidi.json new file mode 100755 index 0000000..cf4a73f --- /dev/null +++ b/pibakery-blocks/otgmidi/otgmidi.json @@ -0,0 +1,12 @@ +{ + "name": "otgmidi", + "text": "Set Pi Zero OTG Mode to MIDI", + "script": "otgMidi.sh", + "args": [], + "network": false, + "continue": true, + "type": "setting", + "category":"otg", + "shortDescription":"Set the Pi Zero to use MIDI over OTG.", + "longDescription":"The Raspberry Pi Zero has the ability to support OTG gadget mode over it's DATA usb port. This block enables the MIDI gadget, allowing your Raspberry Pi to appear as a MIDI input and output to a connected computer. Use any standard MIDI program on the connected computer or Raspberry Pi Zero to play music between the Pi and computer." +} diff --git a/pibakery-blocks/otgremove/otgRemove.sh b/pibakery-blocks/otgremove/otgRemove.sh new file mode 100755 index 0000000..6563315 --- /dev/null +++ b/pibakery-blocks/otgremove/otgRemove.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Remove any modules currently in /etc/modules +otg_modules=( "g_serial" "g_ether" "g_mass_storage" "g_midi" "g_audio" "g_hid" "g_acm_ms" "g_cdc" "g_multi" "g_webcam" "g_printer" "g_zero" ) +for module in "${otg_modules[@]}" +do + if grep -qxF "$module" "/etc/modules" + then + grep -v "$module" "/etc/modules" > "/etc/modules2"; mv "/etc/modules2" "/etc/modules" + fi +done + +# Disable the g_mass_storage startup script if it exists +if [ -f /etc/systemd/system/otgmassstorage.service ] +then + systemctl disable /etc/systemd/system/otgmassstorage.service +fi diff --git a/pibakery-blocks/otgremove/otgremove.json b/pibakery-blocks/otgremove/otgremove.json new file mode 100755 index 0000000..81b8a63 --- /dev/null +++ b/pibakery-blocks/otgremove/otgremove.json @@ -0,0 +1,12 @@ +{ + "name": "otgremove", + "text": "Disable Pi Zero OTG", + "script": "otgRemove.sh", + "args": [], + "network": false, + "continue": true, + "type": "setting", + "category":"otg", + "shortDescription":"Disable the OTG mode on the Raspberry Pi Zero.", + "longDescription":"The Raspberry Pi Zero has the ability to support OTG gadget mode over it's DATA usb port. If you've enabled this feature using one of the OTG blocks, you can use this block to return the Pi Zero back to it's default behaviour of not having any gadget enabled." +} diff --git a/pibakery-blocks/otgserial/otgSerial.sh b/pibakery-blocks/otgserial/otgSerial.sh new file mode 100755 index 0000000..2e09af7 --- /dev/null +++ b/pibakery-blocks/otgserial/otgSerial.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Add the line to /boot/config.txt if it's not already there +if ! grep -qxF "dtoverlay=dwc2" "/boot/config.txt" +then + echo "dtoverlay=dwc2" | tee -a /boot/config.txt +fi + +# Add the line to /etc/modules if it's not already there +if ! grep -qxF "dwc2" "/etc/modules" +then + echo "dwc2" | tee -a /etc/modules +fi + +# Remove any modules currently in /etc/modules +otg_modules=( "g_serial" "g_ether" "g_mass_storage" "g_midi" "g_audio" "g_hid" "g_acm_ms" "g_cdc" "g_multi" "g_webcam" "g_printer" "g_zero" ) +for module in "${otg_modules[@]}" +do + if grep -qxF "$module" "/etc/modules" + then + grep -v "$module" "/etc/modules" > "/etc/modules2"; mv "/etc/modules2" "/etc/modules" + fi +done + +# Disable the g_mass_storage startup script if it exists +if [ -f /etc/systemd/system/otgmassstorage.service ] +then + systemctl disable /etc/systemd/system/otgmassstorage.service +fi + +# Add g_serial to /etc/modules +echo "g_serial" | tee -a /etc/modules + +# Forward a console over the serial +systemctl enable getty@ttyGS0.service diff --git a/pibakery-blocks/otgserial/otgserial.json b/pibakery-blocks/otgserial/otgserial.json new file mode 100755 index 0000000..5790d64 --- /dev/null +++ b/pibakery-blocks/otgserial/otgserial.json @@ -0,0 +1,12 @@ +{ + "name": "otgserial", + "text": "Set Pi Zero OTG Mode to Serial", + "script": "otgSerial.sh", + "args": [], + "network": false, + "continue": true, + "type": "setting", + "category":"otg", + "shortDescription":"Set the Pi Zero to use Serial over OTG.", + "longDescription":"The Raspberry Pi Zero has the ability to support OTG gadget mode over it's DATA usb port. This block enables the Serial gadget, allowing your Raspberry Pi to appear as a USB serial device to a connected computer. Using Putty on Windows, or Terminal on Mac and Linux, you'll be able to connect and log in to the command line of your Pi, over USB." +} diff --git a/pibakery-blocks/packageinstall/packageinstall.json b/pibakery-blocks/packageinstall/packageinstall.json index a9329ed..3b51cc7 100755 --- a/pibakery-blocks/packageinstall/packageinstall.json +++ b/pibakery-blocks/packageinstall/packageinstall.json @@ -12,6 +12,7 @@ "network": true, "continue": true, "type": "software", + "category":"software", "shortDescription":"Install any package from the Raspbian repositories. Internet connection required.", "longDescription":"This block is exactly the same as running apt-get install, and allows you to easily install any package from the Raspbian repositories. An internet connection will be required for this to work." } diff --git a/pibakery-blocks/reboot/reboot.json b/pibakery-blocks/reboot/reboot.json index 5901d02..fdff22e 100755 --- a/pibakery-blocks/reboot/reboot.json +++ b/pibakery-blocks/reboot/reboot.json @@ -6,6 +6,7 @@ "network": false, "continue": false, "type": "other", + "category":"other", "shortDescription":"Reboots your Raspberry Pi", "longDescription":"Exactly what it says on the block, this will reboot your Raspberry Pi." } diff --git a/pibakery-blocks/runcommand/runCommand.sh b/pibakery-blocks/runcommand/runCommand.sh index 60c908c..fb3d837 100755 --- a/pibakery-blocks/runcommand/runCommand.sh +++ b/pibakery-blocks/runcommand/runCommand.sh @@ -1,6 +1,6 @@ #!/bin/bash if [ $2 == "root" ]; then - $1 + exec "$1" else su - pi -c "$1" fi diff --git a/pibakery-blocks/runcommand/runcommand.json b/pibakery-blocks/runcommand/runcommand.json index 208fa30..381215b 100755 --- a/pibakery-blocks/runcommand/runcommand.json +++ b/pibakery-blocks/runcommand/runcommand.json @@ -16,6 +16,7 @@ "network": false, "continue": true, "type": "other", + "category":"other", "shortDescription":"Run a command as either the user pi or the root user.", "longDescription":"This block allows you to enter a command, which will be run on the command-line. You can choose for youc command to be run either as the normal 'pi' user, or for commands that require administrator rights, the 'root' user." } diff --git a/pibakery-blocks/runpython/runpython.json b/pibakery-blocks/runpython/runpython.json index 68707e8..05e7125 100755 --- a/pibakery-blocks/runpython/runpython.json +++ b/pibakery-blocks/runpython/runpython.json @@ -16,6 +16,7 @@ "network": false, "continue": true, "type": "other", + "category":"other", "shortDescription":"Run a python script as either the user pi or the root user.", "longDescription":"This block allows you to enter the full path of a Python script, and that script will be run. The script can be run either as the normal 'pi' user, or for scripts that require administrator rights, the 'root' user." } diff --git a/pibakery-blocks/sethostname/sethostname.json b/pibakery-blocks/sethostname/sethostname.json index 4346ec4..effa8c2 100755 --- a/pibakery-blocks/sethostname/sethostname.json +++ b/pibakery-blocks/sethostname/sethostname.json @@ -12,6 +12,7 @@ "network": false, "continue": true, "type": "setting", + "category":"setting", "shortDescription":"Change the full hostname of the Raspberry Pi", "longDescription":"By default, the hostname of the Raspberry Pi is \"raspberry\". If you've got multiple Raspberry Pis, you'll want to set each of them to a unique name to avoid confusion, and you may want to change your hostname anyway." } diff --git a/pibakery-blocks/shutdown/shutdown.json b/pibakery-blocks/shutdown/shutdown.json index 6da55ea..fbc5eb3 100755 --- a/pibakery-blocks/shutdown/shutdown.json +++ b/pibakery-blocks/shutdown/shutdown.json @@ -6,6 +6,7 @@ "network": false, "continue": false, "type": "other", + "category":"other", "shortDescription":"Shuts down your Raspberry Pi", "longDescription":"Exactly what it says on the block, this will shut down your Raspberry Pi." } diff --git a/pibakery-blocks/vncserver/vncserver.json b/pibakery-blocks/vncserver/vncserver.json index 5d6f81c..efbb60d 100755 --- a/pibakery-blocks/vncserver/vncserver.json +++ b/pibakery-blocks/vncserver/vncserver.json @@ -12,6 +12,7 @@ "network": false, "continue": true, "type": "software", + "category":"software", "shortDescription":"Install a remote desktop server on your Raspberry Pi. Works without an internet connection.", "longDescription":"A VNC server is a program that shares the desktop of your Raspberry Pi with other computers on your network. If you choose to install a VNC server, you'll be able to connect to your Pi on another computer, just as if you had a monitor right in front of you." } diff --git a/pibakery-blocks/vncstart/vncstart.json b/pibakery-blocks/vncstart/vncstart.json index 26819c3..a1182fd 100755 --- a/pibakery-blocks/vncstart/vncstart.json +++ b/pibakery-blocks/vncstart/vncstart.json @@ -12,6 +12,7 @@ "network": false, "continue": true, "type": "software", + "category":"software", "shortDescription":"Run a VNC server on a designated port. This requires a VNC server to already be installed - use the Install VNC Server block.", "longDescription":"By default, most VNC servers do not run on startup. Combined with the 'On Every Boot' block, this block allows you to run a VNC server on a designated port every time your Pi starts up. This block will only work if a VNC server is already installed, which you can use the 'Install VNC Server' block. If a port number less than 5901 is chosen, the port number used will be 5900 + the port you chose." } diff --git a/pibakery-blocks/wifisetup/wifisetup.json b/pibakery-blocks/wifisetup/wifisetup.json index 160007d..95a81b4 100755 --- a/pibakery-blocks/wifisetup/wifisetup.json +++ b/pibakery-blocks/wifisetup/wifisetup.json @@ -21,6 +21,7 @@ "network": false, "continue": true, "type": "network", + "category":"network", "shortDescription":"Automatically connect to a WiFi network.", "longDescription":"This block allows you to enter a WiFi network name and password, and then your Raspberry Pi will automatically connect to that network when it is first switched on. If you want to enter multiple network details (one for home and another for school), just use this block twice." }