This package provides a CLI for interacting with the Navasota Brewing Company's brewing hardware. It is an interface built over the NavasotaBrewing/brewdrivers library.
This repository only contains code and documentation for the CLI. If you're looking for another part of the BCS or for hardware information, look at the organization docs.
Technically, this isn't a command line interface (CLI), it's a terminal user interface (TUI) but I named it CLI a long time ago and I don't want to rename it.
note: if you use the build scripts to build an RTU automatically, this should be installed for you. Check by running NBC_cli
.
Install with cargo
$ cargo install NBC_cli # Install
$ NBC_cli # Start
Alternatively, you can clone this repository and build from source with cargo run --release
.
Before starting, you should be sure you have a configuration file for the RTU. See this documentation page on writing a configuration file.
Note: the configuration file will be validated when launching the CLI. If there are any errors, the CLI won't start up. This is a useful way to check your configuration file for errors.
The CLI contains help pages and command lists. You can access them like this:
πΊ ==> help # see the help page
πΊ ==> commands # see the command tables
πΊ ==> devices # see the list of connected devices
For reference, the same command tables are listed below
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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 β
βββββββββββββββββββββββββββββββ©βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