Eighty-nine years ago, in 1926, the physicist, inventor and electrical engineer Nikola Tesla predicted in an interview: “When wireless is perfectly applied the whole earth will be converted into a huge brain.”
A look at what has become known as the internet of things, or IoT, shows we are definitely heading this way.
Tesla Motors, a company named after the Serbian American inventor, has disrupted the car industry with vehicles that are not just electric but able to update their software and fix issues wirelessly. That trip to the garage? It will soon become obsolete.
It's not just our cars that are getting smarter. At home, we’re using Nest’s 'self-learning' thermostats to control our ideal temperatures without us having to lift a single finger. Health checks at the GP could become obsolete as sensors in our clothes, and watches, monitor our health.
With every new trend come the inevitable forecasts. As demand for IoT products and services explodes across all sectors, Cisco has estimated that 50 billion devices will be connected to the internet by 2020.
Weak devices won't cut it
Yet as this growth happens, one major shift must accompany it: connected devices need to evolve from weak mediums to autonomous machines. Today's connected products are typically used as mere transmitters for the powerful intelligence in the cloud -- the underlying assumption everywhere you look is one of weak devices, strongly connected.
But this assumption is flawed.
Have a look at the wider trends. Processing power and memory are getting faster, smaller, and cheaper. Just as we got used to the Raspberry Pi and the mk808, we got Intel's Edison, a dual-core chip with half a GB of RAM, top-tier connectivity. Then, the Raspberry Pi foundation released its own Compute module, for production use cases.
On the other hand, mobile spectrum isn't a given. And that's because telecoms are a common resource divided between devices, and subject to physics and the telcoms' desire to invest, not Moore's law. When everyone's phone is pinging for data at max power, there's not enough to go around. Now think of a world with 6.5 devices per inhabitant.
The bottom line is that you don't go far in the embedded/connected world before you see the need for autonomous behaviour. Beyond simply streaming data to and receiving commands from a cloud, what we need are devices running complex, high-level code, making real decisions, and devices that continue working with or without network connectivity.
Remember, this is a trend we've seen in the web. The browser started as a weak outpost that could render some text. Now, it runs entire applications (including, apparently, high-end games). We expect our web apps to continue working when we're offline, and the UI to react without the lag of a server round-trip.
From connected to autonomous cars
Cars offer a glimpse into what the future of autonomous devices could look like.
Not so long ago self-driving cars were the realm of science fiction. Today it seems a systemic shift from human-driven to self-improving, self-driving cars could happen in the not-too-distant future.
The DARPA Challenge, Google's Self-Driving Car or Tesla’s Autopilot features are all bringing this new reality to people. Established car brands -- Nissan, Mercedes and many more -- have also made autonomous cars a priority.
A fully automated car would adjust its engine to optimize performance, all the while tuning into weather data to set the temperature and checking traffic reports to determine the best routes.
Safety is another selling point; McKinsey estimates autonomous vehicles could reduce traffic accidents by 90%.
The list of perks goes on. The cars would also be self-learning and would update themselves seamlessly. By sending all their data into the cloud, the idea is that the information gathered would allow for continuous improvements and updates to the cars and their behaviour.
The Internet of Robotic Things, drones and IoT
Robotic technologies such as drones are also ripe to be combined with IoT to create strong, autonomous connected devices.
BP, the British oil producer, is already using drones with sensors and cameras to monitor its pipelines, roads, and equipment at Prudhoe Bay.
At its Jeep Wranglers factory in Ohio, the German robot manufacturer KUKA has connected 60,000 devices and robots to a central data-management system.
It’s the concept of the Internet of Robotic Things (IoRt), introduced by a research study from ABI Research.
For the mining industry, it's a concept that has propelled it to the brink of revolutionary change. A revolution that will be led by robots, drones, driveless trucks and trains as well as miniature unmanned devices, over the next few decades.
With big data comes big issues
One challenge autonomous devices will face is how to cope with the vast amount of data they will rely on.
Where will all this data be stored, how will it be transferred and processed? Most crucially, how will the devices be able to identify and act upon the right data, not least within the limits of available bandwidth, in order to make critical decisions in real time?
Think of your car's ABS system waiting to be told the correct action to take; or a sensor on a remote pipeline that detects a breach which would require an instant alert to the pumping system.
Fog computing -- also called mist computing or edge processing -- could offer one solution. A cross between cloud and local computing, the idea is that devices will analyze the data locally, and then decide what to store in the cloud and what to retain locally to avoid network latency.
Cisco, which coined the term fog computing, has been exploring its potential for the IoT. In 2014, the manufacturer rolled out IOx, a fog computing platform to monitor, manage and respond to the massive amount of data generated by connected devices.
IoT's blind spot
While the issues of data and security surrounding IoT have received a lot of attention, one particular problem has been curiously neglected: the challenge of actually deploying code to connected devices.
At resin.io, we've called it the blind spot of IoT.
We got a taste for this limitation when our software developers were tasked with maintaining a network of hundreds of digital signage screens across the city of London.
Out of the hours spent in the cold, rain and snow to update or fix each and every screen, the difficulties of writing and maintaining software for embedded systems started to dawn upon them.
For those used to the instant and seamless world of web development, IoT development is a whole other kettle of fish. Connected devices often sit in inhospitable locations. They don’t have a direct user-interface. Simply deploying and updating code with version control systems from the comfort of your home, and in the blink of a second, is suddenly not an option anymore.
Out of this frustration, our platform was born. Resin.io today lets developers deploy to connected devices exactly as if they were coding for web applications.
And more solutions will follow, no doubt. Intel's Firmware Engine for instance simplifies the boot firmware development process for relatively inexperienced developers.
As IoT grows, the need for an easy way to code for embedded devices will become increasingly acute. We're not just talking new feature upgrades -- security threats like Heartbleed and Shellshock make the ability to deploy critical updates remotely a necessity for IoT devices. Just as with your Windows software, or printer driver, there is no such thing as sell-and-forget for IoT.
There is little doubt: we are at the tipping point of the internet. The IoT or Internet of Everything as Cisco calls it, will drive changes in ways we never thought possible. In our view, the IoT landscape will gradually transform from its current state of passive devices to a world of dynamic relationships between the digital and the physical world, where the two will nearly blend into one seamless reality.
Tesla’s dream of the global brain may become a reality, but it will not be centralised.
Author: Eleni Natsi
Have questions, or just want to say hi? Find the team on our community chat.