Saturday, January 10, 2015

What makes up the Internet of Things: The Field

Hello Internet, I am starting a series of posts from today which look at the various components that make up the Internet of Things. This post has been titled as 'The Field', which basically is the place where the action is taking place. The Ground zero. E.g. If we are making a smart jogging app, then the 'field' is the circuit inside your running shoe or your smartphone, both of which will capture your jogging data.
We are going to look at the various options available and the solutions currently used en masse by the big players for gathering the field data.

Field components

So what makes up the field and what are the roles of the components in the field?

  • For an application which requires studying and observing the surroundings WITHOUT user interaction, then field components have attached sensors which read various parameters from the surroundings. E.g. a smart watch has a heartbeat sensor to record heart rate when a user is jogging. A weather reading node has a thermal sensor, humidity sensor and a wind speed sensor.
  • For an application WITH user interaction, the field component will have the necessary input units such as a key touchpad, a card swipe slot, a touchscreen, knobs & switches.
Typically both the sensed data and user input data are sent from the device to a control centre or a central data repository for further processing to get an insight into the user behaviour or to learn from the environment surrounding the field.

  • Most of the IoT systems are made to be remotely controlled by a user who is not present on the field. E.g. spaceships, CCTV cameras, which are quite common, but now increasingly trendy household appliances such as remote controlled washing machines or microwave ovens.
    Such devices need to be connected to the Internet and need to respond to remote commands by activating their action units. E.g. a sprinkler system will open up its valves, a remote washing machine will start its washing cycle, etc.

Connection hardware used on field components

Most IoT field components have multiple slots for various connections. The most commonly used ones are:
Ethernet / WiFi: These are used to connect with the Internet.
Ethernet port
Image coutesy: terrywhite.com
Device with WiFi antenna
Image courtesy: taoglass.com
Bluetooth: If the device itself does not have Internet connectivity options, then Blutooth is on hand to connect the device to a nearby phone and depend on it for Internet connectivity.
Device with bluetooth
Image courtesy: amazon.com
Power cable / battery: These are used to power up the device.

USB: This is generally used to connect add-on devices or to connect this device to a personal computer.
GPIO: While many standards exist for connecting different types of sensors, input & output units to IoT circuits, GPIO (General Purpose Input / Output) is the most common standard used in IoT for fitting various add-on devices to a base device. The main reason is the form factor, the low power consumption and the fact that a GPIO pin can be configured to do both input & output, according to need.

Common Solutions

Now that we have seen the roles and the connection options used in field components, let us look at the common solutions that are used a field components
Arduino
No other company has captured the imagination of budding engineers than the Arduino. What started itself as a company which wanted to make DIY electronics easier for youngsters was catapulted by mass adoring adoption into the most revered company providing automated electronic solutions for every problem imaginable. Due to the sheer number of add-ons sensors available, from humidity sensors to friction sensors to action cameras, the Arduino microcontroller board is the #1 choice for sensor based IoT solutions. However the Arduino is a microcontroller and not a full fledged processor, since it is made for ultra low power consumption on batteries. This means that one Arduino board can do only one job well, e.g. one cannot connect two or three different types of sensors and expect the Arduino to work well. Secondly, the Arduino has its own operating system and its own programming language and one has to go through a learning curve to start working on both.
Raspberry Pi
The UK based Pi started as a solution for education institutions to teach children how to write computer programs. With the price equivalent US $35 per board, the Pi got record breaking adoptions. Add to this the fact that the circuit of the Pi was published freely on the Internet, companies and individuals started circuit-printing their own Pi's and made sure that the demand never overwhelmed the supply. In one year, the Pi entered mainstream IoT circuits for workshops, exhibitions and industries. Unlike Arduino, the Pi is based on Linux and Python, both of which are heavily used in the industry and hence the learning curve is practically nil for those working in those fields. By embracing Linux, the Pi adopted the IoT industry's #1 operation system and became a hit overnight. The processing power is much higher than an Arduino and there are connection options such as ethernet, USB and GPIO. But the Pi's biggest hit to date has been that it's makers built a hardware bridge which allows it to speak to an Arduino. Instead of competing, the Pi suddenly tripled the possibilities of what can be built for IoT. With the number of sensors available for an Arduino and the higher processing power of Pi, suddenly the IoT solution designers could use the two in combination to build seamless combinations of internet connection high processing sensors.
BeagleBone
Texas Instruments's Sitara processor forms the base of the US based equivalent of the Pi. Started with similar educational purposes in mind, the excellent engineering from TI finally made it a strong case for BeagleBone to be adopted by the IoT bigwigs. At $45 per board, the BeagleBone packs as much processing as a 1990s Pentium processor, well capable of running a GUI based operating system. Keeping this in mind, TI has been actively working on and releasing Android's progressive versions for the BeagleBone, immediately making Android developers feel at ease with development on the BeagleBone. Attaching a touchscreen to the GPIO pins on a BeagleBone makes it a completely ready Android system and one can draw as much functionality from it as from a typical Android phone. Like the Pi, the BeagleBone too can perform good multiprocessing and can in fact act as a mini server if used efficiently. Add-ons for the BeagleBone are currently few and are quite expensive and it is not yet possible to talk to other platforms such as the Arduino.
So that wraps up our discussion on what components are used on the field. In the next post, we will discuss other topics related to the field such as the type of data used and the strategies for data transfer and how remote instructions are handled.

No comments:

Post a Comment