The complexity, and thus the potential of IoT, has scaled remarkably with the rapid growth in the number of connected devices.
This number is placed at anywhere between Gartner’s estimate of 6.4 billion devices to IHS’s estimate of 15,4 – 17,6 billion. 1
How does IoT connect to and help the billions around the world? With IoT, it is important to start with the challenge and then work out the solution from there. Thus, it is not about any of the below elements taking the lead, but it is about placing the solution at the centre and finding hardware, embedded software, connectivity, cloud and frontend to suit your needs. To assist, I have broken down these aspects into bite-sized overviews.
Embedded software / hardware
The physical aspects of IoT are found in the hardware stack. Hardware is the actual physical devices such as sensors, required for the reading of information, for example a temperature sensor, or a device that can act in some way (gate motor). For the hardware to work one requires an embedded computer such as Raspberry Pi, Arduino, smart phone or in some cases, custom hardware. To communicate from hardware to computer, one requires a modem or radio and that depends on how you will be connecting to the device.
Embedded software is permanent software programmed into read-only memory, so the software for the hardware. There are three aspects to embedded software:
- Custom software which is the business logic, this reads sensor data or controls the action such as opening and closing a gate,
- an operating system which could be Windows 10, Linux or a bare machine which is a machine with no intervening operating system,
- and drivers which translates information between the hardware and the operating system and software.
Connection can happen in various ways; for short ranges one can use Bluetooth and Zigbee. For longer ranges GSM, WiFi, LoRa, Sigfox or a custom radio can work. A gateway between the internet and the connectivity network is required for communication and the choice will usually be determined by the distances over which communication must happen.
The cloud is a network of servers. Usually that requires at least:
- a way to aggregate all the messages to and from the Things
- message broker; a way to store those messages
- database and a way to access that data from a front end
- API and / or SDK.
Let’s take a look at each of these individually for a deeper understanding.
The message broker is an intermediary program which means that it translates messages from one device to another. Remember in Hitchhikers Guide to the Galaxy, when Arthur Dent uses the Babelfish to understand all the characters he meets on his travels? Think of the message broker as a small module that translates, like a little yellow fish in one’s devices.
Then there is the database. IoT presents a new set of challenges to database management systems, such as reading large volumes of data as instantly as possible, processing events as they happen rather than on a schedule of fixed intervals, and dealing with larger volumes of data than ever before. Make sure to investigate the best database for your solution.
API (Application Programming Interface) and an SDK (software Development Kit) can be a little confusing as, at first reading, they seem to have shared functions. API is an interface that allows software programs to interact with each other. An easy example is the copy, paste of your computer. The copy action stores the data into RAM with an API and then the paste uses API to translate it into any other program. So going from one program to another is seamless.
Think of the word kit when you think of SDK. A kit is everything one needs to create. The tools, the instructions and all the raw materials. An API is within the kit and is therefore a component of SDK.
Finally, we get to you, the person who is interfacing with technology. This is the face of the technology stack. It is what you see when you look at your smartphone to turn on the lights at home while you are at work, or how you read the data from the device monitoring your newborn’s health while they sleep peacefully in their cot. This is the meeting point between all the technology and you.
For Polymorph, this where most of our work begins, our passion lies, and the start of all challenges we get to solve. Our focus is on ensuring the experience is always one of ease and enjoyment.
Please contact us with any of your IoT questions. Through our partnerships, we offer full stack product development. We focus on ensuring the technology always supports the best solution.