The IoT is the next big thing, everyone is talking about it and everyone wants to build an IoT project. But what is the IoT? In this article, we’ll explain just what IoT means and the options you have to start developing in this new world.

This is the first post in a series on the Internet of Things, so here we’ll take you through the first layer: the devices.

What’s IoT?

To define IoT, we’ve pulled the following description from Wikipedia:

The Internet of things (IoT) is the internetworking of physical devices, vehicles, buildings and other items—embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data.

To perhaps better understand it, take a look at the following video from IBM:

IoT Stack

As you can imagine, the Internet of Things is not a single item or object, but a mix of devices and technologies working together. In the following diagram, I’ve illustrated a typical stack of elements for an IoT solution:

iot-stack

Let’s take a short view into each of these layers:

Device/Sensor

The first layer of the stack is the device or sensor that gathers information. This can be as simple as a temperature sensor or as complex as a fridge or a car.

Device Gateway

This layer takes care of the device management, verification and registration. It connects the device with the upper layers.

Data Processing / Storage

This is a big layer that requires a lot of processing power and storage. It is responsible for the following tasks:

  • Data processing
  • Data storage
  • Network management

App

The final layer of the stack, and the one that adds logic to data collected from the sensors and devices.

IoT Prototype Devices

In this first post, we’ll focus on the devices currently available in the market today that focus on prototyping IoT projects. So let’s take a look at the main players in this market and their pros and cons.

Arduino

iot-arduino

https://www.arduino.cc/

Pros

  • Open source hardware platform
  • Long time in the market and big community
  • Expandable via ‘shields’
  • Proprietary development language / platform

Cons

  • Basic board doesn’t have wifi / ethernet connection

Raspberry Pi

iot-raspberry-pi

https://www.raspberrypi.org/

Pros

  • It’s a small computer, very powerful for the size
  • Usually runs Linux
  • You can use any development platform you like
  • Ethernet built-in

Cons

  • A lot more complex to use as a prototyping platform
  • You need an extra board to access sensors
  • No specific language to access sensors

Intel Galileo

iot-galileo

https://software.intel.com/en-us/iot/hardware/galileo

Pros

  • Intel board compatible with Arduino
  • Ethernet built-in
  • A lot bigger than Arduino boards but more powerful

Cons

  • Immature, reading forums it seems there are some compatibility issues with Arduino

Particle

iot-particle

https://www.particle.io/

Pros

  • Very small board
  • Wifi built-in or even 2G/3G
  • Particle Cloud platform available
  • Custom development platform
  • Easy to connect devices to Internet
  • Easy to connect sensors and access to them

Cons

  • Community is still smaller than Arduino community
  • Not open-sourced, so you are tight to a brand

Adafruit

iot-adafruit

https://www.adafruit.com/

Pros

  • Very small board
  • Wifi built-in
  • Adafruit Cloud platform available
  • Easy to connect sensors and access to them

Cons

  • Still in Beta
  • Documentation and UX is poorer than Particle’s
  • Community is almost non-existent

Conclusion

In this first post we wanted to give you a quick introduction to the main devices available. From our own analysis and tests, the Particle platform is a great for rapid prototyping of IoT solutions. Should your product get some real traction, they also offer integrated boards offering the same functionality in a smaller form factor.

At Mobile Jazz we’re always experimenting and learning! If you have an IoT project in mind and you need help, get in touch, we’d be super excited to hear about it.

Jordi Giménez

Jordi has worked as a project manager, developer and security analyst in web, iOS and Android. He’s worked for companies big and the small in government, banking, insurance, healthcare and IT.