Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / HPC

IOT Jukebox

5.00/5 (6 votes)
26 Oct 2014CPOL15 min read 30K  
An Overview of IOT

Introduction

This article touches basic IOT topics and also describes what IOT comprises of.

Background

Little knowledge of Internet is required how it works,how devices communicates and a  basic overview of Internet Of Things

 

Let's Start with Embedded Systems 

What is an embedded device?

These  are devices which are minute in nature and have some special purpose computing system. These systems can be hooked together and be connected via internet.

 

How embedded system works?

Generally these are devices which have lower minified version of the OS installed. It will have basic features of an OS but with reduced capabilities

 

We can divide embedded systems in different varieties

Mobile OS:- Such as Android,IOS,Windows,Firefox or Linux based phones. These  mobile devices have capabilities of different breed as they can connect to internet easily or have other capabilities such as Bluetooth,NFC etc.

Terminals:-Special purpose OS are installed in these systems they don't have the general GUI based interface optimized by console based interface is present

eg:-ATM machines

Wearables:-These are devices which can communicate with a high end computing device or low end computing device with preprogrammed set of instructions to these devices and perform accordingly. They are termed as wearable's because it can wrapped or you are able to wear it in your body, some wearable's are in the form of smart watches which have customized OS installed on the devices.

Typical examples are

Samsung Wearable's  Gear 2 watches which have Tizen OS installed

The new Android Lolipop  based watches that will be soon released.

The new  Apple watch is also an example

 

Special purpose boards

The revolutionary  Intel architecture based Galileo boardswhich have special built in chip that can be programmed with Adruino  IDE to get work started and help manufacture new set of embedded devices or connected IOT device or network according to our liking.

 

Intel Edison Chip

The Intel® Edison development platform is the first in a series of low-cost, product-ready, general purpose compute platforms that help lower the barriers to entry for entrepreneurs of all sizes—from pro-makers to consumer electronics and industrial companies working in the Internet of Things (IoT).

Intel® Edison packs a robust set of features into its small size, delivering great performance, durability, and a broad spectrum of I/O and software support. Those versatile features help meet the needs of a wide range of customers.

What is Internet Of Things

Image 1

 

 

 

 

 

 

 

 

 

 

 

 

 

Internet Of Things is the network of embedded devices connected across internet which are unique. It is also known as global network of computers connected via internet. It also includes WWW FTP and other allowing  devices to get connected to internet

Internet Of Things can be seen as a potentially integrated part of the 'Future Internet'

 

Internet Of Things can be considered as system  of systems as we have different capability devices at different  sublevels

The feature of a device that can act as a member of an IOT network  that can be summarized into the following

Collect and transmit data

The device can work in tandem with other devices and transmit and receive  data sensing the environment.

Communication assistance

The devices have techniques and mediums to transfer data across a broader spectrum of huge networks


Image 2

 

 

 

 

 

 

 

 

 

 

 

Why IOT has evolved

Image 3

 

 

 

 

 

 

 

Connecting devices across internet has been hassle free and more directed towards greener solution

Another reason for IOT to evolve is faster Internet connectivity that has helped devices to stay connected and communication between them has become very fast

G -> 2G -> 3G ->4G

Easier connectivity

Most of embedded devices have lesser memory but due to advancement of technology we can store data on external memory, System on a Chip  or Cloud and hence interact seamlessly.

 

What devices?

 

Microcontrollers

A microcontroller can be considered as small computer on a single integrated containing processor core,memory and programmable input/output peripherals

eg:-Intel Galileo,Intel Edison Chip

Sensors

Sensors are devices that can measure a physical quantity and convert into a signal, which can be read and interpreted by the microcontroller unit

Sensor fall in two categories  generally Analog or Digital

Communication Modules

The communication modules are parts of the device, which are responsible for the communication with the rest of the IOT platform. They provide connectivity according to the wireless or wired communication protocol they are designed for.

Most likely, the communication between IOT devices and the internet is performed in two ways

a)There is an internet enabled intermediate node acting as a gateway

b)The IOT device has direct communication to the internet

Power Sources

The devices always need electrical power or other form of power sources to get itself going or make it functional.

Mobile Devices & wearables are mostly powered by small lightweight batteries that can be recharged.

Microcontrollers, System on a Chip, Intel Galileo works on direct power supply.

Communication Technologies

The devices which are also known as things  need to communicate or talk in the internet  in order to exchange data or establish connection. The communication media will be via a wired or wireless system.

RFID

The radio frequency Identification(RFID) technology has been initially introduced for identifying and tracking objects with the help of small electronic chips, called tags.

Now there is an ongoing process and people are experimenting with Near Field Communication to also come in effect for Internet Of Things the only issue with NFC is that it works in the region of small proximity.

NFC

NFC  is a form of short range wireless communication where the antenna used is much smaller than the wavelength of the carrier signal .The antenna can produce either an electric or magnetic field but not an electromagnetic field. Many mobile phones now use electric-field NFC operating at a frequency of 13.56 MHZ corresponding to a wavelength of 22.11m.

