What is the Internet of Things?
The concept of Internet of Things should be familiar to readers. The concept of the Internet of Things was first put forward in 1999. It was once called the third wave of the development of the world's information industry after computers and the Internet. It has developed for more than 20 years now. Today, in our daily life, we have access to a lot of Internet of Things products, such as various smart appliances, smart door locks, etc. These are relatively mature applications of Internet of Things technology.
The earliest definition of the Internet of Things is to connect all items with the Internet through radio frequency identification and other information sensing devices to achieve intelligent identification and management. Of course, with the development of the Internet of Things today, its definition and scope have been expanded and changed. The following are the characteristics of the modern Internet of Things.
1.1 The Internet of Things is also the Internet
The Internet of Things, that is, the Internet of Things, is a part of the Internet. The Internet of Things takes the Internet infrastructure as the carrier of information transmission, that is, modern Internet of Things products must be "things" connected to the Internet in some way, while "things" upload/download data and interact with people through the Internet.
For example, when the user finishes the startup operation through the mobile phone app, the command is sent from the mobile phone that has been connected to the Internet to the cloud platform. The cloud platform finds the car end computer that has been connected to the Internet, and then issues the command. The car end computer executes the startup command and feeds the execution result back to the cloud platform; At the same time, the user's operation is recorded in the cloud, and the user can query the remote unlock record history from the app at any time**
This is a typical Internet of Things scenario, which belongs to Internet applications. "Things" are connected to the Internet, and data and information interact through the Internet. At the same time, data and other Internet applications converge to the cloud.
1.2 The main body of the Internet of Things is "things"
The application of the modern Internet of Things is an Internet application, but there is a big difference between the application of the Internet of Things and the traditional Internet application, that is, the main body of the production and consumption data of the traditional Internet is people, while the main body of the production and consumption data of the modern Internet of Things is things.
In the application scenario of the modern Internet of Things, data producers are "things", such as smart devices or sensors, and data consumers are often "things".
In the application of smart agriculture, the temperature sensor in the incubator periodically uploads the temperature in the incubator to the control center. When the temperature is lower than a certain threshold, the center will remotely open the heating equipment according to the preset rules. In this scenario, the producer of data is a temperature sensor, and the consumer of data is a heating device. Both are "objects", and people do not directly participate in them.
The biggest difference between the Internet of Things and the traditional Internet is that the producers and consumers of data are mainly things, and the data content is also closely related to "things".
1.3 Internet of Things and Artificial Intelligence
AI is one of the hottest words in IT field in recent years. Looking at the development route of artificial intelligence, we can see that there are two main reasons why the development of artificial intelligence can advance by leaps and bounds.
The development of hardware shortens the learning time of deep learning neural networks.
In the era of big data, the cost of obtaining large amounts of data becomes lower.
In fact, the second reason is particularly important. Because of its characteristics, neural networks need massive data for learning. The amount of effective data available for learning often determines the effect of the finally trained neural networks. Even the importance of algorithms can rank behind the amount of data.
However, IoT devices, such as smart appliances and wearables, generate massive data every day. After processing and cleaning, these data can be used as good training data to feed back the neural network. At the same time, the trained neural network can be re applied to Internet of Things devices, thus forming a virtuous circle.
Figure 1-1 shows the cycle of data collection iteration of the Internet of Things using artificial intelligence methods. Collect and train data through IoT equipment. After completing the training in the data center, apply the model to IoT equipment, and evaluate the effect for the next iteration.
The Internet of Things is a very good application scenario for artificial intelligence. With the rapid development of artificial intelligence, the theory and technology of Internet of Things, which was also put forward many years ago, will also usher in a new spring.
At present, the Internet data portal is gradually converging towards several giants (such as Alibaba and Tencent), and the cost of acquiring data for smaller companies is getting higher and higher. * * The Internet of Things, a data field that has not yet been fully developed, is particularly important * *.
This is also the reason why this book focuses on the development of the Internet of Things platform and skips the development of front-end devices. Because front-end devices will eventually tend to be the same and there will be homogeneous competition. How to collect and use the massive data generated by devices is the decisive factor for whether you have a competitive advantage.
1.4 Current situation and prospect of the Internet of Things
With the advent of the 5G era, the Internet of Things will develop very rapidly. At the same time, new financing in the direction of the Internet of Things has also been on the rise. Now let's talk about the development prospects of the Internet of Things industry from the perspective of application scenarios.
The application scenarios of the Internet of Things are very broad, including:
*Internet of Vehicles
*Industrial Internet of Things
In different scenarios, the applications of the Internet of Things are very different. The heterogeneity of terminals and network architectures is strong, which means that there are enough market segments in the Internet of Things industry. It is difficult to have a dominant company in market share. At the same time, because the market is large enough, enough companies can survive. This situation is not common in the Internet industry. The head effect of the Internet industry is very obvious, and the vast majority of the market share is often occupied by two or three companies in the head.
The Internet of Things model is more "heavy" than the Internet model. The application of the Internet of Things is always accompanied by front-end devices, which means that the switching cost of users is relatively high. After all, it is much more complicated to remove and reinstall devices than to use your fingers to download an application again. This means that the driving force of capital is relatively weak in the IoT industry. If you get the first mover advantage, the latecomers will pay a much higher price if they want to catch up with you or squeeze you out of the market by capital alone.
Therefore, the IoT industry is still a blue ocean, and small-scale companies are fully capable of competing with large-scale companies in this industry. After the heat of AI and blockchain has cooled, the Internet of Things is likely to become the next wind outlet. As a programmer, it is necessary to reserve some knowledge in advance before the wind comes.
2、 Common Internet of Things Protocols
2.1 MQTT protocol
The MQTT protocol (Message Queue Telemetry Transport) was developed by Andy Stanford Clark of IBM and Arlen Nipper of Arcom in 1999 for a project to connect oil pipelines through satellite networks. In order to meet the requirements of low power consumption and low network bandwidth, MQTT protocol has the following characteristics at the beginning of design:
*Provide QoS of data transmission
*Light weight, low bandwidth consumption
*Any type of data can be transferred
*Sessions that can be persisted
With years of development, the focus of MQTT protocol is no longer just embedded systems, but the wider Internet of Things world.
In short, the MQTT protocol has the following features:
*Application layer protocol based on TCP protocol
*Adopt C/S architecture
*Decouple the sender and receiver of the message using the subscription/publication mode
*QoS (Quality of Service) of three types of messages: at most once, at least once, and only once
*Sending and receiving messages are asynchronous, and the sender does not need to wait for the receiver's response
The architecture of the MQTT protocol consists of a Broker and multiple Client connected to the Broker, as shown in Figure 2-1.
MQTT protocol can provide communication guarantee for a large number of low-power, unreliable Internet of Things devices. It also has great achievements in the field of mobile Internet. Many Android App push functions are implemented based on the MQTT protocol, and some IM implementations are also based on the MQTT protocol.
2.2 MQTT-SN protocol
The MQTT-SN (MQTT for Sensor Network) protocol is the sensor version of the MQTT protocol. Although the MQTT protocol is a lightweight application layer protocol, the MQTT protocol runs on the TCP protocol stack. The TCP protocol is not suitable for some devices with very limited computing power and power, such as sensors.
MQTT-SN runs on UDP protocol and retains most of the signaling and features of MQTT protocol, such as subscription and publication. MQTT-SN protocol introduces the role of MQTT-SN gateway, which is responsible for converting MQTT-SN protocol into MQTT protocol and communicating with the remote MQTT broker. MQTT-SN protocol supports automatic discovery of gateways. The communication model of MQTT-SN protocol is shown in Figure 2-2.
2.3 CoAP Agreement
CoAP (Constrained Application Protocol) protocol is a protocol that runs on devices with limited resources. CoAP protocol usually runs on UDP protocol.
CoAP protocol is designed to be very compact, and the smallest packet is only 4 bytes. CoAP protocol adopts C/S architecture, and uses request response interaction mode similar to HTTP protocol. The device can be used by coap://192.168.1.150:5683/2ndfloor/temperature URL to identify an entity, and use HTTP like PUT, GET, POST, and DELET request instructions to obtain or modify the status of the entity.
At the same time, CoAP provides an observation mode. The observer can indicate the observed entity object to the CoAP server through the OBSERVE command. When the state of an entity object changes, the observer can receive the latest state of the entity object, similar to the subscription function in the MQTT protocol. The communication model of CoAP protocol is shown in Figure 2-3.
2.4 LwM2M protocol
LwM2M (Lightweight Machine To Machine) protocol is a set of lightweight protocols for the Internet of Things defined by the Open Mobile Alliance (OMA). It uses RESTful interfaces to provide access, management and communication functions of devices, and is also applicable to devices with limited resources. The architecture of the LwM2M protocol is shown in Figure 2-4.
The bottom layer of LwM2M protocol uses CoAP protocol to transmit data and signaling. In the architecture of LwM2M protocol, CoAP protocol can run on UDP or SMS (short message), and secure data transmission is realized through DTLS (Datagram Transport Layer Security).
The LwM2M protocol architecture mainly includes three entities - LwM2M Bootstrap Server, LwM2M Server, and LwM2M Client.
The LwM2M Bootstrap Server is responsible for guiding the LwM2M Client to register and access the LwM2M Server. After that, the LwM2M Server and the LwM2M Client can interact through the interface specified in the protocol.
2.5 HTTP protocol
As we said before, the Internet of Things is also the Internet. HTTP, a protocol widely used in the Internet, can also be applied to the Internet of Things in appropriate environments. On some devices with abundant computing and hardware resources, such as devices running Android operating system, you can use HTTP protocol to upload and download data, just like you are developing mobile applications. The device can also use the WebSocket running on the HTTP protocol to actively receive data from the server.
2.6 LoRaWAN protocol
LoRaWAN protocol is a low-power WAN protocol proposed and promoted by the LoRa Alliance. It is different from several protocols we introduced earlier. MQTT protocol and CoAP protocol all run on the application layer. The underlying layer uses TCP protocol or UDP protocol for data transmission. The entire protocol stack runs on the IP network. The LoRaWAN protocol is the physical layer/data link layer protocol, which solves the problem of how to access the Internet, and does not run on the IP network.
LoRa (Long Range) is a wireless communication technology, which has the characteristics of Long distance and low power consumption. In the above scenario, users can use LoRaWAN technology to network and install modules that support LoRA on engineering equipment. The LoRa relay equipment sends the data to the LoRa gateway with Internet access outside the tunnel. The LoRa gateway encapsulates the data into a data protocol packet (such as MQTT protocol) that can be transmitted through TCP or UDP protocol in the IP network, and then sends it to the data center on the cloud.
2.7 NB IoT protocol
The NB IoT (Narrow Band Internet of Things) protocol is the same as the LoRaWAN protocol, which is used to connect devices to the physical layer/data link layer of the Internet.
Different from LoRA, NB IoT protocol is built and run on the cellular network, consumes low bandwidth, and can be directly deployed to the existing GSM network or LTE network. The device is installed with chips supporting NB IoT and corresponding IoT network cards, and then connected to the NB IoT base station to access the Internet. In addition, the NB IoT protocol does not require the gateway to perform protocol conversion as the LoRaWAN protocol does, and the accessed devices can directly use the IP network for data transmission.
Compared with the traditional base station, the gain of the NB IoT protocol is increased by about 20dB, and it can cover the underground garage, pipeline, basement and other places where the previous signal is difficult to cover.
Knowledge Base Team
Knowledge Base Team
Knowledge Base Team
Knowledge Base Team
Explore More Special Offers
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00