The term “platform” is very ambiguous when used carelessly by programmers and consultants in the information technology business. Under various circumstances, TCP/IP, Linux, Oracle and Java are all referred to as platforms even though they are neither similar nor comparable to each other. Even within the narrower definition of IOT we can look at platforms from at least three directions. First, we have hardware based platforms like Qualcomm’s AllJoyn, Intel’s IOTivity, Apple’s Homekit and Android/Brillo from Google. Second, we have different data transport protocols like XMPP - used in Internet Messaging (IM), MQTT - a publish / subscribe model for messages, DDS - another pub/sub model for data distribution services and AMQP - Advanced Message Queuing Protocol. Finally we have integrated, cloud based platforms from big and small companies like IBM Bluemix, Carriots, n.io, thethings.io, thingworx and many others that claim to provide end-to-end solutions to transfer information from one machine to another.
All this is very confusing for any programmer who has built traditional, multi-tier applications that have a human user in the front and an RDBMS at the back. How does he get into the exciting world of IOT? What are the components that he needs to understand and work with?
Let’s break up the problem into four components. First we need a sensor A that will detect a physical property like temperature, air-pollution or blood sugar and generate a digital signal. Second we need a mechanism B that supports data transfer. Third we need a device C, a processor with an OS, that supports a device driver for A and programming language that can interface with B. Finally, we need a program D to receive the data and store it in a persistent database. It is now our job to identify the components A, B, C and D.
A, the sensor, would be very domain specific and would have to be sourced from specialist hardware vendors. Many kinds of sensors are readily available along with their device drivers for Linux, Windows and Android.
An important requirement of component C is that it should be small, portable, have a low power consumption and yet provide continuous data connectivity. While dedicated devices can always be built to meet these requirements, IOT enthusiasts often begin with Arduino or Raspberry Pi. But an inexpensive Android device is perhaps a better option because not only does it meet these basic requirements but also supports a wide range of sensors natively. Moreover, given the frenzy around Android development, there are many tutorials available and android tagged questions in stackoverflow are answered quickly! So for the choice of C, Android is a good option.
Moving on to B, the data transport mechanism, the two simplest options are XMPP and MQTT. Both are available as open source implementations and work comfortably on the IP networks that an Android device routinely connects to using either WiFi or 3G/4G data service. XMPP, formerly known as Jabber, is the basis of all Internet Messaging or “chat” services, like Google Chat, and there are free servers and services available for building and testing applications. XMPP also offers the security of a login and a password along with the concept of authorised “friends” or “contacts”, but this can become a challenge if we have to allocate and manage IDs for each and every machine in the IOT network. MQTT, formerly known as IBM MQ Series until it was made open source, offers a convenient publish / subscribe model where any device can publish messages under a topic into a central server, like Mosquitto or HiveMQ, and which can be retrieved by any other device that subscribes to the same topic on the same server. Both XMPP and MQTT have Java and Python libraries that allow applications developed in either of these languages to transmit and receive data as text strings. These libraries are available not only for Windows and Linux platforms but so can be used for in Android apps.
With these libraries it is now entirely possible to write applications on component C that will transmit data. Corresponding applications on component D, which could be a standard Linux server running Python, Java and either SQLite or MySQL, would receive the data, decode and process it with business logic and store it in a persistent database for subsequent analysis and display.
If we leave aside the integrated, proprietary, cloud-based platforms then the Android platform with applications developed with either XMPP or MQTT libraries is a very viable option. Why do we say so? First Android devices are dirt cheap and available at retailers like Walmart for US$10. Remove the unnecessary audio and video components and wholesale prices will drop to half of that. Second the gigantic and ever expanding community of Android app developers represents a huge pool of talent and expertise that can be leveraged inexpensively. Third, Android already has native support for all popular data transfer mechanisms like 3G / 4G / WiFi / Bluetooth / NFC and is likely to support anything else that comes in the future. Fourth, Android devices routinely support many kinds of sensors for gathering biometric, motion, position and environmental data and thanks to the pressure from app builders there are many third party sensors in the market for biomedical and additional environmental data all of which are very useful for IOT applications.
But the fifth and most important reason to bet on an Android based IOT is the massive ecosystem around it. Google has not only invested US$ 3.5 billion in acquiring the home automation company Nest but has also thrown its weight behind a brand new product, Brillo, that is based on Android and extends it with Weave, a data communication platform for IOT. Of course, not all Google products are equally successful -- Google+ or Google Wave are nowhere as popular as its search engine, Gmail or Youtube -- but with an 80+% market share Android is miles ahead of the competition in the 2+ billion smartphones that are in the market today.
This article was originally published in theStack
ReplyDeleteLately, I've just started to learn different platforms and principles of their functioning. And my eye stopped on a cloud platform, but more correctly be called cloud storage servers of corporate and personal data data rooms
Not only do you have to stop what you're doing at that moment to disable your WiFi radio, but you have to remember to re-enable the WiFi radio when you are back in close enough range of an open or already-enabled network. this site
ReplyDeleteAppreciation for really being thoughtful and also for deciding on
ReplyDeletecertain marvelous guides most people really want to be aware of.
Android Training in Chennai
Android Training in Bangalore
really enjoyed while reading your article, the information you have delivered in this post was damn good. Keep sharing your post with efficient news.
ReplyDeleteJava Training Center in Chennai | Best J2EE Training Center in Chennai | No.1 Java Training Institution in Velachery | Core Java Training in Chennai
thanks for sharing...
ReplyDeleteEmbedded Training in Chennai | Best Embedded Training in Chennai | Embedded System Training in Chennai | Embedded System Training Institute in Chennai | Best Embedded System Training Institute in Chennai | Embedded Course in Chennai | Embedded System Training Institutes in Chennai | Embedded System Training Center in Chennai | Best Embedded System Training in Chennai | Embedded Systems Training in Chennai
Great and nice blog. Thanks for sharing..I just want to say that all the information you have given here is awesome...Thank you very much for this one.
ReplyDeleteFinal Year Project Center in Chennai | Final Year Project Center in Velachery
Really enjoyed while reading your article..
ReplyDeleteJava Training in Chennai | Core Java Training in Chennai | JEE Training in Chennai
Thanks for your article .its very useful for everyone.Really interesting one. best aws training in chennai | aws course fees details
ReplyDeleteYour blog is nice. I believe this will surely help the readers who are really in need of this vital piece of information. Thanks for sharing and kindly keep updating.
ReplyDeleteEnglish Coaching Classes in Bangalore
Spoken English Course in Bangalore
English Spoken Classes in Bangalore
English Classes in Bangalore
Spoken English Institutes in Bangalore
Spoken English Coaching Classes near me
English Learning Classes in Bangalore
ReplyDeleteSome us know all relating to the compelling medium you present powerful steps on this blog and therefore strongly encourage
contribution from other ones on this subject while our own child is truly discovering a great deal.
Have fun with the remaining portion of the year.
Selenium training in bangalore
Selenium training in Chennai
Selenium training in Bangalore
Selenium training in Pune
Selenium Online training
IOT is it similar to IOS.. hahaha. but nice
ReplyDeleter&l tracking
Good job! Fruitful article. I like this very much. It is very useful for my research. It shows your interest in this topic very well. I hope you will post some more information about the software. Please keep sharing!!
ReplyDeleteBlue Prism Training in Chennai
Blue Prism Training Chennai
Blue Prism Training in Tambaram
Blue Prism Training in Velachery
Blue Prism Training in OMR
Blue Prism Training in TNagar
This was really one of the best blog i have read recently. Thanks for sharing this post with us.
ReplyDeleteIELTS Classes in Mumbai
IELTS Coaching in Mumbai
IELTS Mumbai
Best IELTS Coaching in Mumbai
IELTS Center in Mumbai
IELTS Coaching in Chennai
IELTS Coaching Centre in Chennai
IELTS Training in Chennai
IELTS Chennai
Best IELTS Coaching in Chennai
I am very happy to visit your blog. This is definitely helpful to me, eagerly waiting for more updates.
ReplyDeleteR Training in Chennai
R Programming Training in Chennai
Machine Learning Course in Chennai
Machine Learning Training in Chennai
Data Science Course in Chennai
Data Science Training in Chennai
Data Science Training in Anna Nagar
Machine Learning Training in Chennai
This is a good post. This post give truly quality information. I’m definitely going to look into it. Really very useful tips are provided here. thank you so much. Keep up the good works.best IELTS Coaching Center in Coimbatore
ReplyDeleteIELTS Coaching in Coimbatore
German language classes in Coimbatore
Spoken English in Coimbatore
embedded training in coimbatore
embedded systems course in coimbatore
Java classes in coimbatore
Good job and thanks for sharing such a good blog You’re doing a great job. Keep it up !!
ReplyDeletePython Training in Chennai | Python Training in Chennai, OMR | Python Training in Chennai, Velachery | Best Python Training in Chennai | Python Training Institute in Chennai | Best Python Training in Credo Systemz, Chennai
ReplyDeleteNice information, want to know about Selenium Training In Chennai
Selenium Training In Chennai
Data Science Training In Chennai
Protractor Training in Chennai
jmeter training in chennai
Rpa Training Chennai
Rpa Course Chennai
Selenium Training institute In Chennai
Python Training In Chennai
Thanks for sharing such a wounderful blog, this blog content is clearly written and understandable.
ReplyDeleteDevOps Training in Chennai
DevOps Training in Bangalore
Best DevOps Training in Marathahalli
DevOps Training Institutes in Marathahalli
DevOps Institute in Marathahalli
DevOps Course in Marathahalli
DevOps Training in btm
DOT NET Training in Bangalore
Spoken English Classes in Bangalore
Data Science Courses in Bangalore
Thanks for this wonderful blog it is really informative to all.keep update more information about this
ReplyDeleteTally Course in Chennai
Tally Course in Hyderabad
Tally training in coimbatore
Tally course in madurai
Best tally training institute in bangalore
tally course in marathahalli
tally Training in bangalore
Tally Classes in Bangalore
Ethical hacking course in bangalore
Software Testing course in Bangalore
ReplyDeleteAmazing Post. keep update more information.
Online IELTS Coaching
Online IELTS Classes
IELTS Online course
Best IELTS online coaching
Best IELTS course online
Online IELTS coaching classes
IELTS Exam Online Coaching
IELTS Exam Online Coaching
Top IELTS online Coaching
The Internet of Things (IoT) refers to physical objects vehicles, home appliances, wearables, and more that are connected to the internet so that they can transmit data online. Your blog helpful for the users of Android as IoT Platform, keep it up!
ReplyDeleteThanks for sharing such a nice info.I hope you will share more information like this. please keep on sharing!
ReplyDeleteAngular JS Training in Chennai | Certification | Online Training Course | Angular JS Training in Bangalore | Certification | Online Training Course | Angular JS Training in Hyderabad | Certification | Online Training Course | Angular JS Training in Coimbatore | Certification | Online Training Course | Angular JS Training | Certification | Angular JS Online Training Course
Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot of information.
ReplyDeletepython training in chennai
python course in chennai
python online training in chennai
python training in bangalore
python training in hyderabad
python online training
python training
python flask training
python flask online training
python training in coimbatore
Let the Salesforce Consultant continue the project in a phased manner and this helps businesses to improve the confidence and trust with the consultant based on the results and performance they deliver in each of the project phases. Salesforce interview questions and answers
ReplyDeleteYour blog is so impressive to us. I appreciate the way of delivering the concepts.
ReplyDeletepython real time applications
full stack developer salary
importance of python
future of hadoop
java interview questions for experienced
selenium interview questions and answers for experienced
Liên hệ Aivivu, đặt vé máy bay tham khảo
ReplyDeletechuyến bay từ singapore về việt nam
vé máy bay hà nội sài gòn giá rẻ
giá vé máy bay từ huế ra hà nội
vé máy bay đi đà lạt bao nhiêu tiền
giá vé máy bay đi Huế
Wow, cool post. I'd like to write like this too - taking time and real hard work to make a great article... but I put things off too much and never seem to get started. Thanks though.
ReplyDeletemystrikingly weebly mystrikingly
MAJOR168 is open for football betting today. There are many big camps together BTi SBOBET IBCBET CMD365 if you are looking for a football betting website. Do not miss this site, there is football, there are all sports in the world. คาสิโนออนไลน์. Betting is available 24 hours a day with the best odds per pair in Thailand. Guaranteed automatic deposit and withdrawal system 10 seconds.
ReplyDeleteLive sports betting Online football betting Good price with every football match open for today online football betting SAGAME88 There are many big camps together, SBOBET IBCBET BTi CMD365, the only website complete in online football betting คาสิโนออนไลน์. There are every sport on the planet in here. With the automatic deposit and withdrawal system for 10 seconds, we have a live football system to watch every night.
We offer a wide variety of services. Called him the only player to finish with everything else does not have to go to the web preview ufabet as online. Online casinos Baccarat online Online betting games, Slotonline and with new technology, you can play ufabet via mobile phone today. Mobile Baccarat, play online via the website
Ufabet1688 of us again the way we are websites directly , not through a General Services , where customers will know it absolutely was extremely really no cheating possible on site gambling online , it is ufabet1688 of us will hit prices.
Your blog is great! I’m sure it will be very helpful to readers who need this important information. Thank you for sharing, and please keep updating.
ReplyDeletespoken english classes in marathahalli
spoken english classes in bangalore
spoken english classes in nagawara