The Raspberry Pi Grows Up
One of the requirements for the project I have described in this portfolio was that the Raspberry Pi had to continue to be used as the device controller for their existing product. I had not developed software for the Pi before that, so the following comments are not based on having selected or recommended the Pi to a client. Although in the last couple of years I have recommended it several times, and created software for other clients/projects as well as for myself as I started testing it out before the latest model I describe below was created.
The Raspberry Pi is no longer just a curious tiny single-board computer limited to teaching basic programming concepts or to the casual hobbyist. The platform has grown up to become a wonderfully functional and cost effective IoT platform, and to everyone's surprise (especially mine), it is also a very capable desktop workstation. All thanks to the newest model, the Pi4, which comes in 2gb, 4gb & 8gb versions and all of which are based on the Broadcom Quad-Core Cortex-A72 64-bit CPU running @ 1.5ghz. It has dual HDMI output and can do 4k resolution on both, and a gigabit ethernet port as well as dual-band Wifi (2/5ghz), and 4 USB ports with 2 being USB3.0! If this seems like I'm writing an advertisement for the Pi it's because I have been doing quite a bit of testing with the Pi4B for several months and I have not been this impressed by anything in the technology world for a very long time.
The Raspberry Pi platform, from the Pi-Zero to the Pi3 and now Pi4 all function very well as low-cost but very versatile IoT device controllers. They can control an infinite variety of devices and machines cost effectively from home automation components to lathe/cnc machines to higher-tech devices such as the water purifiction systems that my software was designed to manage. These systems have several different hardware components and some very complex functionality. And since the water produced by the systems had to be fit for human consumption there were strict requirements and very little tolerance in measurement. The software I created for these devices was built using industry standard development technologies and 100% open-source software [Linux, Java etc]. The Pi can run on several different operating systems but by far the most popular operating system is Linux. Rightfully so as it gives the greatest functionality and versatility to the developer, not to mention the largest and longest-running development project which has continually improved Linux for nearly three decades.
The Pi platform offers a low-cost yet highly-functional control/processing component that is as versatile as any computing device ever created. It operates purely on open-source software and has a massive worldwide development community. The operating system that powers the Pi [RaspberryPi OS] is based on the Debian variant of the GNU/Linux operating system. The Pi 3B that I am using in this project can control hardware devices/machines with very little effort and very little code. All Pi boards come with wifi and with my software it's a requirement as the Pi has to communicate with the servers to function. At a cost of $40 or less per unit the functionality per dollar far exceeds anything I've ever seen. In my testing of the Pi I installed the Apache web-server and ran dozens of web-sites on it, several were connected to the MySQL (or SQLite3) database servers I also had running. And plugged into the network I had no trouble using the sites from another location that is half-way across the country. Then I fired up my application which was written in Java and that also ran perfectly.
That little Pi really is amazing.
The newest Raspberry Pi is the Pi-4B which outclasses many laptops and can easily function as a desktop workstation. And configured properly it can even function as a server for any variety of purposes such as internet server for web-sites and web-apps, database server, multi-media streaming server and the list goes on. I have yet to find something that the Pi can't do. I have been testing it and even with only 8gb of ram it's an incredible little board.
The only downside to this technology?
The expertise required to make full use of a Pi and to integrate it into your business infrastructure is nowhere near as common or readily available as the thousand-pound gorilla we all know as Microsoft with Windows and related technologies being the overwhelming leader. However that situation will, without a shadow of doubt, be changing in a very near future.
In my role as a systems developer I am often called upon by my clients to serve also as their technology consultant, bringing my expertise to advise them about what products and technologies would work best for them for a particular purpose or project. Including doing product research and making recommendations. And for the past couple of years I have been recommending the Pi for several purposes, and I do not hesitate to recommend it often.
[Note: I will be adding more detailed information about the Raspberry Pi platform during 09/2020. Please contact me if you have any questions about the Pi or my recent projects using it.]