Skip to content
Aidan P edited this page Jul 31, 2023 · 6 revisions

Welcome to the bacnet-server-c wiki!

General use of bacnet-stack

seting the iface and port

Example seting the iface and port

BACNET_IFACE=eth1 BACNET_IP_PORT=47809 ./bin/bacrp 1234 2 0 87   --mac 10.104.0.11:47808

Example using MQTT client

mosquitto_pub -h localhost -t bacnet/cmd/whois -m  "{}"
mosquitto_sub -h localhost -t bacnet/# -d

To get available device

> ./bacwi
;Device   MAC (hex)            SNET  SADR (hex)           APDU
;-------- -------------------- ----- -------------------- ----
  2508    0A:00:00:06:BA:C0    0     00                   1024
;
; Total Devices: 1

To test for a BO

- Read present value
> ./bacrp 2508 4 1 85

- Read priority array
> ./bacrp 2508 4 1 87

- Write a value to @16 of 1
> ./bacwp 2508 4 1 85 16 -1 9 1

- Write a value to @16 of null
> ./bacwp 2508 4 1 85 16 -1 0 0

To test for an AO

- Read present value
> ./bacrp 2508 1 1 85

- Read priority array
> ./bacrp 2508 1 1 87

- Write a value to @16 of 1
> ./bacwp 2508 1 1 85 16 -1 4 1

- Write a value to @16 of null
> ./bacwp 2508 1 1 85 16 -1 0 0

To read device/point info

Point info

- Point Name
> ./bacrp 2508 1 1 77

- Point Discription
> ./bacrp 2508 1 1 28

- Point Units
> ./bacrp 2508 1 1 117

- Point Event State
> ./bacrp 2508 1 1 36

Device info

> ./bacrp 2508 8 2508 77
"nube-io"

> ./bacrp 2508 8 2508 75
(device, 2508)

> ./bacrp 2508 8 2508 112
operational-read-only

> ./bacrp 2508 8 2508 121
"NUBE-IO-IO vendor_name"

> ./bacrp 2508 8 2508 120
1173
get device object list

device id is 1116

/bacrp 1116 8 1116 76 

if you get Segmentation Not Supported then read by the index

aidan@pop-os-ryan:~/code/helpers/bacnet-stack-bacnet-stack-1.0.0/bin$ ./bacrp 1116 8 1116 76 
BACnet Abort: Segmentation Not Supported
aidan@pop-os-ryan:~/code/helpers/bacnet-stack-bacnet-stack-1.0.0/bin$ ./bacrp 1116 8 1116 76 0
80
aidan@pop-os-ryan:~/code/helpers/bacnet-stack-bacnet-stack-1.0.0/bin$ ./bacrp 1116 8 1116 76 1
(device, 1116)
aidan@pop-os-ryan:~/code/helpers/bacnet-stack-bacnet-stack-1.0.0/bin$ ./bacrp 1116 8 1116 76 2
(analog-value, 0)
aidan@pop-os-ryan:~/code/helpers/bacnet-stack-bacnet-stack-1.0.0/bin$ ./bacrp 1116 8 1116 76 3
(analog-value, 1)
aidan@pop-os-ryan:~/code/helpers/bacnet-stack-bacnet-stack-1.0.0/bin$ 

Writing string

Write device name

./bacwp 202 8 202 77 0 -1 7 test2

./bacrp 2508 8 2508 77

Write point name

./bacwp 202 8 202 77 0 -1 7 test2

./bacrp 2508 8 2508 77

Clone this wiki locally