npm 包 homebridge-s7 使用教程

阅读时长 12 分钟读完

简介

npm 是 Node.js 的包管理器,使开发者可以轻松地共享和重复使用代码。而 homebridge-s7 是一个基于 npm 的插件,它将 S7-300/400 PLC 设备中的 I/O 变量导入到 HomeKit 中,方便用户通过 Siri 或 Home app 控制 PLC I/O 变量。

本文将向大家详细介绍如何使用 homebridge-s7,包括安装、配置和示例代码。

依赖

  • Homebridge >= 1.0.0
  • node-snap7 >= 0.9.0
  • node-gyp >= 4.0.0

安装

首先确保已安装好 Homebridge 和 node-snap7,然后可以使用 npm 命令来安装 homebridge-s7:

配置

在 Homebridge 的配置文件 config.json 中添加以下信息:

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

在配置中,accessory 字段要填写 "s7",name 字段为该家庭自动化设备命名,host 字段填写 PLC 的 IP 地址,rack 和 slot 字段分别为 PLC 的机架和插槽号,db 字段为数据块编号。

vars 字段是一个数组,用于列出要将哪些 PLC I/O 变量导入到 HomeKit 中。每个变量由 name、type、offset 和 length 字段组成。name 字段为变量名称,type 字段为变量类型,offset 字段为变量在数据块中的偏移量,length 字段为字符串类型变量的长度。

示例代码

我们可以使用 homebridge-s7 的示例代码来测试是否配置成功。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

将代码添加到 ~/.homebridge/plugins/homebridge-s7/index.js 中,然后重启 homebridge。

总结

本文介绍了 npm 包 homebridge-s7 的使用教程,详细介绍了安装、配置和示例代码,希望能帮助大家在 HomeKit 中控制 PLC 的 I/O 变量。

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

纠错
反馈