Q

Emertxe-News & Blog

Home » Blog » How to build IoT project
How to build IoT project

The IoT buzz:

In this era, Internet of Things(IoT) is the buzzword! Any conference or any technology journal or any meetups, one just can’t ignore talking about IoT. Having said that, as a fresh engineer there is always a set of questions that pops up in your mind: ‘How do I learn IoT?’ ‘I am getting overwhelmed with by looking into the depth and breadth of technology. Where to start?’ ‘How to build IoT projects on my own?’ ‘What type of hardware and software resources do I need?’ Well, there is no definite answers for few questions as it is very subjective. Hence, based on our experience in Emertxe we would like to give you top-5 recommendations on how to build IoT projects. This practical approach will have you a working project and give answer for your ‘How to build IoT projects?’ question. Before we get there, let us try to briefly understand IoT, which will come in handy while building projects.

Introduction to  IoT:

To give a brief introduction, IoT is an organization of physical things embedded with sensors, electronics, software that are accessible through internet. These physical things can be anything which includes home appliances, automobiles, industrial machines, human body, transport vehicles, medical equipment or any other “thing” that you can think of. According to the recent survey, there will be 30 billion plus IoT devices by 2020, which actually justifies the buzz. Hence, IoT plays an important role in everything that we use in today’s world by making it easy for us. IoT’s market can potentially reach a whopping 2 billion connections and unlock $11.1 billion of revenue by 2022,  an Assocham- EY report said.

How to build IoT project | IoT statistics  
IoT Statistics

By building IoT projects, you can really understand what is IoT is all about. You will get a clear picture of the technology and also build a wonderful career as there is a boom in IoT job market. If you want to know more about how to build IoT projects, read on!

IoT Architecture:

How to build IoT project | IoT Architecture  

Internet of Things Architecture

IoT architecture is a structure of numerous elements. In simple words, IoT architecture has five major components. They are described as follows:

IoT device

IoT device can be a combination of wireless sensors, software, actuators and computer devices. They are fixed to a specific object that runs through internet. These devices enable the transfer of data among objects or people automatically without any interference of human resources. For example, Fitbit is an IoT device that communicates with an app through internet and provides us so many insights about our health condition.

IoT gateway

IoT gateway is a device or a software program that serves as a connection point between cloud and multiple IoT devices. All the information moving to cloud or vice versa has to pass through IoT gateway. IoT gateway provides an extra security for the IoT network and the data that is being transported. An array of IoT devices connect with IoT gateway via low-range protocols (ex: Bluetooth Low Energy or BLE). The gateway in turn uses web-scale standard protocols (ex: Message Queue Telemetry Transport or MQTT)  to access the internet. Some of the commonly used protocol information is given below.

Network

Network is the bridging element that connect an array of IoT gateways to the Cloud platform by traditional TCP/IP network. It is been existing over years connected with a suite of protocols. Now the same network has an indeed meaning of being “glue” that bridges everything (IoT device, IoT gateway, Cloud and application eventually).  Therefore IoT protocols can be summarized as mentioned in the image below.

How to build IoT project | IoT and Internet protocols  
                                                                                                  A simple diagram of protocols
Here is a brief explanation of each protocols:

IoT device -> IoT gateway protocols (Typically short range):

Name Brief about the protocol
BLE Bluetooth Low Energy (BLE) is a form of wireless communication designed especially for short range communication.
Thread Thread protocol is a home automation device communication method.
6LoWPAN IPv6 over low power wireless personal area network (6LoWPAN) provides the upper layer system for use with low power wireless communications for IoT.
LPWA Low Power Wide Area Network (LPWA) enables connected device to communicate over a large geographical areas at a low bit rate.
Ethernet Ethernet is a protocol for local network of computer, workstations and devices.
NFC Near Field Communication (NFC) is a set of communication protocols that enable two electronic devices, usually one is a portable device, to establish communication within a distance of 4cm.
WiFi Wireless Fidelity (WiFi) is a wireless networking technology that uses radio waves to provide wireless high speed internet and network connections
LoRa LPWAN Long Range Low Power Wide Area Network (LoRa LPWAN) provides network in long range network. The range lie >5km in urban, >10 km in suburban and >80km line of sight.
RFID Radio Frequency Identification (RFID) is one method of automation identification and data captures.RFID uses electromagnetic field automatically identify and track tags attached to objects

IoT gateway -> IoT cloud protocols (Typically long range, internet scale protocols):

