Running test environments on/with Raspberry Pi's gives me a reason to experiment with fun hardware setups. The recent release of the Pi4 has me playing with my new Pi4's and old raspberries again.
Next to this I'm developing course ware for getting non-developers using CI/CD tooling hands-on. The reason for this is to get people who have some theoretical knowledge of CI/CD, DevOps and Agile development methods to grasp the theory on a practical level.
Recently at a work, the launch event of our Sprngstf.com brand got me working on a small experiments with sensors again. The demonstration was not about how excellent my copy/paste coding and stackoverflow skills are, but about how a simple premise of counting the number of attendees leads to a whole code -> build -> test -> refine cycle. Demonstrating how fast you can get from a concept to a physical proof of concept.
combining it all
When creating interactive course ware or demos for customers I have to start somewhere. With the above hardware based demo, to make things a bit more easy I start with a well documented set of sensors. So I purchased two Breakout Gardens @pimoroni and a bunch of sensors to play and experiment with. They included different types of distance meters, motion detection, environment sensors and some small screens to display information on. I cloned the Pimoroni repository on Github and adjusted the code after running it to see what it does.
from idea to action
As I had a rudimentary idea how I could adjust the code of the example parking distance meter to reflect changes of someone passing the sensor, I could start. The only thing I did prepare beforehand was the logo, to display on the low resolution mono-chrome screen, the rest of the coding was part of the demo.
reactions and feedback
It was fun to do this not as an orchestrated demo, but as an interactive exhibition item, having people ask what I was doing. A lot of different conversations came from it. From the obvious what is this, pointing at the small screen and Raspberry Pi to the discussions about hands-on prototyping, flow of development and even a discussion on privacy impact analyses... That last one came about by discussing the growth of IoT in healthcare, where with the benefits came of course a great responsibility.
When learning or gaining new experiences the best way to retain these new insights, is by actually experiencing them by doing. With regards to the attendees, they probably retained most when the experience was create in interactive sessions or active discussion. For me the experience led to the development of the before mentioned hands-on course ware and picking up this blog again. When you actually do something and try to teach what you've learned to others, you gain experience which will last much longer and will help you retain much more applicable knowledge.
starting your own interactive journey
There are tons of tutorials, hardware and non-hardware related, with fun results and not too steep learning curve. It's in most cases not about becoming a programmer or a IoT specialist, but getting things to work, knowing what is involved and great source of inspiration and creativity.
Start small, but maybe not too small, look for kits and hardware where the on-ramp of getting everything you need in house or installed on your computer is taken care of.
The Pimoroni, Adafruit, Raspberry Pi Foundation, BBC Micro and Arduino kits and repositories are in my experience very welcoming to newbees. They are very well documented and have you up and running quickly. Buy a base kit and start following the tutorials, after which you can adjust those to your own needs.