Show last authors
1 **Table of Contents:**
2
3 {{toc/}}
4
5
6 = 1. BACnet =
7
8 == 1.1  Introduction ==
9
10 === 1.1.1 What is BACnet ===
11
12
13 BACnet, short for Building Automation and Control networks.
14
15 The BACnet communication protocol defines a number of services for communication between devices, and services can be divided into five categories: services related to device object management including Who-Is, I-Am, Who-Has, and other services, services related to object access including reading attributes, writing attributes and other services, and services related to alarms and events include acknowledgment alarms, change of state reports, etc. In addition, there are services related to file reading and writing and virtual terminals.
16
17
18 === 1.1.2 List supported products and requirements ===
19
20
21 Gateway model: LPS8v2,LG01v2,MS20
22
23
24 == 2. Download and Install the BACnet ==
25
26
27 (% class="box infomessage" %)
28 (((
29 wget [[http:~~/~~/dragino.vicp.io:6080/bacnet/dragino-bacnet-apps-hp0c-2023-03-01.deb>>url:http://dragino.vicp.io:6080/bacnet/dragino-bacnet-apps-hp0c-2023-03-01.deb]]
30 dpkg -i dragino-bacnet-apps-hp0c-2023-03-01.deb
31 )))
32
33 [[image:image-20230401114036-1.png]]
34
35
36 === 3. Configure BACnet ===
37
38 After BACnet is installed, run commands to modify BACnet configurations
39
40 **Note: device_port and bacnet_ip_port are not set to the same**
41
42 (% class="box infomessage" %)
43 (((
44 nano /etc/config/bacnet
45 )))
46
47 **Examples:**
48
49 (% class="box infomessage" %)
50 (((
51 config settings 'general'
52 option bacnet_ip '10.130.2.80'  #The IP address of the BACnetIP network, here basically the same IP as the bbmd address below
53 option bacnet_ip_port '47808'  #As with bbmd_port, the purpose of this is to register a Bacnet Server application as a bbmd registration server
54 option bbmd_address '10.130.2.80'  #bbmd is the BACnet registration server. Only one bbmd server is required in the same ip network
55 option bbmd_port '47808'  #In general, 47808 is used as the default port
56 option bacnet_dev_count '2'  #Here is the number of BACnet devices that need to be simulated, if the number is 2, then the following settings must have 2, which are bacdev_1, bacdev_2
57 )))
58
59 (% class="box infomessage" %)
60 (((
61 config settings 'bacdev_1'
62 option device_name 'LHT65N-1'  #The identification name of the bacnet device
63 option device_id '10001'  #The unique identification code in the same network segment of BACnet,Scope is(1 - 4194302)
64 option device_port '47912'  #The IP port occupied by Bacnet when it starts, Scope is (1024 - 65535)
65 )))
66
67 (% class="box infomessage" %)
68 (((
69 config settings 'bacdev_2'
70 option device_name 'LHT65N-2'
71 option device_id '10002'
72 option device_port '47913'  
73 )))
74
75 === 4. Run BACnet ===
76
77 After the configuration is complete, run the following command to start BACnet, The following are two ways to run BACnet:
78
79 (1) With /etc/config/bacnet configuration, and to run the registration server on the current machine, start it with the following command (configure the /etc/config/bacnet file correctly):
80
81 (% class="box infomessage" %)
82 (((
83 bacserver -c -s
84 )))
85
86 (2) Without /etc/config/bacnet, and to run the registration server on the current machine, start it with the following command:
87
88 (% class="box infomessage" %)
89 (((
90 bacserver -s -a 10.130.2.80 -p 47808
91 )))
92
93 This command simulates two devices, with device IDs 47910 and 47911
94
95 Enter bacserver -h to output help
96
97 (% class="box infomessage" %)
98 (((
99 bacserver -h
100 )))
101
102 [[image:image-20230401114458-2.png]]
103
104 === 5. Read devices and modify devices ===
105
106 Enter baccli -h to output help
107
108 (% class="box infomessage" %)
109 (((
110 baccli -h
111 )))
112
113
114 [[image:image-20230401114641-3.png]]
115
116 **Examples:**
117
118 (1) List the current Bacnet devices:
119
120 (% class="box infomessage" %)
121 (((
122 baccli -l -a
123 )))
124
125
126 [[image:image-20230401114653-4.png]]
127
128 (2) List device information based on device ID:
129
130 (% class="box infomessage" %)
131 (((
132 baccli -l -i id
133 )))
134
135
136 [[image:image-20230401114706-5.png]]
137
138 (3) List the device details by device ID:
139
140 (% class="box infomessage" %)
141 (((
142 baccli -l -v -i id
143 )))
144
145 (4) Modify the specified attribute value based on the device ID:
146
147 (% class="box infomessage" %)
148 (((
149 baccli -i id -p prop -w value
150 )))
151
152
153 [[image:image-20230401114720-6.png]]
154
155 The user can check the data of the device by using the **[[yabe BACnet tool>>https://sourceforge.net/projects/yetanotherbacnetexplorer/]]**
156
157 [[image:image-20230401114729-7.png||height="521" width="1077"]]
158
159
160
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0