Name Brief about the protocol
HTTP Hypertext Transfer Protocol (HTTP) is an application level protocol for distributive, collaborative hypermedia systems.
MQTT Message Queue Telemetry Transport (MQTT) is designed as a lightweight messaging protocol that uses publish/subscribe operations to exchange data between clients and the server.
CoAP Constrained Application Protocol (CoAP) is designed to enable simple, constrained devices to join the IoT even through constrained networks with low bandwidth and low availability.
AMQP Advanced Message Queuing Protocol (AMQP) is an open source published standards for asynchronous messaging by wire.AMQP enables encrypted and interoperable messaging between organizations and application.
XMPP Extensible Messaging and Presence Protocol (XMPP) is for streaming XML elements over a network in order to exchange messages and presence information in close to real time.
 

Cloud

Cloud is a platform that takes a huge volumes of data generated. They receive them through IoT gateways which in turn has tons of  by devices behind them. Since the amount of data handling is very significant it will have following characteristics.

  • Web services – Ability to handle incoming client request and response
  • Scalability – Ability to scale-up or scale-down depending on the data / network traffic
  • Distributed – Inherently support distributed computing to handle resources
  • Business Intelligence / Analytics – By analyzing big data and derive analysis
  • Cost optimization – Provide facilities to customer to achieve results in optimized way

Today almost all the most important giants like Google, Amazon, Microsoft, IBM are offering their own IoT platforms. All of them provide key features mentioned above and much more.

Application

The synthesized data for the end user to derive meaningful insights. The application typically provides an User Interface (UI) which the user can get the final insights (ex: Home devices status) or even trigger some action (ex: Switch ON / OFF). Again this interface can be anything ranging from a mobile application, custom dashboards on panels or simply a web interface.

Emertxe’s knowledge sharing about IoT:

Our team in Emertxe, which consist of set of experts have been working on IoT for a while now. They have also shared their learning in many popular conferences. Here are some of the slides which you can browse through to get more in-depth knowledge about IoT.

IoT show 2019:

During this conference Jayakumar Balasubramanian(Director – Technology) gave a tech talk on Demystifying IoT skills: what does it take to become a fullstack IoT engineer. It was a brief talk addressing how to interpret IoT from skill perspective, additional skills a electronic engineer should have, difference in IoT job profile and the roles played by protocols in IoT.

IoT show 2018:

Our team of experts consisting Jayakumar Balasubramanian (Director – Technology), Mubeen Jukaku (Technology Head) and Syed Adil (Hardware Design Head) steered and formally launched our IoT course by sharing Next Generation Skills for IoT by calling out skills that is required for engineers to launch their careers in IoT. We are really proud to be the first institute in India to launch such an immersive IoT course.

IoT career guide (Shared with broad ecosystem of engineers):

IoT is amalgamation of different technologies coming together. Standards and ecosystem is still evolving which often leads to quite a lot of ambiguity and confusion among entry level engineers. Our team Emertxe has brought in particular about IoT by clearly defining it from skill perspective. Here is a career guide aimed to clarify all queries about IoT.

How to build IoT projects?

With this background information, let us answer the question ‘How to build IoT projects?’. At Emertxe, after all handling 60,000+ students in the past 15+ years of existence, we always believe the best way to learn is by building projects. Here are the top-5 practically implementable steps to have your own project working.

Step-1: Execute a demo project:

To get the real taste of IoT, the first step is to execute a project which is already built by somebody. There are various websites to guide you with projects. For example Hackster, EngineersGarage, Circuit Digest, Seeed Studio and many more. It is always important to execute a demo project as it gives a clear idea for building your own IoT project. In particular, there are multiple “cool” project that are available in these websites (ex: In Hackster – IoT home security model, IoT pet feeder) which will also give you a “fun” feeling while building them. As you may observe, these projects also requires a certain set of hardware and software to execute them. Thanks to Open Source, most of the software are available for FREE and downloadable from the links given for specific projects. However choosing a right hardware kit / components always plays an important role in your project.  There are some websites exclusively for the purchase of the components like Rhydolabz, Element14, Kitsnspares which you can check out and make the right hardware purchase.

Step-2: Get hands-on with programming:

The real use-case building of IoT happens due to an engineer’s programming mind. So it’s very important to know at least one programming language very well. The reason that IoT is a cross disciplinary subject, we would recommend you to learn two programming languages, that can come in handy that is C programming and Python programming. Ever wondered why?

