24.07.2019 Views

Getting started with IoT

IoT is here and it's time for organisations across the country to take advantage of the transformational benefits of the technologies and expertise available. CENSIS explores IoT for business growth in this IoT starter guide. censis.org.uk

IoT is here and it's time for organisations across the country to take advantage of the transformational benefits of the technologies and expertise available. CENSIS explores IoT for business growth in this IoT starter guide. censis.org.uk

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2<br />

Microcontrollers, edge and<br />

embedded computing<br />

A microcontroller is an integrated chip that contains a<br />

processor (CPU), memory and interfaces to communicate<br />

<strong>with</strong> sensors. These are typically used in <strong>IoT</strong> devices.<br />

A processor acts as the brain of the <strong>IoT</strong> device. Depending on<br />

the application, this can simply read the sensor data and pass<br />

it to the communications module, or it can perform more<br />

powerful edge processing tasks.<br />

A microcontroller provides<br />

the ability to:<br />

• Interface <strong>with</strong> one or more sensors and extract the data<br />

• Control something, e.g., switch or unlock an item such<br />

as a valve or a fan<br />

• Perform processing on this data<br />

• Transmit this data over a wired or wireless network<br />

• Receive instructions over the network from the<br />

application and execute these instructions.<br />

• Control power consumption of the <strong>IoT</strong> device<br />

The responsibilities required of the microcontroller will<br />

depend on the nature of the project. It is the role of a<br />

firmware engineer to develop the necessary firmware of<br />

the microcontroller so it can carry out the tasks required.<br />

Return to<br />

a sleeping<br />

state<br />

Listen for any<br />

incoming<br />

instructions from<br />

the application and<br />

execute these if<br />

found<br />

Remain in a<br />

sleeping state<br />

most of the time<br />

to conserve<br />

battery life<br />

8<br />

1<br />

Edge node<br />

process flow<br />

7<br />

Wake from a<br />

sleeping state for<br />

an event or an<br />

alarm<br />

2<br />

6<br />

Interface <strong>with</strong> the<br />

communications<br />

module to send the<br />

data packet over the<br />

network<br />

3<br />

5<br />

Take readings (data)<br />

from a sensor(s)<br />

4<br />

If required,<br />

carry out<br />

some form of<br />

processing on<br />

this data<br />

Package the<br />

data into a<br />

format suitable for<br />

sending over the<br />

communications<br />

network<br />

Criteria for microcontroller choice<br />

• Power consumption: Effective performance and long<br />

battery life at the lowest possible cost.<br />

• Ability to support any interfaces required by the<br />

application.<br />

• Performance need: <strong>IoT</strong> devices typically use low<br />

performance microprocessors (sleeping most of<br />

the time). If more pre-processing of the data is<br />

required, a mid-range performance microcontroller<br />

will be needed.<br />

• Onboard memory component requirement:<br />

If it is more useful to log data in batches and only<br />

send at an appropriate time or when there is a signal,<br />

onboard memory components will allow the<br />

developer to store records of data that will remain<br />

when the device is powered down.<br />

• The preference of the development environment.<br />

• Package size, reliability and ease of replacement<br />

• Required functionality of software and technical<br />

support from vendor.<br />

Choosing a development platform<br />

Microcontroller manufacturers offer hardware development<br />

platforms for their devices. These electronic boards allow<br />

engineers to quickly develop firmware for their products<br />

<strong>with</strong>out first having to develop any hardware. They also provide<br />

a good example of the hardware required to support the<br />

device. This can help the hardware engineer when it comes to<br />

designing a custom board. Vendors will often provide source<br />

schematics and PCB layout files (Altium, OrCad, Eagle) to aid<br />

the development of custom/bespoke hardware and shorten<br />

time to market.<br />

For devices designed <strong>with</strong> <strong>IoT</strong> in mind, their development<br />

platforms will often include various sensors integrated directly<br />

on to the board, as manufacturers expect most engineers will<br />

use their device to integrate <strong>with</strong> sensors.<br />

Development boards are constantly evolving to include the<br />

latest technology, especially in a rapidly evolving <strong>IoT</strong> market.<br />

Some examples of popular development platforms are:<br />

• Thunderboard Sense 2<br />

• MangOH<br />

• Arduino & Shields<br />

• Particle.io<br />

• Raspberry Pi<br />

• ESP32 & ESP8266<br />

• MSP430<br />

• STM32 family<br />

When developing commercial hardware, products must have<br />

the relevant approvals and certification (EMC, safety, radio) in<br />

place before being offered for sale.<br />

15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!