From dc7535417f49522b8c9b4775f47b7e7444926fd5 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Tue, 1 Nov 2016 11:36:45 +0000 Subject: [PATCH 01/28] ip changer --- pibakery-blocks/ipchange/ipchange.json | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 pibakery-blocks/ipchange/ipchange.json diff --git a/pibakery-blocks/ipchange/ipchange.json b/pibakery-blocks/ipchange/ipchange.json new file mode 100644 index 0000000..2df3638 --- /dev/null +++ b/pibakery-blocks/ipchange/ipchange.json @@ -0,0 +1,36 @@ +{ + "name": "ipchange", + "text": "Setup Fixed IP\\nNetwork: %1\\nIP Address: %2\\nGateway: %3\\nDNS: %4", + "script": "ipchange.py", + "args": [ + { + "type": "menu", + "options": ["eth0", "wlan0", "wlan1"] + }, + { + "type": "text", + "default": "192.168.0.55/24", + "maxLength":0 + }, + { + "type": "text", + "default": "192.168.0.254", + "maxLength":0 + }, + { + "type": "text", + "default": "192.168.0.254", + "maxLength":0 + } + ], + "network": false, + "continue": true, + "type": "network", + "category":"network", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Automatically Change to a Fixed IP.", + "longDescription":"This block allows you to enter a Fixed IP for your network. If you want to enter multiple Fixed IP address for eth0 and wlan0, just use this block more than once." +} From 6279925ddbcd793c014b3f72583ce5273b5810b3 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Tue, 1 Nov 2016 11:38:52 +0000 Subject: [PATCH 02/28] ip change script --- pibakery-blocks/ipchange/ipchange.py | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 pibakery-blocks/ipchange/ipchange.py diff --git a/pibakery-blocks/ipchange/ipchange.py b/pibakery-blocks/ipchange/ipchange.py new file mode 100644 index 0000000..7467285 --- /dev/null +++ b/pibakery-blocks/ipchange/ipchange.py @@ -0,0 +1,57 @@ +#!/usr/bin/python + +import sys, os, time + +Lantxt = """ + +interface eth0 +static ip_address=myip +static routers=mygw +static domain_name_servers=mydns +""" + +WLantxt0 = """ + +interface wlan0 +static ip_address=myip +static routers=mygw +static domain_name_servers=mydns +""" + +WLantxt1 = """ + +interface wlan1 +static ip_address=myip +static routers=mygw +static domain_name_servers=mydns +""" + +netType = sys.argv[1] +newIP = sys.argv[2] +newGW = sys.argv[3] +newDNS = sys.argv[4] + +if newIP != "": + if netType == "Lan": + ipText = Lantxt.replace("myip", newIP).replace("mygw", newGW).replace("mydns", newDNS) + elif netType == "wlan0": + ipText = WLantxt0.replace("myip", newIP).replace("mygw", newGW).replace("mydns", newDNS) + elif netType == "wlan1": + ipText = WLantxt1.replace("myip", newIP).replace("mygw", newGW).replace("mydns", newDNS) + +with open("/etc/dhcpcd.conf", "a") as ipFile: + ipFile.write(ipText) + +os.system("sudo /etc/init.d/networking restart") +time.sleep(10) +os.system("sudo /etc/init.d/networking reload") +time.sleep(10) + +# It's likely that the block following this one will be one that uses the +# internet - such as a download file or apt-get block. It takes a few seconds +# for the WiFi to connect and obtain an IP address, run the waitForNetwork shell +# script, which will loop waiting for a network connection (timeout 150 seconds) +# and continue once there is one +#os.system("chmod +x /boot/PiBakery/blocks/wifisetup/waitForNetwork.sh") +#os.system("/boot/PiBakery/blocks/wifisetup/waitForNetwork.sh") + From 35c15f50c2bb5c5a005f706decfa21e51d7446f5 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Tue, 1 Nov 2016 11:39:37 +0000 Subject: [PATCH 03/28] create folder --- .../createfolder/createfolder.json | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 pibakery-blocks/createfolder/createfolder.json diff --git a/pibakery-blocks/createfolder/createfolder.json b/pibakery-blocks/createfolder/createfolder.json new file mode 100644 index 0000000..fcce6f1 --- /dev/null +++ b/pibakery-blocks/createfolder/createfolder.json @@ -0,0 +1,22 @@ +{ + "name": "CreateFolder", + "text": "Create a folder %1", + "script": "createfolder.sh", + "args": [ + { + "type": "text", + "default": "/home/pi/Documents/NewFolder", + "maxLength":0 + } + ], + "network": false, + "continue": true, + "type": "other", + "category":"other", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Create a folder", + "longDescription":"If you so desire, you can choose to create a folder from your Raspberry Pi." +} From df962e8a1fb9f9208ea1f1e3ec0ad1350bd60244 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Tue, 1 Nov 2016 11:39:55 +0000 Subject: [PATCH 04/28] create folder script --- pibakery-blocks/createfolder/createfolder.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 pibakery-blocks/createfolder/createfolder.sh diff --git a/pibakery-blocks/createfolder/createfolder.sh b/pibakery-blocks/createfolder/createfolder.sh new file mode 100644 index 0000000..bf47708 --- /dev/null +++ b/pibakery-blocks/createfolder/createfolder.sh @@ -0,0 +1,2 @@ +#!/bin/bash +mkdir "$1" From 6d763e530585d9b7569b2b3e7b256c1af2aac4a7 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Tue, 1 Nov 2016 11:49:12 +0000 Subject: [PATCH 05/28] added as user --- pibakery-blocks/createfolder/createfolder.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pibakery-blocks/createfolder/createfolder.json b/pibakery-blocks/createfolder/createfolder.json index fcce6f1..c2fb919 100644 --- a/pibakery-blocks/createfolder/createfolder.json +++ b/pibakery-blocks/createfolder/createfolder.json @@ -1,12 +1,16 @@ { "name": "CreateFolder", - "text": "Create a folder %1", + "text": "Create a folder %1\\nAs user: %2", "script": "createfolder.sh", "args": [ { "type": "text", "default": "/home/pi/Documents/NewFolder", "maxLength":0 + }, + { + "type": "menu", + "options": ["pi", "root"] } ], "network": false, From 3be3c34b03d5fff0271617596f24f5a1d4941bd6 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Tue, 1 Nov 2016 11:49:35 +0000 Subject: [PATCH 06/28] added as user --- pibakery-blocks/createfolder/createfolder.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pibakery-blocks/createfolder/createfolder.sh b/pibakery-blocks/createfolder/createfolder.sh index bf47708..f6bd952 100644 --- a/pibakery-blocks/createfolder/createfolder.sh +++ b/pibakery-blocks/createfolder/createfolder.sh @@ -1,2 +1,6 @@ #!/bin/bash -mkdir "$1" +if [ $2 == "root" ]; then + su - root -c mkdir "$1" +else + su - pi -c mkdir "$1" +fi From 8e8e14e4a018818303d3aed2b5c69c0bfadced4a Mon Sep 17 00:00:00 2001 From: eddwatts Date: Tue, 1 Nov 2016 11:56:09 +0000 Subject: [PATCH 07/28] update to make as user --- pibakery-blocks/createfolder/createfolder.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pibakery-blocks/createfolder/createfolder.sh b/pibakery-blocks/createfolder/createfolder.sh index f6bd952..1f6a31f 100644 --- a/pibakery-blocks/createfolder/createfolder.sh +++ b/pibakery-blocks/createfolder/createfolder.sh @@ -1,6 +1,6 @@ #!/bin/bash if [ $2 == "root" ]; then - su - root -c mkdir "$1" + su - root -c 'mkdir "$1"' else - su - pi -c mkdir "$1" + su - pi -c 'mkdir "$1"' fi From 5c1e156be11cde51731abb50673301112bca7f51 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 09:38:45 +0000 Subject: [PATCH 08/28] error for lan (eth0) corrected --- pibakery-blocks/ipchange/ipchange.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pibakery-blocks/ipchange/ipchange.py b/pibakery-blocks/ipchange/ipchange.py index 7467285..7c3d268 100644 --- a/pibakery-blocks/ipchange/ipchange.py +++ b/pibakery-blocks/ipchange/ipchange.py @@ -32,7 +32,7 @@ newDNS = sys.argv[4] if newIP != "": - if netType == "Lan": + if netType == "eth0": ipText = Lantxt.replace("myip", newIP).replace("mygw", newGW).replace("mydns", newDNS) elif netType == "wlan0": ipText = WLantxt0.replace("myip", newIP).replace("mygw", newGW).replace("mydns", newDNS) From 31776e6ea3d06d273cfc7beb88e8a5b30963973d Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 10:05:39 +0000 Subject: [PATCH 09/28] folder for user pi command updated --- pibakery-blocks/createfolder/createfolder.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pibakery-blocks/createfolder/createfolder.sh b/pibakery-blocks/createfolder/createfolder.sh index 1f6a31f..54a1ba1 100644 --- a/pibakery-blocks/createfolder/createfolder.sh +++ b/pibakery-blocks/createfolder/createfolder.sh @@ -2,5 +2,5 @@ if [ $2 == "root" ]; then su - root -c 'mkdir "$1"' else - su - pi -c 'mkdir "$1"' + sudo -u pi mkdir "$1" fi From d38101c0b308b58f0451b6ee8865f39ac6446ba3 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 10:11:51 +0000 Subject: [PATCH 10/28] Create sambamount.json --- pibakery-blocks/sambamount/sambamount.json | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pibakery-blocks/sambamount/sambamount.json diff --git a/pibakery-blocks/sambamount/sambamount.json b/pibakery-blocks/sambamount/sambamount.json new file mode 100644 index 0000000..9b930e6 --- /dev/null +++ b/pibakery-blocks/sambamount/sambamount.json @@ -0,0 +1,50 @@ +{ + "name": "sambamount", + "text": "Add SAMBA Share\\nFolder Path: %1\\nLocal Path: %2\\nUsername: %3\\nPassword: %4\\nDomain: %5\\nFile Mode: %6\\nDir Mode: %7\\n", + "script": "sambamount.py", + "args": [ + { + "type": "text", + "default": "//server/public", + "maxLength":0 + }, + { + "type": "text", + "default": "/home/pi/NetworkPublic", + "maxLength":0 + }, + { + "type": "text", + "default": "username", + "maxLength":0 + }, + { + "type": "text", + "default": "password", + "maxLength":0 + }, + { + "type": "text", + "default": "DOMAIN.LOCAL", + "maxLength":0 + }, + { + "type": "menu", + "options": ["0777", "0664"] + }, + { + "type": "menu", + "options": ["0777","0775"] + } + ], + "network": false, + "continue": true, + "type": "network", + "category":"network", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Automatically connect to SAMBA network Share.", + "longDescription":"This block allows you to enter a SAMBA network share, and then your Raspberry Pi will automatically connect to that network share when it is first switched on. If you want to enter multiple sahred folders, just use this block twice." +} From 053c33dc32fa5ca36f7da8e291903671ca9670c5 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 10:12:42 +0000 Subject: [PATCH 11/28] SAMBA mount script --- pibakery-blocks/sambamount/sambamount.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 pibakery-blocks/sambamount/sambamount.py diff --git a/pibakery-blocks/sambamount/sambamount.py b/pibakery-blocks/sambamount/sambamount.py new file mode 100644 index 0000000..8867287 --- /dev/null +++ b/pibakery-blocks/sambamount/sambamount.py @@ -0,0 +1,23 @@ +#!/usr/bin/python + +import sys, os, time + +SMBSERVER = sys.argv[1] +SMBLOCAL = sys.argv[2] +SMBUSERNAME = sys.argv[3] +SMBPASSWORD = sys.argv[4] +SMBDOMMAIN = sys.argv[5] +SMBFILE = sys.argv[6] +SMBDIR = sys.argv[7] + +os.system('sudo -u pi mkdir "' + SMBLOCAL + '"') + +SMBText = SMBSERVER + " " + SMBLOCAL + "cifs username=" + SMBUSERNAME + ",password=" + SMBPASSWORD +if SMBDOMMAIN != "" +SMBText = SMBText + ",domain=" + SMBDOMMAIN + +SMBText = SMBText + ",file_mode=" + SMBFILE + ",dir_mode=" + SMBDIR + ",users,auto,user_xattr 0 0" +with open("/etc/fstab", "a") as fstabFile: + fstabFile.write(SMBText) + +os.system("mount -a") \ No newline at end of file From 472a42bc1a00f7ca6c53940d574d52ec56e2b2fe Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 10:46:22 +0000 Subject: [PATCH 12/28] Set the display mode of the pi --- pibakery-blocks/setdisplay/setdisplay.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 pibakery-blocks/setdisplay/setdisplay.json diff --git a/pibakery-blocks/setdisplay/setdisplay.json b/pibakery-blocks/setdisplay/setdisplay.json new file mode 100644 index 0000000..ecde6ce --- /dev/null +++ b/pibakery-blocks/setdisplay/setdisplay.json @@ -0,0 +1,21 @@ +{ + "name": "setdisplay", + "text": "Set Display Mode\\nDisplay Mode: %1", + "script": "setdisplay.py", + "args": [ + { + "type": "menu", + "options": ["1024x768","720p","1080p","1440x900","1280x1024","1280x960","1280x800","800x600"] + } + ], + "network": false, + "continue": true, + "type": "setting", + "category":"setting", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Set Display mode of PI.", + "longDescription":"This block allows you to set the display mode of the PI, it also sets the force hotplug so it can be used headless." +} From 57c73e703078d44d69750cce82c71cf66be1aeb5 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 10:46:37 +0000 Subject: [PATCH 13/28] set display mode script --- pibakery-blocks/setdisplay/setdisplay.py | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pibakery-blocks/setdisplay/setdisplay.py diff --git a/pibakery-blocks/setdisplay/setdisplay.py b/pibakery-blocks/setdisplay/setdisplay.py new file mode 100644 index 0000000..64bf16c --- /dev/null +++ b/pibakery-blocks/setdisplay/setdisplay.py @@ -0,0 +1,50 @@ +#!/usr/bin/python + +import sys, os, time + +PIDISPLAY = sys.argv[1] + +if PIDISPLAY = "1024x768" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=16/' /boot/config.txt") + +if PIDISPLAY = "720p" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=4/' /boot/config.txt") + +if PIDISPLAY = "1080p" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=16/' /boot/config.txt") + +if PIDISPLAY = "1440x900" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=47/' /boot/config.txt") + +if PIDISPLAY = "1280x1024" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=35/' /boot/config.txt") + +if PIDISPLAY = "1280x960" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=32/' /boot/config.txt") + +if PIDISPLAY = "1280x800" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=28/' /boot/config.txt") + +if PIDISPLAY = "800x600" + os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") + os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") + os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=9/' /boot/config.txt") + + + + + From 58121b62e665e97e654c45340d2531cea3b9560e Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 10:58:43 +0000 Subject: [PATCH 14/28] correct if statements, silly mistake --- pibakery-blocks/setdisplay/setdisplay.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pibakery-blocks/setdisplay/setdisplay.py b/pibakery-blocks/setdisplay/setdisplay.py index 64bf16c..23cc0b4 100644 --- a/pibakery-blocks/setdisplay/setdisplay.py +++ b/pibakery-blocks/setdisplay/setdisplay.py @@ -4,42 +4,42 @@ PIDISPLAY = sys.argv[1] -if PIDISPLAY = "1024x768" +if PIDISPLAY == "1024x768": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=16/' /boot/config.txt") -if PIDISPLAY = "720p" +if PIDISPLAY == "720p": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=4/' /boot/config.txt") -if PIDISPLAY = "1080p" +if PIDISPLAY == "1080p": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=16/' /boot/config.txt") -if PIDISPLAY = "1440x900" +if PIDISPLAY == "1440x900": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=47/' /boot/config.txt") -if PIDISPLAY = "1280x1024" +if PIDISPLAY == "1280x1024": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=35/' /boot/config.txt") -if PIDISPLAY = "1280x960" +if PIDISPLAY == "1280x960": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=32/' /boot/config.txt") -if PIDISPLAY = "1280x800" +if PIDISPLAY == "1280x800": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=28/' /boot/config.txt") -if PIDISPLAY = "800x600" +if PIDISPLAY == "800x600": os.system("sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt") os.system("sed -i 's/#hdmi_group=1/hdmi_group=2/' /boot/config.txt") os.system("sed -i 's/#hdmi_mode=1/hdmi_mode=9/' /boot/config.txt") From a03d01f0fffd8bcf818901e437f0a68ff2f80de2 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 11:01:13 +0000 Subject: [PATCH 15/28] correct problem with if statment --- pibakery-blocks/sambamount/sambamount.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pibakery-blocks/sambamount/sambamount.py b/pibakery-blocks/sambamount/sambamount.py index 8867287..6e0a62a 100644 --- a/pibakery-blocks/sambamount/sambamount.py +++ b/pibakery-blocks/sambamount/sambamount.py @@ -13,11 +13,11 @@ os.system('sudo -u pi mkdir "' + SMBLOCAL + '"') SMBText = SMBSERVER + " " + SMBLOCAL + "cifs username=" + SMBUSERNAME + ",password=" + SMBPASSWORD -if SMBDOMMAIN != "" +if SMBDOMMAIN != "": SMBText = SMBText + ",domain=" + SMBDOMMAIN SMBText = SMBText + ",file_mode=" + SMBFILE + ",dir_mode=" + SMBDIR + ",users,auto,user_xattr 0 0" with open("/etc/fstab", "a") as fstabFile: fstabFile.write(SMBText) -os.system("mount -a") \ No newline at end of file +os.system("mount -a") From 66f13168db0f6510f454882c34e79a49cd24393c Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 11:17:35 +0000 Subject: [PATCH 16/28] corrected error with folder and cifs (missing space) --- pibakery-blocks/sambamount/sambamount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pibakery-blocks/sambamount/sambamount.py b/pibakery-blocks/sambamount/sambamount.py index 6e0a62a..92628e3 100644 --- a/pibakery-blocks/sambamount/sambamount.py +++ b/pibakery-blocks/sambamount/sambamount.py @@ -12,7 +12,7 @@ os.system('sudo -u pi mkdir "' + SMBLOCAL + '"') -SMBText = SMBSERVER + " " + SMBLOCAL + "cifs username=" + SMBUSERNAME + ",password=" + SMBPASSWORD +SMBText = SMBSERVER + " " + SMBLOCAL + " cifs username=" + SMBUSERNAME + ",password=" + SMBPASSWORD if SMBDOMMAIN != "": SMBText = SMBText + ",domain=" + SMBDOMMAIN From 2861845a0a649fc5dc232ed66b47e51ae087ed54 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 11:30:01 +0000 Subject: [PATCH 17/28] change to how mount works to enable automatic mount on reboot --- pibakery-blocks/sambamount/sambamount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pibakery-blocks/sambamount/sambamount.py b/pibakery-blocks/sambamount/sambamount.py index 92628e3..ae2b58c 100644 --- a/pibakery-blocks/sambamount/sambamount.py +++ b/pibakery-blocks/sambamount/sambamount.py @@ -16,7 +16,7 @@ if SMBDOMMAIN != "": SMBText = SMBText + ",domain=" + SMBDOMMAIN -SMBText = SMBText + ",file_mode=" + SMBFILE + ",dir_mode=" + SMBDIR + ",users,auto,user_xattr 0 0" +SMBText = SMBText + ",file_mode=" + SMBFILE + ",dir_mode=" + SMBDIR + ",users,x-systemd.automount, noauto,user_xattr 0 0" with open("/etc/fstab", "a") as fstabFile: fstabFile.write(SMBText) From 40a1973ef7df4ccf3ba42b33d9be4ad56846376f Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 11:32:13 +0000 Subject: [PATCH 18/28] Update sambamount.py --- pibakery-blocks/sambamount/sambamount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pibakery-blocks/sambamount/sambamount.py b/pibakery-blocks/sambamount/sambamount.py index ae2b58c..386d154 100644 --- a/pibakery-blocks/sambamount/sambamount.py +++ b/pibakery-blocks/sambamount/sambamount.py @@ -16,7 +16,7 @@ if SMBDOMMAIN != "": SMBText = SMBText + ",domain=" + SMBDOMMAIN -SMBText = SMBText + ",file_mode=" + SMBFILE + ",dir_mode=" + SMBDIR + ",users,x-systemd.automount, noauto,user_xattr 0 0" +SMBText = SMBText + ",file_mode=" + SMBFILE + ",dir_mode=" + SMBDIR + ",users,x-systemd.automount,noauto,user_xattr 0 0" with open("/etc/fstab", "a") as fstabFile: fstabFile.write(SMBText) From 45ea8e23e732bf6fdcb9fb4b21570e1c454b1dca Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 13:40:01 +0000 Subject: [PATCH 19/28] Set Audio Mode --- pibakery-blocks/setaudio/setaudio.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 pibakery-blocks/setaudio/setaudio.json diff --git a/pibakery-blocks/setaudio/setaudio.json b/pibakery-blocks/setaudio/setaudio.json new file mode 100644 index 0000000..d5ac624 --- /dev/null +++ b/pibakery-blocks/setaudio/setaudio.json @@ -0,0 +1,21 @@ +{ + "name": "setaudio", + "text": "Set Audio Mode\\nAudio Mode: %1", + "script": "setaudio.py", + "args": [ + { + "type": "menu", + "options": ["AudioJack","HDMI"] + } + ], + "network": false, + "continue": true, + "type": "setting", + "category":"setting", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Set Audio mode of PI.", + "longDescription":"This block allows you to set the Audio mode of the PI." +} From eec716c413d43cc64a273b6d8f9b0868ad2ecbc3 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 13:40:18 +0000 Subject: [PATCH 20/28] Set Audio mode script --- pibakery-blocks/setaudio/setaudio.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 pibakery-blocks/setaudio/setaudio.py diff --git a/pibakery-blocks/setaudio/setaudio.py b/pibakery-blocks/setaudio/setaudio.py new file mode 100644 index 0000000..d46369c --- /dev/null +++ b/pibakery-blocks/setaudio/setaudio.py @@ -0,0 +1,14 @@ +#!/usr/bin/python + +import sys, os, time + +PIAUDIO = sys.argv[1] + +if PIAUDIO == "AudioJack": + os.system("sed -i 's/#hdmi_drive=2/hdmi_drive=1/' /boot/config.txt") + +if PIAUDIO == "HDMI": + os.system("sed -i 's/#hdmi_drive=2/hdmi_drive=2/' /boot/config.txt") + + + From 38fc8c268d936ea71cb4116d186d74e602b6ff7b Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 13:41:20 +0000 Subject: [PATCH 21/28] Set Camera Led --- .../setcameraled/setcameraled.json | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 pibakery-blocks/setcameraled/setcameraled.json diff --git a/pibakery-blocks/setcameraled/setcameraled.json b/pibakery-blocks/setcameraled/setcameraled.json new file mode 100644 index 0000000..af27c52 --- /dev/null +++ b/pibakery-blocks/setcameraled/setcameraled.json @@ -0,0 +1,21 @@ +{ + "name": "setcameraled", + "text": "%1 Camera led", + "script": "setcameraled.py", + "args": [ + { + "type": "menu", + "options": ["Enable", "Disable"] + } + ], + "network": false, + "continue": true, + "type": "setting", + "category":"setting", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Set Camera led mode of PI.", + "longDescription":"This block allows you to disable the camera led." +} From 72e34f783c3422fc47e6ae1a78a7a92217e3ba1a Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 13:41:40 +0000 Subject: [PATCH 22/28] camera led script --- pibakery-blocks/setcameraled/setcameraled.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 pibakery-blocks/setcameraled/setcameraled.py diff --git a/pibakery-blocks/setcameraled/setcameraled.py b/pibakery-blocks/setcameraled/setcameraled.py new file mode 100644 index 0000000..6b2023b --- /dev/null +++ b/pibakery-blocks/setcameraled/setcameraled.py @@ -0,0 +1,15 @@ +#!/usr/bin/python + +import sys, os, time + +PILED = sys.argv[1] + +if PILED == "Enable": + LEDText="disable_camera_led=0" + +if PILED == "Disable": + LEDText="disable_camera_led=1" + +with open("/boot/config.txt", "a") as fstabFile: + fstabFile.write(LEDText) + From b850c44dd7aa5adaaff1ed8e8152733e9db5aa94 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 15:50:31 +0000 Subject: [PATCH 23/28] Update setaudio.json --- pibakery-blocks/setaudio/setaudio.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pibakery-blocks/setaudio/setaudio.json b/pibakery-blocks/setaudio/setaudio.json index d5ac624..5ab9b51 100644 --- a/pibakery-blocks/setaudio/setaudio.json +++ b/pibakery-blocks/setaudio/setaudio.json @@ -1,6 +1,6 @@ { "name": "setaudio", - "text": "Set Audio Mode\\nAudio Mode: %1", + "text": "Audio Mode: %1", "script": "setaudio.py", "args": [ { From 935ad72243a37281199c19c40ee77b23acb359a3 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 15:51:14 +0000 Subject: [PATCH 24/28] Update setdisplay.json --- pibakery-blocks/setdisplay/setdisplay.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pibakery-blocks/setdisplay/setdisplay.json b/pibakery-blocks/setdisplay/setdisplay.json index ecde6ce..160c864 100644 --- a/pibakery-blocks/setdisplay/setdisplay.json +++ b/pibakery-blocks/setdisplay/setdisplay.json @@ -1,6 +1,6 @@ { "name": "setdisplay", - "text": "Set Display Mode\\nDisplay Mode: %1", + "text": "Display Mode: %1", "script": "setdisplay.py", "args": [ { From 0cd6715bd2d23b1967f4f9ebb87e5c7610af1c52 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 16:00:29 +0000 Subject: [PATCH 25/28] install a unifi server --- pibakery-blocks/unifiinstall/unifiinstall.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 pibakery-blocks/unifiinstall/unifiinstall.json diff --git a/pibakery-blocks/unifiinstall/unifiinstall.json b/pibakery-blocks/unifiinstall/unifiinstall.json new file mode 100644 index 0000000..7584bb7 --- /dev/null +++ b/pibakery-blocks/unifiinstall/unifiinstall.json @@ -0,0 +1,16 @@ +{ + "name": "unifiinstall", + "text": "Install Unifi Managment\\nRequires internet connection", + "script": "unifiinstall.sh", + "args": [], + "network": true, + "continue": true, + "type": "software", + "category":"software", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Installs the Unifi Managment Software. Internet connection required.", + "longDescription":"This block allows you to install Unifi Managment Software. An internet connection will be required for this to work." +} From 92e1ff173ae3b2f8287bef1ff3d6a1a230244eaf Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 2 Nov 2016 16:00:55 +0000 Subject: [PATCH 26/28] unifi install script --- pibakery-blocks/unifiinstall/unifiinstall.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 pibakery-blocks/unifiinstall/unifiinstall.sh diff --git a/pibakery-blocks/unifiinstall/unifiinstall.sh b/pibakery-blocks/unifiinstall/unifiinstall.sh new file mode 100644 index 0000000..17052b3 --- /dev/null +++ b/pibakery-blocks/unifiinstall/unifiinstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash +echo 'deb http://www.ubnt.com/downloads/unifi/debian unifi5 ubiquiti' | sudo tee -a /etc/apt/sources.list.d/ubnt.list > /dev/null +apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50 +apt-get update +apt-get install unifi oracle-java8-jdk -y +echo 'ENABLE_MONGODB=no' | sudo tee -a /etc/mongodb.conf > /dev/null +cp /lib/systemd/system/unifi.service /etc/systemd/system/ +sed -i '/^\[Service\]$/a Environment=JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt' /etc/systemd/system/unifi.service +#apt-get update && sudo apt-get upgrade -y +#apt-get install rpi-update && echo Y | sudo rpi-update \ No newline at end of file From 9a586137faa5beeabcb136cdf43051f21afcd7c9 Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 16 Nov 2016 10:24:18 +0000 Subject: [PATCH 27/28] waveshare LCD install script downloads and unzips installer, sets the path, removes reboot from scripts, runs script and installs xinput-calibrator --- pibakery-blocks/lcd-show/lcd-show.py | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pibakery-blocks/lcd-show/lcd-show.py diff --git a/pibakery-blocks/lcd-show/lcd-show.py b/pibakery-blocks/lcd-show/lcd-show.py new file mode 100644 index 0000000..e3f19c6 --- /dev/null +++ b/pibakery-blocks/lcd-show/lcd-show.py @@ -0,0 +1,34 @@ +#!/usr/bin/python + +import sys, os, time + +LCDVER = sys.argv[1] +ROTATE = sys.argv[2] +os.system("wget -O /home/pi/LCD-show.tar.gz http://www.waveshare.com/w/upload/4/4b/LCD-show-161112.tar.gz)" +os.system("tar xvf /home/pi/LCD-show.tar.gz -C /home/pi/") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD35-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD4-800x480-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD4-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD5-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD7-800x480-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD7-1024x600-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD28-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD32-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD35B-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD43-show") +os.system("sudo sed -i 's/sudo reboot/#sudo reboot/' /home/pi/LCD-show/LCD101-1024x600-show") + +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD35-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD4-800x480-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD4-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD5-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD7-800x480-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD7-1024x600-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD28-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD32-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD35B-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD43-show") +os.system("sudo sed -i 's/\.\//\/home\/pi\/LCD-show\//' /home/pi/LCD-show/LCD101-1024x600-show") + +os.system("sudo /home/pi/LCD-show/"+ LCDVER + "-show " + ROTATE) +os.system("sudo apt-get install -y xinput-calibrator") From 8a5439cc5deb8f6db13234737381ccb81176561e Mon Sep 17 00:00:00 2001 From: eddwatts Date: Wed, 16 Nov 2016 10:24:37 +0000 Subject: [PATCH 28/28] waveshare LCD install Block --- pibakery-blocks/lcd-show/lcd-show.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pibakery-blocks/lcd-show/lcd-show.json diff --git a/pibakery-blocks/lcd-show/lcd-show.json b/pibakery-blocks/lcd-show/lcd-show.json new file mode 100644 index 0000000..36d29a0 --- /dev/null +++ b/pibakery-blocks/lcd-show/lcd-show.json @@ -0,0 +1,25 @@ +{ + "name": "lcd-show", + "text": "Screen: %1\\nRotation: %2", + "script": "lcd-show.py", + "args": [ + { + "type": "menu", + "options": ["LCD35","LCD4-800x480","LCD4","LCD5","LCD7-800x480","LCD7-1024x600","LCD28","LCD32","LCD35B","LCD43","LCD101-1024x600"] + }, + { + "type": "menu", + "options": ["0", "90", "180", "270"] + } + ], + "network": true, + "continue": true, + "type": "setting", + "category":"setting", + "supportedOperatingSystems": [ + "raspbian-pibakery.img", + "raspbian-lite-pibakery.img" + ], + "shortDescription":"Sets the Raspberry pi to work with LCD screens.", + "longDescription":"Sets the Raspberry pi to work with LCD screens. starts working after reboot" +} \ No newline at end of file