How to build IoT project | Importance of programming languages  
                                                                                                   Importance of programming language
  • C programming:  In spite of so many programming languages available today, C is the most preferred language for programming Embedded Systems. Getting invented during 1970s, C programming language has evolved a lot. Advanced C programming constructs like Pointers, Dynamic memory allocation, Data structure, User Defined Data structures, File operations etc. C programming unifies all the controllers and computing devices in the market. You will build strong capability and confidence in yourself in order to convert a given problem statement into a working program.
  • Python : Initially python was used only for web application, but later on python was used in IoT too. Python is a language similar to perl- object oriented programming language. When it comes to robust and performance developers prefer python programming language. Also it has various features, its an open source, portable, flexible, embeddable, etc . Python programming is also efficient fast and supports programming paradigms. Python is a versatile interpreted language which is easy to learn with rich set of libraries.

Both languages are very popular in the IoT domain getting hands-on projects implemented in them will really help you to take-off your career.  You can check-out our Technical Resource Library where you will get ample study materials to get started with programming.

Step-3: Get hands-on platform exposure:

After all gaining hands-on programming we are sure your logical and analytical skills will improve make a huge positive jump. At the next step you need to gain hands-on with any popular IoT platform. Its important to realize that there are a lot of them available already. From team Emertxe’s side we have been doing quite a lot of work in GR Lychee platform (created by Renesas Electronics) as part of GR Lychee annual IoT design contest. There is a wonderful hands-on video prepared by one of our mentors which will help you to get started. By understanding such platform you will be able to program an Embedded System for a specific IoT use-case. Of course you can look out for many similar resources in the web!

Step-4: Try a project on your own:  

It is always very challenging to try out a IoT project on your own. But most importantly that’s the only way to learn! Now that you have all the fundamental elements required you can start working on a project on your own .It also helps you to explore the technology in much better way. There are tons of resources available to help you out. Here are few of the resources, so go on and just give a try! I am sure you will have a working IoT project by exploring all these options

  • Particle Community:  Practicle community offers you a set of projects (on a volunteering basis) and great team of IoT experts who can answer any of your concerns related to your IoT project
  • Hackster.io: Hackster offers you a development team who can help you out during the implementation phase of your project. You can also follow the projects that are listed in their website.
  • Adafruit : Adafruit also offers you a great help from development team. You can seek their help during the building phase of the project. You can also seek information about hardware and software components of your IoT project.

Step-5: Get real-time experience

Last but not the least. Get some real-time experience on IoT projects. This will not only help you to build project but also enable you to build a career on IoT. As a fresher you will always have concern on getting real-time experience! If you followed steps 1-4 and have all your learning represented in your resume well, hunting a real-time project will not be a problem. Here are couple of suggestions from our side which you should give a try:

  • Start contributing to open sources: There are various Open Source communities where you can start contributing. It might not be necessary you need to have deep domain expertise to start. You can start with very simple activities like creating documentation, making minor code changes or even performing unit testing of a code developed by a seasoned developer in the community. This will not only help you to learn technically but also builds your credibility as a developer.
  • Internships: Internships play an important role in helping you to build a project. There are multiple platforms available like internshala, oyster connect, letsintern which provide internships.  Internship is a learning phase for a student in the corporate environment, Hence it will help you to learn a lot. You can also learn to build IoT projects.

Conclusion:

IoT is a huge platform to work on! As a fresher, you should definitely explore and work on some IoT projects. In order to build projects you require some foundational skills followed by domain skills. Working on IoT projects not only benefits to build your career but also taps your creative side of your brain. A huge opportunity is waiting to be harnessed, go ahead and grab them with both your hands. Why don’t you start building an IoT project right away?

YOU MAY ALSO LIKE

Emertxe’s Online Training Programs in Embedded Systems & IoT

Emertxe’s Online Training Programs in Embedded Systems & IoT

The reason why Emertxe is the best choice for career advancement: eLearning and Online training programs are the way forward in the COVID-19 disrupted world. Riding along the digital revolution will ensure engineers are future-ready with skills to not only secure but...

Our Training Programs for Freshers

Our Training Programs for Freshers

Introduction: Emertxe is the leading training institute in Bangalore for Embedded Systems and IoT domains. It is a pioneer in training freshers since 2003 by providing excellent placement opportunities for freshers. Over the years 70000+ students have made their...

Q