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
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
Why IOT has evolved
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
Two sets of USB cables are needed for Intel Galileo to attach with the PC
The power plug for Intel Galileo
The power input to Intel Galileo
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
The two USB cables attached
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
When the Intel Galileo is attached on the Adruino IDE you need to select the Intel Galileo from the tools option
Check the serial port from the tools option
We need to write a program save and then hit upload button we need to check if it compiles or not
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
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