npm 包 meshblu-connector-arduino 使用教程

阅读时长 8 分钟读完

介绍

随着物联网技术的发展,越来越多的硬件设备被连接到互联网。meshblu-connector-arduino 是一款 npm 包,它提供了物联网设备与 meshblu 云服务进行连接的功能,支持 Arduino 设备。这篇文章将逐步介绍如何使用 meshblu-connector-arduino 包进行物联网设备连接。

安装

在启动 meshblu-connector-arduino 之前,我们需要先安装一些必要的软件及硬件:

  1. 安装 Node.js,确保版本号大于 6。这个软件包含了 npm,可以方便地安装和管理 meshblu-connector-arduino。
  2. 安装 Arduino IDE,这是 Arduino 开发环境,可用来编写和上传代码到 Arduino 物联网设备上。
  3. 连接 Arduino 设备到计算机,确保计算机可以识别设备。

接下来,我们打开命令行工具,输入以下命令开始安装 meshblu-connector-arduino:

开始使用

准备硬件

在连接设备到互联网之前,我们需要先准备好设备硬件及网络连接。在这个例子中,我们使用 ESP8266 Wi-Fi 模块连接到 meshblu 服务,这个模块可以通过串口通讯连接到 Arduino 上。

第一步是设置 ESP8266 Wi-Fi 模块的 Wi-Fi 信息,可在 Arduino IDE 中上传以下程序:

-- -------------------- ---- -------
-------- ------------------

-------------- ------------ ---

---- ------- -
  ---------------------
  ------------------------
  ------------

  ----------------------------
  ------------

  ---------------------------------
  -----------

  ------ ---- - --------------------
  ------ --- - ------------------------

  ------ ------- - --------------------- - ---- - ------- - --- - -----

  ---------------------------
  -------------

  ------------------------------
-
---- ------ --

这个程序读入了 Wi-Fi 网络的信息,包括 WiFi 名称和密码,并把信息发送给 ESP8266 Wi-Fi 模块。ESP8266 Wi-Fi 模块会连接到指定的 Wi-Fi 网络。

安装好硬件后,我们开始准备上传代码到 Arduino 上。

上传代码

首先,我们需要在 Arduino IDE 中打开一个新的项目。在打开窗口中,我们可以对项目名和路径进行编辑,也可以选择存放位置。在打开项目后,我们需要输入以下信息为新的项目创建 Sketch:

-- -------------------- ---- -------
-------- -------
-------- --------
-------- ---------------
-------- --------------------

---------------- ----------------- ---------- ------------

---- ------- -
   -------------------
   ----- --------- --

   -------------------- --------------
   ----- -------------- -- ------------- -
     ------------
     -------------------------- -- ----------
   -

   ---------------
   --------------------------------
   --------------------------
-

---- ------ -
   -----------------
-

---- ------------------------ ---- -
-

---- --------- -
   ----------- ---- - ------------------------------
   ----------- - ------ ---- ---------------------------

   --------------------------
-

注意,[server][uuid][token][ssid][password] 都需要被替换为自己的配置,可以通过 meshblu 云服务的后台控制台获得。

我们提供了三个函数:

  1. onAssemble,当有来自云平台的自定义消息时会被调用。
  2. onReady,在成功连接到 meshblu 后调用,这表明设备已经准备好通信了。
  3. loop,这个函数包含了大多数的设备逻辑。它将不断调用 meshblu.update() 方法,以保持设备与云服务的通信连接。

最后,我们使用命令行上传 Sketch 到 Arduino:

其中,--fqbn 指定了硬件的类型,/dev/ttyACM0 是连接到计算机的串行地址。Sketch 应该可以编译和上传到设备上。

远程控制和数据订阅

现在我们已经把设备连接到了 meshblu 弹性消息总线上,可以通过其他设备或在线控制台远程控制设备或订阅它的数据。在这个例子中,我们将使用物联网控制台的演示版,它包括一个网页控制器和全局性命令行窗口。

从下面的代码字符串中复制 UUID,此 UUID 在代码中输入到 meshblu 实例。ID 将保留一段时间,以便可以使用控制台将消息发送到设备。

-- -------------------- ---- -------
------------------------- ------------ --------------- --------
   ----------------------- ------ ---- ------- -------------

   -----------------
      ---------- ----
      ---------- -
         ---------- --------------
         ----------- ----
      -
   ---
---

在 meshblu 控制台中,创建一个新的配对(Pairing),并添加该配对的 UUID 到库存存储库(Inventory Archive)中。在 meshblu-connector-arduino 代码中添加 meshblu.onMessage(&onMessage);,其中 onMessage 函数将会在 Meshblu 实例接收到消息时被调用,它可以用来控制设备。

-- -------------------- ---- -------
---- --------------- ---- - --------- ----- ---- - -------- ----- ---- - --------------- -
    ------------------- ----------
    -------------------- ---------

    ----- ----- --- - -----------

    -- ------------ ----- -- -- -
        ------------------------- ------
    - ---- -- ------------ ------ -- -- -
        ------------------------- -----
    -
-

修改 onReady 函数,以添加 meshblu 实例的订阅程序:

更新文件并上传插件到设备后,在控制台中使用“LED”和“on”和“off”命令,以测试控制设备的远程命令。

结论

通过学习本文,您已经了解了如何准备硬件并如何使用 meshblu-connector-arduino npm 包来控制 IoT 设备。您现在可以远程控制设备或订阅其数据。如果您更深入地阅读 meshblu-connector-arduino 的文档,您可以发现更多细节,并在更广泛的物联网项目中获得更多好处。此外,您可以自己尝试使用mqtt库或node-serialport包直接与Arduino通信以连接IoT设备。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f401d8e776d08040c76

纠错
反馈