The Raspberry Pi: A Technology Disrupter, and the Enabler of Dreams

The Raspberry Pi Foundation aims to promote the teaching of Computer Science and is inspired by devices such as the ZX81 and Spectrum [1], the first home computers from the 1980s, and government backed in-school devices such as the BBC Acorn [2].[...]


Introduction
The Raspberry Pi Foundation aims to promote the teaching of Computer Science and is inspired by devices such as the ZX81 and Spectrum [1], the first home computers from the 1980s, and government backed in-school devices such as the BBC Acorn [2].
The first Raspberry Pi device was released in February 2012 (Raspberry Pi 1 Model B, generation 1).It proved to be an immediate success, in part due to the low $35 price.By adding a few peripherals, which are not included (keyboard, mouse, monitor, SD storage), it is possible to quickly have a fully working computer running Raspbian, a Debian-based Linux operating system.
It is often referred to as a Single Board Computer (SBC), meaning that it runs a full operating system and has sufficient peripherals (memory, CPU, power regulation) to start execution without the addition of hardware.The Raspberry Pi can support multiple operating system variants and only requires power to boot.Some Raspberry Pi versions can boot direct from network but generally file-system storage is required, for example a micro SD card.
Although other Single Board Computers (SBC) existed before the Raspberry Pi, historically they targeted industrial platforms such as vending machines and are often referred to as development boards.The Raspberry Pi Foundation made the SBC accessible to almost anyone, introducing not just a low cost computer, but one that can bridge the gap to the physical world by exposing General Purpose Input-Output (GPIO) connection pins.The Raspberry Pi pin header can be controlled programmatically from the operating system and supports a range of features, e.g., USB, UART, SPI, I2C and Interrupts, which can be used to connect a huge variety of electronic components.
This has led to the popularity of the Raspberry Pi, not only in education but with industry, hobbyists, prototype builders, gamers and the curious.It has enabled people to experiment in new ways, for example incorrectly connecting sensors to GPIO pins can result in a broken mainboard, this is less inconvenient if it is a Raspberry Pi but, catastrophic if it is the family PC.
The increase in popularity of Cyber Physical Systems (CPS) and the Internet of Things (IoT) has renewed the demand for embedded systems, on a large scale, greatly benefiting the Raspberry Pi.This demand is driven by the desire to instrument and understand the fabric of human civilisations ranging from cities to forests, in order to gain insights and produce actions, for example Smart Cities, Smart Cars, Smart Homes.This is achieved by sensor networks and their communication systems, the main driver is the falling cost of hardware and improvements in performance.Some predictions state that there will be 50 billion IoT devices by 2020 [3] which, although probably an over estimate, demonstrates a huge demand and opportunity for SBC applications.

Special Issue on Raspberry Pi Technology
This Special Issue includes a wide selection of publications that demonstrates both the breadth and depth of the capabilities of the Raspberry Pi.Almost all publications cite low cost of hardware, ease of availability and the advantages of a substantial community as the reasons for basing their work on the Raspberry Pi.We aim to represent a variety of use cases and area disciplines that utilise the Raspberry Pi but it is by no means exhaustive.
The predominant usage of the Raspberry Pi is, rather unsurprisingly, for educational purposes.This includes both hardware and software, in a range of educational and research facilities [4][5][6]; many of the other publications included in this Special Issue address specific trends.For example, with the availability of low-cost computing, we are seeing a change in architectures, whereby computing is pushed towards the edge of the network [7,8] .This Fog or Edge [9] computing is an important change that is required to make IoT systems more efficient and scalable.Scaling to billions of devices will only be possible if power is used efficiently through optimised computing and intelligent monitoring systems [10,11].This will have an impact on the environment in which we live.Understanding climate change, pollution and other environmental issues can benefit from IoT devices that measure and log parameters [12,13].
With the creation of huge numbers of IoT devices, alternative networking models, strategies and mechanisms are required; one tool in this area of research is network testbeds [14,15].These testbeds help bridge the worlds of pure simulation with experimental design.Physical testbeds can be costly, making Raspberry Pi-based solutions more attractive.
The Internet of Things encompasses all aspects of the digital world and the interaction with physical systems, for example art [16], industrial [17], medical research [18] and automotive applications [19].
As devices become embedded across the infrastructures of civilisations, more creative solutions are required for geo-location, wireless and mesh network technologies [20], in-situ image processing [21] and multi-agent systems [8] Even in remote regions, Raspberry Pi devices are used for monitoring and analysing the circadian and ultradian locomotor activity of small marine invertebrates [22].

