<
From version < 4.17 >
edited by Xiaoling
on 2023/05/16 10:16
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
... ... @@ -51,8 +51,12 @@
51 51  )))
52 52  
53 53  
54 +[[image:image-20230522092934-2.png||height="346" width="774"]]
55 +
56 +
54 54  == 1.2 ​Features ==
55 55  
59 +
56 56  * LoRaWAN 1.0.3 Class A
57 57  * Ultra-low power consumption
58 58  * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
... ... @@ -69,6 +69,7 @@
69 69  
70 70  == 1.3 Specification ==
71 71  
76 +
72 72  (% style="color:#037691" %)**Common DC Characteristics:**
73 73  
74 74  * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
... ... @@ -101,6 +101,7 @@
101 101  
102 102  == 1.4 Applications ==
103 103  
109 +
104 104  [[image:Main.User Manual for LoRaWAN End Nodes.LDS03A - Outdoor LoRaWAN OpenClose Door Sensor Manual.WebHome@1654741400370-813.png]]
105 105  
106 106  
... ... @@ -134,7 +134,7 @@
134 134  == 1.7 BLE connection ==
135 135  
136 136  
137 -D2x-LB support BLE remote configure.
143 +DS03A-LB support BLE remote configure.
138 138  
139 139  
140 140  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:
... ... @@ -146,9 +146,13 @@
146 146  If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
147 147  
148 148  
149 -== 1.8 Mechanical ==
155 +== 1.8 Pin Definitions ==
150 150  
157 +[[image:image-20230630160843-7.png]]
151 151  
159 +== 1.9 Mechanical ==
160 +
161 +
152 152  [[image:Main.User Manual for LoRaWAN End Nodes.LDS03A - Outdoor LoRaWAN OpenClose Door Sensor Manual.WebHome@1654741444887-479.png||height="399" width="513"]]
153 153  
154 154  
... ... @@ -166,7 +166,7 @@
166 166  == 2.1 How it works ==
167 167  
168 168  
169 -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.
170 170  
171 171  
172 172  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -174,9 +174,11 @@
174 174  
175 175  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" %)
176 176  
177 -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.
178 178  
189 +[[image:image-20230522092858-1.png||height="391" width="874"]]
179 179  
191 +
180 180  (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS03A-LB.
181 181  
182 182  Each DS03A-LB is shipped with a sticker with the default device EUI as below:
... ... @@ -223,6 +223,7 @@
223 223  
224 224  === 2.3.1 Device Status, FPORT~=5 ===
225 225  
238 +
226 226  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.
227 227  
228 228  The Payload format is as below.
... ... @@ -235,42 +235,42 @@
235 235  
236 236  Example parse in TTNv3
237 237  
238 -[[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"]]
239 239  
240 240  
241 -(% 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
242 242  
243 243  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
244 244  
245 245  (% style="color:#037691" %)**Frequency Band**:
246 246  
247 -*0x01: EU868
260 +0x01: EU868
248 248  
249 -*0x02: US915
262 +0x02: US915
250 250  
251 -*0x03: IN865
264 +0x03: IN865
252 252  
253 -*0x04: AU915
266 +0x04: AU915
254 254  
255 -*0x05: KZ865
268 +0x05: KZ865
256 256  
257 -*0x06: RU864
270 +0x06: RU864
258 258  
259 -*0x07: AS923
272 +0x07: AS923
260 260  
261 -*0x08: AS923-1
274 +0x08: AS923-1
262 262  
263 -*0x09: AS923-2
276 +0x09: AS923-2
264 264  
265 -*0x0a: AS923-3
278 +0x0a: AS923-3
266 266  
267 -*0x0b: CN470
280 +0x0b: CN470
268 268  
269 -*0x0c: EU433
282 +0x0c: EU433
270 270  
271 -*0x0d: KR920
284 +0x0d: KR920
272 272  
273 -*0x0e: MA869
286 +0x0e: MA869
274 274  
275 275  
276 276  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -291,138 +291,249 @@
291 291  Ex2: 0x0B49 = 2889mV
292 292  
293 293  
294 -=== 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(%%) ===
295 295  
296 296  
297 -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.
298 298  
299 -* Every 2 hours, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
300 -* 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
301 301  
302 -Uplink Payload totals 11 bytes.
318 +
319 +)))|(% style="width:99px" %)(((
320 +Keep time1
303 303  
304 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
305 -|=(% colspan="5" style="background-color: rgb(217, 226, 243); color: rgb(0, 112, 192); width: 522px;" %)**Real-Time Open/Close Status, FPORT=2**
306 -|(% style="width:95px" %)**Size(bytes)**|(% style="width:78px" %)**1**|(% style="width:98px" %)**3**|(% style="width:144px" %)**3**|(% style="width:108px" %)**4**
307 -|(% style="width:95px" %)**Value**|(% style="width:78px" %)Status & [[Alarm>>||anchor="H3.3.4A0AlarmBaseonTimeout"]]|(% style="width:98px" %)Total open door events|(% style="width:144px" %)(((
308 -The last door open duration (unit: min)
309 -)))|(% style="width:108px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
322 +(unit: sec)
323 +)))|(% style="width:87px" %)Keep status2|(% style="width:97px" %)(((
324 +Keep time2
310 310  
326 +(unit: sec)
327 +)))|(% style="width:98px" %)(((
328 +Alarm interval
311 311  
312 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:518.818px" %)
313 -|=(% colspan="4" style="background-color: rgb(217, 226, 243); color: rgb(0, 112, 192); width: 516px;" %)**Status & Alarm field**
314 -|(% style="width:76px" %)**Size(bit)**|(% style="width:70px" %)**6**|(% style="width:240px" %)**1**|(% style="width:130px" %)**1**
315 -|(% style="width:76px" %)**Value**|(% style="width:70px" %)Reserve|(% style="width:240px" %)[[Enable/disable Timeout Alarm>>||anchor="H3.3.3A0Enable2FDisableAlarm"]]
316 -0: No Alarm; 1: Alarm|(% style="width:130px" %)Status
317 -0: Close, 1: Open
330 +(unit: min)
331 +)))
318 318  
319 -[[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"]]
333 +* (((
334 +(% style="color:blue" %)**TDC: (default: 0x001C20)**
335 +)))
320 320  
337 +Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
321 321  
322 -=== 2.3.3  Historical Door Open/Close Event, FPORT~=3 ===
323 323  
340 +* (((
341 +(% style="color:blue" %)**Disalarm: (default: 0)**
342 +)))
324 324  
325 -DS03A-LB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]].
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.
326 326  
327 -The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
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.
328 328  
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 +
329 329  * (((
330 -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**
331 331  )))
332 332  
333 -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]]
334 334  
335 -1. (((
336 -**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)**
337 337  )))
338 -1. (((
339 -**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
340 340  )))
341 -1. (((
342 -**DR2**: total payload includes 11 entries of data
343 -)))
344 -1. (((
345 -**DR3**: total payload includes 22 entries of data.
346 -)))
347 347  
348 -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"]]
349 349  
350 -[[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"]]
351 351  
352 -**Downlink:**
408 +2)When **AT+TTRCHANNEL=2**, Uplink Payload totals 18 bytes.
353 353  
354 -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
355 355  
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
356 356  
357 -**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)
358 358  
359 -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:**
360 360  
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
361 361  
362 -**Parsed Value:**
434 +(PA8)
435 +)))|(% style="width:171px" %)(((
436 +Status 0: Close; 1:Open
363 363  
364 -[ALARM, DOOR_OPEN_STATUS, DOOR_OPEN_TIMES,LAST_DOOR_OPEN_DURATION, TIME]
438 +(PA8)
439 +)))
365 365  
441 +**Status2 & Alarm2:**
366 366  
367 -[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
368 368  
369 -[FALSE, OPEN,  1, 0, 2021-11-12 12:36:34],
448 +(PA4)
449 +)))|(% style="width:175px" %)(((
450 +Status 0: Close,;1:Open
370 370  
371 -[FALSE, CLOSE, 1, 2, 2021-11-12 12:39:00],
452 +(PA4)
453 +)))
372 372  
373 -[FALSE, OPEN,  2, 2, 2021-11-12 12:39:17],
455 +[[image:image-20230630155908-6.png||height="295" width="927"]]
374 374  
375 -[FALSE, CLOSE, 2, 1, 2021-11-12 12:40:38],
376 376  
377 -[FALSE, CLOSE, 2, 1, 2021-11-12 14:35:19],
458 +=== 2.3.4  Historical Door Open/Close Event, FPORT~=3 ===
378 378  
379 -[FALSE, OPEN,  3, 1, 2021-11-12 14:50:32],
380 380  
381 -[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"]].
382 382  
383 -[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.
384 384  
385 -[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
386 386  
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"]]
387 387  
388 -=== 2.3.4  Sensor Configuration, FPORT~=4 ===
476 +**Status & Alarm:**
389 389  
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;
390 390  
391 -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;
392 392  
393 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
394 -|(% colspan="5" style="background-color:#d9e2f3; color:#0070c0; width:504px" %)**Sensor Configuration FPORT=4**
395 -|**Size(bytes)**|(% style="width:75px" %)**3**|(% style="width:77px" %)**1**|(% style="width:96px" %)**1**|(% style="width:158px" %)**2**
396 -|**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 +)))
397 397  
398 398  * (((
399 -(% 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.
400 400  )))
401 401  
402 -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:
403 403  
498 +(((
499 +**~1. DR0**: max is 11 bytes so one entry of data
500 +)))
404 404  
405 -* (((
406 -(% 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)
407 407  )))
408 408  
409 - **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 +)))
410 410  
411 - **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 +)))
412 412  
514 +If DS03A-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0
413 413  
414 -(% 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"]]
415 415  
518 +**Downlink:**
416 416  
417 -* (((
418 -(% style="color:blue" %)**Keep Status & Keep Time**
419 -)))
520 +0x31 64 9E 7D 34 64 9E 7E 9C 05
420 420  
421 -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]]
422 422  
423 -[[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:**
424 424  
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
425 425  
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 +
426 426  == 2.4 Payload Decoder file ==
427 427  
428 428  
... ... @@ -440,7 +440,9 @@
440 440  
441 441  (% 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.
442 442  
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.**
443 443  
569 +
444 444  === 2.5.1 Ways to get datalog via LoRaWAN ===
445 445  
446 446  
... ... @@ -531,11 +531,9 @@
531 531  == 2.8 ​Firmware Change Log ==
532 532  
533 533  
534 -**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]]
535 535  
536 -[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
537 537  
538 -
539 539  = 3. Configure DS03A-LB =
540 540  
541 541  == 3.1 Configure Methods: ==
... ... @@ -549,6 +549,7 @@
549 549  
550 550  == 3.2 General Commands ==
551 551  
676 +
552 552  These commands are to configure:
553 553  
554 554  * General system settings like: uplink interval.
... ... @@ -573,7 +573,7 @@
573 573  (% style="color:blue" %)**AT Command: AT+TDC**
574 574  
575 575  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
576 -|=(% 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**
577 577  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
578 578  30000
579 579  OK
... ... @@ -593,19 +593,10 @@
593 593  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
594 594  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
595 595  
596 -=== 3.3.2 Get Device Status ===
597 597  
722 +=== 3.3.2  Enable / Disable Alarm ===
598 598  
599 -Send a LoRaWAN downlink to ask device send Alarm settings.
600 600  
601 -* (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
602 -
603 -Sensor will upload Device Status via FPORT=5. See payload section for detail.
604 -
605 -
606 -=== 3.3.3  Enable / Disable Alarm ===
607 -
608 -
609 609  Feature: Enable/Disable Alarm for open/close event. Default value 0.
610 610  
611 611  (% style="color:blue" %)**AT Command: **
... ... @@ -622,7 +622,7 @@
622 622  0xA7 00  ~/~/ Same As AT+DISALARM=0
623 623  
624 624  
625 -=== 3.3.4  Alarm Base on Timeout ===
741 +=== 3.3.3  Alarm Base on Timeout ===
626 626  
627 627  
628 628  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:
... ... @@ -648,107 +648,72 @@
648 648  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.
649 649  
650 650  
651 -(% style="color:blue" %)**AT Command to configure:**
652 -
653 653  * (((
654 -(% 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**
655 655  )))
656 656  
657 -* (((
658 -(% style="color:#037691" %)**AT+TTRIG=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
659 -)))
771 +(% style="color:#037691" %)**Command: 0xA9 aa bb cc dd**
660 660  
661 -(% style="color:blue" %)**Downlink Command to configure:**
662 -
663 -(% style="color:#037691" %)**Command: 0xA9 aa bb cc**
664 -
665 665  **A9:** Command Type Code
666 666  
667 -**aa:** status to be monitored
775 +**aa: **01:TTRIG1; 02:TTRIG2
668 668  
669 -**bb cc:** timeout.
777 +**bb:** status to be monitored
670 670  
779 +**cc dd:** timeout.
671 671  
672 -If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
673 673  
674 -Or
782 +1)**AT+TTRIG1**:(PA8 of pin)
675 675  
676 -0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
784 +(% style="color:blue" %)**AT Command to configure:**
677 677  
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.
678 678  
679 -=== 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 +)))
680 680  
792 +* (((
793 +(% style="color:#037691" %)**AT+TTRIG1=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
681 681  
682 -(% style="color:blue" %)**AT Command:**
683 683  
684 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
685 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 277px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 86px;background-color:#D9E2F3;color:#0070C0" %)**Response**
686 -|(% style="width:155px" %)(((
687 -AT+COUNTMOD=0
688 -)))|(% style="width:277px" %)(((
689 -the count value keeps accumulating mode
690 -)))|(% style="width:86px" %)(((
691 -OK
796 +
692 692  )))
693 -|(% style="width:155px" %)(((
694 -AT+COUNTMOD=1
695 -)))|(% style="width:277px" %)(((
696 -the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)
697 -)))|(% style="width:86px" %)(((
698 -OK
699 -)))
700 700  
701 -(% style="color:blue" %)**Downlink Command:**
799 +(% style="color:blue" %)**Downlink Command to configure:**
702 702  
703 -Example 0B a => AT+COUNTMOD = second byte
801 +If user send 0xA9 01 01 00 1E: equal to AT+TTRIG1=1,30 or
704 704  
803 + 0xA9 01 00 00 00: Equal to AT+TTRIG1=0,0.
705 705  
706 -=== 3.3.6  Interrupt Pin Channel Mod ===
707 707  
806 +2)**AT+TTRIG2**:(PA4 of pin,need to use AT+TTRCHANNEL=2)
708 708  
709 -(% style="color:blue" %)**AT Command:**
808 +(% style="color:blue" %)**AT Command to configure:**
710 710  
711 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
712 -|=(% 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**
713 -|(% style="width:155px" %)(((
714 -AT+TTRCHANNEL=1
715 -)))|(% style="width:288px" %)(((
716 -set as single channel, only use PB14 pin as interrupt pin.
717 -)))|(% style="width:44px" %)(((
718 -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.
719 719  )))
720 -|(% style="width:155px" %)(((
721 -AT+TTRCHANNEL=2
722 -)))|(% style="width:288px" %)(((
723 -is set as dual channel, use PB14 pin and PB15 pin as interrupt pin.
724 -)))|(% style="width:44px" %)(((
725 -OK
726 -)))
727 727  
728 -(% style="color:blue" %)**Downlink Command:**
816 +* (((
817 +(% style="color:#037691" %)**AT+TTRIG2=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
729 729  
730 -Example:  0D aa => AT+TTRCHANNEL = second byte
731 731  
820 +
821 +)))
732 732  
733 -=== 3.3.7  Change the name of AT+TTRIG to AT+TTRIG1 ===
823 +(% style="color:blue" %)**Downlink Command to configure:**
734 734  
825 +If user send 0xA9 02 00 00 1E: equal to AT+TTRIG2=0,30 or
735 735  
736 -(% style="color:blue" %)**Downlink Command:**
827 + 0xA9 02 00 00 00: Equal to AT+TTRIG2=0,0.
737 737  
738 -Example:  A9 01 aa bb cc  => AT+TTRIG1= third byte, 4th byte and 5th byte
739 739  
830 +=== 3.3.4  TTRIG1 & TTRIG2 timeout status alarm ===
740 740  
741 -=== 3.3.8  Added AT+TTRIG2 for PB15 pin ===
742 742  
743 -
744 -(% style="color:blue" %)**Downlink Command:**
745 -
746 -Example: A9 02 aa bb cc  => AT+TTRIG2= third byte, 4th byte and 5th byte
747 -
748 -
749 -=== 3.3.9  TTRIG1/2 timeout status alarm ===
750 -
751 -
752 752  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.
753 753  
754 754  (% style="color:blue" %)**AT Command:**
... ... @@ -775,32 +775,64 @@
775 775  Example:  0C aa  => AT+TTRALARM= aa
776 776  
777 777  
778 -=== 3.3.9  Select counting mode ===
859 +=== 3.3.5  Count Mod ===
779 779  
780 780  
781 -(% style="color:blue" %)**AT+TTRMODx=a,b**
862 +Feature: Manually set the count mode.
782 782  
783 -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:**
784 784  
785 -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 +)))
786 786  
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 +
787 787  (% style="color:blue" %)**AT Command:**
788 788  
789 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
790 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 278px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 85px;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**
791 791  |(% style="width:155px" %)(((
792 -AT+TTRMODx=1,0
793 -)))|(% 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" %)(((
794 794  OK
795 795  )))
796 796  |(% style="width:155px" %)(((
797 -AT+TTRMODx=0,1
798 -)))|(% style="width:278px" %)(((
799 -Door opened count and record the last door Door Door open closed duration
800 -)))|(% 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" %)(((
801 801  OK
802 802  )))
803 803  
912 +(% style="color:blue" %)**Downlink Command:**
913 +
914 +Example:  0D aa => AT+TTRCHANNEL = second byte
915 +
916 +
804 804  = 4. Battery & Power Consumption =
805 805  
806 806  
... ... @@ -821,10 +821,10 @@
821 821  Firmware and changelog can be downloaded from : **[[Firmware download link>>http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
822 822  
823 823  
824 -Methods to Update Firmware:
937 +**Methods to Update Firmware:**
825 825  
826 -* (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/]]
827 -* 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]]**.
828 828  
829 829  = 6. FAQ =
830 830  
image-20230522092858-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +156.5 KB
Content
image-20230522092934-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +156.5 KB
Content
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