Last modified by Mengting Qiu on 2023/12/14 11:15

From version 116.2
edited by Xiaoling
on 2023/11/13 10:37
Change comment: There is no comment for this version
To version 166.1
edited by Mengting Qiu
on 2023/12/11 15:25
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.ting
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  
10 10  
11 -**Table of Contents**
11 +**Table of Contents:(% style="display:none" %) (%%)**
12 12  
13 13  {{toc/}}
14 14  
... ... @@ -60,9 +60,6 @@
60 60  * ToF FoV: ±9°, Total 18°
61 61  * Light source: VCSEL
62 62  
63 -(% style="display:none" %)
64 -
65 -
66 66  == 1.4 Power Consumption ==
67 67  
68 68  
... ... @@ -76,9 +76,6 @@
76 76  * Idle: 21 mA @ 3.3v
77 77  * Max : 360 mA
78 78  
79 -
80 -
81 -
82 82  = 2. Configure DS20L to connect to LoRaWAN network =
83 83  
84 84  == 2.1 How it works ==
... ... @@ -97,7 +97,7 @@
97 97  
98 98  [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
99 99  
100 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
94 +=== Step 1: Create a device in TTN with the OTAA keys from DS20L. ===
101 101  
102 102  Each DS20L is shipped with a sticker with the default device EUI as below:
103 103  
... ... @@ -104,40 +104,36 @@
104 104  [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
105 105  
106 106  
107 -You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
101 +You can enter this key in the LoRaWAN Server portal. Below is TTN V3 screenshot:
108 108  
109 109  
110 110  (% style="color:blue" %)**Register the device**
111 111  
112 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
106 +[[image:image-20231207144600-2.png||height="703" width="756"]]
113 113  
114 114  
115 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
109 +(% style="color:blue" %)**Add DevEUI and AppKey**
116 116  
117 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
111 +[[image:image-20231207145121-5.png||height="540" width="756"]]
118 118  
119 119  
120 -(% style="color:blue" %)**Add APP EUI in the application**
121 121  
115 +=== Step 2: Activate on DS20L ===
122 122  
123 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
117 +[[image:image-20231128133704-1.png||height="189" width="441"]]
124 124  
119 +Press the button for 5 seconds to activate the DS20L.
125 125  
126 -(% style="color:blue" %)**Add APP KEY**
121 +The switch is switched to (% style="color:blue" %)**E** (%%)and the external power supply is used.
127 127  
128 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
123 +The switch is switched to (% style="color:blue" %)**I** (%%)and the motherboard battery is used for power supply.
129 129  
130 -
131 -(% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
132 -
133 -
134 -Press the button for 5 seconds to activate the DS20L.
135 -
136 136  (% 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.
137 137  
138 138  After join success, it will start to upload messages to TTN and you can see the messages in the panel.
139 139  
140 140  
130 +
141 141  == 2.3 ​Uplink Payload ==
142 142  
143 143  === 2.3.1 Device Status, FPORT~=5 ===
... ... @@ -155,9 +155,9 @@
155 155  
156 156  Example parse in TTNv3
157 157  
158 -[[image:image-20230805103904-1.png||height="131" width="711"]]
148 +[[image:image-20231206151412-3.png||height="179" width="1070"]]
159 159  
160 -(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x24
150 +(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
161 161  
162 162  (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
163 163  
... ... @@ -211,222 +211,210 @@
211 211  === 2.3.2 Uplink Payload, FPORT~=2 ===
212 212  
213 213  
214 -(((
215 -DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will:
204 +==== (% style="color:red" %)**AT+MOD~=1**(%%) ====
216 216  
217 -periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
206 +Regularly detect distance and report. When the distance exceeds the limit, the alarm flag is set to 1, and the report can be triggered by external interrupts.
218 218  
219 -Uplink Payload totals 11 bytes.
220 -)))
208 +Uplink Payload totals 10 bytes.
221 221  
222 222  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
223 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
224 -**Size(bytes)**
225 -)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white; width: 80px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**
226 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)(((
227 -[[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]]
228 -)))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)(((
229 -[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]]
230 -)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)(((
231 -[[Message Type>>||anchor="HMessageType"]]
232 -)))
211 +|(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:120px" %)**4**
212 +|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ Alarm+Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count
233 233  
234 -[[image:image-20230805104104-2.png||height="136" width="754"]]
214 +[[image:image-20231209152917-1.png||height="300" width="1172"]]
235 235  
216 +(% style="color:blue" %)**Battery Info:**
236 236  
237 -==== (% style="color:blue" %)**Battery Info**(%%) ====
218 +Check the battery voltage for DS20L
238 238  
220 +Ex1: 0x0E10 = 3600mV
239 239  
240 -Check the battery voltage for DS20L.
241 241  
242 -Ex1: 0x0B45 = 2885mV
223 +(% style="color:blue" %)**MOD & Alarm & Interrupt:**
243 243  
244 -Ex2: 0x0B49 = 2889mV
225 +(% style="color:red" %)**MOD:**
245 245  
227 +**Example: ** (0x60>>6) & 0x3f =1
246 246  
247 -==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ====
229 +**0x01:**  Regularly detect distance and report.
230 +**0x02: ** Uninterrupted measurement (external power supply).
248 248  
232 +(% style="color:red" %)**Alarm:**
249 249  
250 -This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
234 +When the detection distance exceeds the limit, the alarm flag is set to 1.
251 251  
236 +(% style="color:red" %)**Interrupt:**
252 252  
253 -**Example**:
238 +Whether it is an external interrupt.
254 254  
255 -If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
256 256  
257 -If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
241 +(% style="color:blue" %)**Distance info:**
258 258  
243 +**Example**:
259 259  
260 -==== (% style="color:blue" %)**Distance**(%%) ====
245 +If payload is: 0708H: distance = 0708H = 1800 mm
261 261  
262 262  
263 -Represents the distance value of the measurement output, the default unit is cm, and the value range parsed as a decimal number is 0-1200. In actual use, when the signal strength value Strength.
248 +(% style="color:blue" %)**Sensor State:**
264 264  
250 +Ex1: 0x00: Normal collection distance
265 265  
266 -**Example**:
252 +Ex2 0x0x: Distance collection is wrong
267 267  
268 -If the data you get from the register is 0x0B 0xEA, the distance between the sensor and the measured object is 0BEA(H) = 3050 (D)/10 = 305cm.
269 269  
255 +(% style="color:blue" %)**Interript Count:**
270 270  
271 -==== (% style="color:blue" %)**Distance signal strength**(%%) ====
257 +If payload is:000007D0H: count = 07D0H =2000
272 272  
273 273  
274 -Refers to the signal strength, the default output value will be between 0-65535. When the distance measurement gear is fixed, the farther the distance measurement is, the lower the signal strength; the lower the target reflectivity, the lower the signal strength. When Strength is greater than 100 and not equal to 65535, the measured value of Dist is considered credible.
275 275  
261 +==== (% style="color:red" %)**AT+MOD~=2**(%%)** ** ====
276 276  
277 -**Example**:
278 278  
279 -If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
264 +The power consumption of uninterrupted measurement is high, and the device needs to use external power supply.(The switch is switched to E and the external power supply is used.)
280 280  
281 -Customers can judge whether they need to adjust the environment based on the signal strength.
266 +[[image:image-20231128133704-1.png||height="189" width="441"]]
282 282  
283 283  
284 -**1) When the sensor detects valid data:**
269 +* **Set over-limit alarm mode: AT+DOL=3,500,244,**(% style="color:red" %)0(%%)**,120**
285 285  
286 -[[image:image-20230805155335-1.png||height="145" width="724"]]
271 +(% class="wikigeneratedid" id="HUninterruptedmeasurement.Whenthedistanceexceedsthelimit2CtheoutputIOissethighandreportsarereportedeveryfiveminutes.Thetimecanbesetandpoweredbyanexternalpowersupply.UplinkPayloadtotals11bytes." %)
272 +Uninterrupted measurement. When the distance exceeds the limit, the output IO high, instant alarm. Uplink Payload totals 9 bytes.
287 287  
274 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
275 +|(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
276 +|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+Do+Limit flag|(% style="width:74px" %)Distance |(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
288 288  
289 -**2) When the sensor detects invalid data:**
278 +[[image:image-20231209171127-3.png||height="374" width="1209"]]
290 290  
291 -[[image:image-20230805155428-2.png||height="139" width="726"]]
280 +(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
292 292  
282 +(% style="color:red" %)**MOD:**
293 293  
294 -**3) When the sensor is not connected:**
284 +**Example: ** (0x60>>6) & 0x3f =1
295 295  
296 -[[image:image-20230805155515-3.png||height="143" width="725"]]
286 +**0x01:**  Regularly detect distance and report.
287 +**0x02: ** Uninterrupted measurement (external power supply).
297 297  
289 +(% style="color:red" %)**Alarm:**
298 298  
299 -==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ====
291 +When the detection distance exceeds the limit, the alarm flag is set to 1.
300 300  
293 +(% style="color:red" %)**Do:**
301 301  
302 -This data field shows if this packet is generated by interrupt or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up.
295 +When the distance exceeds the set threshold, pull the Do pin high.
303 303  
304 -Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI .
297 +(% style="color:red" %)**Limit flag:**
305 305  
306 -**Example:**
299 +Mode for setting threshold: **0~~3**
307 307  
308 -If byte[0]&0x01=0x00 : Normal uplink packet.
301 +**0:** does not use upper and lower limits
309 309  
310 -If byte[0]&0x01=0x01 : Interrupt Uplink Packet.
303 +**1:** Use upper and lower limits
311 311  
305 +**2:** Less than the upper limit
312 312  
313 -==== (% style="color:blue" %)**LiDAR temp**(%%) ====
307 +**3: **Greater than the lower limit
314 314  
315 315  
316 -Characterize the internal temperature value of the sensor.
310 +(% style="color:blue" %)**Distance:**
317 317  
318 -**Example: **
319 -If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃.
320 -If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃.
312 + Actual sampling distance values.
321 321  
314 +**Example:**
322 322  
323 -==== (% style="color:blue" %)**Message Type**(%%) ====
316 +**AT+DOL=1,500,244,**(% style="color:red" %)0(%%)**,120  **
324 324  
318 +The distance is detected every 120ms.
325 325  
326 -(((
327 -For a normal uplink payload, the message type is always 0x01.
328 -)))
320 +When the actual detection value is within the range of [244mm,500mm], the data is uploaded in the normal TDC time.
329 329  
330 -(((
331 -Valid Message Type:
332 -)))
322 +When the actual detection value is outside the range of [244mm,500mm], the uplink data will be immediately alerted.
333 333  
334 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %)
335 -|=(% style="width: 161px;background-color:#4F81BD;color:white" %)**Message Type Code**|=(% style="width: 164px;background-color:#4F81BD;color:white" %)**Description**|=(% style="width: 174px;background-color:#4F81BD;color:white" %)**Payload**
336 -|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload
337 -|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload
324 +If payload is: 0708H: distance = 0708H = 1800 mm
338 338  
339 -[[image:image-20230805150315-4.png||height="233" width="723"]]
340 340  
327 +(% style="color:blue" %)**Upper limit:**
341 341  
342 -=== 2.3.3 Historical measuring distance, FPORT~=3 ===
329 +The upper limit of the threshold cannot exceed 2000mm.
343 343  
344 344  
345 -DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
332 +(% style="color:blue" %)**Lower limit:**
346 346  
347 -The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
334 +The lower limit of the threshold cannot be less than 3mm.
348 348  
349 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
350 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
351 -**Size(bytes)**
352 -)))|=(% style="width: 80px;background-color:#4F81BD;color:white" %)1|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD; color: white; width: 85px;" %)**1**|=(% style="background-color: #4F81BD; color: white; width: 85px;" %)4
353 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
354 -Reserve(0xFF)
355 -)))|Distance|Distance signal strength|(% style="width:88px" %)(((
356 -LiDAR temp
357 -)))|(% style="width:85px" %)Unix TimeStamp
358 358  
359 -**Interrupt flag & Interrupt level:**
337 +* **Set the person or object count mode: AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120**
360 360  
361 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
362 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
363 -**Size(bit)**
364 -)))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit7**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit6**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**[bit5:bit2]**|=(% style="width: 90px; background-color: #4F81BD; color: white;" %)**bit1**|=(% style="background-color: #4F81BD; color: white; width: 90px;" %)**bit0**
365 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)No ACK message|(% style="width:62.5px" %)Poll Message Flag|Reserve|(% style="width:91px" %)Interrupt level|(% style="width:88px" %)(((
366 -Interrupt flag
367 -)))
339 +Continuous measurement, detect and count people or things passing by in distance limit mode. Uplink Payload totals 11 bytes.
368 368  
369 -* (((
370 -Each data entry is 11 bytes and has the same structure as [[Uplink Payload>>||anchor="H2.3.2UplinkPayload2CFPORT3D2"]], to save airtime and battery, DS20L will send max bytes according to the current DR and Frequency bands.
371 -)))
341 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:600px" %)
342 +|(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**4**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
343 +|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+Do+Limit flag|(% style="width:176px" %)Distance limit alarm count|(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
372 372  
373 -For example, in the US915 band, the max payload for different DR is:
345 +[[image:image-20231209173457-5.png||height="277" width="1098"]]
374 374  
375 -**a) DR0:** max is 11 bytes so one entry of data
347 +(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
376 376  
377 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
349 +(% style="color:red" %)**MOD:**
378 378  
379 -**c) DR2:** total payload includes 11 entries of data
351 +**Example: ** (0x60>>6) & 0x3f =1
380 380  
381 -**d) DR3:** total payload includes 22 entries of data.
353 +**0x01:**  Regularly detect distance and report.
354 +**0x02: ** Uninterrupted measurement (external power supply).
382 382  
383 -If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
356 +(% style="color:red" %)**Alarm:**
384 384  
358 +When the detection distance exceeds the limit, the alarm flag is set to 1.
385 385  
386 -**Downlink:**
360 +(% style="color:red" %)**Do:**
387 387  
388 -0x31 64 CC 68 0C 64 CC 69 74 05
362 +When the distance exceeds the set threshold, pull the Do pin high.
389 389  
390 -[[image:image-20230805144936-2.png||height="113" width="746"]]
364 +(% style="color:red" %)**Limit flag:**
391 391  
392 -**Uplink:**
366 +Mode for setting threshold: **0~~3**
393 393  
394 -43 FF 0E 10 00 B0 1E 64 CC 68 0C 40 FF 0D DE 00 A8 1E 64 CC 68 29 40 FF 09 92 00 D3 1E 64 CC 68 65 40 FF 02 3A 02 BC 1E 64 CC 68 A1 41 FF 0E 1A 00 A4 1E 64 CC 68 C0 40 FF 0D 2A 00 B8 1E 64 CC 68 E8 40 FF 00 C8 11 6A 1E 64 CC 69 24 40 FF 0E 24 00 AD 1E 64 CC 69 6D
368 +**0:** does not use upper and lower limits
395 395  
370 +**1:** Use upper and lower limits
396 396  
397 -**Parsed Value:**
372 +**2:** Less than the upper limit
398 398  
399 -[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
374 +**3: **Greater than the lower limit
400 400  
401 401  
402 -[360,176,30,High,True,2023-08-04 02:53:00],
377 +(% style="color:blue" %)**Distance limit alarm count:**
403 403  
404 -[355,168,30,Low,False,2023-08-04 02:53:29],
379 +People or objects are collected and counted within a limited distance.
405 405  
406 -[245,211,30,Low,False,2023-08-04 02:54:29],
381 +The detection of a stationary person or object at each sampling time will be repeated three times, and the fourth sampling count will be added by 1.
407 407  
408 -[57,700,30,Low,False,2023-08-04 02:55:29],
383 +**Example:**
409 409  
410 -[361,164,30,Low,True,2023-08-04 02:56:00],
385 +**AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120   **
411 411  
412 -[337,184,30,Low,False,2023-08-04 02:56:40],
387 +People or objects passing within the distance range of [244mm,500mm] are detected and counted every 120ms.
413 413  
414 -[20,4458,30,Low,False,2023-08-04 02:57:40],
389 +If payload is: 0x56H, interrupt count =0x56H =86
415 415  
416 -[362,173,30,Low,False,2023-08-04 02:58:53],
417 417  
392 +(% style="color:blue" %)**Upper limit:**
418 418  
419 -**History read from serial port:**
394 +The upper limit of the threshold cannot exceed 2000mm.
420 420  
421 -[[image:image-20230805145056-3.png]]
422 422  
397 +(% style="color:blue" %)**Lower limit:**
423 423  
424 -=== 2.3.4 Decode payload in The Things Network ===
399 +The lower limit of the threshold cannot be less than 3mm.
425 425  
426 426  
402 +== 2.4 Decode payload in The Things Network ==
403 +
404 +
427 427  While using TTN network, you can add the payload format to decode the payload.
428 428  
429 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654592762713-715.png?rev=1.1||alt="1654592762713-715.png"]]
407 +[[image:image-20231206143515-1.png||height="534" width="759"]]
430 430  
431 431  
432 432  (((
... ... @@ -438,7 +438,7 @@
438 438  )))
439 439  
440 440  
441 -== 2.4 ​Show Data in DataCake IoT Server ==
419 +== 2.5 ​Show Data in DataCake IoT Server ==
442 442  
443 443  
444 444  (((
... ... @@ -455,96 +455,28 @@
455 455  )))
456 456  
457 457  
458 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654592790040-760.png?rev=1.1||alt="1654592790040-760.png"]]
436 +[[image:image-20231207153532-6.png||height="562" width="861"]]
459 459  
460 460  
461 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654592800389-571.png?rev=1.1||alt="1654592800389-571.png"]]
439 +[[image:image-20231207155940-8.png]]
462 462  
441 +For more detailed instructions, refer to the following instructions: [[Welcome - Datacake Docs>>url:https://docs.datacake.de/]]
463 463  
443 +[[image:image-20231207160733-11.png||height="429" width="759"]]
444 +
445 +
464 464  (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
465 465  
466 466  (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
467 467  
468 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654851029373-510.png?rev=1.1||alt="1654851029373-510.png"]]
450 +[[image:image-20231207160343-10.png||height="665" width="705"]]
469 469  
470 470  
471 471  After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
472 472  
473 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/image-20220610165129-11.png?width=1088&height=595&rev=1.1||alt="image-20220610165129-11.png"]]
455 +[[image:image-20231129100454-2.png||height="501" width="928"]]
474 474  
475 475  
476 -== 2.5 Datalog Feature ==
477 -
478 -
479 -Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DS20L will store the reading for future retrieving purposes.
480 -
481 -
482 -=== 2.5.1 Ways to get datalog via LoRaWAN ===
483 -
484 -
485 -Set PNACKMD=1, DS20L will wait for ACK for every uplink, when there is no LoRaWAN network, DS20L will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
486 -
487 -* (((
488 -a) DS20L will do an ACK check for data records sending to make sure every data arrive server.
489 -)))
490 -* (((
491 -b) DS20L will send data in **CONFIRMED Mode** when PNACKMD=1, but DS20L won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if DS20L gets a ACK, DS20L will consider there is a network connection and resend all NONE-ACK messages.
492 -)))
493 -
494 -=== 2.5.2 Unix TimeStamp ===
495 -
496 -
497 -DS20L uses Unix TimeStamp format based on
498 -
499 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
500 -
501 -User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
502 -
503 -Below is the converter example
504 -
505 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
506 -
507 -
508 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
509 -
510 -
511 -=== 2.5.3 Set Device Time ===
512 -
513 -
514 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
515 -
516 -Once DS20L Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to DS20L. If DS20L fails to get the time from the server, DS20L will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
517 -
518 -(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
519 -
520 -
521 -=== 2.5.4 Poll sensor value ===
522 -
523 -
524 -Users can poll sensor values based on timestamps. Below is the downlink command.
525 -
526 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
527 -|(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
528 -|(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
529 -|(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
530 -
531 -(((
532 -Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
533 -)))
534 -
535 -(((
536 -For example, downlink command [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/image-20220518162852-1.png?rev=1.1||alt="image-20220518162852-1.png"]]
537 -)))
538 -
539 -(((
540 -Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
541 -)))
542 -
543 -(((
544 -Uplink Internal =5s,means DS20L will send one packet every 5s. range 5~~255s.
545 -)))
546 -
547 -
548 548  == 2.6 Frequency Plans ==
549 549  
550 550  
... ... @@ -553,7 +553,7 @@
553 553  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
554 554  
555 555  
556 -3. Configure DS20L
466 += 3. Configure DS20L =
557 557  
558 558  == 3.1 Configure Methods ==
559 559  
... ... @@ -625,7 +625,7 @@
625 625  Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
626 626  )))
627 627  * (((
628 -Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds 
538 +Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
629 629  
630 630  
631 631  
... ... @@ -648,7 +648,7 @@
648 648  the mode is 0 =Disable Interrupt
649 649  )))
650 650  |(% style="width:154px" %)(((
651 -AT+INTMOD=2
561 +AT+INTMOD=3
652 652  
653 653  (default)
654 654  )))|(% style="width:196px" %)(((
... ... @@ -669,6 +669,117 @@
669 669  
670 670  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
671 671  
582 +=== 3.3.3 Set work mode ===
583 +
584 +
585 +Feature: Switch working mode
586 +
587 +(% style="color:blue" %)**AT Command: AT+MOD**
588 +
589 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
590 +|=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Response**
591 +|(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
592 +|(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
593 +OK
594 +Attention:Take effect after ATZ
595 +)))
596 +
597 +(% style="color:blue" %)**Downlink Command:**
598 +
599 +* **Example: **0x0A01 ~/~/  Same as AT+MOD=1
600 +
601 +* **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
602 +
603 +=== 3.3.4 Set threshold and threshold mode ===
604 +
605 +
606 +Feature, Set threshold and threshold mode
607 +
608 +When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
609 +
610 +(% style="color:blue" %)**AT Command: AT+DOL**
611 +
612 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
613 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:108px" %)**Response**
614 +|(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
615 +0,0,0,0,400
616 +OK
617 +)))
618 +|(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
619 +
620 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
621 +|=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 155px;background-color:#4F81BD;color:white" %) Parameter
622 +|(% rowspan="11" style="color:blue; width:120px" %)(((
623 +
624 +
625 +
626 +
627 +
628 +
629 +
630 +
631 +
632 +
633 +
634 +**AT+DOL=1,1800,3,0,400**
635 +)))|(% rowspan="4" style="width:240px" %)(((
636 +
637 +
638 +
639 +
640 +The first bit sets the limit mode
641 +)))|(% style="width:150px" %)0: Do not use upper and lower limits
642 +|(% style="width:251px" %)1: Use upper and lower limits
643 +|(% style="width:251px" %)2:Less than the upper limit
644 +|(% style="width:251px" %)3: Greater than the lower limit
645 +|(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
646 +|(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
647 +|(% rowspan="2" style="width:226px" %)The fourth bit sets the over-limit alarm or person or object count.|(% style="width:251px" %)0 Over-limit alarm, DO output is high
648 +|(% style="width:251px" %)1 Person or object counting statistics
649 +|(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
650 +100~~10000ms
651 +
652 +
653 +)))
654 +
655 +(% style="color:blue" %)**Downlink Command: 0x07**
656 +
657 +Format: Command Code (0x07) followed by 9 bytes.
658 +
659 +If the downlink payload=**07 01 0708 0064 00 0190**, it means set the END Node's limit mode to 0x01,upper limit value to 0x0708=1800(mm), lower limit value to 0x0064=100(mm), to over-limit alarm(0x00) ,the sampling time to 0x0190=400(ms), while type code is 0x07.
660 +
661 +* Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+MOD=0,0,0,0,400
662 +
663 +* Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
664 +
665 +* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,1800,100,0,400
666 +
667 +* Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,0,100,0,400
668 +
669 +(% style="color:Red" %)**Note: The over-limit alarm is applied to MOD1 and MOD2.**
670 +
671 +**For example:**
672 +
673 +* **AT+MOD=1**
674 +
675 + **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
676 +
677 +Send data according to the normal TDC time. If the mode limit is exceeded, the alarm flag is set to 1:
678 +
679 +[[image:image-20231211113204-2.png||height="292" width="1093"]]
680 +
681 +* **AT+MOD=2  **
682 +
683 + **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
684 +
685 +If the mode limit is exceeded, the data is immediately uplink and the alarm flag is set to 1:
686 +
687 +[[image:image-20231211114932-3.png||height="277" width="1248"]]
688 +
689 +
690 +
691 +
692 +
672 672  = 4. Battery & Power Consumption =
673 673  
674 674  
... ... @@ -705,6 +705,33 @@
705 705  DS20L use the same frequency as other Dragino products. User can see the detail from this link:  [[Introduction>>doc:Main.End Device Frequency Band.WebHome||anchor="H1.Introduction"]]
706 706  
707 707  
729 +== 6.2 DS20L programming line ==
730 +
731 +
732 +缺图 后续补上
733 +
734 +feature:
735 +
736 +for AT commands
737 +
738 +Update the firmware of DS20L
739 +
740 +Support interrupt mode
741 +
742 +
743 +== 6.3 LiDAR probe position ==
744 +
745 +
746 +[[image:1701155390576-216.png||height="285" width="307"]]
747 +
748 +The black oval hole in the picture is the LiDAR probe.
749 +
750 +
751 +== 6.4 Interface definition ==
752 +
753 +[[image:image-20231128151132-2.png||height="305" width="557"]]
754 +
755 +
708 708  = 7. Trouble Shooting =
709 709  
710 710  == 7.1 AT Command input doesn't work ==
1701149922873-259.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +24.5 KB
Content
1701152902759-553.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +52.2 KB
Content
1701152946067-561.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +52.2 KB
Content
1701155076393-719.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +54.6 KB
Content
1701155150328-206.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +54.6 KB
Content
1701155390576-216.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +293.9 KB
Content
image-20231128133704-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +190.6 KB
Content
image-20231128151132-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +281.2 KB
Content
image-20231129085201-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +70.6 KB
Content
image-20231129100454-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +70.1 KB
Content
image-20231206143515-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +89.5 KB
Content
image-20231206144950-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +41.0 KB
Content
image-20231206151412-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +58.8 KB
Content
image-20231206154621-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +71.2 KB
Content
image-20231206194804-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +53.7 KB
Content
image-20231206195704-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +64.1 KB
Content
image-20231207142208-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +27.2 KB
Content
image-20231207144600-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +55.4 KB
Content
image-20231207144837-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +31.1 KB
Content
image-20231207144856-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +31.1 KB
Content
image-20231207145121-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +33.3 KB
Content
image-20231207153532-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +164.7 KB
Content
image-20231207154046-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +23.0 KB
Content
image-20231207155940-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +41.7 KB
Content
image-20231207160053-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +95.5 KB
Content
image-20231207160343-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +80.5 KB
Content
image-20231207160733-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +136.0 KB
Content
image-20231209152917-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +65.9 KB
Content
image-20231209155616-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +57.1 KB
Content
image-20231209171127-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +80.8 KB
Content
image-20231209171549-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +45.7 KB
Content
image-20231209173457-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +66.3 KB
Content
image-20231211113113-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +64.5 KB
Content
image-20231211113204-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +59.7 KB
Content
image-20231211114932-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +57.3 KB
Content