Wiki source code of D20-LB/D22-LB/D23-LB LoRaWAN Temperature Sensor User Manual
Version 79.1 by Edwin Chen on 2023/04/01 21:11
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | |||
2 | |||
3 | |||
4 | **Table of Contents:** | ||
5 | |||
6 | {{toc/}} | ||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
13 | = 1. Introduction = | ||
14 | |||
15 | == 1.1 What is D2x-LB LoRaWAN Temperature Sensor == | ||
16 | |||
17 | |||
18 | The Dragino D2x-LB is a (% style="color:blue" %)**LoRaWAN Temperature Sensor**(%%) for Internet of Things solution. D2x-LB has 5v and 12v output , 4~~20mA, 0~~30v input interface to power and get value from Analog Sensor. D2x-LB will convert the Analog Value to LoRaWAN wireless data and send to IoT platform via LoRaWAN gateway. | ||
19 | |||
20 | The LoRa wireless technology used in D2x-LB allows device 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 minimizing current consumption. | ||
21 | |||
22 | The temperature sensor used in D2x-LB can (% style="color:blue" %)**measure -55°C ~~ 125°C with accuracy ±0.5°C (max ±2.0 °C)**(%%). | ||
23 | |||
24 | D2x-LB supports (% style="color:blue" %)**temperature alarm feature,**(%%) user can set temperature alarm for instant notice. | ||
25 | |||
26 | D2x-LB has max 3 probes which measure maximum 3 temperature points. | ||
27 | |||
28 | D2x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. | ||
29 | |||
30 | D2x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. | ||
31 | |||
32 | Each D2x-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. | ||
33 | |||
34 | |||
35 | == 1.2 Features == | ||
36 | |||
37 | * LoRaWAN 1.0.3 Class A | ||
38 | * Ultra-low power consumption | ||
39 | * 1 ~~ 3 External Temperature Probesr | ||
40 | * Measure range -55°C ~~ 125°C | ||
41 | * Temperature alarm | ||
42 | * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 | ||
43 | * Support Bluetooth v5.1 and LoRaWAN remote configure | ||
44 | * Support wireless OTA update firmware | ||
45 | * Uplink on periodically | ||
46 | * Downlink to change configure | ||
47 | * 8500mAh Battery for long term use | ||
48 | |||
49 | == 1.3 Specification == | ||
50 | |||
51 | |||
52 | (% style="color:#037691" %)**Common DC Characteristics:** | ||
53 | |||
54 | * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v | ||
55 | * Operating Temperature: -40 ~~ 85°C | ||
56 | |||
57 | (% style="color:#037691" %)**Temperature Sensor:** | ||
58 | |||
59 | * Dallas DS18B20 | ||
60 | * Range: -55 to + 125°C | ||
61 | * Accuracy ±0.5°C (max ±2.0 °C). | ||
62 | |||
63 | (% style="color:#037691" %)**LoRa Spec:** | ||
64 | |||
65 | * Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz | ||
66 | * Max +22 dBm constant RF output vs. | ||
67 | * RX sensitivity: down to -139 dBm. | ||
68 | * Excellent blocking immunity | ||
69 | |||
70 | (% style="color:#037691" %)**Battery:** | ||
71 | |||
72 | * Li/SOCI2 un-chargeable battery | ||
73 | * Capacity: 8500mAh | ||
74 | * Self-Discharge: <1% / Year @ 25°C | ||
75 | * Max continuously current: 130mA | ||
76 | * Max boost current: 2A, 1 second | ||
77 | |||
78 | (% style="color:#037691" %)**Power Consumption** | ||
79 | |||
80 | * Sleep Mode: 5uA @ 3.3v | ||
81 | * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm | ||
82 | |||
83 | == 1.4 Sleep mode and working mode == | ||
84 | |||
85 | |||
86 | (% 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. | ||
87 | |||
88 | (% 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. | ||
89 | |||
90 | |||
91 | == 1.5 Button & LEDs == | ||
92 | |||
93 | |||
94 | [[image:1675071855856-879.png]] | ||
95 | |||
96 | |||
97 | (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) | ||
98 | |=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 117px;" %)**Function**|=(% style="width: 225px;" %)**Action** | ||
99 | |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( | ||
100 | If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. | ||
101 | Meanwhile, BLE module will be active and user can connect via BLE to configure device. | ||
102 | ))) | ||
103 | |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( | ||
104 | (% 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. | ||
105 | (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. | ||
106 | 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. | ||
107 | ))) | ||
108 | |(% 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 D2x-LB is in Deep Sleep Mode. | ||
109 | |||
110 | == 1.6 BLE connection == | ||
111 | |||
112 | |||
113 | D2x-LB support BLE remote configure. | ||
114 | |||
115 | |||
116 | 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: | ||
117 | |||
118 | * Press button to send an uplink | ||
119 | * Press button to active device. | ||
120 | * Device Power on or reset. | ||
121 | |||
122 | If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. | ||
123 | |||
124 | |||
125 | == 1.7 Hardware Variant == | ||
126 | |||
127 | |||
128 | (% border="1" cellspacing="10" style="background-color:#f7faff; width:510px" %) | ||
129 | |=(% style="width: 102px;" %)Model|=(% style="width: 190px;" %)Photo|=(% style="width: 297px;" %)Probe Info | ||
130 | |(% style="width:102px" %)**D20-LB**|(% style="width:190px" %) |(% style="width:297px" %)((( | ||
131 | 1 x DS28B20 Probe | ||
132 | |||
133 | Cable Length : 2 meters | ||
134 | |||
135 | |||
136 | ))) | ||
137 | |(% style="width:102px" %)**D22-LB**|(% style="width:190px" %) |(% style="width:297px" %)((( | ||
138 | 2 x DS28B20 Probes | ||
139 | |||
140 | Cable lengths total 1.5meters per probe | ||
141 | |||
142 | Cable Drawing: [[See This Link>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LSN50v2-D20/Cable_Drawing/&file=CAB0-35IC-K21G-210811.pdf]] | ||
143 | ))) | ||
144 | |(% style="width:102px" %)((( | ||
145 | **D23-LB** | ||
146 | )))|(% style="width:190px" %) |(% style="width:297px" %)((( | ||
147 | 3 x DS28B20 Probes | ||
148 | |||
149 | Cable lengths total 1.5meters per probe | ||
150 | |||
151 | Cable Drawing: [[See This Link>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LSN50v2-D20/Cable_Drawing/&file=CAB0-35IC-K31G-210811.pdf]] | ||
152 | ))) | ||
153 | |||
154 | (% style="display:none" %) | ||
155 | |||
156 | |||
157 | |||
158 | == 1.8 Mechanical == | ||
159 | |||
160 | |||
161 | [[image:1675143884058-338.png]] | ||
162 | |||
163 | |||
164 | [[image:1675143899218-599.png]] | ||
165 | |||
166 | |||
167 | [[image:1675143909447-639.png]] | ||
168 | |||
169 | |||
170 | = 2. Configure D2x-LB to connect to LoRaWAN network = | ||
171 | |||
172 | == 2.1 How it works == | ||
173 | |||
174 | |||
175 | The D2x-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 D2x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. | ||
176 | |||
177 | |||
178 | == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == | ||
179 | |||
180 | |||
181 | 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. | ||
182 | |||
183 | |||
184 | [[image:1675144005218-297.png]] | ||
185 | |||
186 | |||
187 | 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. | ||
188 | |||
189 | |||
190 | (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from D2x-LB. | ||
191 | |||
192 | Each D2x-LB is shipped with a sticker with the default device EUI as below: | ||
193 | |||
194 | [[image:image-20230131134744-2.jpeg]] | ||
195 | |||
196 | |||
197 | |||
198 | You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: | ||
199 | |||
200 | |||
201 | (% style="color:blue" %)**Register the device** | ||
202 | |||
203 | [[image:1675144099263-405.png]] | ||
204 | |||
205 | |||
206 | (% style="color:blue" %)**Add APP EUI and DEV EUI** | ||
207 | |||
208 | [[image:1675144117571-832.png]] | ||
209 | |||
210 | |||
211 | (% style="color:blue" %)**Add APP EUI in the application** | ||
212 | |||
213 | |||
214 | [[image:1675144143021-195.png]] | ||
215 | |||
216 | |||
217 | (% style="color:blue" %)**Add APP KEY** | ||
218 | |||
219 | [[image:1675144157838-392.png]] | ||
220 | |||
221 | (% style="color:blue" %)**Step 2:**(%%) Activate on D2x-LB | ||
222 | |||
223 | |||
224 | Press the button for 5 seconds to activate the D2x-LB. | ||
225 | |||
226 | (% 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. | ||
227 | |||
228 | After join success, it will start to upload messages to TTN and you can see the messages in the panel. | ||
229 | |||
230 | |||
231 | == 2.3 Uplink Payload == | ||
232 | |||
233 | === 2.3.1 Device Status, FPORT~=5 === | ||
234 | |||
235 | |||
236 | Users can use the downlink command(**0x26 01**) to ask D2x-LB to send device configure detail, include device configure status. D2x-LB will uplink a payload via FPort=5 to server. | ||
237 | |||
238 | The Payload format is as below. | ||
239 | |||
240 | |||
241 | (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) | ||
242 | |(% colspan="6" %)**Device Status (FPORT=5)** | ||
243 | |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** | ||
244 | |(% 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 | ||
245 | |||
246 | Example parse in TTNv3 | ||
247 | |||
248 | [[image:1675144504430-490.png]] | ||
249 | |||
250 | |||
251 | (% style="color:#037691" %)**Sensor Model**(%%): For D2x-LB, this value is 0x19 | ||
252 | |||
253 | (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version | ||
254 | |||
255 | (% style="color:#037691" %)**Frequency Band**: | ||
256 | |||
257 | *0x01: EU868 | ||
258 | |||
259 | *0x02: US915 | ||
260 | |||
261 | *0x03: IN865 | ||
262 | |||
263 | *0x04: AU915 | ||
264 | |||
265 | *0x05: KZ865 | ||
266 | |||
267 | *0x06: RU864 | ||
268 | |||
269 | *0x07: AS923 | ||
270 | |||
271 | *0x08: AS923-1 | ||
272 | |||
273 | *0x09: AS923-2 | ||
274 | |||
275 | *0x0a: AS923-3 | ||
276 | |||
277 | *0x0b: CN470 | ||
278 | |||
279 | *0x0c: EU433 | ||
280 | |||
281 | *0x0d: KR920 | ||
282 | |||
283 | *0x0e: MA869 | ||
284 | |||
285 | |||
286 | (% style="color:#037691" %)**Sub-Band**: | ||
287 | |||
288 | AU915 and US915:value 0x00 ~~ 0x08 | ||
289 | |||
290 | CN470: value 0x0B ~~ 0x0C | ||
291 | |||
292 | Other Bands: Always 0x00 | ||
293 | |||
294 | |||
295 | (% style="color:#037691" %)**Battery Info**: | ||
296 | |||
297 | Check the battery voltage. | ||
298 | |||
299 | Ex1: 0x0B45 = 2885mV | ||
300 | |||
301 | Ex2: 0x0B49 = 2889mV | ||
302 | |||
303 | |||
304 | === 2.3.2 Sensor Data. FPORT~=2 === | ||
305 | |||
306 | |||
307 | D2x-LB will uplink below payload via FPORT=2 after Joined LoRaWAN Network. | ||
308 | |||
309 | (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:500px" %) | ||
310 | |=(% style="width: 62.5px;" %)((( | ||
311 | **Size (bytes)** | ||
312 | )))|=(% style="width: 60px;" %)2|=(% style="width: 120px;" %)2|=(% style="width: 60px;" %)2|=(% style="width: 65px;" %)1|=(% style="width: 65px;" %)**2**|=(% style="width: 65px;" %)2 | ||
313 | |(% style="width:65px" %)**Value**|((( | ||
314 | [[Battery>>||anchor="HBattery:"]] | ||
315 | )))|(% style="width:91px" %)((( | ||
316 | [[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]] | ||
317 | )))|(% style="width:61px" %)((( | ||
318 | ignore | ||
319 | )))|(% style="width:91px" %)((( | ||
320 | [[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] | ||
321 | )))|(% style="width:99px" %)((( | ||
322 | [[Temp_White>>||anchor="HTemperatureWhite:"]] | ||
323 | )))|(% style="width:97px" %)((( | ||
324 | [[Temp_Black>>||anchor="HTemperatureBlack:"]] | ||
325 | ))) | ||
326 | |||
327 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220622180351-1.png?rev=1.1||alt="image-20220622180351-1.png" height="512" width="952"]] | ||
328 | |||
329 | |||
330 | ==== (% style="color:#4472c4" %)**Battery:**(%%) ==== | ||
331 | |||
332 | Sensor Battery Level. | ||
333 | |||
334 | Ex1: 0x0B45 = 2885mV | ||
335 | |||
336 | Ex2: 0x0B49 = 2889mV | ||
337 | |||
338 | |||
339 | |||
340 | ==== (% style="color:#4472c4" %)**Temperature RED or Temperature White :**(%%) ==== | ||
341 | |||
342 | **This point to the Red probe in D20-LB or the probe of D22-LB/D23-LB White** | ||
343 | |||
344 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220916152530-2.png?rev=1.1||alt="image-20220916152530-2.png"]] | ||
345 | |||
346 | |||
347 | **Example**: | ||
348 | |||
349 | If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree | ||
350 | |||
351 | If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. | ||
352 | |||
353 | (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) | ||
354 | |||
355 | |||
356 | |||
357 | ==== (% style="color:#4472c4" %)**Temperature White:**(%%) ==== | ||
358 | |||
359 | |||
360 | **This point to the Red probe in D22-LB/D23-LB** | ||
361 | |||
362 | |||
363 | **Example**: | ||
364 | |||
365 | If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree | ||
366 | |||
367 | If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. | ||
368 | |||
369 | (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) | ||
370 | |||
371 | |||
372 | |||
373 | ==== (% style="color:#4472c4" %)**Temperature Black:**(%%) ==== | ||
374 | |||
375 | |||
376 | **This point to the BLACK probe in D23-LB** | ||
377 | |||
378 | |||
379 | **Example**: | ||
380 | |||
381 | If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree | ||
382 | |||
383 | If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. | ||
384 | |||
385 | (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) | ||
386 | |||
387 | |||
388 | |||
389 | ==== (% style="color:#4472c4" %)**Alarm Flag& MOD:**(%%) ==== | ||
390 | |||
391 | |||
392 | **Example:** | ||
393 | |||
394 | If payload & 0x01 = 0x01 **~-~->** This is an Alarm Message | ||
395 | |||
396 | If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm | ||
397 | |||
398 | If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message | ||
399 | |||
400 | If payload >> 2 = 0x31 **~-~->** means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>||anchor="HPolltheAlarmsettings:"]] for detail. | ||
401 | |||
402 | |||
403 | |||
404 | ==== (% style="color:#4472c4" %)**Decode corresponding probe color:**(%%) ==== | ||
405 | |||
406 | |||
407 | **D20:** | ||
408 | |||
409 | Red <~-~-> C1 | ||
410 | |||
411 | **D22:** | ||
412 | |||
413 | White <~-~-> C1 Red <~-~-> C2 | ||
414 | |||
415 | **D23:** | ||
416 | |||
417 | White <~-~->C1 Red <~-~-> C2 Black <~-~-> C3 | ||
418 | |||
419 | |||
420 | == 2.4 Payload Decoder file == | ||
421 | |||
422 | |||
423 | ((( | ||
424 | In TTN, use can add a custom payload so it shows friendly. | ||
425 | ))) | ||
426 | |||
427 | ((( | ||
428 | In the page **Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder** to add the decoder from: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] | ||
429 | ))) | ||
430 | |||
431 | |||
432 | (% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %) | ||
433 | |||
434 | == 2.5 Temperature Alarm Feature == | ||
435 | |||
436 | |||
437 | D2x-LB work flow with Alarm feature. | ||
438 | |||
439 | |||
440 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="image-20220623090437-1.png"]] | ||
441 | |||
442 | |||
443 | ((( | ||
444 | User can use (% style="color:#4472c4" %)**AT+18ALARM **(%%)command to set the alarm low limit or high limit. Device will check the temperature every minute, if the temperature lower than low limit or greater than high limit. D2x-LB will send an (% style="color:#4472c4" %)**Alarm packet base on Confirmed Uplink Mode**(%%) to server. | ||
445 | ))) | ||
446 | |||
447 | |||
448 | Below is an example of the Alarm Packet. | ||
449 | |||
450 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-2.png?rev=1.1||alt="image-20220623090437-2.png" height="558" width="1125"]] | ||
451 | |||
452 | |||
453 | == 2.6 Frequency Plans == | ||
454 | |||
455 | |||
456 | The D2x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. | ||
457 | |||
458 | [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] | ||
459 | |||
460 | |||
461 | == 2.7 Firmware Change Log == | ||
462 | |||
463 | |||
464 | **Firmware download link:** | ||
465 | |||
466 | [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]] | ||
467 | |||
468 | |||
469 | |||
470 | = 3. Configure D2x-LB = | ||
471 | |||
472 | == 3.1 Configure Methods: == | ||
473 | |||
474 | D2x-LB supports below configure method: | ||
475 | |||
476 | * AT Command via Bluetooth Connection (**Recommand Way**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. | ||
477 | * AT Command via UART Connection : See [[FAQ>>||anchor="H7.FAQ"]]. | ||
478 | * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. | ||
479 | |||
480 | == 3.2 General Commands == | ||
481 | |||
482 | These commands are to configure: | ||
483 | |||
484 | * General system settings like: uplink interval. | ||
485 | * LoRaWAN protocol & radio related command. | ||
486 | |||
487 | They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: | ||
488 | |||
489 | [[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/]] | ||
490 | |||
491 | |||
492 | == 3.3 Commands special design for D2x-LB == | ||
493 | |||
494 | |||
495 | These commands only valid for D2x-LB, as below: | ||
496 | |||
497 | |||
498 | === 3.3.1 Set Transmit Interval Time === | ||
499 | |||
500 | |||
501 | Feature: Change LoRaWAN End Node Transmit Interval. | ||
502 | |||
503 | (% style="color:blue" %)**AT Command: AT+TDC** | ||
504 | |||
505 | (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) | ||
506 | |=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** | ||
507 | |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( | ||
508 | 30000 | ||
509 | OK | ||
510 | the interval is 30000ms = 30s | ||
511 | ))) | ||
512 | |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|((( | ||
513 | OK | ||
514 | Set transmit interval to 60000ms = 60 seconds | ||
515 | ))) | ||
516 | |||
517 | (% style="color:blue" %)**Downlink Command: 0x01** | ||
518 | |||
519 | Format: Command Code (0x01) followed by 3 bytes time value. | ||
520 | |||
521 | If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. | ||
522 | |||
523 | * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds | ||
524 | * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds | ||
525 | |||
526 | |||
527 | === 3.3.2 Get Device Status === | ||
528 | |||
529 | |||
530 | Send a LoRaWAN downlink to ask device send Alarm settings. | ||
531 | |||
532 | * (% style="color:#037691" %)**Downlink Payload: **(%%)0x26 01 | ||
533 | |||
534 | Sensor will upload Device Status via FPORT=5. See payload section for detail. | ||
535 | |||
536 | |||
537 | === 3.3.3 Set Alarm Thredhold === | ||
538 | |||
539 | (% style="color:#4472c4" %)**1. Set for All Probes:** | ||
540 | |||
541 | (% style="color:#037691" %)**AT+18ALARM=min,max** | ||
542 | |||
543 | * When min=0, and max≠0, Alarm trigger when higher than max | ||
544 | * When min≠0, and max=0, Alarm trigger when lower than min | ||
545 | * When min≠0 and max≠0, Alarm trigger when higher than max or lower than min | ||
546 | |||
547 | **Example:** | ||
548 | |||
549 | AT+18ALARM=-10,30 ~/~/ Alarm when < -10 or higher than 30. | ||
550 | |||
551 | |||
552 | * (% style="color:#037691" %)**Downlink Payload:** | ||
553 | |||
554 | 0x(0B F6 1E) ~/~/ Same as AT+18ALARM=-10,30 | ||
555 | |||
556 | (note: 0x1E= 30, 0xF6 means: 0xF6-0x100 = -10) | ||
557 | |||
558 | |||
559 | (% style="color:#4472c4" %)**2. Set for Separate Probe:** | ||
560 | |||
561 | (% style="color:#037691" %)**AT+18ALARM=min,max,index** | ||
562 | |||
563 | Index: | ||
564 | |||
565 | * 1: Temperature_Red | ||
566 | * 2: Temperature_White | ||
567 | * 3: Temperature_Black | ||
568 | |||
569 | **Example:** | ||
570 | |||
571 | AT+18ALARM=-10,30,1 ~/~/ Alarm when temperature_red < -10 or higher than 30. | ||
572 | |||
573 | |||
574 | * (% style="color:#037691" %)**Downlink Payload:** | ||
575 | |||
576 | 0x(0B F6 1E 01) ~/~/ Same as AT+18ALARM=-10,30,1 | ||
577 | |||
578 | (note: 0x1E= 30, 0xF6 means: 0xF6-0x100 = -10) | ||
579 | |||
580 | |||
581 | === 3.3.4 Set Alarm Interval === | ||
582 | |||
583 | |||
584 | The shortest time of two Alarm packet. (unit: min) | ||
585 | |||
586 | * (% style="color:#037691" %)**AT Command:** | ||
587 | |||
588 | AT+ATDC=30 ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes. | ||
589 | |||
590 | |||
591 | * (% style="color:#037691" %)**Downlink Payload:** | ||
592 | |||
593 | 0x(0D 00 1E) **~-~-->** Set AT+ATDC=0x 00 1E = 30 minutes | ||
594 | |||
595 | |||
596 | === 3.3.5 Get Alarm settings (什么FPORT?) === | ||
597 | |||
598 | |||
599 | Send a LoRaWAN downlink to ask device send Alarm settings. | ||
600 | |||
601 | * (% style="color:#037691" %)**Downlink Payload: **(%%)0x0E 01 | ||
602 | |||
603 | **Example:** | ||
604 | |||
605 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]] | ||
606 | |||
607 | |||
608 | **Explain:** | ||
609 | |||
610 | * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. | ||
611 | |||
612 | |||
613 | === 3.3.6 Set Interrupt Mode === | ||
614 | |||
615 | Feature, Set Interrupt mode for GPIO_EXIT. | ||
616 | |||
617 | (% style="color:blue" %)**AT Command: AT+INTMOD** | ||
618 | |||
619 | (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) | ||
620 | |=(% style="width: 154px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 157px;" %)**Response** | ||
621 | |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( | ||
622 | 0 | ||
623 | OK | ||
624 | the mode is 0 =Disable Interrupt | ||
625 | ))) | ||
626 | |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( | ||
627 | Set Transmit Interval | ||
628 | 0. (Disable Interrupt), | ||
629 | ~1. (Trigger by rising and falling edge) | ||
630 | 2. (Trigger by falling edge) | ||
631 | 3. (Trigger by rising edge) | ||
632 | )))|(% style="width:157px" %)OK | ||
633 | |||
634 | (% style="color:blue" %)**Downlink Command: 0x06** | ||
635 | |||
636 | Format: Command Code (0x06) followed by 3 bytes. | ||
637 | |||
638 | This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. | ||
639 | |||
640 | * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode | ||
641 | * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger | ||
642 | |||
643 | |||
644 | = 4. Battery & Power Consumption = | ||
645 | |||
646 | D2x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. | ||
647 | |||
648 | [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . | ||
649 | |||
650 | |||
651 | = 5. OTA firmware update = | ||
652 | |||
653 | |||
654 | Please see this link for how to do OTA firmware update: [[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/]] | ||
655 | |||
656 | |||
657 | = 6. FAQ = | ||
658 | |||
659 | == 6.1 How to use AT Command via UART to access device? == | ||
660 | |||
661 | |||
662 | See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]] | ||
663 | |||
664 | |||
665 | == 6.2 How to update firmware via UART port? == | ||
666 | |||
667 | |||
668 | See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]] | ||
669 | |||
670 | |||
671 | == 6.3 How to change the LoRa Frequency Bands/Region? == | ||
672 | |||
673 | |||
674 | You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]. | ||
675 | When downloading the images, choose the required image file for download. | ||
676 | |||
677 | |||
678 | = 7. Order Info = | ||
679 | |||
680 | |||
681 | Part Number: (% style="color:blue" %)**D20-LB-XX / D22-LB-XX / D23-LB-XX** | ||
682 | |||
683 | (% style="color:red" %)**XX**(%%): The default frequency band | ||
684 | |||
685 | * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band | ||
686 | |||
687 | * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band | ||
688 | |||
689 | * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band | ||
690 | |||
691 | * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band | ||
692 | |||
693 | * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band | ||
694 | |||
695 | * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band | ||
696 | |||
697 | * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band | ||
698 | |||
699 | * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band | ||
700 | |||
701 | = 8. Packing Info = | ||
702 | |||
703 | |||
704 | (% style="color:#037691" %)**Package Includes**: | ||
705 | |||
706 | * D2x-LB LoRaWAN Temperature Sensor | ||
707 | |||
708 | (% style="color:#037691" %)**Dimension and weight**: | ||
709 | |||
710 | * Device Size: cm | ||
711 | |||
712 | * Device Weight: g | ||
713 | |||
714 | * Package Size / pcs : cm | ||
715 | |||
716 | * Weight / pcs : g | ||
717 | |||
718 | = 9. Support = | ||
719 | |||
720 | |||
721 | * 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. | ||
722 | |||
723 | * 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.com>>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.com]] |