10 个稳定版本

4.5.0 2022年11月4日
4.4.0 2022年11月1日
4.3.0 2022年10月31日
3.0.1 2022年10月15日
1.1.0 2021年2月24日

#467硬件支持

Download history 5/week @ 2024-03-09 56/week @ 2024-03-30 13/week @ 2024-04-06

69 每月下载量

MIT 许可证

52KB
703

CLI

此包提供与 Navasota Brewing Company 的酿造硬件交互的 CLI。它是建立在 NavasotaBrewing/brewdrivers 库之上的接口。

此存储库仅包含 CLI 的代码和文档。如果您正在寻找 BCS 的其他部分或硬件信息,请参阅 组织文档

技术上,这并不是命令行界面 (CLI),而是一个终端用户界面 (TUI),但我很久以前就给它命名为 CLI,我不想再更改名称。

安装

注意:如果您使用构建脚本来自动构建 RTU,则应该已经为您安装了它。通过运行 NBC_cli 进行检查。


使用 cargo 安装

$ cargo install NBC_cli     # Install
$ NBC_cli                   # Start

或者,您可以克隆此存储库,并使用 cargo run --release 从源代码构建。

使用方法

配置文件

在开始之前,您应该确保您有一个 RTU 的配置文件。请参阅 此文档页面 以了解如何编写配置文件。

注意:在启动 CLI 时将验证配置文件。如果存在任何错误,CLI 不会启动。这是一种检查配置文件中错误的有用方式。


CLI 包含帮助页面和命令列表。您可以通过以下方式访问它们

🍺 ==> help         # see the help page
🍺 ==> commands     # see the command tables
🍺 ==> devices      # see the list of connected devices

以下列出相同的命令表供参考

命令表

╔══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║                                               General Commands                                               ║
╠═════════════════════════════╦════════════════════════════════════════════════════════════════════════════════╣
║           Command           ║                                      Help                                      ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ help                        ║ displays help information.                                                     ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ quit                        ║ quits the shell                                                                ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ exit                        ║ exits the shell                                                                ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ commands                    ║ lists the commands page (this page)                                            ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ devices                     ║ list all configured devices                                                    ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ time                        ║ prints the current time                                                        ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ dashboard                   ║ view a dashboard of all device states                                          ║
╠═════════════════════════════╩════════════════════════════════════════════════════════════════════════════════╣
║                                              Waveshare Commands                                              ║
╠═════════════════════════════╦════════════════════════════════════════════════════════════════════════════════╣
║           Command           ║                                      Help                                      ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID]                   ║ Gets a relay status                                                            ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] list_all          ║ Lists states of this and all the neighboring relays on this controller         ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] [On|Off]          ║ Turns a relay on or off                                                        ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] set_all [On|Off]  ║ Sets this and all the neighboring relays on this controller                    ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] get_cn            ║ Attempts to find the controller number the board is set to. The configured con ║
║                             ║ troller number (from the conf file) doesn't matter                             ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] set_cn [0-254]    ║ Sets a new controller number for this controller. You'll need to update your r ║
║                             ║ tu_conf.yaml file. Don't forget the controller number                          ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] software_revision ║ Lists the software revision currently on the board                             ║
╠═════════════════════════════╩════════════════════════════════════════════════════════════════════════════════╣
║                                                 STR1 Commands                                                ║
╠═════════════════════════════╦════════════════════════════════════════════════════════════════════════════════╣
║           Command           ║                                      Help                                      ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID]                   ║ Gets a relay status                                                            ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] list_all          ║ Lists states of all the neighboring relays on this controller                  ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] [On|Off]          ║ Turns a relay on or off                                                        ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [relayID] set_cn [0-254]    ║ Sets a new controller number for this controller. You'll need to update your r ║
║                             ║ tu_conf.yaml file. Don't forget the controller number                          ║
╠═════════════════════════════╩════════════════════════════════════════════════════════════════════════════════╣
║                                                CN7500 Commands                                               ║
╠═════════════════════════════╦════════════════════════════════════════════════════════════════════════════════╣
║       CN7500 Commands       ║                                      Help                                      ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID]                  ║ Gets the PV, SV, and status of the relay                                       ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] pv               ║ Gets the Process Value (actual)                                                ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] sv               ║ Gets the Setpoint Value (target)                                               ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] set [#.#]        ║ Sets the SV. Use a decimal number                                              ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] is_running       ║ Returns the status of the relay                                                ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] run              ║ Turns the relay on                                                             ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] stop             ║ Turns the relay off                                                            ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] degrees [F|C]    ║ Sets degree units to F or C                                                    ║
╠═════════════════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ [deviceID] watch            ║ Prints the PV and SV every few seconds until you quit                          ║
╚═════════════════════════════╩════════════════════════════════════════════════════════════════════════════════╝

依赖项

~14–26MB
~370K SLoC