Movatterモバイル変換


[0]ホーム

URL:


Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit editor mode

IoT device development

Feedback

In this article

This overview introduces the key concepts around developing devices that connect to typical Azure IoT solutions. Each section includes links to content that provides further detail and guidance.

In a cloud-based solution, devices connect directly to cloud-based services such as IoT Hub, while in an edge-based solution devices connect to edge-based services in your environment such as Azure IoT Operations.

The following diagram shows a high-level view of the components in a typicaledge-based IoT solution. This article focuses on the devices, assets and connectors shown in the diagram:

Diagram that shows the high-level IoT solution architecture highlighting device connectivity areas.

Assets typically have built-in firmware that implements standard protocols. For example, a robotic arm might be an OPC UA client and a security video camera might implement ONVIF. Azure IoT Operations includes various connectors that can use these protocols to communicate with assets and translate messages from the assets into MQTT messages. Some assets can receive messages enabling you to perform operations on them such as:

  • Pan or tilt a security camera.
  • Change the logging level on a robotic arm.
  • Initiate a firmware update.

You can create your own, custom connectors to connect to assets that use protocols not natively supported by Azure IoT Operations.

Device types

An IoT solution can contain many types ofassets anddevices. You typically find devices in cloud-based solutions and assets in edge-based solutions. It's also possible to have a hybrid solution that contains both devices and assets.

Example assets in an edge-based solution include:

  • Robotic arms, conveyor belts, and elevators.
  • Industrial CNC machines, lathes, saws, and drills.
  • Medical diagnostic imaging machines.
  • Security video cameras.
  • Programmable logic controllers.

These assets typically have built-in firmware that implements standard protocols. For example, a robotic arm might be an OPC UA client and a security video camera might implement the ONVIF protocol. In an edge-based solution, you use specialized connectors to connect to these assets and translate messages from them into a common format.

For assets, there's no direct equivalent to the device developer role. Instead, an operator can configure the connectors to connect to the assets. However, you might need to develop custom connectors to connect to assets that use protocols not natively supported by your edge-based solution.

Modeling and schemas

Device and asset models define the data that devices and assets exchange with the cloud. Models enable a range of low-code or no-code scenarios for integrating your devices and assets with your IoT solution.

In an edge-based solution, an operator configures connectors to connect to assets. This configuration includes a mapping between the asset's data and a cloud schema. For example, the OPC UA connector lets the operator map OPC UA node IDs to data points and events in a JSON message exchanged with the MQTT broker. The following screenshot shows an example in the digital operations experience web UI that defines two such mappings:

Screenshot that shows an example asset definition.

Elsewhere in the solution, an operator can refer directly to theTemperature andTag 10 tags without needing to know the details of the OPC UA node IDs.

Containerization

Containerization is a way to package and run your code in a lightweight, isolated environment. Containers are portable and can run on any platform that supports the container runtime. Containers are a good way to package and deploy your code because they provide a consistent runtime environment for your code. The runtime environment typically includes the services, libraries, and packages that your code needs to run.

Azure IoT Operations containerizes all its connectors, brokers, and other components that run on the edge. Azure IoT Operations deploys to a Kubernetes cluster, which is a container orchestration platform. Deploy any custom connectors or other components that you create to the Kubernetes cluster.

You can view a solution that uses Azure IoT Edge as an edge-based gateway to IoT Hub as a hybrid solution that includes elements of both edge-based and cloud-based solutions.

Device development tools

The following table lists some of the available IoT device development tools:

ToolDescription
Azure IoT Hub (VS Code extension)This VS Code extension lets you manage your IoT Hub resources and devices from within VS Code.
Azure IoT explorerThis cross-platform tool lets you manage your IoT Hub resources and devices from a desktop application.
Azure IoT extension for Azure CLIThis CLI extension includes commands such asaz iot device simulate,az iot device c2d-message, andaz iot hub monitor-events that help you test interactions with devices.

Related content


Feedback

Was this page helpful?

YesNoNo

Need help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?

  • Last updated on

In this article

Was this page helpful?

YesNo
NoNeed help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?