<
From version < 6.2 >
edited by Xiaoling
on 2023/05/22 09:30
To version < 27.1 >
edited by Saxer Lin
on 2023/06/30 18:00
>
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
... ... @@ -71,7 +71,6 @@
71 71  * Wall Mountable
72 72  * Outdoor Use
73 73  
74 -
75 75  == 1.3 Specification ==
76 76  
77 77  
... ... @@ -105,7 +105,6 @@
105 105  * Sleep Mode: 5uA @ 3.3v
106 106  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
107 107  
108 -
109 109  == 1.4 Applications ==
110 110  
111 111  
... ... @@ -139,11 +139,10 @@
139 139  )))
140 140  |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means Device is in Deep Sleep Mode.
141 141  
142 -
143 143  == 1.7 BLE connection ==
144 144  
145 145  
146 -D2x-LB support BLE remote configure.
143 +DS03A-LB support BLE remote configure.
147 147  
148 148  
149 149  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:
... ... @@ -155,9 +155,13 @@
155 155  If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
156 156  
157 157  
158 -== 1.8 Mechanical ==
155 +== 1.8 Pin Definitions ==
159 159  
157 +[[image:image-20230630160843-7.png]]
160 160  
159 +== 1.9 Mechanical ==
160 +
161 +
161 161  [[image:Main.User Manual for LoRaWAN End Nodes.LDS03A - Outdoor LoRaWAN OpenClose Door Sensor Manual.WebHome@1654741444887-479.png||height="399" width="513"]]
162 162  
163 163  
... ... @@ -175,7 +175,7 @@
175 175  == 2.1 How it works ==
176 176  
177 177  
178 -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.
179 179  
180 180  
181 181  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -183,7 +183,7 @@
183 183  
184 184  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" %)
185 185  
186 -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.
187 187  
188 188  [[image:image-20230522092858-1.png||height="391" width="874"]]
189 189  
... ... @@ -234,6 +234,7 @@
234 234  
235 235  === 2.3.1 Device Status, FPORT~=5 ===
236 236  
238 +
237 237  Users can use the downlink command(**0x26 01**) to ask DS03A-LB to send device configure detail, include device configure status. DS03A-LB will uplink a payload via FPort=5 to server.
238 238  
239 239  The Payload format is as below.
... ... @@ -246,42 +246,42 @@
246 246  
247 247  Example parse in TTNv3
248 248  
249 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/image-20230415153147-2.png?rev=1.1||alt="图片-20230415153147-2.png" height="209" width="1063"]]
251 +[[image:image-20230630155406-1.png||height="190" width="873"]]
250 250  
251 251  
252 -(% 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
253 253  
254 254  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
255 255  
256 256  (% style="color:#037691" %)**Frequency Band**:
257 257  
258 -*0x01: EU868
260 +0x01: EU868
259 259  
260 -*0x02: US915
262 +0x02: US915
261 261  
262 -*0x03: IN865
264 +0x03: IN865
263 263  
264 -*0x04: AU915
266 +0x04: AU915
265 265  
266 -*0x05: KZ865
268 +0x05: KZ865
267 267  
268 -*0x06: RU864
270 +0x06: RU864
269 269  
270 -*0x07: AS923
272 +0x07: AS923
271 271  
272 -*0x08: AS923-1
274 +0x08: AS923-1
273 273  
274 -*0x09: AS923-2
276 +0x09: AS923-2
275 275  
276 -*0x0a: AS923-3
278 +0x0a: AS923-3
277 277  
278 -*0x0b: CN470
280 +0x0b: CN470
279 279  
280 -*0x0c: EU433
282 +0x0c: EU433
281 281  
282 -*0x0d: KR920
284 +0x0d: KR920
283 283  
284 -*0x0e: MA869
286 +0x0e: MA869
285 285  
286 286  
287 287  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -302,137 +302,249 @@
302 302  Ex2: 0x0B49 = 2889mV
303 303  
304 304  
305 -=== 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(%%) ===
306 306  
307 307  
308 -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.
309 309  
310 -* Every 2 hours, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
311 -* 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
312 312  
313 -Uplink Payload totals 11 bytes.
318 +
319 +)))|(% style="width:99px" %)(((
320 +Keep time1
314 314  
315 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
316 -|=(% colspan="5" style="background-color: rgb(217, 226, 243); color: rgb(0, 112, 192); width: 522px;" %)**Real-Time Open/Close Status, FPORT=2**
317 -|(% style="width:95px" %)**Size(bytes)**|(% style="width:78px" %)**1**|(% style="width:98px" %)**3**|(% style="width:144px" %)**3**|(% style="width:108px" %)**4**
318 -|(% style="width:95px" %)**Value**|(% style="width:78px" %)Status & [[Alarm>>||anchor="H3.3.4A0AlarmBaseonTimeout"]]|(% style="width:98px" %)Total open door events|(% style="width:144px" %)(((
319 -The last door open duration (unit: min)
320 -)))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
322 +(unit: sec)
323 +)))|(% style="width:87px" %)Keep status2|(% style="width:97px" %)(((
324 +Keep time2
321 321  
322 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:518.818px" %)
323 -|=(% colspan="4" style="background-color: rgb(217, 226, 243); color: rgb(0, 112, 192); width: 516px;" %)**Status & Alarm field**
324 -|(% style="width:76px" %)**Size(bit)**|(% style="width:70px" %)**6**|(% style="width:240px" %)**1**|(% style="width:130px" %)**1**
325 -|(% style="width:76px" %)**Value**|(% style="width:70px" %)Reserve|(% style="width:240px" %)[[Enable/disable Timeout Alarm>>||anchor="H3.3.3A0Enable2FDisableAlarm"]]
326 -0: No Alarm; 1: Alarm|(% style="width:130px" %)Status
327 -0: Close, 1: Open
326 +(unit: sec)
327 +)))|(% style="width:98px" %)(((
328 +Alarm interval
328 328  
329 -[[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 +)))
330 330  
333 +* (((
334 +(% style="color:blue" %)**TDC: (default: 0x001C20)**
335 +)))
331 331  
332 -=== 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.
333 333  
334 334  
335 -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 +)))
336 336  
337 -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.
338 338  
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 +
339 339  * (((
340 -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**
341 341  )))
342 342  
343 -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]]
344 344  
345 -1. (((
346 -**DR0**: max is 11 bytes so one entry of data
358 +[[image:image-20230630155527-3.png||height="146" width="902"]]
359 +
360 +
361 +* (((
362 +(% style="color:blue" %)**Alarm interval(default: 0)**
347 347  )))
348 -1. (((
349 -**DR1**: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
364 +
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
350 350  )))
351 -1. (((
352 -**DR2**: total payload includes 11 entries of data
353 -)))
354 -1. (((
355 -**DR3**: total payload includes 22 entries of data.
356 -)))
357 357  
358 -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"]]
359 359  
360 -[[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"]]
361 361  
362 -**Downlink:**
408 +2)When **AT+TTRCHANNEL=2**, Uplink Payload totals 18 bytes.
363 363  
364 -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
365 365  
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
366 366  
367 -**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)
368 368  
369 -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:**
370 370  
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
371 371  
372 -**Parsed Value:**
434 +(PA8)
435 +)))|(% style="width:171px" %)(((
436 +Status 0: Close; 1:Open
373 373  
374 -[ALARM, DOOR_OPEN_STATUS, DOOR_OPEN_TIMES,LAST_DOOR_OPEN_DURATION, TIME]
438 +(PA8)
439 +)))
375 375  
441 +**Status2 & Alarm2:**
376 376  
377 -[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
378 378  
379 -[FALSE, OPEN,  1, 0, 2021-11-12 12:36:34],
448 +(PA4)
449 +)))|(% style="width:175px" %)(((
450 +Status 0: Close,;1:Open
380 380  
381 -[FALSE, CLOSE, 1, 2, 2021-11-12 12:39:00],
452 +(PA4)
453 +)))
382 382  
383 -[FALSE, OPEN,  2, 2, 2021-11-12 12:39:17],
455 +[[image:image-20230630155908-6.png||height="295" width="927"]]
384 384  
385 -[FALSE, CLOSE, 2, 1, 2021-11-12 12:40:38],
386 386  
387 -[FALSE, CLOSE, 2, 1, 2021-11-12 14:35:19],
458 +=== 2.3.4  Historical Door Open/Close Event, FPORT~=3 ===
388 388  
389 -[FALSE, OPEN,  3, 1, 2021-11-12 14:50:32],
390 390  
391 -[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"]].
392 392  
393 -[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.
394 394  
395 -[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
396 396  
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"]]
397 397  
398 -=== 2.3.4  Sensor Configuration, FPORT~=4 ===
476 +**Status & Alarm:**
399 399  
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;
400 400  
401 -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;
402 402  
403 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
404 -|(% colspan="5" style="background-color:#d9e2f3; color:#0070c0; width:504px" %)**Sensor Configuration FPORT=4**
405 -|**Size(bytes)**|(% style="width:75px" %)**3**|(% style="width:77px" %)**1**|(% style="width:96px" %)**1**|(% style="width:158px" %)**2**
406 -|**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 +)))
407 407  
408 408  * (((
409 -(% 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.
410 410  )))
411 411  
412 -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:
413 413  
498 +(((
499 +**~1. DR0**: max is 11 bytes so one entry of data
500 +)))
414 414  
415 -* (((
416 -(% 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)
417 417  )))
418 418  
419 - **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 +)))
420 420  
421 - **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 +)))
422 422  
514 +If DS03A-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0
423 423  
424 -(% 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"]]
425 425  
518 +**Downlink:**
426 426  
427 -* (((
428 -(% style="color:blue" %)**Keep Status & Keep Time**
429 -)))
520 +0x31 64 9E 7D 34 64 9E 7E 9C 05
430 430  
431 -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]]
432 432  
433 -[[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:**
434 434  
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
435 435  
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 +
436 436  == 2.4 Payload Decoder file ==
437 437  
438 438  
... ... @@ -450,7 +450,9 @@
450 450  
451 451  (% 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.
452 452  
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.**
453 453  
569 +
454 454  === 2.5.1 Ways to get datalog via LoRaWAN ===
455 455  
456 456  
... ... @@ -541,11 +541,9 @@
541 541  == 2.8 ​Firmware Change Log ==
542 542  
543 543  
544 -**Firmware download link:**
660 +**Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/b0uwyzjs4px4eao/AADvI7fPRwsFKTglEmaRRuaaa?dl=0>>https://www.dropbox.com/sh/b0uwyzjs4px4eao/AADvI7fPRwsFKTglEmaRRuaaa?dl=0]]
545 545  
546 -[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
547 547  
548 -
549 549  = 3. Configure DS03A-LB =
550 550  
551 551  == 3.1 Configure Methods: ==
... ... @@ -557,9 +557,9 @@
557 557  * AT Command via UART Connection : See [[Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
558 558  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
559 559  
560 -
561 561  == 3.2 General Commands ==
562 562  
676 +
563 563  These commands are to configure:
564 564  
565 565  * General system settings like: uplink interval.
... ... @@ -584,7 +584,7 @@
584 584  (% style="color:blue" %)**AT Command: AT+TDC**
585 585  
586 586  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
587 -|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
701 +|=(% style="width: 156px;background-color:#D9E2F3; color:#0070c0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3; color:#0070c0" %)**Function**|=(% style="background-color:#D9E2F3; color:#0070c0" %)**Response**
588 588  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
589 589  30000
590 590  OK
... ... @@ -605,19 +605,9 @@
605 605  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
606 606  
607 607  
608 -=== 3.3.2 Get Device Status ===
722 +=== 3.3.2  Enable / Disable Alarm ===
609 609  
610 610  
611 -Send a LoRaWAN downlink to ask device send Alarm settings.
612 -
613 -* (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
614 -
615 -Sensor will upload Device Status via FPORT=5. See payload section for detail.
616 -
617 -
618 -=== 3.3.3  Enable / Disable Alarm ===
619 -
620 -
621 621  Feature: Enable/Disable Alarm for open/close event. Default value 0.
622 622  
623 623  (% style="color:blue" %)**AT Command: **
... ... @@ -634,7 +634,7 @@
634 634  0xA7 00  ~/~/ Same As AT+DISALARM=0
635 635  
636 636  
637 -=== 3.3.4  Alarm Base on Timeout ===
741 +=== 3.3.3  Alarm Base on Timeout ===
638 638  
639 639  
640 640  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:
... ... @@ -660,107 +660,72 @@
660 660  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.
661 661  
662 662  
663 -(% style="color:blue" %)**AT Command to configure:**
664 -
665 665  * (((
666 -(% 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.
768 +(% style="color:blue" %)**Downlink Command**
667 667  )))
668 668  
669 -* (((
670 -(% style="color:#037691" %)**AT+TTRIG=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
671 -)))
771 +(% style="color:#037691" %)**Command: 0xA9 aa bb cc dd**
672 672  
673 -(% style="color:blue" %)**Downlink Command to configure:**
674 -
675 -(% style="color:#037691" %)**Command: 0xA9 aa bb cc**
676 -
677 677  **A9:** Command Type Code
678 678  
679 -**aa:** status to be monitored
775 +**aa: **01:TTRIG1; 02:TTRIG2
680 680  
681 -**bb cc:** timeout.
777 +**bb:** status to be monitored
682 682  
779 +**cc dd:** timeout.
683 683  
684 -If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
685 685  
686 -Or
782 +1)**AT+TTRIG1**:(PA8 of pin)
687 687  
688 -0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
784 +(% style="color:blue" %)**AT Command to configure:**
689 689  
786 +* (((
787 +(% 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.
690 690  
691 -=== 3.3.5  Count Mod ===
789 +(% 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.
790 +)))
692 692  
792 +* (((
793 +(% style="color:#037691" %)**AT+TTRIG1=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
693 693  
694 -(% style="color:blue" %)**AT Command:**
695 695  
696 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
697 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 277px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 88px;background-color:#D9E2F3;color:#0070C0" %)**Response**
698 -|(% style="width:155px" %)(((
699 -AT+COUNTMOD=0
700 -)))|(% style="width:277px" %)(((
701 -the count value keeps accumulating mode
702 -)))|(% style="width:86px" %)(((
703 -OK
796 +
704 704  )))
705 -|(% style="width:155px" %)(((
706 -AT+COUNTMOD=1
707 -)))|(% style="width:277px" %)(((
708 -the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)
709 -)))|(% style="width:86px" %)(((
710 -OK
711 -)))
712 712  
713 -(% style="color:blue" %)**Downlink Command:**
799 +(% style="color:blue" %)**Downlink Command to configure:**
714 714  
715 -Example 0B a => AT+COUNTMOD = second byte
801 +If user send 0xA9 01 01 00 1E: equal to AT+TTRIG1=1,30 or
716 716  
803 + 0xA9 01 00 00 00: Equal to AT+TTRIG1=0,0.
717 717  
718 -=== 3.3.6  Interrupt Pin Channel Mod ===
719 719  
806 +2)**AT+TTRIG2**:(PA4 of pin,need to use AT+TTRCHANNEL=2)
720 720  
721 -(% style="color:blue" %)**AT Command:**
808 +(% style="color:blue" %)**AT Command to configure:**
722 722  
723 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
724 -|=(% 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**
725 -|(% style="width:155px" %)(((
726 -AT+TTRCHANNEL=1
727 -)))|(% style="width:288px" %)(((
728 -set as single channel, only use PB14 pin as interrupt pin.
729 -)))|(% style="width:44px" %)(((
730 -OK
810 +* (((
811 +(% 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.
812 +
813 +(% 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.
731 731  )))
732 -|(% style="width:155px" %)(((
733 -AT+TTRCHANNEL=2
734 -)))|(% style="width:288px" %)(((
735 -is set as dual channel, use PB14 pin and PB15 pin as interrupt pin.
736 -)))|(% style="width:44px" %)(((
737 -OK
738 -)))
739 739  
740 -(% style="color:blue" %)**Downlink Command:**
816 +* (((
817 +(% style="color:#037691" %)**AT+TTRIG2=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
741 741  
742 -Example:  0D aa => AT+TTRCHANNEL = second byte
743 743  
820 +
821 +)))
744 744  
745 -=== 3.3.7  Change the name of AT+TTRIG to AT+TTRIG1 ===
823 +(% style="color:blue" %)**Downlink Command to configure:**
746 746  
825 +If user send 0xA9 02 00 00 1E: equal to AT+TTRIG2=0,30 or
747 747  
748 -(% style="color:blue" %)**Downlink Command:**
827 + 0xA9 02 00 00 00: Equal to AT+TTRIG2=0,0.
749 749  
750 -Example:  A9 01 aa bb cc  => AT+TTRIG1= third byte, 4th byte and 5th byte
751 751  
830 +=== 3.3.4  TTRIG1 & TTRIG2 timeout status alarm ===
752 752  
753 -=== 3.3.8  Added AT+TTRIG2 for PB15 pin ===
754 754  
755 -
756 -(% style="color:blue" %)**Downlink Command:**
757 -
758 -Example: A9 02 aa bb cc  => AT+TTRIG2= third byte, 4th byte and 5th byte
759 -
760 -
761 -=== 3.3.9  TTRIG1/2 timeout status alarm ===
762 -
763 -
764 764  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.
765 765  
766 766  (% style="color:blue" %)**AT Command:**
... ... @@ -787,33 +787,64 @@
787 787  Example:  0C aa  => AT+TTRALARM= aa
788 788  
789 789  
790 -=== 3.3.10  Select counting mode ===
859 +=== 3.3.5  Count Mod ===
791 791  
792 792  
793 -(% style="color:blue" %)**AT+TTRMODx=a,b**
862 +Feature: Manually set the count mode.
794 794  
795 -When (% style="color:#037691" %)**a=0**(%%), the door is opened to count, and when (% style="color:#037691" %)**a=1**(%%),the closed door is counted.
864 +(% style="color:blue" %)**AT Command:**
796 796  
797 -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.
866 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
867 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 277px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 88px;background-color:#D9E2F3;color:#0070C0" %)**Response**
868 +|(% style="width:155px" %)(((
869 +AT+COUNTMOD=0
870 +)))|(% style="width:277px" %)(((
871 +the count value keeps accumulating mode
872 +)))|(% style="width:86px" %)(((
873 +OK
874 +)))
875 +|(% style="width:155px" %)(((
876 +AT+COUNTMOD=1
877 +)))|(% style="width:277px" %)(((
878 +the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)
879 +)))|(% style="width:86px" %)(((
880 +OK
881 +)))
798 798  
883 +(% style="color:blue" %)**Downlink Command:**
884 +
885 +Example:  0B aa  => AT+COUNTMOD = second byte
886 +
887 +
888 +=== 3.3.6 Number of channel of door sensors ===
889 +
890 +
891 +Feature: Set the number of door sensor channels.
892 +
799 799  (% style="color:blue" %)**AT Command:**
800 800  
801 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
802 -|=(% 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**
895 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
896 +|=(% 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**
803 803  |(% style="width:155px" %)(((
804 -AT+TTRMODx=1,0
805 -)))|(% style="width:278px" %)Door closed count and record the last door opened duration|(% style="width:85px" %)(((
898 +AT+TTRCHANNEL=1
899 +)))|(% style="width:259px" %)(((
900 +Set as single channel, only use PA8 pin as interrupt pin.
901 +)))|(% style="width:44px" %)(((
806 806  OK
807 807  )))
808 808  |(% style="width:155px" %)(((
809 -AT+TTRMODx=0,1
810 -)))|(% style="width:278px" %)(((
811 -Door opened count and record the last door Door Door open closed duration
812 -)))|(% style="width:85px" %)(((
905 +AT+TTRCHANNEL=2
906 +)))|(% style="width:259px" %)(((
907 +Set as dual channel, use PA8 pin and PA4 pin as interrupt pin.
908 +)))|(% style="width:44px" %)(((
813 813  OK
814 814  )))
815 815  
912 +(% style="color:blue" %)**Downlink Command:**
816 816  
914 +Example:  0D aa => AT+TTRCHANNEL = second byte
915 +
916 +
817 817  = 4. Battery & Power Consumption =
818 818  
819 819  
... ... @@ -834,12 +834,11 @@
834 834  Firmware and changelog can be downloaded from : **[[Firmware download link>>http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
835 835  
836 836  
837 -Methods to Update Firmware:
937 +**Methods to Update Firmware:**
838 838  
839 -* (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/]]
840 -* 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]]**.
939 +* (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/]]**
940 +* 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]]**.
841 841  
842 -
843 843  = 6. FAQ =
844 844  
845 845  
... ... @@ -867,7 +867,6 @@
867 867  
868 868  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
869 869  
870 -
871 871  = 8. ​Packing Info =
872 872  
873 873  
... ... @@ -885,7 +885,6 @@
885 885  
886 886  * Weight / pcs : g
887 887  
888 -
889 889  = 9. Support =
890 890  
891 891  
image-20230522093256-3.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +34.5 KB
Content
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