介绍
Azure IoT 设备 SDK 实现了一个 Node.js 模块,可以方便地使设备与 IoT Hub 之间的通信变得容易。此 SDK 具有以下功能:
- 简化了与 IoT Hub 之间通信的数据格式。
- 通过提供对所有 IoT Hub 终结点的网络通信,简化了设备的集成。
- 让开发者使用安全的协议(例如 AMQP 或 MQTT),将设备与云连接起来。
- 提供了一个上下文对象(Client)来表示设备的连接,该对象可以使用熟悉的 Node.js 模式来发送、接收和管理云消息。
安装
安装 azure-iot-device 包的最佳方法是使用 npm:
--- ------- ----------------
开始使用
azure-iot-device 模块提供了三个类:Client、Message 和 DeviceMethod。
使用 Client 类
以下是使用 Client 类与 IoT Hub 进行通信的示例代码:
----- - ------ - - ---------------------------- ----- - ---------------- - - --------------------------------------------- ----- ---------------- - ---------------------------------------------------------------------------------------------------- ----- -------- - -------------------------------------------------- ----- ------ - ---------------------------------------------- ----------------- -- - -- ----- - -------------------- --- -------- - - ------------- - ---- - ------------------- ------------ -- ---- --------- ---- ----- ---- - ---------------- ------------ -- --- ----- ------- - --- -------------- ------------------------- ----- -- - -- ----- - -------------------- --- ----- - - ------------- - ---- - ---------------------- ------- - --- -- ------- --------------- -------- -------------------- ----- -- - --------------------- -------- - - --------------------- -------------------- ----- -- - -- ----- - -------------------- --- --------- - - ------------- - ---- - -------------------- ------------ - --- --- -- ----- --- ---------- --------------- - ---
在此示例中,我们首先使用连接字符串和设备 ID 创建了一个 Client 客户端对象。然后,我们打开客户端连接并发送遥测数据(通过 Client.sendEvent 方法)和接收云到设备消息(通过 Client.on 方法)。Client.complete 方法用于确认已接收并成功处理消息。最后,客户端连接被关闭。
使用 Message 类
以下是使用 Message 类将消息发送到 Azure IoT 中心的示例代码:
----- - ------- - - ---------------------------- ----- ---- - ---------------- ------------ -- --- ----- ------- - --- -------------- -- --- ------ ---------- -- ------- ------------------------------------------ -------- -- ---- ------- ------------------------- ----- -- - -- ----- - -------------------- --- ---- -------- - - ------------- - ---- - -------------------- ------- - ---
在此示例中,我们创建一个新的 Message 实例,并向其 data 属性添加一些 JSON 格式的数据。然后,我们使用 message.properties.add 方法添加自定义属性,并将消息发送到 IoT Hub。
使用 DeviceMethod 类
以下是使用 DeviceMethod 类暴露设备方法的示例代码:
----- - ------------ - - ---------------------------- -- ------ ------ ------ ----- -------------------- - --------- --------- -- - --------------------- ------ ------ -------- - - -------------------- -- ------------------- --- ------------- - -------------------- ---- --------- ----- ---------- - - ------- ----- ------ -------- ------------- -- ------------------ ----------- ----- -- - -- ----- - -------------------- ------- --------- - - ------------- - ---- - --------------------- ------- - --- - ---- - -------------------- ------- - - -------------------- ------------------ ----- -- - -- ----- - -------------------- ------- --------- - - ------------- - ---- - --------------------- ------- - --- - -- -- ------ ------ ------ ------ ----- ------------ - --- --------------------- -- --- ------ ------- ----------------------------- ---------------------- -- ---- --- ------ ---------- ------------------------- -- - -- ----- - -------------------- ------- --- ------ ----------- - - ------------- - ---- - ------------------- ------ ------- --- ------------- - ---
在此示例中,我们通过创建一个新的 DeviceMethod 实例并调用其 .on 方法来定义设备方法。然后,我们等待方法调用(使用 DeviceMethod.invoke)并处理请求(通过回调函数处理 request 和 response)。
总结
azure-iot-device 模块使用简单,方便且功能强大,使得使用 IoT 设备与 Azure IoT 中心之间通信变得更加容易。无论您是开发一个小型传感器,还是大型 IoT 系统,都可以使用此学习笔记来开始构建 IoT 应用程序。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/azure-iot-device