Azure IoTHub 是微软提供的一款可实现物联网场景下设备和云端通信的服务。npm 包 azure-iothub 提供了一组 Node.js API,使得开发者可以在 Node.js 环境下与 Azure IoTHub 进行交互。本篇文章将详细介绍如何使用 npm 包 azure-iothub。
环境要求
在开始使用 azure-iothub 进行开发之前,需要满足以下条件:
- 已有 Azure 帐户,且订阅了 IoTHub 服务
- 已安装 Node.js 12.0 及以上版本
- 已新建了一个 IoTHub
安装
在命令行中,进入项目所在的根目录,打开终端并执行以下命令:
--- ------- ------------ ------
安装成功后,即可开始使用 azure-iothub 进行开发。
配置
在项目中,需要先进行一些配置,才能与 IoTHub 服务进行交互。配置主要包括以下几方面内容:
- IoTHub 服务信息
- 设备(Device)信息
IoTHub 服务信息配置
在 IoTHub 服务中,需要为该服务分配一个连接字符串(Connection String),该字符串含有与该服务通讯所需的必要信息。
在 Azure 门户中,进入已创建的 IoTHub 服务,点击左侧菜单栏中“共享访问策略”。
再点击“iothubowner”访问策略,会出现该访问策略的详细信息。其中就包括该访问策略的连接字符串。
将该字符串复制下来,作为后续开发的 IoTHub 服务的连接字符串。
设备信息配置
在与 IoTHub 服务进行通讯时,需要对设备进行认证。对于开发者而言,在 Node.js 中,可以使用 azure-iothub 中的 Device 模块,用于实例化设备对象。在实例化设备对象时,需要提供以下属性:
- id:设备 ID,必填
- connectionString: 服务连接字符串,必填
- hostName:服务地址,选填
示例代码如下:
----- - ------ - - ------------------------ ----- -------- - ----------- ----- ---------------- - ------------------------------------------------------------------------------------------------ ----- ------ - --------------------------------------------- ----------
至此,设备已经被成功实例化。
设备操作
在成功实例化设备对象后,就可以开始对设备进行操作了。
发送消息
使用 azure-iothub 中的 Message 模块,可以实现向 IoTHub 服务发送消息。示例代码如下:
----- - ------- - - ------------------------ ----- --- - --- ------------------------ ------------ -- ---- --------------------- ----- ---- -- - ----------------- --------- ----- ------------------- --------------------- ---- -------- ---------------------------- ---
上述代码用于将一个 JSON 格式数据进行封装,并发送给 IoTHub 服务。发送完成后,会输出发送的内容,以及服务的响应消息。需要注意的是,这里使用的是 sendEvent 方法将消息发送出去。
接收消息
类似的,也可以使用 azure-iothub 中的 Receiver 模块,用于接收从设备发送回来的消息。示例代码如下:
----- - ---------------- - - ------------------------ ----- -------- - --- ----------------------------------------- ------------------- ---------------------------- --- -- - --------------------------- ----------------------- --- ---------------------- ----- -- - --------------------- -------- ------------------- ---
以上代码用于订阅名为“messages/events”的事件,来监听与之关联的 IoTHub 上产生的设备消息。当有消息产生时,就会触发回调函数,并打印出该消息。
结论
本篇文章介绍了如何使用 npm 包 azure-iothub,来实现 Node.js 与 Azure IoTHub 的交互。由于篇幅的限制,文章并未对该包提供的许多其他功能进行详细介绍。读者可以通过官方文档,进行更进一步的学习及实践。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedaabdb5cbfe1ea0610579