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

From version 159.1
edited by Mengting Qiu
on 2023/12/09 18:03
Change comment: There is no comment for this version
To version 118.1
edited by Xiaoling
on 2023/11/28 13:38
Change comment: Uploaded new attachment "1701149922873-259.png", version {1}

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ting
1 +XWiki.Xiaoling
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  
10 10  
11 -**Table of Contents:(% style="display:none" %) (%%)**
11 +**Table of Contents**
12 12  
13 13  {{toc/}}
14 14  
... ... @@ -60,6 +60,8 @@
60 60  * ToF FoV: ±9°, Total 18°
61 61  * Light source: VCSEL
62 62  
63 +
64 +
63 63  == 1.4 Power Consumption ==
64 64  
65 65  
... ... @@ -73,6 +73,8 @@
73 73  * Idle: 21 mA @ 3.3v
74 74  * Max : 360 mA
75 75  
78 +
79 +
76 76  = 2. Configure DS20L to connect to LoRaWAN network =
77 77  
78 78  == 2.1 How it works ==
... ... @@ -91,7 +91,7 @@
91 91  
92 92  [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
93 93  
94 -=== Step 1: Create a device in TTN with the OTAA keys from DS20L. ===
98 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
95 95  
96 96  Each DS20L is shipped with a sticker with the default device EUI as below:
97 97  
... ... @@ -98,36 +98,40 @@
98 98  [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
99 99  
100 100  
101 -You can enter this key in the LoRaWAN Server portal. Below is TTN V3 screenshot:
105 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
102 102  
103 103  
104 104  (% style="color:blue" %)**Register the device**
105 105  
106 -[[image:image-20231207144600-2.png||height="703" width="756"]]
110 +[[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"]]
107 107  
108 108  
109 -(% style="color:blue" %)**Add DevEUI and AppKey**
113 +(% style="color:blue" %)**Add APP EUI and DEV EUI**
110 110  
111 -[[image:image-20231207145121-5.png||height="540" width="756"]]
115 +[[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"]]
112 112  
113 113  
118 +(% style="color:blue" %)**Add APP EUI in the application**
114 114  
115 -=== Step 2: Activate on DS20L ===
116 116  
117 -[[image:image-20231128133704-1.png||height="189" width="441"]]
121 +[[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"]]
118 118  
119 -Press the button for 5 seconds to activate the DS20L.
120 120  
121 -The switch is switched to (% style="color:blue" %)**E** (%%)and the external power supply is used.
124 +(% style="color:blue" %)**Add APP KEY**
122 122  
123 -The switch is switched to (% style="color:blue" %)**I** (%%)and the motherboard battery is used for power supply.
126 +[[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"]]
124 124  
128 +
129 +(% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
130 +
131 +
132 +Press the button for 5 seconds to activate the DS20L.
133 +
125 125  (% 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.
126 126  
127 127  After join success, it will start to upload messages to TTN and you can see the messages in the panel.
128 128  
129 129  
130 -
131 131  == 2.3 ​Uplink Payload ==
132 132  
133 133  === 2.3.1 Device Status, FPORT~=5 ===
... ... @@ -145,9 +145,9 @@
145 145  
146 146  Example parse in TTNv3
147 147  
148 -[[image:image-20231206151412-3.png||height="179" width="1070"]]
156 +[[image:image-20230805103904-1.png||height="131" width="711"]]
149 149  
150 -(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
158 +(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x24
151 151  
152 152  (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
153 153  
... ... @@ -201,142 +201,222 @@
201 201  === 2.3.2 Uplink Payload, FPORT~=2 ===
202 202  
203 203  
204 -==== (% style="color:red" %)**AT+MOD~=1**(%%) ====
212 +(((
213 +DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will:
205 205  
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.
215 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
207 207  
208 -Uplink Payload totals 10 bytes.
217 +Uplink Payload totals 11 bytes.
218 +)))
209 209  
210 210  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
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
221 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
222 +**Size(bytes)**
223 +)))|=(% 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**
224 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)(((
225 +[[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]]
226 +)))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)(((
227 +[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]]
228 +)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)(((
229 +[[Message Type>>||anchor="HMessageType"]]
230 +)))
213 213  
214 -[[image:image-20231209152917-1.png||height="300" width="1172"]]
232 +[[image:image-20230805104104-2.png||height="136" width="754"]]
215 215  
216 -(% style="color:blue" %)**Battery Info:**
217 217  
218 -Check the battery voltage for DS20L
235 +==== (% style="color:blue" %)**Battery Info**(%%) ====
219 219  
220 -Ex1: 0x0E10 = 3600mV
221 221  
238 +Check the battery voltage for DS20L.
222 222  
223 -(% style="color:blue" %)**MOD & Alarm & Interrupt:**
240 +Ex1: 0x0B45 = 2885mV
224 224  
225 -(% style="color:red" %)**MOD:**
242 +Ex2: 0x0B49 = 2889mV
226 226  
227 -**Example: ** (0x60>>6) & 0x3f =1
228 228  
229 -**0x01:**  Regularly detect distance and report.
230 -**0x02: ** Uninterrupted measurement (external power supply).
245 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ====
231 231  
232 -(% style="color:red" %)**Alarm:**
233 233  
234 -When the detection distance exceeds the limit, the alarm flag is set to 1.
248 +This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
235 235  
236 -(% style="color:red" %)**Interrupt:**
237 237  
238 -Whether it is an external interrupt.
251 +**Example**:
239 239  
253 +If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
240 240  
241 -(% style="color:blue" %)**Distance info:**
255 +If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
242 242  
257 +
258 +==== (% style="color:blue" %)**Distance**(%%) ====
259 +
260 +
261 +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.
262 +
263 +
243 243  **Example**:
244 244  
245 -If payload is: 0708H: distance = 0708H = 1800 mm
266 +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.
246 246  
247 247  
248 -(% style="color:blue" %)**Sensor State:**
269 +==== (% style="color:blue" %)**Distance signal strength**(%%) ====
249 249  
250 -Ex1: 0x00: Normal collection distance
251 251  
252 -Ex2 0x0x: Distance collection is wrong
272 +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.
253 253  
254 254  
255 -(% style="color:blue" %)**Interript Count:**
275 +**Example**:
256 256  
257 -If payload is:000007D0H: count = 07D0H =2000
277 +If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
258 258  
279 +Customers can judge whether they need to adjust the environment based on the signal strength.
259 259  
260 260  
261 -==== (% style="color:red" %)**AT+MOD~=2**(%%)** ** ====
282 +**1) When the sensor detects valid data:**
262 262  
284 +[[image:image-20230805155335-1.png||height="145" width="724"]]
263 263  
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.)
265 265  
266 -[[image:image-20231128133704-1.png||height="189" width="441"]]
287 +**2) When the sensor detects invalid data:**
267 267  
289 +[[image:image-20230805155428-2.png||height="139" width="726"]]
268 268  
269 -* **Set over-limit alarm mode: AT+DOL=3,500,244,**(% style="color:red" %)0(%%)**,120**
270 270  
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.
292 +**3) When the sensor is not connected:**
273 273  
294 +[[image:image-20230805155515-3.png||height="143" width="725"]]
295 +
296 +
297 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ====
298 +
299 +
300 +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.
301 +
302 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI .
303 +
304 +**Example:**
305 +
306 +If byte[0]&0x01=0x00 : Normal uplink packet.
307 +
308 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet.
309 +
310 +
311 +==== (% style="color:blue" %)**LiDAR temp**(%%) ====
312 +
313 +
314 +Characterize the internal temperature value of the sensor.
315 +
316 +**Example: **
317 +If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃.
318 +If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃.
319 +
320 +
321 +==== (% style="color:blue" %)**Message Type**(%%) ====
322 +
323 +
324 +(((
325 +For a normal uplink payload, the message type is always 0x01.
326 +)))
327 +
328 +(((
329 +Valid Message Type:
330 +)))
331 +
332 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %)
333 +|=(% 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**
334 +|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload
335 +|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload
336 +
337 +[[image:image-20230805150315-4.png||height="233" width="723"]]
338 +
339 +
340 +=== 2.3.3 Historical measuring distance, FPORT~=3 ===
341 +
342 +
343 +DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
344 +
345 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
346 +
274 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
348 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
349 +**Size(bytes)**
350 +)))|=(% 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
351 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
352 +Reserve(0xFF)
353 +)))|Distance|Distance signal strength|(% style="width:88px" %)(((
354 +LiDAR temp
355 +)))|(% style="width:85px" %)Unix TimeStamp
277 277  
278 -[[image:image-20231209171127-3.png||height="374" width="1209"]]
357 +**Interrupt flag & Interrupt level:**
279 279  
280 -(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
359 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
360 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
361 +**Size(bit)**
362 +)))|=(% 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**
363 +|(% 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" %)(((
364 +Interrupt flag
365 +)))
281 281  
282 -(% style="color:red" %)**MOD:**
367 +* (((
368 +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.
369 +)))
283 283  
284 -**Example: ** (0x60>>6) & 0x3f =1
371 +For example, in the US915 band, the max payload for different DR is:
285 285  
286 -**0x01:**  Regularly detect distance and report.
287 -**0x02: ** Uninterrupted measurement (external power supply).
373 +**a) DR0:** max is 11 bytes so one entry of data
288 288  
289 -(% style="color:red" %)**Alarm:**
375 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
290 290  
291 -When the detection distance exceeds the limit, the alarm flag is set to 1.
377 +**c) DR2:** total payload includes 11 entries of data
292 292  
293 -(% style="color:red" %)**Do:**
379 +**d) DR3:** total payload includes 22 entries of data.
294 294  
295 -When the distance exceeds the set threshold, pull the Do pin high.
381 +If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
296 296  
297 -(% style="color:red" %)**Limit flag:**
298 298  
299 -Mode for setting threshold: **0~~3**
384 +**Downlink:**
300 300  
301 -**0:** does not use upper and lower limits
386 +0x31 64 CC 68 0C 64 CC 69 74 05
302 302  
303 -**1:** Use upper and lower limits
388 +[[image:image-20230805144936-2.png||height="113" width="746"]]
304 304  
305 -**2:** Less than the upper limit
390 +**Uplink:**
306 306  
307 -**3: **Greater than the lower limit
392 +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
308 308  
309 309  
310 -(% style="color:blue" %)**Distance:**
395 +**Parsed Value:**
311 311  
312 - Actual sampling distance values.
397 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
313 313  
314 314  
315 -(% style="color:blue" %)**Upper limit:**
400 +[360,176,30,High,True,2023-08-04 02:53:00],
316 316  
317 -The upper limit of the threshold cannot exceed 2000mm.
402 +[355,168,30,Low,False,2023-08-04 02:53:29],
318 318  
404 +[245,211,30,Low,False,2023-08-04 02:54:29],
319 319  
320 -(% style="color:blue" %)**Lower limit:**
406 +[57,700,30,Low,False,2023-08-04 02:55:29],
321 321  
322 -The lower limit of the threshold cannot be less than 3mm.
408 +[361,164,30,Low,True,2023-08-04 02:56:00],
323 323  
410 +[337,184,30,Low,False,2023-08-04 02:56:40],
324 324  
325 -* **Set the person or object count mode: AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120**
412 +[20,4458,30,Low,False,2023-08-04 02:57:40],
326 326  
327 -Continuous measurement, detect and count people or things passing by in distance limit mode.
414 +[362,173,30,Low,False,2023-08-04 02:58:53],
328 328  
329 -[[image:image-20231209173457-5.png||height="277" width="1098"]]
330 330  
417 +**History read from serial port:**
331 331  
419 +[[image:image-20230805145056-3.png]]
332 332  
333 333  
334 -== 2.4 Decode payload in The Things Network ==
422 +=== 2.3.4 Decode payload in The Things Network ===
335 335  
336 336  
337 337  While using TTN network, you can add the payload format to decode the payload.
338 338  
339 -[[image:image-20231206143515-1.png||height="534" width="759"]]
427 +[[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"]]
340 340  
341 341  
342 342  (((
... ... @@ -348,7 +348,7 @@
348 348  )))
349 349  
350 350  
351 -== 2.5 ​Show Data in DataCake IoT Server ==
439 +== 2.4 ​Show Data in DataCake IoT Server ==
352 352  
353 353  
354 354  (((
... ... @@ -365,28 +365,96 @@
365 365  )))
366 366  
367 367  
368 -[[image:image-20231207153532-6.png||height="562" width="861"]]
456 +[[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"]]
369 369  
370 370  
371 -[[image:image-20231207155940-8.png]]
459 +[[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"]]
372 372  
373 -For more detailed instructions, refer to the following instructions: [[Welcome - Datacake Docs>>url:https://docs.datacake.de/]]
374 374  
375 -[[image:image-20231207160733-11.png||height="429" width="759"]]
376 -
377 -
378 378  (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
379 379  
380 380  (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
381 381  
382 -[[image:image-20231207160343-10.png||height="665" width="705"]]
466 +[[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"]]
383 383  
384 384  
385 385  After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
386 386  
387 -[[image:image-20231129100454-2.png||height="501" width="928"]]
471 +[[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"]]
388 388  
389 389  
474 +== 2.5 Datalog Feature ==
475 +
476 +
477 +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.
478 +
479 +
480 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
481 +
482 +
483 +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.
484 +
485 +* (((
486 +a) DS20L will do an ACK check for data records sending to make sure every data arrive server.
487 +)))
488 +* (((
489 +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.
490 +)))
491 +
492 +=== 2.5.2 Unix TimeStamp ===
493 +
494 +
495 +DS20L uses Unix TimeStamp format based on
496 +
497 +[[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"]]
498 +
499 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
500 +
501 +Below is the converter example
502 +
503 +[[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"]]
504 +
505 +
506 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
507 +
508 +
509 +=== 2.5.3 Set Device Time ===
510 +
511 +
512 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
513 +
514 +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).
515 +
516 +(% 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.**
517 +
518 +
519 +=== 2.5.4 Poll sensor value ===
520 +
521 +
522 +Users can poll sensor values based on timestamps. Below is the downlink command.
523 +
524 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
525 +|(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
526 +|(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
527 +|(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
528 +
529 +(((
530 +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.
531 +)))
532 +
533 +(((
534 +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"]]
535 +)))
536 +
537 +(((
538 +Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
539 +)))
540 +
541 +(((
542 +Uplink Internal =5s,means DS20L will send one packet every 5s. range 5~~255s.
543 +)))
544 +
545 +
390 390  == 2.6 Frequency Plans ==
391 391  
392 392  
... ... @@ -395,7 +395,7 @@
395 395  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
396 396  
397 397  
398 -= 3. Configure DS20L =
554 +3. Configure DS20L
399 399  
400 400  == 3.1 Configure Methods ==
401 401  
... ... @@ -467,7 +467,7 @@
467 467  Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
468 468  )))
469 469  * (((
470 -Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
626 +Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds 
471 471  
472 472  
473 473  
... ... @@ -490,7 +490,7 @@
490 490  the mode is 0 =Disable Interrupt
491 491  )))
492 492  |(% style="width:154px" %)(((
493 -AT+INTMOD=3
649 +AT+INTMOD=2
494 494  
495 495  (default)
496 496  )))|(% style="width:196px" %)(((
... ... @@ -511,94 +511,6 @@
511 511  
512 512  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
513 513  
514 -=== 3.3.3 Set work mode ===
515 -
516 -
517 -Feature: Switch working mode
518 -
519 -(% style="color:blue" %)**AT Command: AT+MOD**
520 -
521 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
522 -|=(% 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**
523 -|(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
524 -|(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
525 -OK
526 -Attention:Take effect after ATZ
527 -)))
528 -
529 -(% style="color:blue" %)**Downlink Command:**
530 -
531 -* **Example: **0x0A01 ~/~/  Same as AT+MOD=1
532 -
533 -* **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
534 -
535 -=== 3.3.4 Set threshold and threshold mode ===
536 -
537 -
538 -Feature, Set threshold and threshold mode
539 -
540 -When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
541 -
542 -(% style="color:blue" %)**AT Command: AT+DOL**
543 -
544 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
545 -|(% 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**
546 -|(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
547 -0,0,0,0,400
548 -OK
549 -)))
550 -|(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
551 -
552 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
553 -|(% rowspan="11" style="color:blue; width:120px" %)(((
554 -
555 -
556 -
557 -
558 -
559 -
560 -
561 -
562 -
563 -
564 -
565 -**AT+DOL=5,1800,0,0,400**
566 -)))|(% rowspan="4" style="width:240px" %)(((
567 -
568 -
569 -
570 -
571 -
572 -
573 -The first bit sets the limit mode
574 -)))|(% style="width:150px" %)0: Do not use upper and lower limits
575 -|(% style="width:251px" %)1: Use upper and lower limits
576 -|(% style="width:251px" %)2:Less than the upper limit
577 -|(% style="width:251px" %)3: Greater than the lower limit
578 -|(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
579 -|(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
580 -|(% 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
581 -|(% style="width:251px" %)1 Person or object counting statistics
582 -|(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
583 -100~~10000ms
584 -
585 -
586 -)))
587 -
588 -(% style="color:blue" %)**Downlink Command: 0x07**
589 -
590 -Format: Command Code (0x07) followed by 9 bytes.
591 -
592 -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.
593 -
594 -* Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+MOD=0,0,0,0,400
595 -
596 -* Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
597 -
598 -* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,1800100,0,400
599 -
600 -* Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,0,100,0,400
601 -
602 602  = 4. Battery & Power Consumption =
603 603  
604 604  
... ... @@ -635,33 +635,6 @@
635 635  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"]]
636 636  
637 637  
638 -== 6.2 DS20L programming line ==
639 -
640 -
641 -缺图 后续补上
642 -
643 -feature:
644 -
645 -for AT commands
646 -
647 -Update the firmware of DS20L
648 -
649 -Support interrupt mode
650 -
651 -
652 -== 6.3 LiDAR probe position ==
653 -
654 -
655 -[[image:1701155390576-216.png||height="285" width="307"]]
656 -
657 -The black oval hole in the picture is the LiDAR probe.
658 -
659 -
660 -== 6.4 Interface definition ==
661 -
662 -[[image:image-20231128151132-2.png||height="305" width="557"]]
663 -
664 -
665 665  = 7. Trouble Shooting =
666 666  
667 667  == 7.1 AT Command input doesn't work ==
1701152902759-553.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -52.2 KB
Content
1701152946067-561.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -52.2 KB
Content
1701155076393-719.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -54.6 KB
Content
1701155150328-206.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -54.6 KB
Content
1701155390576-216.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -293.9 KB
Content
image-20231128151132-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -281.2 KB
Content
image-20231129085201-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -70.6 KB
Content
image-20231129100454-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -70.1 KB
Content
image-20231206143515-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -89.5 KB
Content
image-20231206144950-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -41.0 KB
Content
image-20231206151412-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -58.8 KB
Content
image-20231206154621-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -71.2 KB
Content
image-20231206194804-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -53.7 KB
Content
image-20231206195704-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -64.1 KB
Content
image-20231207142208-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -27.2 KB
Content
image-20231207144600-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -55.4 KB
Content
image-20231207144837-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -31.1 KB
Content
image-20231207144856-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -31.1 KB
Content
image-20231207145121-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -33.3 KB
Content
image-20231207153532-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -164.7 KB
Content
image-20231207154046-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -23.0 KB
Content
image-20231207155940-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -41.7 KB
Content
image-20231207160053-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -95.5 KB
Content
image-20231207160343-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -80.5 KB
Content
image-20231207160733-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -136.0 KB
Content
image-20231209152917-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -65.9 KB
Content
image-20231209155616-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -57.1 KB
Content
image-20231209171127-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -80.8 KB
Content
image-20231209171549-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -45.7 KB
Content
image-20231209173457-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -66.3 KB
Content