Pi the Prototype
The Raspberry Pi is a powerful prototyping platform, and many of the articles in this Special Issue are constructing prototypes [6,11,[17][18][19].The idea of a prototype implies a partial implementation of all the desired features, but there is often a need to build a fully functional prototype [12,22].
There are two main reasons to build a prototype: 1.
to test and validate an idea or hypotheses.This follows the fail fast design philosophy where it is best to identify the good and bad ideas early.Building a prototype in a matter of days is acceptable even if it is too big, expensive, consumes too much power and is a bit slow, if it provides a mechanism to prove or disprove the feasibility of an idea.2.
to validate hardware design.Before commissioning a large production run or fully optimising a design, a prototype can be used to validate the electronic design and sensor capabilities within a desired operating environment.
The Raspberry Pi is an ideal platform for this as it is commodity hardware, supports high-level programming languages (e.g., Python) and runs popular variants of Unix-like operating systems.

Pi as the Enabler
Embedded devices are more prolific than ever before, with the IoT and its applications being a key driver, including Smart Cities, Smart Homes, Agricultural Technology, Industry 4.0 and associated communities [23].The cost of Single Board Computers and the demand for such systems has resulted in over ten million devices being sold [24].Centralised (Mainframe) processing was state of the art, which evolved to be smaller (Minicomputer and Microcomputer) and more personal (Personal Computer) over the decades.As the usage patterns changed, the cost dropped, and computing became more mainstream and accessible, even extending into mobile platforms (Smart phones).The Single Board Computer, spurred by the popularity of Internet of Things devices is the current trend, selling tens of millions of units.We predict this will be the basis for the next generation of commodity device whose cost and accessibility will result in billions of devices.

Pi in the Cloud
The desire to build IoT devices has never been stronger, and the range of creators is as wide as it has ever been, no longer left to a handful of large technology companies.There is a progression path for on-premises enterprise applications to migrate to cloud-based providers, and the same is true for Raspberry Pi based applications.Multiple cloud hosting companies offer fully managed Raspberry Pi hardware in commercial data centres, Platform As A Service (PAAS) [25,26].
Purchasing a Raspberry Pi in a data centre may seem a little strange as it is not possible to add additional hardware (e.g., sensors) and is a rather poor performing web server.However, it does make sense for all the millions of people who bought the devices for education, and subsequently developed applications.The Raspberry Pi is based on an ARM architecture, the latest is ARMv8.Migrating applications is not binary compatible with other architectures, so simply copying compiled files to an x86/x64 cloud hosted server will not work.A hosted Raspberry Pi is OS and hardware identical to those purchased in their millions, thus configuration files and binary file copying are supported.From an education perspective, making a custom application available publicly does not require port mapping, dynamic DNS or an understanding of processor architectures.
As these applications grow and need more processing power, one upgrade path could be to migrate to an ARM based server rather that migrating architectures [27].This is in keeping with a rising trend to include ARM based servers in data centres.
A publicly addressable Raspberry Pi requires an internet address but IPv4 addresses are increasing in cost, potentially rivalling the cost of the actual hardware.The time for IPv6 is here, some hosted Raspberry Pi offerings currently only support IPv6 (with IPv4 port forwarding as a fall-back).IPv6 offers more efficient routing, simpler configuration and better security; it also eliminates the need for NAT, private IP addressing and its associated problems.An environment which makes IPv6 the default option can only be welcomed and ensures a future proofing of skills in the next generation.

Pi on the Edge
In many applications, for example, large sensor networks, centralising computing power has some disadvantages.The architecture is simpler, but data has to be transmitted, processed, and then retransmitted.This can result in the automated cat feeder missing a meal because the Internet connection or cloud based service is down [28], despite there being enough data and processing power locally to operate without Internet connectivity, some devices simply fail.
Large sensor networks are often network constrained, so optimising data transmissions is the next logical progression to augment Cloud computing solutions.This is often referred to as Fog or Edge computing, where the computing resources are pushed from the centre further out towards the edge [29].For example, an image sensor for detecting or monitoring cars can process images at an edge device and only transmit the number plate details, thus greatly reducing bandwidth.
In an IoT world, this means that as computing resources move further out towards the edge, they become geographically distributed, harder to manage and at risk of damage or theft.Raspberry Pi devices and the clusters based on these devices [30][31][32][33] introduce a new class of computing: disposable computing.If an edge cluster built with Raspberry Pi devices is lost, stolen or falls into a volcano, the low-cost makes replacement palatable.This means that computational power can now be installed in locations where it was not previously feasible and enables Fog and Edge computing architectures.

Pi Containers
Building testbeds or deploying IoT hardware has an associated software management problem.One of the trending technologies that we see in large datacentres is containerisation, which wraps applications into isolated execution packages, for example Shifter [34], Docker [35] and Singularity [36].Some container platforms work on the Raspberry Pi, and even applications that require access to hardware can be supported inside containers.We expect to see more deployments using containerisation as a mechanism to manage software applications and updates [9].

Pi in the Future
In 2011, Cisco estimated that the number of IoT devices would exceed 50 billion by the year 2020 [37]; Gartner currently predicts 20 billion devices [38].The number of already connected devices is estimated to be only be around 8.3 billion in 2017.Creating the remaining 41.3 billion devices in 3 years would require a staggering 300 new devices to be created every second.We can recognise a huge potential for a range of Internet enabled devices; for the greater good of humanity.With the world population in excess of 7.5 billion people [39,40], 48% of which have internet connectivity and many with multiple devices [41], the first barrier for the IoT vision becoming a reality is the limited 4.3 billion IPv4 addresses; the time for IPv6 is here today and is well supported in most Operating Systems.Every gateway that bridges IPv4 networks consumes power and breaks end-to-end security.
In 2015, the 194 countries of the United Nations General Assembly adopted the 2030 Development Agenda which outlines 17 Sustainable Development Goals (Figure 2), each with a clear set of targets [42].These are designed to promote global sustainability because, in the words of the United Nations Secretary-General, Ban Ki-Moon '... there is no Plan B because we do not have a Planet B ...'.These goals are carefully researched and widely supported; more importantly, the IoT revolution is a key enabler to achieving these goals.

Figure 1 .
Figure1.Centralised (Mainframe) processing was state of the art, which evolved to be smaller (Minicomputer and Microcomputer) and more personal (Personal Computer) over the decades.As the usage patterns changed, the cost dropped, and computing became more mainstream and accessible, even extending into mobile platforms (Smart phones).The Single Board Computer, spurred by the popularity of Internet of Things devices is the current trend, selling tens of millions of units.We predict this will be the basis for the next generation of commodity device whose cost and accessibility will result in billions of devices.