PiBakery – a blocks based, easy to use setup tool for Raspberry Pi
pibakery.org
pibakery.org
1) Develop your art installation on Raspberry Pi
2) Test it thoroughly so you know it will be robust
3) Install it in the gallery. Works great. Start organising wine for the private view
4) Come back to find Pi has turned off
5) Start debugging up a step ladder or inside a plinth, with an hour before people start arriving
Turns out the standard install goes to sleep if you don't interact with it for 20 mins, something you'd never think of testing for.
Removing this setting, especially for scripts that run as sudo on boot turns out to be tricky, especially with a keyboard balanced on your knee.
Pi Bakery is a welcome addition to the Pi Ecosystem!
Also, very interested in using this to make hardware dev more accessible to those familiar with web development:
Can you cite a source for this? I've used several differnt Pi's for various different purposes, and have never ran into this. In fact up until a couple weeks ago I had one plugged in sitting on my desk that I was using to test something periodically, and it would sometimes sit idle for a couple weeks between connections - but never had a problem with it.
I can find a stackoverflow question filled with people pointing out there is no sleep mode[0], but nothing else about it.
Exciting project nonetheless and look forward to using it!
Until I properly found out how to disable wifi power saving, I worked around it by just pinging it from another device every 30 minutes to keep it awake.
These days you're probably better off using something like Screenly: https://www.screenly.io/ose
I have a fork that I hacked some basic auth into here: https://github.com/jpsingleton/screenly-ose
And if you want to create custom blocks to add in to PiBakery for your own tools/scripts, you're welcome to do that! I have a guide on the PiBakery website - www.pibakery.org/docs/contribute.html - that describes this process that you can look at if you want.
I see it's not possible to allow user-configuration when the block is being installed, is that something on your road map? Is it possible to have any sort of periphery checking (e.g. does the pi have a camera attached).
Not that it'll matter much either way, I mean you can just set the block up and have it fail gracefully, but I thought I'd ask.
Nice work though - looks really great!
If I have some free time, I may experiment with adding "if" blocks in - although the main disadvantage is that this wouldn't be backwards compatible with previous PiBakery versions, and that's fairly important to me. But I'll see how things go.
That said, I am looking into an "if" block and then reporter blocks for it, and it may happen in the future.
Maybe take a look at the various debian bootstrap methods then you can create minimal sd-images and even apply some changes to the root fs and partition table before booting the rpi.
This way you could implement encryption of the root partition or specification of partition size etc.
Here is one of the many bootstrap methods: http://liw.fi/vmdebootstrap/
I will be doing the same process with Raspbian Lite (as having a minimal image is the most wanted feature) and allowing users to choose whether they want to use Full or Lite when writing to SD.
Maybe cygwin can help here? Or run this stuff on a virtual system, vagrant, virtual box, qemu... I have no idea how to do this in windows/macos.
Or encourage your users to just ditch those proprietary systems ;)
This svg Octocat is 7kb and CC-Attribution-3.0, but it's only the first one I found: https://commons.wikimedia.org/wiki/File:PEO-octocat-1.svg
Thanks so much for the hard work on PiBakery, it seems great!
I think you should add a bigger "Download" button to your download documentation (i.e. here: http://www.pibakery.org/docs/install-mac.html).
It's good to have the explanation for beginners, but for people that just want to get the software (and kind of know what they're doing) there should be a bigger button in addition to the text link. :)
Otherwise it looks good :) Anything that helps lower the barrier to entry for kids and other new comers to the rpi is a good thing in my book.
One benefit of this, over doing it online: you can download the file+program, disconnect from the net, and customize as many versions of the image as you'd like without extra bandwidth use. There are a lot of Pi users with limited internet access.
Another benefit: Doing it online implies at least a two step process. Go to the site and build a setup (with either an account system or an import/export feature to save progress and make it available for re-use), tell it to build the image, download it, and use a separate program to flash. Doing it through a native app eliminates the separate program and the question of whether or not you need to create an account on their service. Plus, when their site goes down eventually, I've still got a working, independent program. When they introduce a new version, I've got the option to stick with what I've got or upgrade (if I judge it to actually be an upgrade).
Web apps have their place. This thing is one that makes more sense as a local app to me.
What exactly do you mean by encrypted pi? The entire SD encrypted, one partition encrypted, or something else? If you have a script that does something like this, feel free to submit a block for it (guide at http://www.pibakery.org/docs/contribute.html) or send me the script and I can add it in for you.
Thanks for your interest in PiBakery!
Great product will definitely be using this today!
Perhaps overload, but there you go!
It could be made to download the distribution from the internet, but that introduces more failure states you'd have to handle and explain to a user in clear language.
I do classes on the Pi, the ability to set them up for class will make a huge difference.
Once they start with this, they would be in a better position to appreciate start up scripts and other OS tweaking. :-)
There is, however, a block for running custom commands (as root or pi user) so maybe you would be able to use that in the meantime?