Expertise

The Internet of Things

Is Your Company ‘Internet of Things’ Ready?

The “Internet of Things” (IoT) refers to the network of physical objects - vehicles, buildings, appliances and so on - that are embedded with electronics, software, sensors and network connectivity so that they can collect and exchange data. If your company is looking to develop an IoT solution, we can help.

Here we look at the development issues that need to be considered.

Introduction

To most people, IoT means either smart watches that can monitor the wearer’s health, a television with PVR / web functionality, or a smart fridge that keeps an inventory of its contents. The reality is that the Internet of Things is poised to be much more than that, whilst also being largely invisible. Most of the components will probably be housed inside featureless boxes sitting in the utility closet, or systems-on-a chip added to a device’s circuit board, allowing it to talk to other devices.

IoT is different from the internet as most people understand it because it refers specifically to machine-to-machine communication (M2M), rather than computers-to-people,  and is being driven by the dynamic mobile devices market and advances in SOC (System-On-a Chip) solutions, sensors, memory, networking and power.

Where is IoT Being Used?

In 2015, real-world examples of IoT included:

Healthcare:

Patients with atrial fibrillation have been able to buy individual devices for as little as $75. Subscriptions to cardiac monitoring services leverage this lower-cost collection of data by enabling more timely interventions in case of a cardiac event.

Home:

British Gas is expanding its IoT profile with the already established Hive, a smart meter able to control heating and hot water remotely. British Gas are planning on developing a new platform called Honeycomb to work alongside it, enabling integration with smart energy applications so that homeowners can switch to 'holiday mode' when the house is empty. This is essentially one platform connecting numerous devices.

Other examples of current IoT development include:

RFID Tags

All sorts of goods might benefit from an RFID tag with which the user, salesperson or serviceman could, say, check the warranty expiration, or have it invisibly personalised against loss or theft.

Geolocation Systems

Tracking systems used on vehicles can be fitted to any piece of movable property.

Shoes/Clothes

Equipped with a pedometer/heart rate module.

Access Control

Any sort of door, safe, cabinet etc. intended to control access will be equipped with three-factor authentication, with smart token, biometric and password capability.

CCTV Cameras

Private CCTV cameras will be able to analyse vehicle and pedestrian traffic, efficiency of municipal cleaning, road repair operations etc. - and some future version of Street View may allow anyone to take a look at every street, in real time and perhaps 3D virtual/extended reality.

Prescription Drugs

A prescription drug will come in a smart container that indicates when to take a pill or ask the doctor for a refill. The pill itself could itself become a diagnostic device, cheap enough to be disposable and able to take images or analyse body chemistry.

 

Autonomous Cars

Cars will benefit from IoT navigation devices and services as signs, traffic lights and the roads themselves are equipped with sensors and transmit real-time information. Future self-driving technologies will also be dependent on IoT.

IoT Issues

Security

As with any complicated system, the reliability of IoT-enabled objects is not guaranteed. However the critical components can be designed to factor in possible outages or network problems (for example, the ability to operate in offline mode, or cache data to transmit once back online); power failure (autonomous backup power source, non-damaging shutdown, persistence of operating state and rapid boot-up); or device failure (a manual shutoff/override and ability of the device to provide some basic operation without IoT).

Malicious access to IoT-enabled devices could have devastating consequences, which means strong security protocols need to be considered at the design stage. A hacked IoT network could disrupt more than the operations of a business and go beyond breaches of privacy; it could threaten life if the devices are designed to interact with people. This makes software security one of the most important considerations of IoT development.

If you're embarking on developing an IoT solution for your business, make sure you work with a software development company that understands all of its implications. For example:

  • Proactive, security-minded development: in-depth understanding of the functionality on the developer’s side, choice of reliable solutions.
  • Secure OS/app start-up: verification of a device's software authenticity and integrity using cryptographic digital signatures.
  • Role-based Access control: a different level of authentication and wherever feasible, mandatory physical access for modifying a component’s functionality as compared to everyday operation.
  • Device authentication on joining networks, with credentials securely hashed in locked-down memory.
  • Separation of traffic between IoT networks and general purpose computers.
  • Use of strong encryption protocols for transmitted and stored data.
  • Stable, trusted repository and communications channel maintained by the manufacturing company or consortium that serves as the source of functionality software, updates and patches for IoT components.
  • Use of open-source solutions, competitive development and hacking events.

Databases

As with any emerging technology, current software solutions may not always address future needs. A fundamental problem with existing SQL databases is handling time-sequence data (data which includes time as a key parameter). Therefore, to perform measurements across a distributed network of sensors will require databases and related products to support the network in terms of time-series data collection, storage, exchange and analysis. Examples include InfluxDB database and Grafana visualization suite.

Wireless Connectivity

Wireless connectivity is at the heart of what drives IoT, and there are several communication protocols - such as GSM, Wi-Fi and Bluetooth - which can be used in tandem with options like Zigbee, Z-Wave, 6LoWPAN, Thread, Sigfox, Neul or LoRaWAN, to provide the desired combination of data rate, range, carrier frequency, power needs and so on.

Hardware

For the overwhelming majority of IoT applications, the Intel x86 CPU, which is commonly used in PC architecture, is too powerful, power-hungry and expensive. Instead, single-board hardware computers, primarily based on the ARM architecture - such as Arduino and Raspberry PI - are generally used during project development for the actual working solutions. Later, if the cost is justified, a cheaper and more specialised solution can be created by the development company.

A downside to using these single-board computers is that they’re primarily for the hobbyist/education market and have the disadvantage of requiring physical access for software modifications. A more specialised single-board system from particle.io has been designed from the bottom up with the idea of being remotely programmed; its firmware can be written and debugged in a web-based IDE and deployed over the air, with a centralised data storage and exchange infrastructure provided by the manufacturer for building true IoT networks.

Outsourcing Development

If in-house development is not an option, then ensure you outsource to a software development company that possess hands-on experience in a number of key areas:

  • Embedded / Specialised Hardware – the software will probably not run on Wintel PCs, but rather on more compact, low-power and cheaper hardware with specialised components not found in PCs – such as sensors, controllers, relays etc. Knowledge of programming for these systems is a prime IoT developer requisite.
  • Business Intelligence / Data processing – knowledge of database creation and management, and time-sequence data.
  • Information Security – expertise and knowledge of the complex threat environment that exists in cybersecurity.
  • Mobile Development – many technologies associated with current mobile devices will be used by IoT - hardware and software architectures, programming languages and frameworks, communication, geo-positioning protocols etc. - and in many cases the user's smartphone or tablet will serve as the universal remote control and management hub for the IoT system. Skills in mobile development will therefore directly translate into IoT.
  • User interface / User experience – a clear and functional user interface will be vital for an IoT system that is to be used by the general public across a spectrum of technical abilities. The UI/UX therefore needs to extend beyond visual images on graphic screens - sound and touch can be of prime importance.
  • Networking – successful development for IoT will mean providing the device with communication capabilities, with ad hoc network creation, authentication, and reliable data transfer using the most appropriate wireless protocols.

Conclusions

The Internet of Things looks likely to become as ubiquitous as electric power, cellular communication or GPS navigation within the next decade.
 
The most likely development path for most aspects of IoT will be from the ground up - that is, companies with experience in their relevant field will decide to add digital presence to their operations, services or products.
 
If in-house development is not an option, then hiring a competent software development company with the necessary skillset is vital to ensure project success.
 
Blueberry has the expertise and experience to get your IoT project up and running. To make an enquiry contact us via phone or use our enquiry form.