简介
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:
npm install -g 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