This time of year we usually like to reflect back on the passing year or two and this year I would like focus on my experience with the Raspberry Pi.
This little computer was the one thing that significantly affected me as a person, student and business owner. Since I got my first Raspberry Pi model b back in March 2015, so many things have happened, so many doors have opened, so much has been learnt and, in my opinion, my life actually got better in some ways.
I’m currently running 7 Raspberry Pi’s in my house, all connected to my home network and the internet and to one another through a MySQL database. Most of them run silently behind the scenes, doing their ‘thang’.
Some of the significant tasks include motion sensing with alert sms’, emails and light triggering; auditory clocks (with Big Ben bell chimes), collect inspirational quotes; organise and post images and inspirational quotes to Facebook and Twitter; wake me up in the mornings (most mornings); read, interpret and mail my google calendar; run a home automation web server; connect additional HDDs to my network and automatically control some lights.
Apart from the Kodi media centre, most of them have a multitude of commands that is triggered chronologically through Cron. As I’m a keen music lover, one of the big projects include a fully functional music player, complete with automatically updated playlists, search functionality, selected internet radio stations and an interface through my home automation web server.
This is how
All these projects were done with basic Bash, PHP, CSS, HTML and Python programming and some innovation, creativity, perseverance and online resources. Some projects also explores the help of microcontrollers (such as the Arduino), external sensors (such as motion detectors, photosensors) and communication modules (such as 433MHz radio frequency transmitters and receivers).
Early, early days
I got my first Raspberry Pi as an fairly cheap experiment to see if I can use it as functional desktop computer at work – not the case then, but with the Raspberry Pi 3, and very likely the next models, the possibilities are explored and even researched by the makers. Nick Heath from TechRepublic.com concluded that the Raspberry Pi 3 “might not be as comfortable to use as a $1,000 laptop but it’s the most PC-like Pi yet“.
Without digressing too much, this year, Pi-Top has successfully launched fancy (cheap) desktop and laptop shells for the Raspberry Pi 3, but the idea was more to be used for learning.
As with most new Raspberry Pi users, one starts to do research on the internet. The internet has such a wealth of free information on all things Raspberry Pi.
You start to get to know how to install the (then not desired yet, but recommended) operating system, you go through the first-time gibberish boot-up settings (sticking mainly to the defaults) and then (well, then, not anymore) the Linux’s terminal. (The Linux terminal has since been replaced by a, what is now perceived by many as an irritating, GUI with the option to change the settings back to the terminal.)
Now I’ve mentally given up on Linux in the past before, but after a few attempts (and reading up of course) Linux turns out to be more awesome than I though. The recommended Linux version all new Raspberry Pi owners should start off with (which is Raspbian Jessie at the time of writing) is dynamic, extensive, flexible and is custom made for tinkerers and newbie programmers – and it’s free!
The GUI version is not so bad either. The newest build has an extensive range of pre-installed office-suite, programming, gaming and image-related packages.
The first big project I got my teeth into was Stephen Hickson’s PiAUISuite. It’s since been discontinued since Google Captcha’d its speech-to-text (STT) functionality – lots of potential, but since then I rather focused on conditional automation instead of command driven automation. The project, however, still allows for some nice text-to-speech (TTS) functionality.
Now, I don’t expect everyone to start here, but this one did teach me a lot about Linux’s sound systems (ALSA Vs. Pulse?), Bash scripting, music players, accessing and editing files through nano and the command-line and file permissions.
Current project philosophy
These days, most of my projects are Bash and/or Python based. You simply write the script and either run it on boot-up or use Cron to schedule when it should run. All the required data is stored and retrieved from a MySQL database.
Through Bash and Python, the sky is the limit as to where to you get your input from. There are various APIs (Google, WordPress, Forismatic, Wordnik, Facebook, Twitter, weather stations, etc., to name the few that I can think off) you can start with.
Through the Raspberry Pi’s GPIO, you can also use microelectronics components such as motion detectors, temperature, humidity, pressure sensors, photosensors, etc. One of my projects is a simple light-dark logger based on the ambient light of my living room, which serves as the main trigger for when it is getting dark or light inside my house.
Linux also offers accurate time (if connected to the internet), which can be used with basic scripting to do calculations and control something up to at least a minute accuracy.
Real life application
One very simple project I’m running is a simple alarm system. It is basically a Raspberry Pi 3 hooked up to a motion sensor and my network through Wi-Fi. Input and activity is achieved through my home automation web server.
When triggered, a signal is send to another Raspberry Pi to use some logic to see if the alarm must be triggered – which then physically sounds an alarm upstairs and send out a SMS and an notice email to me and my PA. Logically things like whether there is suppose to be someone, for example people visiting or cleaning the area, or not is processed.
When the alarm is not activated, other scripts uses the same logic to see whether the alarm should be activated or not, and does so for in case you forgot to do it manually.
The total costs of the project was less than R900. The monthly subscription fee to a local armed response company was pushing R300 per month. I must say that the risk-benefit w.r.t. the valuables in the area was favourable and the area was not huge (meaning only one sensor was necessary). Once the project was running, the benefits spoke for itself.
Lets not forget that the Raspberry Pi Foundation’s main focus with this little board was learning.
Before all of this, I had very basic school level programming, fairly experienced HTML, basic WordPress, CSS and very basic PHP programming skills. Same as the Foundation, what excites me so much about the Raspberry Pi is that it opened so many possibilities through learning. Although I’m still not experienced by any means, my knowledge has improved significantly – through tinkering.
Python to me was a complex programming language, but through the introduction and basic use by the easy-to-get-into Python approach of the Raspberry Pi, I got intrigued – so much that I’m planning to enroll in Python programming lessons next year.
For me the freedom to explore with PHP and MySQL databases through my Raspberry Pi web server also opened up a whole new level in data input, presentation, capturing and output. The inner workings of WordPress also became more understandable and now, flexible.
I will most likely continue with the knowledge and projects I started off with. In fact, I consider these projects my main hobby and most of my friends tease me about my enthusiasm at braais. My head is also bursting with many new projects, including exploration of gaming and game making. There are also a few official training courses lined up this year.
About the Raspberry Pi itself – The Raspberry Pi 4 is rumored to hit soon (February 2017).
Whether it will continue to build on top of its awesomeness is yet to be seen, but I am very excited and certainly believe so.
I would really like to see more South Africans use this little awesome R800 computer. For me, discovering the Raspberry Pi and all it has to offer in the form of new age mini-computers has brought a wealth of opportunities and learning.
Make sure to share some of YOUR 2016 Raspberry Pi experiences in the comments below.