Communication is also possible between an NFC device an unpowered  NFC  chip called a tag.

NFC build upon RFID systems  by allowing two way communication between endpoints.

More news on  NFC and IOT can be found here

http://www.nfcworld.com/technology/internet-of-things-iot/

Bluetooth

Bluetooth in the devices of Internet Of things helps connecting small devices together. So devices like Adafruit,Intel Galileo can work together to communicate and form  a network.

 

Zigbee

Zigbee is a specification for a suite of high level communication protocols used to create personal area networks  built from small lower power digital radios.Zigbee is based on an IEEE 802.15 standard. Zigbee devices can transmit data over  long distances by passing data through a mesh network of intermediate devices to reach more distant ones.

Wifi

Wifi is also known as the IEEE 802.11x standard, is the most common way to connect devices. It allows devices to exchange data or connect to the internet using 2.4 Ghz  UHF and 5 Ghz super high frequency radio waves.

The Mobile Internet

The mobile Internet is the way to access internet through your mobile phones. One of the most important devices that form a part of To.The mobile internet allows mobile devices to interact in various ways and share different data and can form a backbone of IOT based network.

Operating Systems,Development Environments and Platforms

This is the most important part of an IOT because it is the way devices interact with each other in say sometimes preprogrammed way or dynamic way. The Operating System may be a minified version of the operating system that are there in market with less capabilities but with basic functions that allow interactions. Example Embedded Windows 8  for Intel Galileo. Highly optimized Operating Systems are bundled with the IOT devices.

Ex

 Think of a microcontroller say it is a Adruino  IDE compatible device the programming base is processing language.

Other  OS  might be optimized version of Linux etc.

Lets take a look at how Adruino IDE works for Intel Galileo boards Gen 1

This is how the Gen1 Intel Galileo board looks like

Image 4

 

 

 

 

 

 

 

Two sets of USB cables are needed for  Intel Galileo to attach with the PC

Image 5

 

 

 

 

 

 

 

The power plug  for Intel  Galileo

Image 6

 

 

 

 

 

 

 

The power input to Intel Galileo

Image 7

 

 

 

 

 

 

 

There is one thing about Intel Galileo board Gen 1 that you should take care of the Gen1 Intel Galileo board to get going you need to plug in two USB cables from the board to the PC

Image 8

 

 

 

 

 

 

 

The two USB cables attached

Image 9

 

 

 

 

 

 

 

A small glimpse into the  Adruino IDE

As we attach the Intel  Galileo Board  to the PC and then start the Adruino IDE.The place where you will get the Adruino IDE for Intel Galileo  https://communities.intel.com/docs/DOC-22226 .The necessary things you need to do is

i)See when the Intel Galileo is attached to the power supply through the jack attached to the board you will see a LED  light up to confirm the board is in order.

ii)The two USB cables are attached to the PC

iii)The drivers installed

iv)The process of transferring the program to the IDE is first write the program, upload the program get it compiled and then you get the transfer complete message.

Th Adruino Interface

Image 10

 

 

 

 

 

 

 

 

 

 

 

 

When the Intel Galileo is attached on the Adruino IDE you need to select the Intel Galileo from the tools option

Image 11

 

 

 

 

 

 

 

 

 

 

 

 

Check the serial port from the tools option

Image 12

 

 

 

 

 

 

 

 

 

 

 

 

We need to write a program save and then hit upload button we need to check if it compiles or not

Image 13

 

 

 

 

 

 

 

 

 

 

 

 

Windows Embedded

For Windows Embedded the MicroSD needs to be put in to the Galileo  board Micro SD slot.More details in here

http://dev.windows.com/en-us/featured/windows-developer-program-for-iot

The  programming part is done in Visual Studio and for now only C++ language is supported and updates the sketches of the Adruino IDE.

 

What it means to developers

This is a highly changing times for high performance computing industry and innovation is always the key. The IOT opens a new world of opportunity to developers  as in this times a developer with varied skill set can contribute to IOT platform. Say a Linux Kernel developer can contribute to a unique UI experience for a mobile device for specifically IOT interface.

A HTML JS developers can make interfaces for interacting with different devices in a web managed way.

A Microsoft fan boy can easily get into Windows Embedded OS supported  Intel Galileo development. We have different capable devices that can interact in a different manner and also in an Unique way.

A Java developer who has got knowledge about processing can easily get into Adruino based IDE development as well as J2ME.

Programs that will help Developers

The Windows Developer program for IOT

The Windows Developer program for IOT will help developers to redefine Windows embedded to small devices. It will help developers to design unique solution for connected devices. The access to Adruino with Windows embedded will  help in rapid hardware development. Integration of Windows embedded with Visual Studio to develop robust ecosystem. Being open Source helps each other to get  unified solution and help in improving the ecosystem.

http://dev.windows.com/en-us/featured/windows-developer-program-for-iot

The Intel   IOT section for new innovation work

Here you will get information about IOT developer kit, walkthroughs  and getting started guides with samples .The IOT forum is very active and you will get lot of updates  on how developers  find new ways of interacting to the devices.

According to Microsoft why your business needs to capitalize on Internet of Things today

 

