A Complete IoT Development Guideline for Beginners: from IoT Hardware to Application
What is Internet of Things? Wikipedia said the Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other communications networks.
You may have realized that your laptop and smartphone isn’t the only thing around your immediate environment that are Internet-connected. Smart thermostats, smart lights, and refrigerator are just a few of the internet-enabled gadgets that are all around you. These devices weren’t necessarily connected to each other or to the Internet before. But now they now have three tasks to complete: gather data, convey data, and motivate action.
For instance, the smart refrigerator door now has a touch-screen dashboard and built-in BLE sensors on a milk shelf, weighing the food and sending the message via a BLE WiFi bridge to customers APPs, alerted that the milk rack is nearly empty and will then prompt the user to place an online order for more milk.
Today, I will walk you through A Complete IoT Development Guideline for Beginners: from IoT Hardware to Application.
Table of Contents
Develop IoT-capable Devices
So how to make a smart device Internet-connecte and empower it with IoT capability? If a device wants to access the network, it must have a communication function, wired or wireless. It is rather typical to implement wired networks in industrial sectors or scenarios that need for high communication quality. For most civilian fields, most of them are still relying on wireless communication. Some devices can directly access to the Internet, but some can not, like Zigbee, Bluetooth, and Z-Wave. So here we divide it into gateway-involved development
Gateway-free devices transmits data via 2G, 3G, or 4G base stations, and it comes in the form of a single-chip microcontroller and communication modules. The single-chip microprocessor is in charge of the various device functions, while the communication module is only in charge of its communication. The examples of communication modules include: GPRS, 4G, NB-IoT, etc. The communication between the microcontroller and the communication module is mostly through the UART port on the hardware.
Software development is same to that of developing microcontrollers in general. As long as you are aware with the communication protocol being utilized, it is nothing more complicated than adding some data to report across the network or receiving control instructions from the network.
What if you don’t want to invest a lot of time and money in revamping an existing product in order to link it to an IoT platform? We recommend that you convert the product right away to a smart device by simply adding an ESP32 module to it. ESP32 is a little different from general communication modules: it is a complete single-chip microcomputer, but their main purpose is to solve communication problems, rather than general function control.
ESP32-WROOM-32 Development Board
Wireless communication protocols Zigbee, Z-Wave, RF433, BLE, etc. can allow multiple devices to establish a network, and transmit data between nodes in a multi-hop manner to achieve the purpose of communication. These data will eventually be combined into a hub gateway known as a gateway, which will then interact with the cloud server. This development processes involve device and gateway development.
Know more about IoT gateway development
An IoT gateway’s tasks include:
Device management: not the same concept with IoT platform device management
Rule engine: accomplish scene linking and other tasks even while disconnected
Uplink protocol unification: uplink connectivity to the cloud platforms need to be unified, because the cloud platform will only represent each device in a same data format regardless of the kind of wireless communication technology used beneath;
Downlink protocol conversion: transforms the uniform data format delivered by the cloud platforms into the specific data format used by various wireless communication protocols (Zigbee, Z-Wave, BLE, LoRaWAN, etc.) by earious end devices.
Development of End Devices
In this instance, the device’s development work is minimal because it simply has to support a certain wireless protocol. The underlying protocol stack is typically given, and the relevant communication module is utilized. Developers’ tasks essentially consist of understanding the application layer’s communication protocol, finishing the analysis of instructions, and reporting results.
IoT Platform Develoment
The Internet of Things platforms, which shields a variety of sophisticated device interfaces and facilitates quick device access by serving as the intermediary layer between corporate applications and devices. Their objective is to offer a common communication standard and SDK, enable easy access to a variety of hardware devices, and generate revenue from the quantity of connected devices, the flow of communication data, and the provision of different business-level services. Examples are Amazon’s AWS, Microsoft’s Azure, etc.
Some businesses have also created their own platforms exclusively for the IoT market. Due to its limited popularity, it can only draw hardware access in the form of joint development initiatives. The IoT platform’s development technology stack is primarily involving background development.
Business Application Development
Data is the most valuable asset on the Internet of Things platform. Business applications will determine how to use these data. Simply put, the so-called business application involves using the IoT platform’s API to handle business scenarios including device administration, data reporting, and command issuing.
On the basis of device access, device management provides richer capabilities, simplifing the complexity of massive device management, and improves management efficiency. Various business application scenarios can be derived from these devices and data of the IoT platform, which requires on-demand development based on actual functions. Examples include applications for the Internet of Vehicles (IoV), smart cities, smart lighting, smart industries, and other business sectors.
Any item, as long as it can access the network, can be called a thing. A useful IoT device must be able to do the following three tasks: 1. Using embedded sensors to gather crucial data; 2. Sending data via the IoT gateway or the Inertnet and getting analysis findings; 3. Using analysis results to motivate meaningful action.
Every IoT device is linked to the IoT platforms, which serves as a bridge between them all. It can gather and analyze data from every device connected to the network and can also independently communicate with any network device.
This complete workflow contains endless possibilities, and it is almost certain that the field will grow in ways we cannot predict.