Hi,
After couple of posts related to Raspberry Pi & sensors, I felt it is necessary to understand the key concepts of IoT ( Internet of Things ) before proceeding further with handson :
What is Internet of Things ?
Every one would have heard about Internet of Things ( IoT in short ), it refers to physical devices which collect data from real world and shares these data over internet.
The collected data from physical devices are used by various industry domains to :
1. Increase Operational efficiency for business.
2. Provide improved value & experiences to clients.
I would recommend to watch the video from IBM about IoT to understand it better :
https://www.youtube.com/watch?v=QSIPNhOiMoE
A. Skills needed for becoming a IoT Developer
Since IoT is rapidly adopted across industry domains, the demand for skilled IoT developers who are able to deliver IoT solutions continues to rise.
IoT developer should develop skills across a range of key topic areas :
1. Hardware
- Knowledge of circuit design
- micro-controller programming
- understanding of hardware communication protocols like serial, I2C, or SPI
- programming languages like C, C++, Python , Nodejs
2. Networking
- Network design and management ( Knowledge of mesh networks which is widely used).
- Knowledge of network standards, protocols, and technologies :
a) Wifi,
b) Low Energy Bluetooth,
c) Zigbee
d) cellular and
e) RFID technologies
- Knowledge of Low Power Wide-Area Network (LPWAN) technologies like LoRa.
LPWAN includes SigFox and NB-IoT (narrow band IoT) which offer lower cost low-power long-range wireless connectivity.
3. Application design and development
- Web and mobile app development (Java, Swift, Node.js.. ) for visualizing interaction.
- GPS programming skills which is widely used in mobiles.
4. Security
- threat assessment
- ethical hacking
- encryption to ensure data integrity
- securing network architectures and applications,
- event monitoring,
- activity logging
- threat intelligence
5. Business intelligence and data analytics
- Data analytics skills using Hadoop, Spark, and NoSQL databases like MongoDB.
6. Machine learning and artificial intelligence (AI)
- Cognitive computing techniques drawn from data mining, modeling, statistics,
machine learning, and AI
B. Choosing the right IoT hardware
IoT devices can be categorized in terms of these high-level capabilities:
1. Data acquisition and control
- Capturing data at regular intervals and convert into digital format. Sensors help to do the task.
2. Data processing and storage
Data from the sensors can be either stored and processed or it can be
1. data directly
2. transmit the data to other devices like gateway devices
3. To cloud services or apps for aggregation and analysis.
3. Connectivity:
Few popular connectivity technologies are
1. 802.11 (wifi)
2. Bluetooth
3. RFID
4. Cellular networks
5. Low Power wide area network (LPWAN) technologies like LoRa, SigFox or NB-IoT.
4. Power management
Power is essential for capturing real time data for sensors. It differs based on the data it captures.
Sensors power sources differ in various ways
1. Solar powered
2. Continuously connected to power ( 3V or 5V)
3. Some go to sleep mode to save power when not in use.
IoT Hardware are of two categories :
1. Microcontrollers
It contains :
- Processor core (or cores)
- Memory (RAM), and
- Erasable programmable read-only memory (EPROM) for storing the programs
Eg : a) Arduino Uno
b) Particle Electron
c) Espressif Systems ESP8266-01
2. Single board computers
As the name says , single board computer, it contains all the features of a regular computer.
Please note these single board computers don't come with monitor, keyboard and mouse.
It has to be bought separately.
Eg:
a) Raspberry Pi 3 Model B
b) BeagleBone Black
c) Qualcomm DragonBoard 410c
I have chosen Raspberry Pi 3 Model B and Arduino Uno due to its popularity.
C. Understand Networking Protocols
It is necessary to understand what networking protocols are required to have a strong foundation in IoT. Refer to the figure to know what protocols are used compared to OSI & TCP / IP model.
D. Choosing IoT platform
IoT platforms provide middleware :
1) To connect and manage hardware devices
2) Store and handle data
3) Provide interface with mobile and web applications.
4) Establish secure communication between devices, apps, and services.
Few IoT platforms are :
1) IBM Watson IoT
2) Amazon Web Services IoT
3) Microsoft Azure IoT Suite
4) ThingWorx
5) Kaa
Since I work in IBM technologies, I prefer IBM Watson IoT platform because it provides a "Lite account" which you can try it out ( its totally free with limited capabilities ) :
https://www.ibm.com/cloud/
References :
What is IoT ?
1.https://www.youtube.com/watch?v=QSIPNhOiMoE
IoT 101
2. https://www.ibm.com/developerworks/library/iot-lp101-quick-start-guide-iot-developers/index.html
Essential Skills
3. https://developer.ibm.com/dwblog/2017/just-getting-started-iot-consider-7-key-iot-concepts-skills/
Hardware Selection :
4. https://www.ibm.com/developerworks/library/iot-lp101-best-hardware-devices-iot-project/index.html
Protocols for IoT
5. https://www.ibm.com/developerworks/library/iot-lp101-connectivity-network-protocols/index.html
IoT Platforms
6. https://www.ibm.com/developerworks/library/iot-lp101-why-use-iot-platform/index.html
No comments:
Post a Comment