i)Get a jump start on your competition

It's time to create a Internet Of Things strategy so that your business can lead, instead of catching up

 

ii)Get more out of your existing IT Assets

Start with your existing IT assets and build upon them. Add a few new devices, connect them to the cloud and enable them to talk to each other to our employees and customers

 

iii)Enable small changes to make a big impact

The Internet Of Things doesn't have to be overwhelming .

 

 The Internet of Your Things starts with identifying the one process, product line or location that matters most to you, then making small changes for big impact. Connect robots on the factory floor with back-end systems and create a production line with more continuous uptime. Add expiration dates to the data set for pharmacy inventory and save thousands of dollars in wasted medications. Connect one handheld device to your inventory system; suddenly, you’ve got real-time customer service on the sales floor. The Internet of Things doesn’t have to be overwhelming — a few key improvements can make a big difference.

iv)Become more efficient

 

 Connecting devices and systems can help you shave minutes from a user’s login process, hours from restocking inventory, or days from routine system upgrades and enhancements. When data flows seamlessly between devices and through the cloud, you can access and use it more efficiently than ever before. That means spending less time pulling reports, and more time creating new services and products based on your new insights.

v)Discover new ways to delight your customers

 

 From the least-used fitting room in the store to the keywords that drive the strongest coupon sales, every piece of data is a clue to the products and experiences your customers are seeking. Visualize emerging patterns and predict behavior to anticipate trends and give your customers what they want, before they even know they want it.

vi)Open up new business opportunities

Connecting devices, data and people gives you faster processes and fresh insight, resulting in new business opportunities. Combining GPS with automated kiosks and RFID-enabled check-in lets motorists join a car-sharing service and drive away in minutes. Automating the stonecutting process frees up craftsmen to meet increased demand without sacrificing quality. The insights you get from your data help you see new possibilities.

vii) Increase agility

Data insights can help you respond more quickly to competition, supply chain changes, customer demand and changing market conditions. Collecting and analyzing data gives you quick insight into trends, so you can change your production activity, fine-tune your maintenance schedule or find less expensive materials. With the Internet of Things, you can spend less time wondering and more time taking action.

viii)Build the ability to scale

New ideas are born when you work with new partners, new technologies, new devices and new data streams. You suddenly put your employees and technology to work together in ways never before imagined. New data opportunities let you shift your focus from repairing machines to fine-tuning their performance over the long term. Comparing results from different store locations lets you identify the most successful services and roll them out nationwide. The Internet of Things lets you scale from the smallest data point to global deployments.

ix)Get your Devices to start Talking

Devices have the potential to say a lot, but only if there’s someone, or something, on the other end to engage, react and listen. Sensors can tell your distribution center systems which merchandise routes are plagued with delays. Machine-generated data can tell your operations teams which remote service kiosks will need repairs the soonest. From sensors to handheld scanners to surgical instruments, the devices in your business can create efficiency and insight, if you enable them to talk to each other, your employees and customers.

x) Transform your business

When you have a strategy in place to take advantage of the Internet of Things — and you team up with the one company that can provide the right platforms, services, tools and partner ecosystem — you can transform your business in real time. Microsoft and its partners have the technology and the experience to help you put the Internet of Your Things to work in your business today, so you can stop just running your business, and start making it thrive.

 

Places of interest for IOT based Projects

Image 14

 

 

 

 

The best place to get going with IOT based project is to Dig in to GITHUB projects as we get full code as well as we can learn contribute back.

The Github repos that you can have a look

Connect Anything

Connect AnyThing allows remote-control and real-time simple programming of your Galileo development board from a phone, tablet or laptop.

https://github.com/IntelOpenDesign/ConnectAnyThing

Cylon.JS for Intel IOT

Cylon.js is a  JavaScript framework for robotics and physical computing using Node.js

The repository contains the Cylon adapter for the Intel Edison and Intel Galileo IOT platforms.

https://github.com/hybridgroup/cylon-intel-iot

Galileo-IO

Galileo-IO is a Firmata.Js  compatibilty class for writing Node.js programs that runs on the Intel Galileo or Intel Edison

https://github.com/rwaldron/galileo-io

Libmraa

Low level Skeleton library for communication on GNU/Linux platforms

Library in C/C++ to interface with Galileo & other Intel platforms, in a structured and sane API with port names/numbering that match boards & with bindings to javascript & python.

The intent is to make it easier for developers and sensor manufacturers to map their sensors & actuators on top of supported hardware and to allow control of low level communication protocol by high level languages & constructs

https://github.com/intel-iot-devkit/mraa

 

References

http://www.microsoft.com/windowsembedded/en-us/intelligent-systems.aspx

https://communities.intel.com/docs/DOC-22226

https://communities.intel.com/docs/DOC-22872

http://dev.windows.com/en-us/featured/windows-developer-program-for-iot

http://en.wikipedia.org/wiki/Main_Page

http://whatis.techtarget.com/definition/Internet-of-Things

http://www.microsoft.com/windowsembedded/en-us/internet-of-things.aspx

 

History

This is the first update of the article

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)