
PiBakery – a blocks based, easy to use setup tool for Raspberry Pi - trueduke
http://www.pibakery.org/
======
jimmytidey
Well known story from Art School:

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:

[http://webiopi.trouch.com/](http://webiopi.trouch.com/)

~~~
gregmac
> Turns out the standard install goes to sleep if you don't interact with it
> for 20 mins

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.

~~~
rgoodwintx
It's been a while, but when I first set up OctoPi, I'd run into the same
thing. Would disappear from Wifi after a short amount of time. At the time, I
searched and found a directive to prevent _something_ from going to sleep:
wireless, USB (wifi dongle), the whole Pi. Endlessly frustrating. But I
think/thought this has been resolved for some time.

Exciting project nonetheless and look forward to using it!

~~~
Knacker_Hughes
I think the Edimax Nano WiFi dongle driver goes to sleep after a while under
the default settings.

[https://www.raspberrypi.org/forums/viewtopic.php?t=61665](https://www.raspberrypi.org/forums/viewtopic.php?t=61665)

~~~
rgoodwintx
Bingo, that was it!

------
staticvar
Cool project! I also developed a tool for Pi's called Bakery for configuring a
Pi from a user interface :). The difference was that it was focused on setting
up the Pi as a Gateway device for IoT. I took it down though because our
Knight Prototype Grant funding ran out and we didn't have time to maintain it.
In case you're interested, our approach was to generate a bash script from
input in a web form, then put that script on a USB drive and plug it into a
Pi. We rolled our own Pi distro that then looked for new USB drives containing
an `autorun.sh` file. We now just teach people how to use the command line to
pipe data from devices to the Internet. All of our device and database drivers
are actually just CLI so no fancy UI needed... But using these CLIs we made in
PiBakery would be really cool way to lower that barrier to entry! If you're
interested in taking this tool an IoT direction, check out our wiki at
[http://openpipekit.github.io/](http://openpipekit.github.io/). We do a
monthly first Thursday hangout at 8pm (link to hangout at the bottom of the
Wiki).

~~~
PiBakery
You've actually almost exactly described how PiBakery works - except that
PiBakery obviously can write the image as well. Once the image is written,
PiBakery just writes some scripts into the /boot/PiBakery/ directory, which is
checked by a systemd startup script, and executed.

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.

------
celticninja
Great idea and the screen shots look great. I love that it is so reminiscent
of scratch, which my kids use on the Raspberry Pi now, will be great for
helping them set up their own Pis.

~~~
PiBakery
Thanks, and yes, the whole ideas was to make it that anyone who's used Scratch
(which covers a lot of the Pi community) would be able to instantly use
PiBakery.

------
PiBakery
If anyone has any feedback on PiBakery, I'd love to hear it!

~~~
chme
I take you start from the raspbian base image and customize your rootfs from
there.

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/](http://liw.fi/vmdebootstrap/)

~~~
PiBakery
Exactly, I start with the Raspbian Full image and slightly modify it to work
with PiBakery. If you want to see exactly what I have changed, I have a GitHub
repo of that as well - [https://github.com/davidferguson/pibakery-
raspbian](https://github.com/davidferguson/pibakery-raspbian) .

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.

------
honzajde
Nice idea, however now I am starring the download and I see PiBaekry.Setup.exe
1.0GB? Just to generate couple of scripts, which is basically what I would
need!?

~~~
elliotpage
From the downloads page: > Please note that both the Mac and Windows version
are very large, as they contain Raspbian, the Raspberry Pi operating system.
Therefore these downloads may take some time to download, depending on the
speed of your internet connection.

Perhaps overload, but there you go!

~~~
tehbeard
Makes sense for a non-technical user (One not versed in Linux-Fu) oriented
software.

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.

------
AstroJetson
I used it yesterday then posted the link to HN since I was so pleased and
excited.
[https://news.ycombinator.com/item?id=12437126](https://news.ycombinator.com/item?id=12437126)

I do classes on the Pi, the ability to set them up for class will make a huge
difference.

~~~
PiBakery
Glad you like PiBakery - one of it's inspirations was actually for the
Raspberry Pi club I run at school. Hopefully it'll make your life a bit
easier!

------
hashin
Great idea! This should help in introducing kids to the idea of OS
customisation, with various start up configurations for different
applications.

Once they start with this, they would be in a better position to appreciate
start up scripts and other OS tweaking. :-)

------
brudgers
Reminds me of the Snap programming language:
[http://snap.berkeley.edu/](http://snap.berkeley.edu/)

~~~
PiBakery
That would make sense, as Snap was based off Scratch, and Blockly (what I use)
was also based off Scratch.

~~~
lfowles
I thought it looked familiar! I briefly experimented with using Blockly to
simplify testing at work.

------
reillyw
This is exactly what I need. We have about 20 PI's for our kids coding club
and need to set them up for VNC. Well done PiBakery.

------
Quequau
This is a great idea. It strikes me that more of the Raspbian configuration
ought to be done in this manner.

------
2sk21
Such bad timing :-) Not ten minutes ago, I just ordered a USB keyboard to
setup my new Raspberry Pi 3! Let me add to the others that this is a great
idea.

------
asimuvPR
Brilliant approach towards displaying configuration. I feel in love with the
presentation. It just makes sense. Definitely "borrowing" the idea. :)

~~~
PiBakery
All the code is on GitHub, so feel free!
[http://github.com/davidferguson/pibakery](http://github.com/davidferguson/pibakery)

------
evv555
Good idea! I've been experimenting with using Blockly for ops/config
management as well but focusing on raspberry pi is a much better fit.

------
PerilousD
Does this only configure Wifi or can you also setup Wired (eth0) connections
and is static IP address support (wifi and wired) baked in or only DHCP?

~~~
PiBakery
A block for setting a static IP is in the making - follow @PiBakery on twitter
to find out when I push out that update!

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?

------
Gonzih
I just use ansible to configure my raspberries :) But great tool in my
opinion. Good to see windows version present.

------
enibundo
Where was this some months ago when I had to do some ninja rpi bash scripting?

