<
From version < 7.7 >
edited by Xiaoling
on 2023/05/22 16:40
To version < 28.1 >
edited by Saxer Lin
on 2023/07/01 09:13
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Saxer
Content
... ... @@ -140,7 +140,7 @@
140 140  == 1.7 BLE connection ==
141 141  
142 142  
143 -D2x-LB support BLE remote configure.
143 +DS03A-LB support BLE remote configure.
144 144  
145 145  
146 146  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:
... ... @@ -152,9 +152,13 @@
152 152  If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
153 153  
154 154  
155 -== 1.8 Mechanical ==
155 +== 1.8 Pin Definitions ==
156 156  
157 +[[image:image-20230630160843-7.png]]
157 157  
159 +== 1.9 Mechanical ==
160 +
161 +
158 158  [[image:Main.User Manual for LoRaWAN End Nodes.LDS03A - Outdoor LoRaWAN OpenClose Door Sensor Manual.WebHome@1654741444887-479.png||height="399" width="513"]]
159 159  
160 160  
... ... @@ -172,7 +172,7 @@
172 172  == 2.1 How it works ==
173 173  
174 174  
175 -The DS03A-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 DS03A-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
179 +The DS03A-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 DS03A-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 2 hours.
176 176  
177 177  
178 178  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -180,7 +180,7 @@
180 180  
181 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. (% style="display:none" %)
182 182  
183 -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.
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.
184 184  
185 185  [[image:image-20230522092858-1.png||height="391" width="874"]]
186 186  
... ... @@ -244,42 +244,42 @@
244 244  
245 245  Example parse in TTNv3
246 246  
247 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/image-20220609104802-1.png?rev=1.1||alt="image-20220609104802-1.png" height="393" width="1195"]]
251 +[[image:image-20230630155406-1.png||height="190" width="873"]]
248 248  
249 249  
250 -(% style="color:#037691" %)**Sensor Model**(%%): For DS03A-LB, this value is 0x0B
254 +(% style="color:#037691" %)**Sensor Model**(%%): For DS03A-LB, this value is 0x1B
251 251  
252 252  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
253 253  
254 254  (% style="color:#037691" %)**Frequency Band**:
255 255  
256 -*0x01: EU868
260 +0x01: EU868
257 257  
258 -*0x02: US915
262 +0x02: US915
259 259  
260 -*0x03: IN865
264 +0x03: IN865
261 261  
262 -*0x04: AU915
266 +0x04: AU915
263 263  
264 -*0x05: KZ865
268 +0x05: KZ865
265 265  
266 -*0x06: RU864
270 +0x06: RU864
267 267  
268 -*0x07: AS923
272 +0x07: AS923
269 269  
270 -*0x08: AS923-1
274 +0x08: AS923-1
271 271  
272 -*0x09: AS923-2
276 +0x09: AS923-2
273 273  
274 -*0x0a: AS923-3
278 +0x0a: AS923-3
275 275  
276 -*0x0b: CN470
280 +0x0b: CN470
277 277  
278 -*0x0c: EU433
282 +0x0c: EU433
279 279  
280 -*0x0d: KR920
284 +0x0d: KR920
281 281  
282 -*0x0e: MA869
286 +0x0e: MA869
283 283  
284 284  
285 285  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -300,140 +300,249 @@
300 300  Ex2: 0x0B49 = 2889mV
301 301  
302 302  
303 -=== 2.3.2  Real-Time Open/Close Status, Uplink FPORT~=2 ===
307 +=== (% style="color:inherit; font-family:inherit; font-size:23px" %)2.3.2  Sensor Configuration, FPORT~=4(%%) ===
304 304  
305 305  
306 -DS03A-LB will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS03A-LB will send uplinks when:
310 +DS03A-LB will only send this command after getting the downlink command (0x26 02) from the server.
307 307  
308 -* Every 2 hours, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
309 -* There is an Open/Close event.  (This info can be disabled by AT+DISALARM=1)
312 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:723px" %)
313 +|(% colspan="8" style="background-color:#d9e2f3; color:#0070c0; width:721px" %)**Sensor Configuration FPORT=4**
314 +|**Size(bytes)**|(% style="width:75px" %)**3**|(% style="width:77px" %)**1**|(% style="width:96px" %)**1**|(% style="width:99px" %)**2**|(% style="width:87px" %)**1**|(% style="width:97px" %)**2**|(% style="width:98px" %)**1**
315 +|**Value**|(% style="width:75px" %)TDC (unit:sec)|(% style="width:77px" %)Disalarm|(% style="width:96px" %)(((
316 +Keep status1
310 310  
311 -Uplink Payload totals 11 bytes.
318 +
319 +)))|(% style="width:99px" %)(((
320 +Keep time1
312 312  
313 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
314 -|=(% colspan="5" style="background-color: rgb(217, 226, 243); color: rgb(0, 112, 192); width: 522px;" %)**Real-Time Open/Close Status, FPORT=2**
315 -|(% style="width:95px" %)**Size(bytes)**|(% style="width:78px" %)**1**|(% style="width:98px" %)**3**|(% style="width:144px" %)**3**|(% style="width:108px" %)**4**
316 -|(% style="width:95px" %)**Value**|(% style="width:78px" %)Status & [[Alarm>>||anchor="H3.3.4A0AlarmBaseonTimeout"]]|(% style="width:98px" %)Total open door events|(% style="width:144px" %)(((
317 -The last door open duration (unit: min)
318 -)))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
322 +(unit: sec)
323 +)))|(% style="width:87px" %)Keep status2|(% style="width:97px" %)(((
324 +Keep time2
319 319  
320 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:518.818px" %)
321 -|=(% colspan="4" style="background-color: rgb(217, 226, 243); color: rgb(0, 112, 192); width: 516px;" %)**Status & Alarm field**
322 -|(% style="width:76px" %)**Size(bit)**|(% style="width:70px" %)**6**|(% style="width:240px" %)**1**|(% style="width:130px" %)**1**
323 -|(% style="width:76px" %)**Value**|(% style="width:70px" %)Reserve|(% style="width:240px" %)[[Enable/disable Timeout Alarm>>||anchor="H3.3.3A0Enable2FDisableAlarm"]]
324 -0: No Alarm; 1: Alarm|(% style="width:130px" %)Status
325 -0: Close, 1: Open
326 +(unit: sec)
327 +)))|(% style="width:98px" %)(((
328 +Alarm interval
326 326  
327 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/image-20220609110547-6.png?width=1191&height=337&rev=1.1||alt="image-20220609110547-6.png" height="337" width="1191"]]
330 +(unit: min)
331 +)))
328 328  
333 +* (((
334 +(% style="color:blue" %)**TDC: (default: 0x001C20)**
335 +)))
329 329  
330 -=== 2.3.3  Historical Door Open/Close Event, FPORT~=3 ===
337 +Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
331 331  
332 332  
333 -DS03A-LB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]].
340 +* (((
341 +(% style="color:blue" %)**Disalarm: (default: 0)**
342 +)))
334 334  
335 -The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
344 + **If Disalarm = 1**, DS03A-LB will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many open/close event, and platform only care about the total number of pulse.
336 336  
346 + **If Disalarm = 0**, DS03A-LB will send uplink at every TDC periodically and send data on each open/close event. This is useful for the application user need to monitor the open/close event in real-time.
347 +
348 +
349 +(% style="color:red" %)** Note: When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast. **
350 +
351 +
337 337  * (((
338 -Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.2A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, DS03A-LB will send max bytes according to the current DR and Frequency bands.
353 +(% style="color:blue" %)**Keep Status1 & Keep Time1 & Keep Status2 & Keep Time2**
339 339  )))
340 340  
341 -For example, in the US915 band, the max payload for different DR is:
356 +Shows the configure value of [[Alarm Base on Timeout Feature>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/#H3.8A0AlarmBaseonTimeout]]
342 342  
343 -(((
344 -**~1. DR0**: max is 11 bytes so one entry of data
345 -)))
358 +[[image:image-20230630155527-3.png||height="146" width="902"]]
346 346  
347 -(((
348 -**2. DR1**: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
349 -)))
350 350  
351 -(((
352 -**3. DR2**: total payload includes 11 entries of data
361 +* (((
362 +(% style="color:blue" %)**Alarm interval(default: 0)**
353 353  )))
354 354  
355 -(((
356 -**4. DR3**: total payload includes 22 entries of data.
365 +When the state of the door sensor has not been changed after the timeout alarm, the device will send a uplink every alarm interval. It will stop the alarm until the state of the door sensor is changed after the timeout alarm.
366 +
367 +
368 +=== 2.3.3  Real-Time Open/Close Status, Uplink FPORT~=2 ===
369 +
370 +
371 +DS03A-LB will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS03A-LB will send uplinks when:
372 +
373 +* Every 2 hours, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
374 +* There is an Open/Close event.  (This info can be disabled by AT+DISALARM=1)
375 +
376 +1)When **AT+TTRCHANNEL=1**, Uplink Payload totals 11 bytes. (**Default mode**)
377 +
378 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
379 +|=(% colspan="5" style="background-color:#D9E2F3;color:#0070C0;width:515px" %)**Real-Time Open/Close Status, FPORT=2**
380 +|(% style="width:94px" %)**Size(bytes)**|(% style="width:97px" %)**1**|(% style="width:95px" %)**3**|(% style="width:119px" %)**3**|(% style="width:107px" %)**4**
381 +|(% style="width:95px" %)**Value**|(% style="width:97px" %)(((
382 +Status
383 +
384 +&[[Alarm>>||anchor="H3.3.4A0AlarmBaseonTimeout"]]
385 +)))|(% style="width:95px" %)Total open door events|(% style="width:119px" %)(((
386 +The last door open duration (unit: sec)
387 +)))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
388 +
389 +**Status & Alarm:**
390 +
391 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:645px" %)
392 +|(% style="background-color:#d9e2f3; color:#0070c0; width:59px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:79px" %)**[bit7:bit4]**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**bit3**|(% style="background-color:#d9e2f3; color:#0070c0; width:106px" %)**bit2**|(% style="background-color:#d9e2f3; color:#0070c0; width:125px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:129px" %)**bit0**
393 +|(% style="width:76px" %)**Value**|(% style="width:96px" %)Reserve|(% style="width:110px" %)(((
394 +Count mod
395 +)))|(% style="width:106px" %)TDC flag 0:No;1:Yes|(% style="width:125px" %)(((
396 +0: No Alarm;
397 +
398 +1: Alarm
399 +)))|(% style="width:129px" %)(((
400 +Status 0: Close;
401 +
402 +1: Open
357 357  )))
358 358  
359 -If DS03A-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0
405 +[[image:image-20230630155451-2.png||height="246" width="928"]]
360 360  
361 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/image-20220609112215-7.png?width=1250&height=277&rev=1.1||alt="image-20220609112215-7.png" height="277" width="1250"]]
362 362  
363 -**Downlink:**
408 +2)When **AT+TTRCHANNEL=2**, Uplink Payload totals 18 bytes.
364 364  
365 -0x31 61 8E 57 40 61 8E 81 70 05
410 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:819px" %)
411 +|=(% colspan="8" style="background-color: rgb(217, 226, 243); color: rgb(0, 112, 192); width: 817px;" %)**Real-Time Open/Close Status, FPORT=2**
412 +|(% style="width:94px" %)**Size(bytes)**|(% style="width:97px" %)**1**|(% style="width:95px" %)**3**|(% style="width:125px" %)**3**|(% style="width:100px" %)**4**|(% style="width:86px" %)**1**|(% style="width:96px" %)**3**|(% style="width:126px" %)**3**
413 +|(% style="width:95px" %)**Value**|(% style="width:97px" %)(((
414 +Status1
366 366  
416 +&[[Alarm>>||anchor="H3.3.4A0AlarmBaseonTimeout"]]1
417 +)))|(% style="width:95px" %)Total open door events1|(% style="width:125px" %)(((
418 +The last door open duration1 (unit: sec)
419 +)))|(% style="width:100px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]|(% style="width:86px" %)(((
420 +Status2
367 367  
368 -**Uplink:**
422 +&[[Alarm>>||anchor="H3.3.4A0AlarmBaseonTimeout"]]2
423 +)))|(% style="width:96px" %)Total open door events2|(% style="width:126px" %)The last door open duration2 (unit: sec)
369 369  
370 -00 00 00 00 00 00 00 61 8E 5F 8F 01 00 00 01 00 00 00 61 8E 5F D2 00 00 00 01 00 00 02 61 8E 60 64 01 00 00 02 00 00 02 61 8E 60 75 00 00 00 02 00 00 01 61 8E 60 C6 00 00 00 02 00 00 01 61 8E 7B A7 01 00 00 03 00 00 01 61 8E 7F 38 00 00 00 03 00 00 02 61 8E 7F CE 01 00 00 04 00 00 02 61 8E 81 1B 00 00 00 04 00 00 00 61 8E 81 50
425 +**Status1 & Alarm1:**
371 371  
427 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:730px" %)
428 +|(% style="background-color:#d9e2f3; color:#0070c0; width:59px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:79px" %)**[bit7:bit4]**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**bit3**|(% style="background-color:#d9e2f3; color:#0070c0; width:106px" %)**bit2**|(% style="background-color:#d9e2f3; color:#0070c0; width:167px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:171px" %)**bit0**
429 +|(% style="width:76px" %)**Value**|(% style="width:96px" %)Reserve|(% style="width:110px" %)(((
430 +Count mod
431 +)))|(% style="width:106px" %)TDC flag 0:No;1:Yes|(% style="width:167px" %)(((
432 +0: No Alarm; 1: Alarm
372 372  
373 -**Parsed Value:**
434 +(PA8)
435 +)))|(% style="width:171px" %)(((
436 +Status 0: Close; 1:Open
374 374  
375 -[ALARM, DOOR_OPEN_STATUS, DOOR_OPEN_TIMES,LAST_DOOR_OPEN_DURATION, TIME]
438 +(PA8)
439 +)))
376 376  
441 +**Status2 & Alarm2:**
377 377  
378 -[FALSE, CLOSE, 0, 0, 2021-11-12 12:35:27],
443 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:550px" %)
444 +|(% style="background-color:#d9e2f3; color:#0070c0; width:59px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:113px" %)**[bit7:bit2]**|(% style="background-color:#d9e2f3; color:#0070c0; width:176px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:175px" %)**bit0**
445 +|(% style="width:76px" %)**Value**|(% style="width:113px" %)Reserve|(% style="width:176px" %)(((
446 +0: No Alarm; 1: Alarm
379 379  
380 -[FALSE, OPEN,  1, 0, 2021-11-12 12:36:34],
448 +(PA4)
449 +)))|(% style="width:175px" %)(((
450 +Status 0: Close,;1:Open
381 381  
382 -[FALSE, CLOSE, 1, 2, 2021-11-12 12:39:00],
452 +(PA4)
453 +)))
383 383  
384 -[FALSE, OPEN,  2, 2, 2021-11-12 12:39:17],
455 +[[image:image-20230630155908-6.png||height="295" width="927"]]
385 385  
386 -[FALSE, CLOSE, 2, 1, 2021-11-12 12:40:38],
387 387  
388 -[FALSE, CLOSE, 2, 1, 2021-11-12 14:35:19],
458 +=== 2.3.4  Historical Door Open/Close Event, FPORT~=3 ===
389 389  
390 -[FALSE, OPEN,  3, 1, 2021-11-12 14:50:32],
391 391  
392 -[FALSE, CLOSE, 3, 2, 2021-11-12 14:53:02],
461 +DS03A-LB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]].
393 393  
394 -[FALSE, OPEN,  4, 2, 2021-11-12 14:58:35],
463 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
395 395  
396 -[FALSE, CLOSE, 4, 0, 2021-11-12 14:59:28],
465 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
466 +|=(% colspan="5" style="background-color:#D9E2F3;color:#0070C0;width:515px" %)**Real-Time Open/Close Status, FPORT=3**
467 +|(% style="width:94px" %)**Size(bytes)**|(% style="width:97px" %)**1**|(% style="width:95px" %)**3**|(% style="width:119px" %)**3**|(% style="width:107px" %)**4**
468 +|(% style="width:95px" %)**Value**|(% style="width:97px" %)(((
469 +Status
397 397  
471 +&[[Alarm>>||anchor="H3.3.4A0AlarmBaseonTimeout"]]
472 +)))|(% style="width:95px" %)Total open door events|(% style="width:119px" %)(((
473 +The last door open duration (unit: sec)
474 +)))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
398 398  
399 -=== 2.3.4  Sensor Configuration, FPORT~=4 ===
476 +**Status & Alarm:**
400 400  
478 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:755px" %)
479 +|(% style="background-color:#d9e2f3; color:#0070c0; width:59px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:88px" %)**bit7**|(% style="background-color:#d9e2f3; color:#0070c0; width:92px" %)**bit6**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**[bit5:bit4]**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**bit3**|(% style="background-color:#d9e2f3; color:#0070c0; width:95px" %)**bit2**|(% style="background-color:#d9e2f3; color:#0070c0; width:116px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:112px" %)**bit0**
480 +|(% style="width:76px" %)**Value**|(% style="width:88px" %)No ACK message|(% style="width:92px" %)Poll Message Flag|(% style="width:89px" %)Reserve|(% style="width:90px" %)(((
481 +Count mod
482 +)))|(% style="width:95px" %)TDC flag 0:No;1:Yes|(% style="width:116px" %)(((
483 +0: No Alarm;
401 401  
402 -DS03A-LB will only send this command after getting the downlink command (0x26 02) from the server.
485 +1: Alarm
486 +)))|(% style="width:112px" %)(((
487 +Status 0:Close;
403 403  
404 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
405 -|(% colspan="5" style="background-color:#d9e2f3; color:#0070c0; width:504px" %)**Sensor Configuration FPORT=4**
406 -|**Size(bytes)**|(% style="width:75px" %)**3**|(% style="width:77px" %)**1**|(% style="width:96px" %)**1**|(% style="width:158px" %)**2**
407 -|**Value**|(% style="width:75px" %)TDC (unit:sec)|(% style="width:77px" %)Disalarm|(% style="width:96px" %)Keep status|(% style="width:158px" %)Keep time (unit: min)
489 +1: Open
490 +)))
408 408  
409 409  * (((
410 -(% style="color:blue" %)**TDC: (default: 0x001C20)**
493 +Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.2A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, DS03A-LB will send max bytes according to the current DR and Frequency bands.
411 411  )))
412 412  
413 -Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
496 +For example, in the US915 band, the max payload for different DR is:
414 414  
498 +(((
499 +**~1. DR0**: max is 11 bytes so one entry of data
500 +)))
415 415  
416 -* (((
417 -(% style="color:blue" %)**Disalarm: (default: 0)**
502 +(((
503 +**2. DR1**: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
418 418  )))
419 419  
420 - **If Disalarm = 1**, DS03A-LB will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many open/close event, and platform only care about the total number of pulse.
506 +(((
507 +**3. DR2**: total payload includes 11 entries of data
508 +)))
421 421  
422 - **If Disalarm = 0**, DS03A-LB will send uplink at every TDC periodically and send data on each open/close event. This is useful for the application user need to monitor the open/close event in real-time.
510 +(((
511 +**4. DR3**: total payload includes 22 entries of data.
512 +)))
423 423  
514 +If DS03A-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0
424 424  
425 -(% style="color:red" %)** Note: When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast. **
516 +[[image:image-20230630155556-4.png||height="146" width="938"]]
426 426  
518 +**Downlink:**
427 427  
428 -* (((
429 -(% style="color:blue" %)**Keep Status & Keep Time**
430 -)))
520 +0x31 64 9E 7D 34 64 9E 7E 9C 05
431 431  
432 -Shows the configure value of [[Alarm Base on Timeout Feature>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/#H3.8A0AlarmBaseonTimeout]]
433 433  
434 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/image-20220609110018-4.png?width=1159&height=291&rev=1.1||alt="image-20220609110018-4.png" height="291" width="1159"]]
523 +**Uplink:**
435 435  
525 +45 00 00 00 00 00 00 64 9E 7D 48 40 00 00 00 00 00 63 64 9E 7D 9C 41 00 00 01 00 00 63 64 9E 7D A4 40 00 00 01 00 00 8D 64 9E 7E 31 43 00 00 02 00 00 8D 64 9E 7E 44 48 00 00 02 00 00 1F 64 9E 7E 59 4B 00 00 03 00 00 1F 64 9E 7E 6B
436 436  
527 +
528 +**Parsed Value:**
529 +
530 +[COUNTMOD, TDC_FLAG, ALARM,  DOOR_STATUS, DOOR_OPEN_TIMES, LAST_DOOR_OPEN_DURATION, TIME]
531 +
532 +
533 +[SUM,YES,FALSE,OPEN,0,0,2023-06-30 06:59:20],
534 +
535 +[SUM,NO,FALSE,CLOSE,0,99,2023-06-30 07:00:44],
536 +
537 +[SUM,NO,FALSE,OPEN, 1,99,2023-06-30 07:00:52],
538 +
539 +[SUM,NO,FALSE,CLOSE,1,141,2023-06-30 07:03:13],
540 +
541 +[SUM,NO,TRUE,OPEN, 2,141,2023-06-30 07:03:32],
542 +
543 +[PART,NO,FALSE,CLOSE,2,31,2023-06-30 07:03:53],
544 +
545 +[PART,NO,TRUE,OPEN, 3,31,2023-06-30 07:04:11],
546 +
547 +[[image:image-20230630172740-1.png||height="199" width="868"]]
548 +
549 +
437 437  == 2.4 Payload Decoder file ==
438 438  
439 439  
... ... @@ -451,7 +451,9 @@
451 451  
452 452  (% style="color:blue" %)**Datalog Feature** (%%)is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DS03A-LB will store the reading for future retrieving purposes.
453 453  
567 +(% style="color:red" %)**Note:After the device is reset,in cumulative counting mode,the last stored count value will be read as the initial value.**
454 454  
569 +
455 455  === 2.5.1 Ways to get datalog via LoRaWAN ===
456 456  
457 457  
... ... @@ -603,19 +603,9 @@
603 603  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
604 604  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
605 605  
606 -=== 3.3.2 Get Device Status ===
721 +=== 3.3.2  Enable / Disable Alarm ===
607 607  
608 608  
609 -Send a LoRaWAN downlink to ask device send Alarm settings.
610 -
611 -* (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
612 -
613 -Sensor will upload Device Status via FPORT=5. See payload section for detail.
614 -
615 -
616 -=== 3.3.3  Enable / Disable Alarm ===
617 -
618 -
619 619  Feature: Enable/Disable Alarm for open/close event. Default value 0.
620 620  
621 621  (% style="color:blue" %)**AT Command: **
... ... @@ -632,7 +632,7 @@
632 632  0xA7 00  ~/~/ Same As AT+DISALARM=0
633 633  
634 634  
635 -=== 3.3.4  Alarm Base on Timeout ===
740 +=== 3.3.3  Alarm Base on Timeout ===
636 636  
637 637  
638 638  DS03A-LB can monitor the timeout for a status change, this feature can be used to monitor some events such as door opening too long etc. Related Parameters are:
... ... @@ -658,37 +658,103 @@
658 658  If (% style="color:#037691" %)**keep time > 0**(%%), device will monitor the keep status event and send an alarm when status doesn't change after timeout.
659 659  
660 660  
766 +* (((
767 +(% style="color:blue" %)**Downlink Command**
768 +)))
769 +
770 +(% style="color:#037691" %)**Command: 0xA9 aa bb cc dd**
771 +
772 +**A9:** Command Type Code
773 +
774 +**aa: **01:TTRIG1; 02:TTRIG2
775 +
776 +**bb:** status to be monitored
777 +
778 +**cc dd:** timeout.
779 +
780 +
781 +1)**AT+TTRIG1**:(PA8 of pin)
782 +
661 661  (% style="color:blue" %)**AT Command to configure:**
662 662  
663 663  * (((
664 -(% style="color:#037691" %)**AT+TTRIG=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. LDS03A will send an uplink packet, the [[Alarm bit>>||anchor="H2.3.2A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]] (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
786 +(% style="color:#037691" %)**AT+TTRIG1=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. DS03A-LB will send an uplink packet, the Alarm1 bit(the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
787 +
788 +(% style="color:#037691" %)**AT+TTRIG1=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in open status for more than 30 seconds. DS03A-LB will send an uplink packet, the Alarm1 bit (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
665 665  )))
666 666  
667 667  * (((
668 -(% style="color:#037691" %)**AT+TTRIG=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
792 +(% style="color:#037691" %)**AT+TTRIG1=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
793 +
794 +
795 +
669 669  )))
670 670  
671 671  (% style="color:blue" %)**Downlink Command to configure:**
672 672  
673 -(% style="color:#037691" %)**Command: 0xA9 aa bb cc**
800 +If user send 0xA9 01 01 00 1E: equal to AT+TTRIG1=1,30 or
674 674  
675 -**A9:** Command Type Code
802 + 0xA9 01 00 00 00: Equal to AT+TTRIG1=0,0.
676 676  
677 -**aa:** status to be monitored
678 678  
679 -**bb cc:** timeout.
805 +2)**AT+TTRIG2**:(PA4 of pin,need to use AT+TTRCHANNEL=2)
680 680  
807 +(% style="color:blue" %)**AT Command to configure:**
681 681  
682 -If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
809 +* (((
810 +(% style="color:#037691" %)**AT+TTRIG2=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. DS03A-LB will send an uplink packet, the Alarm2 bit (the second bit of 12^^st^^ byte of payload) on this uplink packet is set to 1.
683 683  
684 -Or
812 +(% style="color:#037691" %)**AT+TTRIG2=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in open status for more than 30 seconds. DS03A-LB will send an uplink packet, the Alarm2 bit (the second bit of 12^^st^^ byte of payload) on this uplink packet is set to 1.
813 +)))
685 685  
686 -0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
815 +* (((
816 +(% style="color:#037691" %)**AT+TTRIG2=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
687 687  
688 688  
819 +
820 +)))
821 +
822 +(% style="color:blue" %)**Downlink Command to configure:**
823 +
824 +If user send 0xA9 02 00 00 1E: equal to AT+TTRIG2=0,30 or
825 +
826 + 0xA9 02 00 00 00: Equal to AT+TTRIG2=0,0.
827 +
828 +
829 +=== 3.3.4  TTRIG1 & TTRIG2 timeout status alarm ===
830 +
831 +
832 +It needs to be used with AT+TTRIG1 or AT+TTRIG2. When TTRIG1 or TTRIG2 times out and causes an alarm, and the status does not change subsequently, an alarm packet will be sent at the alarm interval.
833 +
834 +(% style="color:blue" %)**AT Command:**
835 +
836 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
837 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 279px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 76px;background-color:#D9E2F3;color:#0070C0" %)**Response**
838 +|(% style="width:155px" %)(((
839 +AT+TTRALARM=0
840 +)))|(% style="width:279px" %)(((
841 +disable continuous alarm
842 +)))|(% style="width:84px" %)(((
843 +OK
844 +)))
845 +|(% style="width:155px" %)(((
846 +AT+TTRALARM=60
847 +)))|(% style="width:279px" %)(((
848 +The alarm interval is 60 minutes (unit: minutes)
849 +)))|(% style="width:84px" %)(((
850 +OK
851 +)))
852 +
853 +(% style="color:blue" %)**Downlink Command:**
854 +
855 +Example:  0C aa  => AT+TTRALARM= aa
856 +
857 +
689 689  === 3.3.5  Count Mod ===
690 690  
691 691  
861 +Feature: Manually set the count mode.
862 +
692 692  (% style="color:blue" %)**AT Command:**
693 693  
694 694  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
... ... @@ -713,24 +713,26 @@
713 713  Example:  0B aa  => AT+COUNTMOD = second byte
714 714  
715 715  
716 -=== 3.3.6  Interrupt Pin Channel Mod ===
887 +=== 3.3.6 Number of channel of door sensors ===
717 717  
718 718  
890 +Feature: Set the number of door sensor channels.
891 +
719 719  (% style="color:blue" %)**AT Command:**
720 720  
721 721  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
722 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 288px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 57px;background-color:#D9E2F3;color:#0070C0" %)**Response**
895 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 259px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 57px;background-color:#D9E2F3;color:#0070C0" %)**Response**
723 723  |(% style="width:155px" %)(((
724 724  AT+TTRCHANNEL=1
725 -)))|(% style="width:288px" %)(((
726 -set as single channel, only use PB14 pin as interrupt pin.
898 +)))|(% style="width:259px" %)(((
899 +Set as single channel, only use PA8 pin as interrupt pin.
727 727  )))|(% style="width:44px" %)(((
728 728  OK
729 729  )))
730 730  |(% style="width:155px" %)(((
731 731  AT+TTRCHANNEL=2
732 -)))|(% style="width:288px" %)(((
733 -is set as dual channel, use PB14 pin and PB15 pin as interrupt pin.
905 +)))|(% style="width:259px" %)(((
906 +Set as dual channel, use PA8 pin and PA4 pin as interrupt pin.
734 734  )))|(% style="width:44px" %)(((
735 735  OK
736 736  )))
... ... @@ -740,77 +740,92 @@
740 740  Example:  0D aa => AT+TTRCHANNEL = second byte
741 741  
742 742  
743 -=== 3.3.7  Change the name of AT+TTRIG to AT+TTRIG1 ===
916 +=== 3.3.7 Set Time Sync Mode ===
744 744  
745 745  
746 -(% style="color:blue" %)**Downlink Command:**
919 +Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply to this command.
747 747  
748 -Example A9 01 aa bb cc  => AT+TTRIG1= third byte, 4th byte and 5th byte
921 +SYNCMOD is set to 1 by default. If user wants to set a different time from the LoRaWAN server, the user needs to set this to 0.
749 749  
923 +(% style="color:blue" %)**AT Command:**
750 750  
751 -=== 3.3.8  Added AT+TTRIG2 for PB15 pin ===
925 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
926 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 259px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 57px;background-color:#D9E2F3;color:#0070C0" %)**Response**
927 +|(% style="width:155px" %)(((
928 +AT+SYNCMOD=1
929 +)))|(% style="width:259px" %)(((
930 +Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) The default is zero time zone.
931 +)))|(% style="width:44px" %)(((
932 +OK
933 +)))
934 +|(% style="width:155px" %)(((
935 +AT+SYNCMOD=1,8
936 +)))|(% style="width:259px" %)(((
937 +Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to East eight time zone.
938 +)))|(% style="width:44px" %)(((
939 +OK
940 +)))
941 +|(% style="width:155px" %)AT+SYNCMOD=1,-12|(% style="width:259px" %)Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to West Twelve Time Zone.|(% style="width:44px" %)OK
752 752  
753 -
754 754  (% style="color:blue" %)**Downlink Command:**
755 755  
756 -Example: A9 02 aa bb cc  => AT+TTRIG2= third byte, 4th byte and 5th byte
945 +0x28 0 ~/~/ Same As AT+SYNCMOD=1
757 757  
947 +0x28 01 08  ~/~/ Same As AT+SYNCMOD=1,8
758 758  
759 -=== 3.3.9  TTRIG1/2 timeout status alarm ===
949 +0x28 01 F4  ~/~/ Same As AT+SYNCMOD=1,-12
760 760  
951 +0x28 00  ~/~/ Same As AT+SYNCMOD=0
761 761  
762 -It needs to be used with AT+TTRIG1 or AT+TTRIG2. When TTRIG1 or TTRIG2 times out and causes an alarm, and the status does not change subsequently, an alarm packet will be sent at the alarm interval.
763 763  
954 +=== 3.3.8 Clear the door open count and the duration of the last door open ===
955 +
956 +
764 764  (% style="color:blue" %)**AT Command:**
765 765  
766 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
767 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 279px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 76px;background-color:#D9E2F3;color:#0070C0" %)**Response**
768 -|(% style="width:155px" %)(((
769 -AT+TTRALARM=0
770 -)))|(% style="width:279px" %)(((
771 -disable continuous alarm
772 -)))|(% style="width:84px" %)(((
959 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
960 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 259px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 57px;background-color:#D9E2F3;color:#0070C0" %)**Response**
961 +|(% style="width:155px" %)AT+CLRC|(% style="width:259px" %)clear the leak count and the duration of the last leak.|(% style="width:44px" %)(((
773 773  OK
774 774  )))
775 -|(% style="width:155px" %)(((
776 -AT+TTRALARM=60
777 -)))|(% style="width:279px" %)(((
778 -The alarm interval is 60 minutes (unit: minutes)
779 -)))|(% style="width:84px" %)(((
780 -OK
781 -)))
782 782  
783 -(% style="color:blue" %)**Downlink Command:**
965 +(% style="color:blue" %)**Downlink Command:**(%%)0xA6 01
784 784  
785 -Example 0C aa  => AT+TTRALARM= aa
967 +The sensor will clear the door open count and the duration of the last door open.
786 786  
787 787  
788 -=== 3.3.10  Select counting mode ===
970 +=== 3.3.9 Set the count value of the number of door open ===
789 789  
790 790  
791 -(% style="color:blue" %)**AT+TTRMODx=a,b**
792 -
793 -When (% style="color:#037691" %)**a=0**(%%), the door is opened to count, and when (% style="color:#037691" %)**a=1**(%%),the closed door is counted.
794 -
795 -When (% style="color:#037691" %)**b=0**(%%), it is the last door open duration, and when (% style="color:#037691" %)**b=1**(%%),the last door close duration.
796 -
797 797  (% style="color:blue" %)**AT Command:**
798 798  
799 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
800 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 278px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 77px;background-color:#D9E2F3;color:#0070C0" %)**Response**
975 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
976 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 259px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 57px;background-color:#D9E2F3;color:#0070C0" %)**Response**
801 801  |(% style="width:155px" %)(((
802 -AT+TTRMODx=1,0
803 -)))|(% style="width:278px" %)Door closed count and record the last door opened duration|(% style="width:85px" %)(((
978 +AT+SETCNT=1,100
979 +)))|(% style="width:259px" %)(((
980 +Set the door open times of PA8 pin to 100 times.
981 +)))|(% style="width:44px" %)(((
804 804  OK
805 805  )))
984 +|(% style="width:155px" %)AT+SETCNT=1,0|(% style="width:259px" %)Clear the door open times of PA8 pin.|(% style="width:44px" %)OK
806 806  |(% style="width:155px" %)(((
807 -AT+TTRMODx=0,1
808 -)))|(% style="width:278px" %)(((
809 -Door opened count and record the last door Door Door open closed duration
810 -)))|(% style="width:85px" %)(((
986 +AT+SETCNT=2,50
987 +)))|(% style="width:259px" %)(((
988 +Set the door open times of PA4 pin to 100 times.
989 +)))|(% style="width:44px" %)(((
811 811  OK
812 812  )))
813 813  
993 +(% style="color:blue" %)**Downlink Command:**
994 +
995 +0xA6 01 00 00 64  ==>  AT+SETCNT=1,100
996 +
997 +0xA6 01 00 00 00  ==>  AT+SETCNT=1,0
998 +
999 +0xA6 02 00 00 32  ==>  AT+SETCNT=2,50
1000 +
1001 +
814 814  = 4. Battery & Power Consumption =
815 815  
816 816  
... ... @@ -831,10 +831,10 @@
831 831  Firmware and changelog can be downloaded from : **[[Firmware download link>>http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
832 832  
833 833  
834 -Methods to Update Firmware:
1022 +**Methods to Update Firmware:**
835 835  
836 -* (Recommanded way) OTA firmware update via wireless: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
837 -* Update through UART TTL interface. **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
1024 +* (Recommanded way) OTA firmware update via wireless:** [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
1025 +* Update through UART TTL interface**[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
838 838  
839 839  = 6. FAQ =
840 840  
image-20230630155406-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +41.8 KB
Content
image-20230630155451-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +77.2 KB
Content
image-20230630155527-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +39.2 KB
Content
image-20230630155556-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +38.4 KB
Content
image-20230630155751-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +37.1 KB
Content
image-20230630155908-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +90.8 KB
Content
image-20230630160843-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +511.7 KB
Content
image-20230630172740-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +37.1 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0