Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20250212172902-1.png]]
3
4
5
6
7
8 **Table of Contents:**
9
10 {{toc/}}
11
12
13
14
15
16
17 = 1. Introduction =
18
19 == 1.1 What is BH01 Bluetooth to LoRaWAN Hub ==
20
21
22 (% style="color:blue" %)**BH01-LB**(%%) Bluetooth to LoRaWAN Hub is an edge communication node device designed for IoT scenarios. It uses the BLE Bluetooth module to scan and collect data from surrounding Bluetooth temperature and humidity sensors (such as BCN02, iBeacon beacons) in real time, and then transmits the data to the cloud platform over long distances using the LoRaWAN protocol, achieving seamless connection between Bluetooth devices and low-power wide area networks. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mAh Li/SOCl2 battery**(%%)  for long term use.BH01-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into apractical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
23
24 (% style="color:blue" %)**BH01-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It is suitable for cold chain warehouse monitoring, smart agricultural environment monitoring, asset tracking and urban infrastructure health management. It combines the flexibility of Bluetooth and the wide coverage of LoRaWAN, which can significantly reduce the deployment cost of the Internet of Things.
25
26 BH01-LB has a (% style="color:blue" %)**built-in BLE module**(%%), user can configure the sensor remotely via Mobile Phone. It also support (% style="color:blue" %)**OTA upgrade**(%%) via private LoRa protocol for easy maintaining.
27
28
29 == 1.2 ​Features ==
30
31
32 * LoRaWAN 1.0.3 Class A
33 * Ultra-low power consumption
34 * Open-Source hardware/software
35 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
36 * Support Bluetooth v5.1 and LoRaWAN remote configure
37 * Support wireless OTA update firmware
38 * Uplink on periodically
39 * Downlink to change configure
40 * 8500mAh Li/SOCl2 Battery
41
42 == 1.3 Specification ==
43
44
45 (% style="color:#037691" %)**Common DC Characteristics:**
46
47 * Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v
48 * Operating Temperature: -40 ~~ 85°C
49
50 (% style="color:#037691" %)**LoRa Spec:**
51
52 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
53 * Max +22 dBm constant RF output vs.
54 * RX sensitivity: down to -139 dBm.
55 * Excellent blocking immunity
56
57 (% style="color:#037691" %)**Battery:**
58
59 * Li/SOCI2 un-chargeable battery
60 * Capacity: 8500mAh
61 * Self-Discharge: <1% / Year @ 25°C
62 * Max continuously current: 130mA
63 * Max boost current: 2A, 1 second
64
65 (% style="color:#037691" %)**Power Consumption**
66
67 * Sleep Mode: 5uA @ 3.3v
68 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
69
70 == 1.4 Sleep mode and working mode ==
71
72
73 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
74
75 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
76
77
78 == 1.5 Button & LEDs ==
79
80
81 [[image:image-20250213090333-1.png]]
82
83 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
84 |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action**
85 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
86 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
87 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
88 )))
89 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
90 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
91 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
92 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
93 )))
94 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode.
95
96 == 1.6 BLE connection ==
97
98
99 BH01-LB supports BLE remote configure.
100
101
102 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
103
104 * Press button to send an uplink
105 * Press button to active device.
106 * Device Power on or reset.
107
108 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
109
110
111 == 1.7 Interface Definitions ==
112
113
114 [[image:image-20250319172151-2.png||height="433" width="660"]]
115
116
117 == 1.8 Mechanical ==
118
119
120 [[image:image-20240924112806-1.png||height="548" width="894"]]
121
122
123 == 1.9 Hole Option ==
124
125
126 BH01-LB has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
127
128 [[image:image-20250220091807-8.jpeg]]
129
130 [[image:image-20250220091842-9.jpeg]]
131
132
133 = 2. Configure BH01-LB to connect to LoRaWAN network =
134
135 == 2.1 How it works ==
136
137
138 BH01-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the BH01-LB.It will automatically join the network via OTAA and start scanning nearby Bluetooth devices, sending the scanned device information to the network.The default uplink interval is 20 minutes.
139
140
141 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
142
143
144 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
145
146 The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
147
148
149 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from BH01-LB.
150
151 Each BH01-LB is shipped with a sticker with the default device EUI as below:
152
153 [[image:image-20250220090645-2.jpeg]]
154
155
156 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
157
158
159 (% style="color:blue" %)**Register the device**
160
161 [[image:image-20250220091317-4.jpeg]]
162
163
164 (% style="color:blue" %)**Add APP EUI and DEV EUI**
165
166 [[image:image-20250220091349-5.jpeg]]
167
168
169 (% style="color:blue" %)**Add APP EUI in the application**
170
171 [[image:image-20250220091430-6.jpeg]]
172
173
174 (% style="color:blue" %)**Add APP KEY**
175
176 [[image:image-20250220091453-7.jpeg]]
177
178 (% style="color:blue" %)**Step 2:**(%%) Activate BH01-LB
179
180 Press the button for 5 seconds to activate the BH01-LB.
181
182 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
183
184 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
185
186
187 == 2.3 ​Uplink Payload ==
188
189 === 2.3.1 Device Status, FPORT~=5 ===
190
191
192 Users can use the downlink command(**0x26 01**) to ask BH01-LB to send device configure detail, include device configure status. BH01-LB will uplink a payload via FPort=5 to server.
193
194 The Payload format is as below.
195
196 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
197 |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
198 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
199 |(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
200
201 Example parse in TTNv3
202
203
204 (% style="color:#037691" %)**Sensor Model**(%%): For BH01-LB, this value is 0x44
205
206 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
207
208 (% style="color:#037691" %)**Frequency Band**:
209
210 0x01: EU868
211
212 0x02: US915
213
214 0x03: IN865
215
216 0x04: AU915
217
218 0x05: KZ865
219
220 0x06: RU864
221
222 0x07: AS923
223
224 0x08: AS923-1
225
226 0x09: AS923-2
227
228 0x0a: AS923-3
229
230 0x0b: CN470
231
232 0x0c: EU433
233
234 0x0d: KR920
235
236 0x0e: MA869
237
238
239 (% style="color:#037691" %)**Sub-Band**:
240
241 AU915 and US915:value 0x00 ~~ 0x08
242
243 CN470: value 0x0B ~~ 0x0C
244
245 Other Bands: Always 0x00
246
247
248 (% style="color:#037691" %)**Battery Info**:
249
250 Check the battery voltage.
251
252 Ex1: 0x0B45 = 2885mV
253
254 Ex2: 0x0B49 = 2889mV
255
256
257 === 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
258
259
260 BH01-LB has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command:
261
262 AT+MODEL=abcdefgh to set BH01-LB to different working modes.
263
264 For example:
265
266 (% style="color:blue" %)**AT+MODEL=**(% style="color:red" %)**03**(% style="color:#de9963" %)**05**(% style="color:#debd63" %)**00**(% style="color:#b0de63" %)**19**(% style="color:#63de69" %)**0b**(% style="color:#63d0de" %)**00**(% style="color:#6395de" %)**04**(% style="color:#b663de" %)**ff4c000215011223344556**(%%) (turn on scanning Bluetooth ibeacon beacons)
267
268 Parameter (% style="color:red" %)**a = 0x03:**(%%) Set the scanning mode to Bluetooth ibeacon beacons.
269
270 Parameter (% style="color:#de9963" %)**b = 0x05:**(%%) Set the intercepted data length to 5.
271
272 Parameter (% style="color:#debd63" %)**c = 0x00:**(%%) Set the intercepted data position to the broadcast packet.
273
274 Parameter (% style="color:#b0de63" %)**d = 0x19:**(%%) Set the intercepted data starting position 25.
275
276 Parameter (% style="color:#63de69" %)**e = 0x0b:**(%%) Set the filter data length to 11.
277
278 Parameter (% style="color:#63d0de" %)**f = 0x00:**(%%) Set the filter data position to the scan reply response packet.
279
280 Parameter (% style="color:#6395de" %)**g = 0x04:**(%%) Set the filter data starting position 4.
281
282 Parameter (% style="color:#b663de" %)**h = 0xff4c000215011223344556:**(%%) Set the filter data to 0xff4c000215011223344556 (0xff is AD Type).
283
284
285 ==== 2.3.2.1 Parameter Description ====
286
287 ===== 2.3.2.1.1 Parameter a: type mode =====
288
289 Modes 4 to 16 (a = 0x04 to 0x16) are user-defined scanning device modes based on the sensor used.
290
291 ====== (% style="color:blue" %)**Mode 1 (a ~= 0x01): Bluetooth Temperature Tag (TAH02) mode**(%%) ======
292
293 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
294 |(% style="background-color:#4f81bd; color:white; width:170px" %)**Mac address (6 bytes)**|(% style="background-color:#4f81bd; color:white; width:170px" %)**0xEE 3B 14 28 32 D1**|(% style="background-color:#4f81bd; color:white; width:170px" %)/
295 |(% style="width:207px" %)Sensor type (1 byte)|(% style="width:179px" %)0x03|(% style="width:250px" %)Temperature sensor
296 |(% style="width:207px" %)Sensor data length (1 byte)|(% style="width:179px" %)0x04|(% style="width:250px" %)Data length
297 |(% style="width:207px" %)Temperature (2 bytes)|(% style="width:179px" %)0x2701|(% style="width:250px" %)Temperature: 29.5℃
298 |(% style="width:207px" %)Battery (1 byte)|(% style="width:179px" %)0x64|(% style="width:250px" %)Battery: 100%
299 |(% style="width:207px" %)RSSI (1 byte)|(% style="width:179px" %)0xC3|(% style="width:250px" %)1 meter output power: -61db
300
301 **AT+MODEL=0104:** Start scanning Bluetooth temperature tag (TAH02)mode.
302
303 **AT+MODEL=0100**: Turn off scanning for Bluetooth temperature tags (TAH02)mode.
304
305
306 ====== (% style="color:blue" %)**Mode 2 (a ~= 0x02): Bluetooth temperature and humidity (ES01) mode**(%%) ======
307
308 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
309 |(% style="background-color:#4f81bd; color:white; width:170px" %)**Mac address (6 bytes)**|(% style="background-color:#4f81bd; color:white; width:170px" %)**0xEE 3B 14 28 32 D1**|(% style="background-color:#4f81bd; color:white; width:170px" %)/
310 |(% style="width:207px" %)Sensor type (1 byte)|(% style="width:179px" %)0x03|(% style="width:250px" %)Temperature and humidity sensor
311 |(% style="width:207px" %)Sensor data length (1 byte)|(% style="width:179px" %)0x05|(% style="width:250px" %)Data length
312 |(% style="width:207px" %)Humidity (1 byte)|(% style="width:179px" %)0x4C|(% style="width:250px" %)THumidity: 76%
313 |(% style="width:207px" %)Temperature (2 bytes)|(% style="width:179px" %)0x2701|(% style="width:250px" %)Temperature: 29.5℃
314 |(% style="width:207px" %)Battery (1 byte)|(% style="width:179px" %)0x64|(% style="width:250px" %)Battery: 100%
315 |(% style="width:207px" %)RSSI (1 byte)|(% style="width:179px" %)0xC3|(% style="width:250px" %)1 meter output power: -61db
316
317 **AT+MODEL=0205**: Enable Bluetooth temperature and humidity scanning (ES01)mode.
318
319 **AT+MODEL=0200**: Disable Bluetooth temperature and humidity scanning (ES01)mode.
320
321
322 ====== (% style="color:blue" %)**Mode 3 (a ~= 0x03): Bluetooth ibeacon mode**(%%) ======
323
324 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
325 |(% style="background-color:#4f81bd; color:white; width:170px" %)**Mac address (6 bytes)**|(% style="background-color:#4f81bd; color:white; width:170px" %)**0xEE 3B 14 28 32 D1**|(% style="background-color:#4f81bd; color:white; width:170px" %)/
326 |(% style="width:207px" %)Sensor type (1 byte)|(% style="width:179px" %)(((
327 0x01
328 )))|(% style="width:330px" %)ibeacon beacon
329 |(% style="width:207px" %)Sensor data length (1 byte)|(% style="width:179px" %)0x06|(% style="width:330px" %)Data length
330 |(% style="width:207px" %)Major (2byte)|(% style="width:179px" %)0x1122|(% style="width:330px" %)/
331 |(% style="width:207px" %)Minor (2byte)|(% style="width:179px" %)0x004c|(% style="width:330px" %)/
332 |(% style="width:207px" %)Measured Power(1byte)|(% style="width:179px" %)0x64|(% style="width:330px" %)Measured Bluetooth transmission power
333 |(% style="width:207px" %)RSSI (1 byte)|(% style="width:179px" %)0xC3|(% style="width:330px" %)1 meter output power: -61db
334
335 **AT+MODEL=030500190b0004ff4c000215011223344556**: Enable the Bluetooth ibeacon beacon scanning mode.
336
337 **AT+MODEL=0300**: Disable the Bluetooth ibeacon beacon scanning mode.
338
339
340 ====== (% style="color:blue" %)**Mode 4 to 16(a ~= 0x04 to 0x16: user-defined scanning device mode**(%%) ======
341
342
343 (% style="color:red" %)**Note: Different scanning modes can work at the same time.**
344
345 If the user needs to scan Bluetooth temperature and humidity (ES01) and Bluetooth Temperature Tag (TAH02) at the same time, then just input the following continuously:
346
347 **AT+MODEL=0104**
348
349 **AT+MODEL=0205**
350
351
352 ===== 2.3.2.1.2 Parameter b: The effective data length of the interception =====
353
354 b equals 0: indicates that the scanning of the corresponding modes 1 to 16 is canceled.
355
356 b is not equal to 0: set the b parameter according to the valid data intercepted by the sensor time.
357
358 For example,
359
360 in mode 1 (a = 0x01), the default parameter b is 4.
361
362 In mode 2 (a = 0x02), the default parameter b is 5.
363
364 (% style="color:red" %)**When it is mode 1 and 2, scanning can be performed after setting the b parameter; the subsequent parameter cdefgh does not need to be set.Mode 1 (a = 0x01): Bluetooth Temperature Tag (TAH02)**
365
366 In other modes,users need to set the following cdefgh parameters to enable this mode.
367
368
369 ===== 2.3.2.1.3 Parameter c: intercepted valid data position =====
370
371 c = 0x00: in the broadcast packet
372
373 c = 0x01: in the scan reply packet.
374
375 **Note: Generally:**
376
377 scan data includes two types: broadcast packets (31 bytes) and scan response packets (31 bytes). There is at least one type of broadcast packet. You can use a mobile phone to scan and obtain the complete scan data.
378
379 [[image:image-20250314140143-1.png||height="291" width="584"]]
380
381 Both the broadcast packet and the scan reply packet are composed of several unit data; the unit data format is length+AD Type+AD Data.
382
383
384 ===== 2.3.2.1.4 Parameter d: The starting position of the intercepted valid data =====
385
386 The starting position starts from 0.
387
388 The broadcast packet and the scan reply packet are two different packets, and the interception should start from 0.
389
390 The maximum is no more than 30.
391
392
393 ===== 2.3.2.1.5 Parameter e: scan and filter data length =====
394
395 The maximum value is 31.
396
397
398 ===== 2.3.2.1.6 Parameter f: Scan filtered data location =====
399
400 f = 0x00: The data location of the scan filter is in the broadcast packet
401
402 f = 0x01: The data location of the scan filter is in the scan reply packet
403
404
405 ===== 2.3.2.1.7 Parameter g: the starting position of the scanned filtered data =====
406
407 The starting position starts from 0.
408
409 The broadcast packet and the scan reply packet are two different packets, and the filtering data should start from 0.
410
411 The maximum is no more than 30.
412
413
414 ===== 2.3.2.1.8 Parameter h: scan filtered data =====
415
416 It is recommended to use data with UUID and Bluetooth names to filter out unnecessary scan data.
417
418 Generally, the more scan filter data there is, the less interference can be filtered.
419
420 The data from the starting position 0 to the data including the UUID or Bluetooth name part can be used as filter data.
421
422
423 (% class="wikigeneratedid" id="H-1" %)
424 (((
425 (% style="color:blue" %)**If the user needs to customize, please refer to the following example:**
426
427 Manufacturers are required to provide Raw data, scanned broadcast packet data, scanned response packet data, valid data, and filtered data.
428
429 For example:  **AD Type** Reference Table:
430
431 [[image:image-20250314113453-3.png||height="601" width="484"]](% id="cke_bm_11395S" style="display:none" %) [[image:image-20250213114648-5.png||height="441" width="459"]](%%) [[image:image-20250314113308-2.png||height="598" width="588"]]
432
433 Assume that the **valid data** is (% style="color:blue" %)**AD E8 F3 D4 B8 84 94 A0 AA F5 E2 0F 23 15 5A 95**
434
435 Assume the **filtered data** is (% style="color:blue" %)**1A FF 4C 00 02 15 01 12 23 34 45 56 67 78 89 9A AB BC CD DE EF F0 27 17 70 73 C3 **
436
437
438 // //** Raw data analysis:**
439
440 (% style="color:blue" %)**0×02 01 06 **
441
442 **Length** = 0x02  **AD Type** = 0x01                  
443
444 **AD** **Data** = 0x06
445
446
447 (% style="color:blue" %)**1A FF 4C 00 02 15 01 12 23 34 45 56 67 78 89 9A AB BC CD DE EF F0 27 17 70 73 C3 **
448
449 **Length** = 0x1A(26)  **AD Type **= 0xFF(This is a custom data type for Bluetooth manufacturers)
450
451 **Data** =0x4C0002150112233445566778899AABBCCDDEEFF027177073C3
452
453
454 (% style="color:blue" %)**11 07 AD E8 F3 D4 B8 84 94 A0 AA F5 E2 0F 23 15 5A 95**
455
456 **Length** = 0x11(17)  **AD Type** = 0x07 (UUID)
457
458 **AD** **Data** = 0xADE8F3D4B88494A0AAF5E20F23155A95
459
460
461 (% style="color:blue" %)**0C 08 45 57 38 30 45 43 43 43 43 46 00**
462
463 **Length** = 0x0C(12)  **AD Type** = 0x08 (Bluetooth Name)
464
465 **AD** **Data** = 0x4557383045434343434600
466
467
468 **Analyze valid data:**
469
470 (% style="color:blue" %)**AD E8 F3 D4 B8 84 94 A0 AA F5 E2 0F 23 15 5A 95**
471
472 **Valid data length = **0x10 (16)  ➡  (% style="color:#de9963" %)**b = 0x16**
473
474 **~ Valid data location = **0x00 (Broadcast Packet)  ➡  (% style="color:#debd63" %)**c = 0x00**
475
476 **Valid data starting position **= 0x20 (32)  ➡  (% style="color:#b0de63" %)**d = 0x20**
477
478
479 **Analyze the filtered data:**
480
481 (% style="color:blue" %)**1A FF 4C 00 02 15 01 12 23 34 45 56 67 78 89 9A AB BC CD DE EF F0 27 17 70 73 C3  **(%%)➡(% style="color:blue" %)**  **(% style="color:#b663de" %)**h = 1aff4c0002130112233445566778899aabbccddeeff027177073c3**
482
483 **filtered data length = **0x1B (27)  ➡  (% style="color:#63de69" %)**e = 0x1b**
484
485 **filtered data location = **0x00 (Broadcast Packet)  ➡  (% style="color:#63d0de" %)**f  = 0x00**
486
487 **filtered data starting position = **0x03  ➡  (% style="color:#6395de" %)**g = 0x03**
488
489
490 So the user can set the AT command as:
491
492 (% style="color:blue" %)**AT+MODEL=**(% style="color:red" %)**04**(% style="color:#de9963" %)**16**(% style="color:#debd63" %)**00**(% style="color:#b0de63" %)**20**(% style="color:#63de69" %)**1b**(% style="color:#63d0de" %)**00**(% style="color:#6395de" %)**03**(% style="color:#b663de" %)**1aff4c0002130112233445566778899aabbccddeeff027177073c3**
493
494
495 )))
496
497 === 2.3.3  ​Decode payload ===
498
499
500 While using TTN V3 network, you can add the payload format to decode the payload.
501
502 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]]
503
504 The payload decoder function for TTN V3 are here:
505
506 BH01-LB TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
507
508
509 ==== 2.3.3.1 Battery Info ====
510
511
512 Check the battery voltage for BH01-LB.
513
514 Ex1: 0x0B45 = 2885mV
515
516 Ex2: 0x0B49 = 2889mVxe
517
518
519 == 2.4 Payload Decoder file ==
520
521
522 In TTN, use can add a custom payload so it shows friendly reading
523
524 In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
525
526 [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/blob/main/BH01-LB/BH01-LB_Decode_V1.0.0.txt>>https://github.com/dragino/dragino-end-node-decoder/blob/main/BH01-LB/BH01-LB_Decode_V1.0.0.txt]]
527
528
529 == 2.5 Frequency Plans ==
530
531
532 The BH01-LB/LS uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
533
534 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
535
536
537 = 3. Configure BH01-LB =
538
539 == 3.1 Configure Methods ==
540
541
542 BH01-LB supports below configure method:
543
544 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
545 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
546 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
547
548 == 3.2 General Commands ==
549
550
551 These commands are to configure:
552
553 * General system settings like: uplink interval.
554 * LoRaWAN protocol & radio related command.
555
556 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
557
558 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
559
560
561 == 3.3 Commands special design for BH01-LB ==
562
563
564 These commands only valid for BH01-LB, as below:
565
566
567 === 3.3.1 Set Transmit Interval Time ===
568
569
570 Feature: Change LoRaWAN End Node Transmit Interval.
571
572 (% style="color:blue" %)**AT Command: AT+TDC**
573
574 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
575 |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
576 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
577 30000
578 OK
579 the interval is 30000ms = 30s
580 )))
581 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
582 OK
583 Set transmit interval to 60000ms = 60 seconds
584 )))
585
586 (% style="color:blue" %)**Downlink Command: 0x01**
587
588 Format: Command Code (0x01) followed by 3 bytes time value.
589
590 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
591
592 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
593 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
594
595 === 3.3.2 Get Device Status ===
596
597
598 Send a LoRaWAN downlink to ask the device to send its status.
599
600 (% style="color:blue" %)**Downlink Payload: 0x26 01**
601
602 Sensor will upload Device Status via **FPORT=5**. See payload section for detail.
603
604
605 === 3.3.3 Set Workmode ===
606
607
608 Feature: Switch working mode.
609
610 (% style="color:blue" %)**AT Command: AT+MODEL=abcdefgh**
611
612 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
613 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
614 |(% style="width:154px" %)AT+MODEL=?|(% style="width:196px" %)Get the scan filter model.|(% style="width:157px" %)(((
615 OK
616 )))
617 |(% style="width:154px" %)AT+MODEL=0104|(% style="width:196px" %)Set the working mode to TAH02.|(% style="width:157px" %)(((
618 OK
619 END_TRANSFER_CONDITION
620 )))
621
622 (% style="color:blue" %)**Downlink Command: 0x08**
623
624 Format: Command Code
625
626 **~ · **Example 1: Downlink Payload:
627
628 08 01 05  **~-~-->**  AT+MODEL=0105
629
630 **· **Example 2: Downlink Payload:
631
632 08 03 05 00 19 0b 00 04 ff 4c 00 02 15 01 12 23 34 45 56  **~-~-->**  AT+MODEL=030500190b0004ff4c000215011223344556 0x08 03 05 00 19 0b 00 04 ff 4c 00 02 15 01 12 23 34 45 56
633
634 See payload section for detail.
635
636
637 === 3.3.4 Set up filtering of devices by signal strength ===
638
639
640 Feature: Filter Scan Devices
641
642 (% style="color:blue" %)**AT Command:AT+FILTERRSSI=XX**
643
644 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
645 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
646 |(% style="width:154px" %)(((
647 AT+FILTERRSSI=?
648 )))|(% style="width:196px" %)Get the RSSI range of the scanned device|(% style="width:157px" %)(((
649 0
650 OK
651 )))
652 |(% style="width:154px" %)(((
653 AT+FILTERRSSI=-70
654 )))|(% style="width:196px" %)Set the RSSI range of the scanning device to -70~0|(% style="width:157px" %)(((
655 OK
656 )))
657
658 (% style="color:blue" %)**Downlink Command:0x09**
659
660 Format: Command Code
661
662 **· **Example: Downlink Payload:
663
664 09 BA **~-~-->  **AT+FILTERRSSI=-70
665
666 -70 is converted from signed to unsigned to decimal 186, and 186 is converted from decimal to hexadecimal to BA.
667
668
669 = 4. Battery & Power Consumption =
670
671
672 BH01-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
673
674 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
675
676
677 = 5. OTA Firmware update =
678
679
680 (% class="wikigeneratedid" %)
681 **User can change firmware BH01-LB to:**
682
683 * Change Frequency band/ region.
684 * Update with new features.
685 * Fix bugs.
686
687 **Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/scl/fo/159vcesgbwe6cv0frovaf/AGpaICU74040qlFxAmUhs84?rlkey=sl6hocinsp5lkzsu0c1fj7dyq&st=afgmn3mp&dl=0]]**
688
689 **Methods to Update Firmware:**
690
691 * (Recommanded way) OTA firmware update via wireless: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
692 * Update through UART TTL interface: **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
693
694 = 6. Order Info =
695
696
697 Part Number: (% style="color:blue" %)**BH01-LB-XX-YY**(%%)
698
699 (% style="color:red" %)**XX**(%%): The default frequency band
700
701 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
702 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
703 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
704 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
705 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
706 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
707 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
708 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
709
710 (% style="color:red" %)**YY: ** (%%)Hole Option
711
712 * (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
713 * (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
714 * (% style="color:red" %)**20**(%%): With M20 waterproof cable hole
715 * (% style="color:red" %)**NH**(%%): No Hole
716
717 = 7. ​Packing Info =
718
719
720 (% style="color:#037691" %)**Package Includes**:
721
722 * BH01-LB Bluetooth to LoRaWAN Hub
723
724 (% style="color:#037691" %)**Dimension and weight**:
725
726 * Device Size: cm
727 * Device Weight: g
728 * Package Size / pcs : cm
729 * Weight / pcs : g
730
731 = 8. Support =
732
733
734 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
735
736 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.cc>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.cc]]
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0