This is a multi-part article that attempts to understand what to make of the Raspberry Pi – a Single Board Computer – that has become very popular.
The article has the following main points of discussion.
THE VIEWS AND OPINIONS EXPRESSED IN THIS BLOG/ARTICLE ARE THOSE OF THE AUTHOR(S) AND DO NOT NECESSARILY REFLECT THE OFFICIAL POLICY OR POSITION OF SOSALEY TECHNOLOGIES (P) LTD.
The Raspberry Pi 4
Raspberry Pi 4? Sounds ominous like the Sign of Four by Arthur Conan Doyle?
Jokes, apart, it is nothing like that. The Raspberry Pi 4 (RPi 4) is the new avatar of the hugely popular Single Board Computer (SBC) developed by the UK based Raspberry Foundation and called Raspberry Pi (RPi). What started as a way of introducing computers to school children has become a huge success with millions of the SBCs sold. It has also spawned a large number of competing products from the likes of Intel, Nvidia, Asus and others. On last count, 25 million RPi’s have been sold.
To a large extent, the RPi is used by hobbyists and for non-serious uses. Running multiple versions of Linux, the RPi was never taken very seriously by the world and written off as a toy. It gained popularity in the development of robotics, and to be used in entertainment. The Foundation distributes RPi with its own version of Debian Linux called the Raspian. Other than that, there are nearly 16+ third-party portings of Linux such as Ubuntu, XBMC, OSMC, Librelec and, Pidora. In addition, there are over 25 popular applications covering Thin Clients, Networking, Home Automation, Education, Software Development, Aviation, Marine, Audio.
Microsoft has a version of it CE OS running on RPi with special emphasis on IoT. There is also another OS – RISC OS – that is designed specifically for the RPi. This is developed and distributed by a company called Acorn based in Cambridge, England. RISC OS, they claim, has been designed by the same people who designed the primary CPU – the ARM processor – of the RPi.
The RPi uses an integrated circuit called ARM as its main CPU. ARM is an acronym for Advanced RISC Machine. RISC stands for Reduced Instruction Set Computing.
If you look at the standard CPU that comes from companies such as Intel or AMD, the machine instructions are executed through two intermediate steps. In the first step, the machine instructions are converted to microcode. The microcode is then converted to instructions that the core of the CPU can understand. This structure is called Complex Instruction Set Computing, or CISC.
In RISC, these two intermediate steps are avoided, and the machine instructions are executed directly. ARM took birth as a research paper called Berkeley RISC that investigated the possibility of reducing intermediate steps in code conversion. This was then taken up by a company called Acorn Computers in the UK that designed the first ARM processor. This was introduced to the world as the brains of the BBC Micro.
Today, ARM chips are owned by a holding company that brings out new designs on a regular basis. These designs (called Processor IP) are given to other companies that manufacture and sell the CPUs. Today, ARM processors power over 90 billion devices across IoT, communication, entertainment, healthcare and other verticals. Your average smartphones are powered by ARM processors.
The RPi 3B Configuration
The RPi has been through multiple iterations over the years. For this article, let us ignore the initial versions and focus on version 3B.
|CPU||Broadcom BCM2837 SOC using the 4×ARM Cortex-A53, 1.2GHz CPU.|
|GPU||Broadcom VideoCore IV|
|RAM||1GB LPDDR2 (900 MHz)|
|Networking||10/100 Ethernet, 2.4GHz 802.11n wireless|
|Bluetooth Communication||Bluetooth 4.1 Classic, Bluetooth Low Energy|
|Input/Output||40-pin header, populated GPIO|
|Ports||HDMI, 3.5mm analogue audio-video jack, 4× USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI).|
Whew! That is quite a lot for a system that is just 3.37×2.22×0.67 inches (85.60×56.5x17mm). The WiFi and Bluetooth have been introduced in this model.
The GPIO or, General Purpose Input/Output, is the main strength of the system. This allows third parties to develop add-on boards that do a specific task. The GPIO also provides I/O as well as power to the add-on boards. A large number of companies develop and sell add-on boards for audio, video, sensor interface, interface to external devices such as robots, etc. Each add-on board also provides its own GPIO, though in most cases these are limited to their own cards. Theoretically, if each add-on board provides the same GPIO, you can mount thousands of add-on boards on the RPi. Something in that fashion is being done to mount multiple RPi’s to create a server that can handle thousands of multiple tasks and concurrent processing.
Usage of RPi3
The RPi can actually be used to do many things. Let us understand some of the major uses and look at what really exists in the market.
Use as a desktop computer
Though this was never the intention of the SBC designers, this is one of the easiest tasks that the RPi can perform. To work as a desktop computer, the RPi has 3 major software elements needed – an easy to use OS, a browser, and an equivalent of MS-Office. The extra hardware needed are a keyboard and a mouse, a monitor, and an external HDD. But, the RPi never gained popularity in this area. We will discuss this in some detail later on.
As a Server
The RPi can act as a web server and as a storage server in a LAN. This needs connections to the Internet, and to one or more HDDs to store the data. Software to make the RPi work as a server is available for free.
As a NAS
Again, like a server, you can connect multiple HDDs to an RPi and use it as a Network Attached Storage (NAS). One of the primary components for this is NAS software. A popular offering is the Open Media Vault that runs on Debian Linux and acts like an OS for NAS. It offers services including SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more. Detailed instructions on setting up the RPi as a NAS are available on the Net. Once this is set up, you can access the files from any other device that is connected to the network.
As a controller for devices in real-time
One of the uses of RPi along with its GPIO is to use it to control external devices in real-time. It is quite popular in labs for the control of robotic devices. It can be connected to sensors to read real-time data, and then trigger some form of action. For example, when a person enters a room, a sensor could send information of human presence to the RPi that could switch a light on.
Though using the RPi in the labs is fine, using it in real life may not make too much sense. There are three main issues.
- Sensing and control of devices need limited, very focused, and high-speed processing. This can be better achieved with specific micro-controllers that would be faster than a general-purpose CPU. A well-designed board using such a micro-controller would be less expensive. With good embedded code, such boards are always preferred. For example, every electronic and even some electrical equipment at home will have such as a board that has been programmed for a specific task. Your TV, fridge, microwave – all have some microprocessor and their accompanying circuits and accessories to make the device work for you.
- With a 64-bit circuitry, the ARM processor will be, in most cases, an overkill for real-time control.
- Most of the I/O and communication in the RPi may never be used.
What is done is that the RPi is used in the lab to design and develop a system. Once that is done, the code is translated to a specific micro-controller and that is implemented. But again, most micro-controller manufacturers provide breadboards that do just that. Whatever code you develop using a breadboard, can be transferred directly to the final production board without any translation.
As a Media Server and Player
One area where the RPi is gaining acceptance and popularity is entertainment. Used with the right software, the RPi can act as a repository of your media files and make it available to you across your home. In this case, the RPi acts as a media server. It can also act as a media player. Connected to your TV or amplifier, the RPi can play movies and music for you quite well. Again, we will be discussing this in some detail further down in the article.
Read the continuation of the article by clicking here…