This is a CAS BACnet Stack Client example written in Rust using the CAS BACnet Stack.
Client expects a device with the following objects:
- Device: 389001 (Red King Device)
- analog_input: 0 (Dungeness AnalogInput)
- characterstring_value: 40 (Coconut CharacterStringValue)
The following keyboard commands can be entered:
- w or W: Send Who-Is messages
- r or R: Send Read Property Multiple
- q or Q: Quit application
- Install Rust and Cargo through the official Rust website: Rust Getting Started. Follow the instructions under “Rustup: the Rust installer and version management tool” and download the executable.
- Follow the instructions for the executable on installation. Upon completion, you may use
cargo --version
to check if Rust and Cargo was installed properly. You will need at least Cargo Version 1.75.0 for this application. - Place
CASBACnetStack_x64_Debug.dll
into the bin folder. If there is no bin folder, create one. - Replace the IP Address of the static socket variable in
main.rs
to your IP Address. - Replace the IP Address of
SETTING_DEFAULT_DOWNSTREAM_DEVICE_IP_ADDRESS
andDOWNSTREAM_CONNECTION_STRING
inmain.rs
with the IP Address of the server device you are sending requests to. - Run
cargo run
in the Command Line to start the application. Make sure you are in the correct directory!
CAS BACnet Stack Version: 4.1.19.2330
Application Version: "0.0.1"
Device added
I Am service enabled
Who Is service enabled
Read Property Multiple service enabled
Entering main loop...
UDP Socket Setup Success
::CASBACnetStack::BACnetDataLinkSC::Loop() in file: C:\dev\gitlab-runner\builds\b1afdc2b\2\chipkin\cas-bacnet-stack\source\BACnetDataLinkSC.cpp(250) - Error: UUID has not been set. A UUID must be set for the BACnetSC device to start