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 == 1.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 == 1.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 == 1.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 == 1.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 [[image:image-20230401114641-3.png]]
114
115
116 **Examples:**
117
118 (1) List the current Bacnet devices:
119
120 (% class="box infomessage" %)
121 (((
122 baccli -l -a
123 )))
124
125 [[image:image-20230401114653-4.png]]
126
127
128 (2) List device information based on device ID:
129
130 (% class="box infomessage" %)
131 (((
132 baccli -l -i id
133 )))
134
135 [[image:image-20230401114706-5.png]]
136
137 (3) List the device details by device ID:
138
139 (% class="box infomessage" %)
140 (((
141 baccli -l -v -i id
142 )))
143
144 (4) Modify the specified attribute value based on the device ID:
145
146 (% class="box infomessage" %)
147 (((
148 baccli -i id -p prop -w value
149 )))
150
151 [[image:image-20230401114720-6.png]]
152
153
154 (5)Check the results using the BACnet tool
155
156 The user can check the data of the device by using the **[[yabe BACnet tool>>https://sourceforge.net/projects/yetanotherbacnetexplorer/]]**
157
158 [[image:image-20230401114729-7.png||height="521" width="1077"]]
159
160
161 = 1.6 Example: How to transfer data to BACnet via LoRaWAN in LPS8v2 =
162
163 LPS8v2 includes a local TTN Server and Node-Red. This example shows how to configure LHT65N to use with the BACnet. This example assumes users already have:
164
165 * LHT65N register on LPS8v2 Built-In TTN server already
166 * The user is able to see the data on the built-in TTN server device page.
167 * The LPS8v2 already has BACnet installed
168
169 Below are the steps to plot the sensor data on LPS8v2 BACnet.
170
171
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0