Why Not Start with Raspberry Pi Now?


Most of my friends have touched on this topic, I keep seeing it in job offers, and I've been hearing about it for years. I'm waiting for future projects, and I want to add a very useful technology to my portfolio. Why not get into it right now? Ladies and gentlemen, hats off, presenting to you – His Majesty, Raspberry.
What do I want to run on this Raspberry? For now, I have only one idea: Home Assistant. If you've never heard of it, let me explain. Home Assistant is a service to which I can connect multiple sensors, it has a graphical interface, and in this interface, I can create real magic. Let’s take a simple example of a smart socket and a temperature sensor with connectivity. We connect both elements to Home Assistant. We plug a heater into the socket, and we display the temperature sensor in our welcome interface. Let’s add a simple automation: if the temperature drops below 20 degrees – turn on the socket, if the temperature rises above 25 degrees – turn off the socket. In a simple way, we've turned an analog heater into a smart heating system for our room, and on top of that, we can check the temperature on our phone.
To be completely honest with you, I’ve never done anything more complicated with Home Assistant and sensors – and that’s one of the reasons I want to launch this project.
I will definitely want to run more services in the future, and they will all rely on one technology: containers. I fell in love with them as soon as I started writing them myself. Containers are a technology that builds a system out of blocks to run a specific functionality. For example: the Home Assistant server. To run it, I will need a Linux system, a few installed packages, and the server itself. I create a file where I specify what I need, I define a sequence of actions that I would have to perform manually on my computer anyway, and everything should work. Usually, this takes much more time than running such a server locally, but there is one major advantage to this solution – you describe everything in a single text file, just a few lines. You run the same file on another computer, on a different operating system, and everything works.
This is the only technology where you can’t throw "it works on my machine" in your colleague’s face. Of course, there are exceptions, which I plan to describe in the future, but with a well-described container, the operating system on which you run it doesn’t matter.
Subscribe to my newsletter
Read articles from Tomasz Meyer directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Tomasz Meyer
Tomasz Meyer
With 8+ years in embedded systems, I specialize in firmware development for ARM-based microcontrollers and wireless communication. I combine corporate best practices with startup agility, leading projects from concept to deployment.