Last modified by Xiaoling on 2025/07/10 16:21

From version 92.1
edited by Mengting Qiu
on 2024/05/13 13:37
Change comment: There is no comment for this version
To version 123.2
edited by Xiaoling
on 2025/04/01 16:43
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ting
1 +XWiki.Xiaoling
Content
... ... @@ -41,7 +41,7 @@
41 41  )))
42 42  
43 43  (((
44 -PS-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery **(%%)or (% style="color:blue" %)**solar powered + li-on battery **(%%), it is designed for long term use up to 5 years.
44 +PS-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery **(%%)or (% style="color:blue" %)**solar powered + Li-ion battery **(%%), it is designed for long term use up to 5 years.
45 45  )))
46 46  
47 47  (((
... ... @@ -67,7 +67,7 @@
67 67  * Downlink to change configure
68 68  * Controllable 3.3v,5v and 12v output to power external sensor
69 69  * 8500mAh Li/SOCl2 Battery (PS-LB)
70 -* Solar panel + 3000mAh Li-on battery (PS-LS)
70 +* Solar panel + 3000mAh Li-ion battery (PS-LS)
71 71  
72 72  == 1.3 Specification ==
73 73  
... ... @@ -136,26 +136,26 @@
136 136  === 1.4.2 Immersion Type ===
137 137  
138 138  
139 -[[image:image-20240109160445-5.png||height="284" width="214"]]
139 +[[image:image-20240109160445-5.png||height="221" width="166"]]
140 140  
141 141  * Immersion Type, Probe IP Level: IP68
142 142  * Measuring Range: Measure range can be customized, up to 100m.
143 143  * Accuracy: 0.2% F.S
144 144  * Long-Term Stability: ±0.2% F.S / Year
145 -* Storage temperature: -30~~80
146 -* Operating temperature: 0~~50
145 +* Storage temperature: -30°C~~80°C
146 +* Operating temperature: 0°C~~50°C
147 147  * Material: 316 stainless steels
148 148  
149 149  === 1.4.3 Wireless Differential Air Pressure Sensor ===
150 150  
151 -[[image:image-20240511174954-1.png]]
151 +[[image:image-20240511174954-1.png||height="215" width="215"]]
152 152  
153 153  * Measuring Range: -100KPa~~0~~100KPa(Optional measuring range).
154 154  * Accuracy: 0.5% F.S, resolution is 0.05%.
155 155  * Overload: 300% F.S
156 156  * Zero temperature drift: ±0.03%F.S/°C
157 -* Operating temperature: -20~~60
158 -* Storage temperature:  -20~~60
157 +* Operating temperature: -20°C~~60°C
158 +* Storage temperature:  -20°C~~60°C
159 159  * Compensation temperature: 0~~50°C
160 160  
161 161  == 1.5 Application and Installation ==
... ... @@ -163,7 +163,7 @@
163 163  === 1.5.1 Thread Installation Type ===
164 164  
165 165  
166 -(% style="color:blue" %)**Application:**
166 +Application:
167 167  
168 168  * Hydraulic Pressure
169 169  * Petrochemical Industry
... ... @@ -181,7 +181,7 @@
181 181  === 1.5.2 Immersion Type ===
182 182  
183 183  
184 -(% style="color:blue" %)**Application:**
184 +Application:
185 185  
186 186  Liquid & Water Pressure / Level detect.
187 187  
... ... @@ -200,12 +200,15 @@
200 200  
201 201  [[image:1675071776102-240.png]]
202 202  
203 +Size of immersion type water depth sensor:
203 203  
205 +[[image:image-20250401102131-1.png||height="268" width="707"]]
204 204  
207 +
205 205  === 1.5.3 Wireless Differential Air Pressure Sensor ===
206 206  
207 207  
208 -(% style="color:blue" %)**Application:**
211 +Application:
209 209  
210 210  Indoor Air Control & Filter clogging Detect.
211 211  
... ... @@ -229,28 +229,32 @@
229 229  == 1.6 Sleep mode and working mode ==
230 230  
231 231  
232 -(% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
235 +Deep Sleep Mode: Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
233 233  
234 -(% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
237 +Working Mode: In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
235 235  
236 236  
237 237  == 1.7 Button & LEDs ==
238 238  
239 239  
240 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LB_Waterproof_RS485UART_to_LoRaWAN_Converter/WebHome/image-20240103160425-4.png?rev=1.1||alt="image-20240103160425-4.png"]](% style="display:none" %)
243 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LB_Waterproof_RS485UART_to_LoRaWAN_Converter/WebHome/image-20240103160425-4.png?rev=1.1||alt="image-20240103160425-4.png"]]
241 241  
242 242  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
243 -|=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action**
246 +|=(% style="width: 167px;background-color:#4F81BD;color:white" %)Behavior on ACT|=(% style="width: 117px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 226px;background-color:#4F81BD;color:white" %)Action
244 244  |(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT between 1s < time < 3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)(((
245 -If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
248 +
249 +
250 +If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, blue led will blink once.
246 246  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
247 247  )))
248 248  |(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT for more than 3s|(% style="background-color:#f2f2f2; width:117px" %)Active Device|(% style="background-color:#f2f2f2; width:225px" %)(((
249 -(% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
250 -(% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
254 +
255 +
256 +Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network.
257 +Green led will solidly turn on for 5 seconds after joined in network.
251 251  Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
252 252  )))
253 -|(% style="background-color:#f2f2f2; width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode.
260 +|(% style="background-color:#f2f2f2; width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)Red led will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode.
254 254  
255 255  == 1.8 Pin Mapping ==
256 256  
... ... @@ -275,16 +275,16 @@
275 275  
276 276  == 1.10 Mechanical ==
277 277  
278 -=== 1.10.1 for LB version(% style="display:none" %) (%%) ===
285 +=== 1.10.1 for LB version ===
279 279  
280 280  
281 -[[image:image-20240109160800-6.png]]
288 +[[image:image-20250401163530-1.jpeg]]
282 282  
283 283  
284 284  === 1.10.2 for LS version ===
285 285  
286 286  
287 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/WebHome/image-20231231203439-3.png?width=886&height=385&rev=1.1||alt="image-20231231203439-3.png"]]
294 +[[image:image-20250401163539-2.jpeg]]
288 288  
289 289  
290 290  = 2. Configure PS-LB/LS to connect to LoRaWAN network =
... ... @@ -292,7 +292,7 @@
292 292  == 2.1 How it works ==
293 293  
294 294  
295 -The PS-LB/LS 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 activate the PS-LB/LS. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
302 +The PS-LB/LS is configured as 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 activate the PS-LB/LS. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
296 296  
297 297  
298 298  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -300,7 +300,6 @@
300 300  
301 301  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.
302 302  
303 -
304 304  [[image:1675144005218-297.png]]
305 305  
306 306  
... ... @@ -307,7 +307,7 @@
307 307  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.
308 308  
309 309  
310 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from PS-LB/LS.
316 +Step 1: Create a device in TTN with the OTAA keys from PS-LB/LS.
311 311  
312 312  Each PS-LB/LS is shipped with a sticker with the default device EUI as below:
313 313  
... ... @@ -317,32 +317,32 @@
317 317  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
318 318  
319 319  
320 -(% style="color:blue" %)**Register the device**
326 +Register the device
321 321  
322 322  [[image:1675144099263-405.png]]
323 323  
324 324  
325 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
331 +Add APP EUI and DEV EUI
326 326  
327 327  [[image:1675144117571-832.png]]
328 328  
329 329  
330 -(% style="color:blue" %)**Add APP EUI in the application**
336 +Add APP EUI in the application
331 331  
332 332  
333 333  [[image:1675144143021-195.png]]
334 334  
335 335  
336 -(% style="color:blue" %)**Add APP KEY**
342 +Add APP KEY
337 337  
338 338  [[image:1675144157838-392.png]]
339 339  
340 -(% style="color:blue" %)**Step 2:**(%%) Activate on PS-LB/LS
346 +Step 2: Activate on PS-LB/LS
341 341  
342 342  
343 343  Press the button for 5 seconds to activate the PS-LB/LS.
344 344  
345 -(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
351 +Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network. Green led will solidly turn on for 5 seconds after joined in network.
346 346  
347 347  After join success, it will start to upload messages to TTN and you can see the messages in the panel.
348 348  
... ... @@ -356,11 +356,10 @@
356 356  
357 357  Users can also use the downlink command(0x26 01) to ask PS-LB/LS to resend this uplink.
358 358  
359 -
360 360  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
361 -|(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
362 -|(% style="background-color:#f2f2f2; width:103px" %)**Size (bytes)**|(% style="background-color:#f2f2f2; width:72px" %)**1**|(% style="background-color:#f2f2f2" %)**2**|(% style="background-color:#f2f2f2; width:91px" %)**1**|(% style="background-color:#f2f2f2; width:86px" %)**1**|(% style="background-color:#f2f2f2; width:44px" %)**2**
363 -|(% style="background-color:#f2f2f2; width:103px" %)**Value**|(% style="background-color:#f2f2f2; width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2; width:91px" %)Frequency Band|(% style="background-color:#f2f2f2; width:86px" %)Sub-band|(% style="background-color:#f2f2f2; width:44px" %)BAT
366 +|(% colspan="6" style="background-color:#4f81bd; color:white" %)Device Status (FPORT=5)
367 +|(% style="background-color:#f2f2f2; width:103px" %)Size (bytes)|(% style="background-color:#f2f2f2; width:72px" %)1|(% style="background-color:#f2f2f2" %)2|(% style="background-color:#f2f2f2; width:91px" %)1|(% style="background-color:#f2f2f2; width:86px" %)1|(% style="background-color:#f2f2f2; width:44px" %)2
368 +|(% style="background-color:#f2f2f2; width:103px" %)Value|(% style="background-color:#f2f2f2; width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2; width:91px" %)Frequency Band|(% style="background-color:#f2f2f2; width:86px" %)Sub-band|(% style="background-color:#f2f2f2; width:44px" %)BAT
364 364  
365 365  Example parse in TTNv3
366 366  
... ... @@ -367,11 +367,11 @@
367 367  [[image:1675144504430-490.png]]
368 368  
369 369  
370 -(% style="color:#037691" %)**Sensor Model**(%%): For PS-LB/LS, this value is 0x16
375 +Sensor Model: For PS-LB/LS, this value is 0x16
371 371  
372 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
377 +Firmware Version: 0x0100, Means: v1.0.0 version
373 373  
374 -(% style="color:#037691" %)**Frequency Band**:
379 +Frequency Band:
375 375  
376 376  *0x01: EU868
377 377  
... ... @@ -402,7 +402,7 @@
402 402  *0x0e: MA869
403 403  
404 404  
405 -(% style="color:#037691" %)**Sub-Band**:
410 +Sub-Band:
406 406  
407 407  AU915 and US915:value 0x00 ~~ 0x08
408 408  
... ... @@ -411,7 +411,7 @@
411 411  Other Bands: Always 0x00
412 412  
413 413  
414 -(% style="color:#037691" %)**Battery Info**:
419 +Battery Info:
415 415  
416 416  Check the battery voltage.
417 417  
... ... @@ -426,10 +426,12 @@
426 426  Uplink payload includes in total 9 bytes.
427 427  
428 428  
429 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
434 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
430 430  |(% style="background-color:#4f81bd; color:white; width:97px" %)(((
431 -**Size(bytes)**
432 -)))|(% style="background-color:#4f81bd; color:white; width:48px" %)**2**|(% style="background-color:#4f81bd; color:white; width:71px" %)**2**|(% style="background-color:#4f81bd; color:white; width:98px" %)**2**|(% style="background-color:#4f81bd; color:white; width:73px" %)**2**|(% style="background-color:#4f81bd; color:white; width:122px" %)**1**
436 +
437 +
438 +Size(bytes)
439 +)))|(% style="background-color:#4f81bd; color:white; width:50px" %)2|(% style="background-color:#4f81bd; color:white; width:71px" %)2|(% style="background-color:#4f81bd; color:white; width:98px" %)2|(% style="background-color:#4f81bd; color:white; width:73px" %)2|(% style="background-color:#4f81bd; color:white; width:122px" %)1
433 433  |(% style="width:97px" %)Value|(% style="width:48px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:71px" %)[[Probe Model>>||anchor="H2.3.4ProbeModel"]]|(% style="width:98px" %)[[0 ~~~~ 20mA value>>||anchor="H2.3.507E20mAvalue28IDC_IN29"]]|(% style="width:73px" %)[[0 ~~~~ 30v value>>||anchor="H2.3.607E30Vvalue28pinVDC_IN29"]]|(% style="width:122px" %)[[IN1 &IN2 Interrupt  flag>>||anchor="H2.3.7IN126IN226INTpin"]]
434 434  
435 435  [[image:1675144608950-310.png]]
... ... @@ -451,10 +451,10 @@
451 451  PS-LB/LS has different kind of probe, 4~~20mA represent the full scale of the measuring range. So a 12mA output means different meaning for different probe. 
452 452  
453 453  
454 -**For example.**
461 +For example.
455 455  
456 456  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
457 -|(% style="background-color:#4f81bd; color:white" %)**Part Number**|(% style="background-color:#4f81bd; color:white" %)**Probe Used**|(% style="background-color:#4f81bd; color:white" %)**4~~20mA scale**|(% style="background-color:#4f81bd; color:white" %)**Example: 12mA meaning**
464 +|(% style="background-color:#4f81bd; color:white" %)Part Number|(% style="background-color:#4f81bd; color:white" %)Probe Used|(% style="background-color:#4f81bd; color:white" %)4~~20mA scale|(% style="background-color:#4f81bd; color:white" %)Example: 12mA meaning
458 458  |(% style="background-color:#f2f2f2" %)PS-LB/LS-I3|(% style="background-color:#f2f2f2" %)immersion type with 3 meters cable|(% style="background-color:#f2f2f2" %)0~~3 meters|(% style="background-color:#f2f2f2" %)1.5 meters pure water
459 459  |(% style="background-color:#f2f2f2" %)PS-LB/LS-I5|(% style="background-color:#f2f2f2" %)immersion type with 5 meters cable|(% style="background-color:#f2f2f2" %)0~~5 meters|(% style="background-color:#f2f2f2" %)2.5 meters pure water
460 460  |(% style="background-color:#f2f2f2" %)PS-LB/LS-T20-B|(% style="background-color:#f2f2f2" %)T20 threaded probe|(% style="background-color:#f2f2f2" %)0~~1MPa|(% style="background-color:#f2f2f2" %)0.5MPa air / gas or water pressure
... ... @@ -465,9 +465,9 @@
465 465  === 2.3.5 0~~20mA value (IDC_IN) ===
466 466  
467 467  
468 -The output value from **Pressure Probe**, use together with Probe Model to get the pressure value or water level.
475 +The output value from Pressure Probe, use together with Probe Model to get the pressure value or water level.
469 469  
470 -(% style="color:#037691" %)**Example**:
477 +Example:
471 471  
472 472  27AE(H) = 10158 (D)/1000 = 10.158mA.
473 473  
... ... @@ -477,12 +477,12 @@
477 477  [[image:image-20230225154759-1.png||height="408" width="741"]]
478 478  
479 479  
480 -=== 2.3.6 0~~30V value ( pin VDC_IN) ===
487 +=== 2.3.6 0~~30V value (pin VDC_IN) ===
481 481  
482 482  
483 483  Measure the voltage value. The range is 0 to 30V.
484 484  
485 -(% style="color:#037691" %)**Example**:
492 +Example:
486 486  
487 487  138E(H) = 5006(D)/1000= 5.006V
488 488  
... ... @@ -492,7 +492,7 @@
492 492  
493 493  IN1 and IN2 are used as digital input pins.
494 494  
495 -(% style="color:#037691" %)**Example**:
502 +Example:
496 496  
497 497  09 (H): (0x09&0x08)>>3=1    IN1 pin is high level.
498 498  
... ... @@ -499,9 +499,9 @@
499 499  09 (H): (0x09&0x04)>>2=0    IN2 pin is low level.
500 500  
501 501  
502 -This data field shows if this packet is generated by (% style="color:blue" %)**Interrupt Pin** (%%)or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal.
509 +This data field shows if this packet is generated by Interrupt Pin or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal.
503 503  
504 -(% style="color:#037691" %)**Example:**
511 +Example:
505 505  
506 506  09 (H): (0x09&0x02)>>1=1    The level of the interrupt pin.
507 507  
... ... @@ -515,9 +515,13 @@
515 515  
516 516  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
517 517  |(% style="background-color:#4f81bd; color:white; width:65px" %)(((
518 -**Size(bytes)**
519 -)))|(% style="background-color:#4f81bd; color:white; width:35px" %)**2**|(% style="background-color:#4f81bd; color:white; width:400px" %)**n**
525 +
526 +
527 +Size(bytes)
528 +)))|(% style="background-color:#4f81bd; color:white; width:35px" %)2|(% style="background-color:#4f81bd; color:white; width:400px" %)n
520 520  |(% style="width:94px" %)Value|(% style="width:43px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:367px" %)(((
530 +
531 +
521 521  Voltage value, each 2 bytes is a set of voltage values.
522 522  )))
523 523  
... ... @@ -533,7 +533,6 @@
533 533  
534 534  While using TTN network, you can add the payload format to decode the payload.
535 535  
536 -
537 537  [[image:1675144839454-913.png]]
538 538  
539 539  
... ... @@ -551,12 +551,10 @@
551 551  
552 552  [[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, once we have data in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
553 553  
564 +Step 1: Be sure that your device is programmed and properly connected to the network at this time.
554 554  
555 -(% style="color:blue" %)**Step 1: **(%%)Be sure that your device is programmed and properly connected to the network at this time.
566 +Step 2: To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:
556 556  
557 -(% style="color:blue" %)**Step 2:**(%%) To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:
558 -
559 -
560 560  [[image:1675144951092-237.png]]
561 561  
562 562  
... ... @@ -563,9 +563,9 @@
563 563  [[image:1675144960452-126.png]]
564 564  
565 565  
566 -(% style="color:blue" %)**Step 3:**(%%) Create an account or log in Datacake.
574 +Step 3: Create an account or log in Datacake.
567 567  
568 -(% style="color:blue" %)**Step 4:** (%%)Create PS-LB/LS product.
576 +Step 4: Create PS-LB/LS product.
569 569  
570 570  [[image:1675145004465-869.png]]
571 571  
... ... @@ -573,11 +573,10 @@
573 573  [[image:1675145018212-853.png]]
574 574  
575 575  
576 -
577 577  [[image:1675145029119-717.png]]
578 578  
579 579  
580 -(% style="color:blue" %)**Step 5: **(%%)add payload decode
587 +Step 5: add payload decode
581 581  
582 582  [[image:1675145051360-659.png]]
583 583  
... ... @@ -587,23 +587,450 @@
587 587  
588 588  After added, the sensor data arrive TTN, it will also arrive and show in Datacake.
589 589  
590 -
591 591  [[image:1675145081239-376.png]]
592 592  
593 593  
594 -== 2.6 Frequency Plans ==
600 +== 2.6 Datalog Feature (Since V1.1) ==
595 595  
596 596  
603 +When a user wants to retrieve sensor value, he can send a poll command from the IoT platform to ask the sensor to send value in the required time slot.
604 +
605 +
606 +=== 2.6.1 Unix TimeStamp ===
607 +
608 +
609 +PS-LB uses Unix TimeStamp format based on
610 +
611 +[[image:image-20250401163826-3.jpeg]]
612 +
613 +Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
614 +
615 +Below is the converter example:
616 +
617 +[[image:image-20250401163906-4.jpeg]]
618 +
619 +
620 +=== 2.6.2 Set Device Time ===
621 +
622 +
623 +There are two ways to set the device's time:
624 +
625 +
626 +~1. Through LoRaWAN MAC Command (Default settings)
627 +
628 +Users need to set SYNCMOD=1 to enable sync time via the MAC command.
629 +
630 +Once CPL01 Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to CPL01. If CPL01 fails to get the time from the server, CPL01 will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/#H2.3.1DeviceStatus2CFPORT3D5]]].
631 +
632 +Note: LoRaWAN Server needs to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature.
633 +
634 +
635 + 2. Manually Set Time
636 +
637 +Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
638 +
639 +
640 +=== 2.6.3 Poll sensor value ===
641 +
642 +Users can poll sensor values based on timestamps. Below is the downlink command.
643 +
644 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:470px" %)
645 +|=(% colspan="4" style="width: 160px; background-color:#4F81BD;color:white" %)Downlink Command to poll Open/Close status (0x31)
646 +|(% style="background-color:#f2f2f2; width:67px" %)1byte|(% style="background-color:#f2f2f2; width:145px" %)4bytes|(% style="background-color:#f2f2f2; width:133px" %)4bytes|(% style="background-color:#f2f2f2; width:163px" %)1byte
647 +|(% style="background-color:#f2f2f2; width:67px" %)31|(% style="background-color:#f2f2f2; width:145px" %)Timestamp start|(% style="background-color:#f2f2f2; width:133px" %)(((
648 +
649 +
650 +Timestamp end
651 +)))|(% style="background-color:#f2f2f2; width:163px" %)Uplink Interval
652 +
653 +Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
654 +
655 +For example, downlink command[[image:image-20250117104812-1.png]]
656 +
657 +Is to check 2024/12/20 09:34:59 to 2024/12/20 14:34:59's data
658 +
659 +Uplink Internal =5s,means PS-LB will send one packet every 5s. range 5~~255s.
660 +
661 +
662 +=== 2.6.4 Datalog Uplink payload (FPORT~=3) ===
663 +
664 +
665 +The Datalog uplinks will use below payload format.
666 +
667 +Retrieval data payload:
668 +
669 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
670 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
671 +Size(bytes)
672 +)))|=(% style="width: 70px; background-color:#4F81BD;color:white" %)2|=(% style="width: 70px; background-color:#4F81BD;color:white" %)2|=(% style="width: 80px; background-color: rgb(79, 129, 189); color: white;" %)2|=(% style="width: 150px; background-color: rgb(79, 129, 189); color: white;" %)1|=(% style="width: 80px; background-color: rgb(79, 129, 189); color: white;" %)4
673 +|(% style="width:103px" %)Value|(% style="width:68px" %)(((
674 +
675 +
676 +Probe_mod
677 +)))|(% style="width:104px" %)(((
678 +
679 +
680 +VDC_intput_V
681 +)))|(% style="width:83px" %)(((
682 +
683 +
684 +IDC_intput_mA
685 +)))|(% style="width:201px" %)(((
686 +
687 +
688 +IN1_pin_level& IN2_pin_level& Exti_pin_level&Exti_status
689 +)))|(% style="width:86px" %)Unix Time Stamp
690 +
691 +IN1_pin_level & IN2_pin_level & Exti_pin_level & Exti_status:
692 +
693 +[[image:image-20250117104847-4.png]]
694 +
695 +
696 +No ACK Message:  1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for PNACKMD=1 feature)
697 +
698 +Poll Message Flag: 1: This message is a poll message reply.
699 +
700 +* Poll Message Flag is set to 1.
701 +
702 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
703 +
704 +For example, in US915 band, the max payload for different DR is:
705 +
706 +a) DR0: max is 11 bytes so one entry of data
707 +
708 +b) DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
709 +
710 +c) DR2: total payload includes 11 entries of data
711 +
712 +d) DR3: total payload includes 22 entries of data.
713 +
714 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
715 +
716 +Example:
717 +
718 +If PS-LB-NA has below data inside Flash:
719 +
720 +[[image:image-20250117104837-3.png]]
721 +
722 +
723 +If user sends below downlink command: 316788D9BF6788DB6305
724 +
725 +Where : Start time: 6788D9BF = time 25/1/16 10:04:47
726 +
727 + Stop time: 6788DB63 = time 25/1/16 10:11:47
728 +
729 +
730 +PA-LB-NA will uplink this payload.
731 +
732 +[[image:image-20250117104827-2.png]]
733 +
734 +
735 +00001B620000406788D9BF  00000D130000406788D9FB  00000D120000406788DA37  00000D110000406788DA73  00000D100000406788DAAF  00000D100000406788DAEB  00000D0F0000406788DB27  00000D100000406788DB63
736 +
737 +
738 +Where the first 11 bytes is for the first entry :
739 +
740 +
741 +0000  0D10  0000  40  6788DB63
742 +
743 +
744 +Probe_mod = 0x0000 = 0000
745 +
746 +
747 +VDC_intput_V = 0x0D10/1000=3.344V
748 +
749 +IDC_intput_mA = 0x0000/1000=0mA
750 +
751 +
752 +IN1_pin_level = (0x40& 0x08)? "High":"Low" = 0(Low)
753 +
754 +IN2_pin_level = (0x40& 0x04)? "High":"Low" = 0(Low)
755 +
756 +Exti_pin_level = (0x40& 0x02)? "High":"Low" = 0(Low)
757 +
758 +Exti_status = (0x40& 0x01)? "True":"False" = 0(False)
759 +
760 +
761 +Unix time is 0x6788DB63 = 1737022307s = 2025/1/16 10:11:47
762 +
763 +Its data format is:
764 +
765 +[Probe_mod, VDC_intput_V, IDC_intput_mA, IN1_pin_level, IN2_pin_level, Exti_pin_level, water_deep, Data_time],[Probe_mod, VDC_intput_V, IDC_intput_mA, IN1_pin_level, IN2_pin_level, Exti_pin_level, water_deep, Data_time],...
766 +
767 +Note: water_deep in the data needs to be converted using decoding to get it.
768 +
769 +
770 +=== 2.6.5 Decoder in TTN V3 ===
771 +
772 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/1652862574387-195.png?width=722&height=359&rev=1.1||alt="1652862574387-195.png" height="359" width="722"]]
773 +
774 +Please check the decoder from this link: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
775 +
776 +
777 +== 2.7 Frequency Plans ==
778 +
779 +
597 597  The PS-LB/LS uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
598 598  
599 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
782 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/a>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
600 600  
601 601  
602 -== 2.7 ​Firmware Change Log ==
785 +== 2.8 Report on Change Feature (Since firmware V1.2) ==
603 603  
787 +=== 2.8.1 Uplink payload(Enable ROC) ===
604 604  
605 -**Firmware download link:**
606 606  
790 +Used to Monitor the IDC and VDC increments, and send ROC uplink when the IDC or VDC changes exceed.
791 +
792 +With ROC enabled, the payload is as follows:
793 +
794 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
795 +|(% style="background-color:#4f81bd; color:white; width:97px" %)(((
796 +
797 +
798 +Size(bytes)
799 +)))|(% style="background-color:#4f81bd; color:white; width:48px" %)2|(% style="background-color:#4f81bd; color:white; width:71px" %)2|(% style="background-color:#4f81bd; color:white; width:98px" %)2|(% style="background-color:#4f81bd; color:white; width:73px" %)2|(% style="background-color:#4f81bd; color:white; width:122px" %)1
800 +|(% style="width:97px" %)Value|(% style="width:48px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:71px" %)[[Probe Model>>||anchor="H2.3.4ProbeModel"]]|(% style="width:98px" %)[[0 ~~~~ 20mA value>>||anchor="H2.3.507E20mAvalue28IDC_IN29"]]|(% style="width:73px" %)[[0 ~~~~ 30v value>>||anchor="H2.3.607E30Vvalue28pinVDC_IN29"]]|(% style="width:122px" %)(((
801 +
802 +
803 +[[IN1 &IN2 Interrupt  flag>>||anchor="H2.3.7IN126IN226INTpin"]] & ROC_flag
804 +)))
805 +
806 +IN1 &IN2 , Interrupt  flag , ROC_flag:
807 +
808 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
809 +|(% style="background-color:#4f81bd; color:white; width:50px" %)Size(bit)|(% style="background-color:#4f81bd; color:white; width:60px" %)bit7|(% style="background-color:#4f81bd; color:white; width:62px" %)bit6|(% style="background-color:#4f81bd; color:white; width:62px" %)bit5|(% style="background-color:#4f81bd; color:white; width:65px" %)bit4|(% style="background-color:#4f81bd; color:white; width:56px" %)bit3|(% style="background-color:#4f81bd; color:white; width:55px" %)bit2|(% style="background-color:#4f81bd; color:white; width:55px" %)bit1|(% style="background-color:#4f81bd; color:white; width:50px" %)bit0
810 +|(% style="width:75px" %)Value|(% style="width:89px" %)IDC_Roc_flagL|(% style="width:46.5834px" %)IDC_Roc_flagH|(% style="width:1px" %)VDC_Roc_flagL|(% style="width:89px" %)VDC_Roc_flagH|(% style="width:89px" %)IN1_pin_level|(% style="width:103px" %)IN2_pin_level|(% style="width:103px" %)Exti_pin_level|(% style="width:103px" %)Exti_status
811 +
812 +* IDC_Roc_flagL
813 +
814 +80 (H): (0x80&0x80)=80(H)=1000 0000(B)  bit7=1, "TRUE", This uplink is triggered when the decrease in the IDC compared to the last ROC refresh exceeds the set threshold.
815 +
816 +60 (H): (0x60&0x80)=0  bit7=0, "FALSE", This uplink is not triggered when the decrease in the IDC compared to the last ROC refresh exceeds the set threshold.
817 +
818 +
819 +* IDC_Roc_flagH
820 +
821 +60 (H): (0x60&0x40)=60(H)=01000 0000(B)  bit6=1, "TRUE", This uplink is triggered when the increase in the value of the IDC compared to the last ROC refresh exceeds the set threshold.
822 +
823 +80 (H): (0x80&0x40)=0  bit6=0, "FALSE", This uplink is not triggered when the increase in the value of the IDC compared to the last ROC refresh exceeds the set threshold.
824 +
825 +
826 +* VDC_Roc_flagL
827 +
828 +20 (H): (0x20&0x20)=20(H)=0010 0000(B)  bit5=1, "TRUE", This uplink is triggered when the decrease in the VDC compared to the last ROC refresh exceeds the set threshold.
829 +
830 +90 (H): (0x90&0x20)=0  bit5=0, "FALSE", This uplink is not triggered when the decrease in the VDC compared to the last ROC refresh exceeds the set threshold.
831 +
832 +
833 +* VDC_Roc_flagH
834 +
835 +90 (H): (0x90&0x10)=10(H)=0001 0000(B)  bit4=1, "TRUE", This uplink is triggered when the increase in the value of the VDC compared to the last ROC refresh exceeds the set threshold.
836 +
837 +20 (H): (0x20&0x10)=0  bit4=0, "FALSE", This uplink is not triggered when the increase in the value of the VDC compared to the last ROC refresh exceeds the set threshold.
838 +
839 +
840 +* IN1_pin_level & IN2_pin_level
841 +
842 +IN1 and IN2 are used as digital input pins.
843 +
844 +80 (H): (0x80&0x08)=0  IN1 pin is low level.
845 +
846 +80 (H): (0x09&0x04)=0    IN2 pin is low level.
847 +
848 +
849 +* Exti_pin_level &Exti_status
850 +
851 +This data field shows whether the packet is generated by an interrupt pin.
852 +
853 +Note: The Internet pin of the old motherboard is a separate pin in the screw terminal, and the interrupt pin of the new motherboard(SIB V1.3) is the GPIO_EXTI pin.
854 +
855 +Exti_pin_level:  80 (H): (0x80&0x02)=0  "low", The level of the interrupt pin.
856 +
857 +Exti_status: 80 (H): (0x80&0x01)=0  "False", Normal uplink packet.
858 +
859 +
860 +=== 2.8.2 Set the Report on Change ===
861 +
862 +
863 +Feature: Get or Set the Report on Change.
864 +
865 +
866 +==== 2.8.2.1 Wave alarm mode ====
867 +
868 +Feature: By setting the detection period and a change value, the IDC/VDC variable is monitored whether it exceeds the set change value. If this change value is exceeded, the ROC uplink is sent and the comparison value is flushed.
869 +
870 +* Change value: The amount by which the next detection value increases/decreases relative to the previous detection value.
871 +* Comparison value: A parameter to compare with the latest ROC test.
872 +
873 +AT Command: AT+ROC
874 +
875 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
876 +|=(% style="width: 163px; background-color: rgb(79, 129, 189); color: white;" %)Command Example|=(% style="width: 154px; background-color: rgb(79, 129, 189); color: white;" %)Parameters|=(% style="width: 197px; background-color: rgb(79, 129, 189); color: white;" %)Response/Explanation
877 +|(% style="width:143px" %)AT+ROC=?|(% style="width:154px" %)Show current ROC setting|(% style="width:197px" %)(((
878 +
879 +
880 +0,0,0,0(default)
881 +OK
882 +)))
883 +|(% colspan="1" rowspan="4" style="width:143px" %)(((
884 +
885 +
886 +
887 +
888 +
889 +AT+ROC=a,b,c,d
890 +)))|(% style="width:154px" %)(((
891 +
892 +
893 +
894 +
895 +
896 +
897 +
898 +a: Enable or disable the ROC
899 +)))|(% style="width:197px" %)(((
900 +
901 +
902 +0: off
903 +1: Turn on the wave alarm mode, send the ROC uplink when the increment exceeds the set parameter and refresh the comparison value.
904 +
905 +2: Turn on the wave alarm mode, send the ROC uplink when the increment exceeds the set parameter and refresh the comparison value. In addition, the comparison value is refreshed when the device sends packets ([[TDC>>||anchor="H3.3.1SetTransmitIntervalTime"]] or [[ACT>>||anchor="H1.7Button26LEDs"]]).
906 +)))
907 +|(% style="width:154px" %)b: Set the detection interval|(% style="width:197px" %)(((
908 +
909 +
910 +Range:  0~~65535s
911 +)))
912 +|(% style="width:154px" %)c: Setting the IDC change value|(% style="width:197px" %)Unit: uA
913 +|(% style="width:154px" %)d: Setting the VDC change value|(% style="width:197px" %)Unit: mV
914 +
915 +Example:
916 +
917 +* AT+ROC=0,0,0,0  ~/~/The ROC function is not used.
918 +* AT+ROC=1,60,3000, 500  ~/~/ Check value every 60 seconds. lf there is change in IDC (>3mA) or VDC (>500mV), sends an ROC uplink, and the comparison value is refreshed.
919 +* AT+ROC=1,60,3000,0  ~/~/ Check value every 60 seconds. lf there is change in IDC (>3mA), send an ROC uplink and the comparison value of IDC is refreshed. dd=0 Means doesn't monitor Voltage.
920 +* AT+ROC=2,60,3000,0  ~/~/ Check value every 60 seconds. lf there is change in IDC (>3mA), send an ROC uplink and the comparison value of IDC is refreshed. dd=0 Means doesn't monitor Voltage. In addition, if the change in the IDC does not exceed 3mA, then the ROC uplink is not sent, and the comparison value is not refreshed by the ROC uplink packet. However, if the device TDC time arrives, or if the user manually sends packets, then the IDC comparison value is also refreshed.
921 +
922 +Downlink Command: 0x09 aa bb cc dd
923 +
924 +Format: Function code (0x09) followed by 4 bytes.
925 +
926 +aa: 1 byte; Set the wave alarm mode.
927 +
928 +bb: 2 bytes; Set the detection interval. (second)
929 +
930 +cc: 2 bytes; Setting the IDC change threshold. (uA)
931 +
932 +dd: 2 bytes; Setting the VDC change threshold. (mV)
933 +
934 +Example:
935 +
936 +* Downlink Payload: 09 01 00 3C 0B B8 01 F4  ~/~/Equal to AT+ROC=1,60,3000, 500
937 +* Downlink Payload: 09 01 00 3C 0B B8 00 00  ~/~/Equal to AT+ROC=1,60,3000,0
938 +* Downlink Payload: 09 02 00 3C 0B B8 00 00  ~/~/Equal to AT+ROC=2,60,3000,0
939 +
940 +Screenshot of parsing example in TTN:
941 +
942 +* AT+ROC=1,60,3000, 500.
943 +
944 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/PS-LB-NA--LoRaWAN_Analog_Sensor_User_Manual/WebHome/image-20241019170902-1.png?width=1454&height=450&rev=1.1||alt="image-20241019170902-1.png"]]
945 +
946 +
947 +==== 2.8.2.2 Over-threshold alarm mode ====
948 +
949 +Feature: Monitors whether the IDC/VDC exceeds the threshold by setting the detection period and threshold. Alarm if the threshold is exceeded.
950 +
951 +AT Command: AT+ROC=3,a,b,c,d,e
952 +
953 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
954 +|=(% style="width: 163px; background-color: rgb(79, 129, 189); color: white;" %)Command Example|=(% style="width: 160px; background-color: rgb(79, 129, 189); color: white;" %)Parameters|=(% style="width: 185px; background-color: rgb(79, 129, 189); color: white;" %)Response/Explanation
955 +|(% style="width:143px" %)AT+ROC=?|(% style="width:160px" %)Show current ROC setting|(% style="width:185px" %)(((
956 +
957 +
958 +0,0,0,0(default)
959 +OK
960 +)))
961 +|(% colspan="1" rowspan="5" style="width:143px" %)(((
962 +
963 +
964 +
965 +
966 +
967 +AT+ROC=3,a,b,c,d,e
968 +)))|(% style="width:160px" %)(((
969 +
970 +
971 +a: Set the detection interval
972 +)))|(% style="width:185px" %)(((
973 +
974 +
975 +Range:  0~~65535s
976 +)))
977 +|(% style="width:160px" %)b: Set the IDC alarm trigger condition|(% style="width:185px" %)(((
978 +
979 +
980 +0: Less than the set IDC threshold, Alarm
981 +
982 +1: Greater than the set IDC threshold, Alarm
983 +)))
984 +|(% style="width:160px" %)(((
985 +
986 +
987 +c:  IDC alarm threshold
988 +)))|(% style="width:185px" %)(((
989 +
990 +
991 +Unit: uA
992 +)))
993 +|(% style="width:160px" %)d: Set the VDC alarm trigger condition|(% style="width:185px" %)(((
994 +
995 +
996 +0: Less than the set VDC threshold, Alarm
997 +
998 +1: Greater than the set VDC threshold, Alarm
999 +)))
1000 +|(% style="width:160px" %)e: VDC alarm threshold|(% style="width:185px" %)Unit: mV
1001 +
1002 +Example:
1003 +
1004 +* AT+ROC=3,60,0,3000,0,5000  ~/~/The data is checked every 60 seconds. If the IDC is less than 3mA or the VDC is less than 5000mV, an alarm is generated.
1005 +* AT+ROC=3,180,1,3000,1,5000  ~/~/The data is checked every 180 seconds. If the IDC is greater than 3mA or the VDC is greater than 5000mV, an alarm is generated.
1006 +* AT+ROC=3,300,0,3000,1,5000  ~/~/The data is checked every 300 seconds. If the IDC is less than 3mA or the VDC is greater than 5000mV, an alarm is generated.
1007 +
1008 +Downlink Command: 0x09 03 aa bb cc dd ee
1009 +
1010 +Format: Function code (0x09) followed by 03 and the remaining 5 bytes.
1011 +
1012 +aa: 2 bytes; Set the detection interval.(second)
1013 +
1014 +bb: 1 byte; Set the IDC alarm trigger condition.
1015 +
1016 +cc: 2 bytes; IDC alarm threshold.(uA)
1017 +
1018 +
1019 +dd: 1 byte; Set the VDC alarm trigger condition.
1020 +
1021 +ee: 2 bytes; VDC alarm threshold.(mV)
1022 +
1023 +Example:
1024 +
1025 +* Downlink Payload: 09 03 00 3C 00 0B B8 00 13 38 ~/~/Equal to AT+ROC=3,60,0,3000,0,5000
1026 +* Downlink Payload: 09 03 00 b4 01 0B B8 01 13 38  ~/~/Equal to AT+ROC=3,60,1,3000,1,5000
1027 +* Downlink Payload: 09 03 01 2C 00 0B B8 01 13 38  ~/~/Equal to AT+ROC=3,60,0,3000,1,5000
1028 +
1029 +Screenshot of parsing example in TTN:
1030 +
1031 +* AT+ROC=3,60,0,3000,0,5000
1032 +
1033 +[[image:image-20250116180030-2.png]]
1034 +
1035 +
1036 +== 2.9 ​Firmware Change Log ==
1037 +
1038 +
1039 +Firmware download link:
1040 +
607 607  [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
608 608  
609 609  
... ... @@ -614,7 +614,7 @@
614 614  
615 615  PS-LB/LS supports below configure method:
616 616  
617 -* AT Command via Bluetooth Connection (**Recommand Way**): [[BLE Configure Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
1051 +* AT Command via Bluetooth Connection (Recommand Way): [[BLE Configure Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
618 618  * AT Command via UART Connection : See [[FAQ>>||anchor="H6.FAQ"]].
619 619  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>url:http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
620 620  
... ... @@ -642,21 +642,25 @@
642 642  
643 643  Feature: Change LoRaWAN End Node Transmit Interval.
644 644  
645 -(% style="color:blue" %)**AT Command: AT+TDC**
1079 +AT Command: AT+TDC
646 646  
647 647  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
648 -|=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 190px;background-color:#4F81BD;color:white" %)**Response**
1082 +|=(% style="width: 160px; background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 160px; background-color:#4F81BD;color:white" %)Function|=(% style="width: 190px;background-color:#4F81BD;color:white" %)Response
649 649  |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
1084 +
1085 +
650 650  30000
651 651  OK
652 652  the interval is 30000ms = 30s
653 653  )))
654 654  |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((
1091 +
1092 +
655 655  OK
656 656  Set transmit interval to 60000ms = 60 seconds
657 657  )))
658 658  
659 -(% style="color:blue" %)**Downlink Command: 0x01**
1097 +Downlink Command: 0x01
660 660  
661 661  Format: Command Code (0x01) followed by 3 bytes time value.
662 662  
... ... @@ -670,16 +670,20 @@
670 670  
671 671  Feature, Set Interrupt mode for GPIO_EXIT.
672 672  
673 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1111 +AT Command: AT+INTMOD
674 674  
675 675  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
676 -|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Response**
1114 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 196px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 160px;background-color:#4F81BD;color:white" %)Response
677 677  |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)(((
1116 +
1117 +
678 678  0
679 679  OK
680 680  the mode is 0 =Disable Interrupt
681 681  )))
682 682  |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)(((
1123 +
1124 +
683 683  Set Transmit Interval
684 684  0. (Disable Interrupt),
685 685  ~1. (Trigger by rising and falling edge)
... ... @@ -687,7 +687,7 @@
687 687  3. (Trigger by rising edge)
688 688  )))|(% style="background-color:#f2f2f2; width:157px" %)OK
689 689  
690 -(% style="color:blue" %)**Downlink Command: 0x06**
1132 +Downlink Command: 0x06
691 691  
692 692  Format: Command Code (0x06) followed by 3 bytes.
693 693  
... ... @@ -701,76 +701,106 @@
701 701  
702 702  Feature, Control the output 3V3 , 5V or 12V.
703 703  
704 -(% style="color:blue" %)**AT Command: AT+3V3T**
1146 +AT Command: AT+3V3T
705 705  
706 706  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
707 -|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 201px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 119px;background-color:#4F81BD;color:white" %)**Response**
1149 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 201px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 119px;background-color:#4F81BD;color:white" %)Response
708 708  |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)(((
1151 +
1152 +
709 709  0
710 710  OK
711 711  )))
712 712  |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=0|(% style="background-color:#f2f2f2; width:201px" %)Normally open 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)(((
1157 +
1158 +
713 713  OK
714 714  default setting
715 715  )))
716 716  |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=1000|(% style="background-color:#f2f2f2; width:201px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:116px" %)(((
1163 +
1164 +
717 717  OK
718 718  )))
719 719  |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=65535|(% style="background-color:#f2f2f2; width:201px" %)Normally closed 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)(((
1168 +
1169 +
720 720  OK
721 721  )))
722 722  
723 -(% style="color:blue" %)**AT Command: AT+5VT**
1173 +AT Command: AT+5VT
724 724  
725 725  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %)
726 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 119px;background-color:#4F81BD;color:white" %)**Response**
1176 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 196px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 119px;background-color:#4F81BD;color:white" %)Response
727 727  |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)(((
1178 +
1179 +
728 728  0
729 729  OK
730 730  )))
731 731  |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=0|(% style="background-color:#f2f2f2; width:196px" %)Normally closed 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)(((
1184 +
1185 +
732 732  OK
733 733  default setting
734 734  )))
735 735  |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=1000|(% style="background-color:#f2f2f2; width:196px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:114px" %)(((
1190 +
1191 +
736 736  OK
737 737  )))
738 738  |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=65535|(% style="background-color:#f2f2f2; width:196px" %)Normally open 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)(((
1195 +
1196 +
739 739  OK
740 740  )))
741 741  
742 -(% style="color:blue" %)**AT Command: AT+12VT**
1200 +AT Command: AT+12VT
743 743  
744 744  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %)
745 -|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 199px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 88px;background-color:#4F81BD;color:white" %)**Response**
1203 +|=(% style="width: 156px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 199px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 88px;background-color:#4F81BD;color:white" %)Response
746 746  |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)(((
1205 +
1206 +
747 747  0
748 748  OK
749 749  )))
750 750  |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=0|(% style="background-color:#f2f2f2; width:199px" %)Normally closed 12V power supply.|(% style="background-color:#f2f2f2; width:83px" %)OK
751 751  |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=500|(% style="background-color:#f2f2f2; width:199px" %)Close after a delay of 500 milliseconds.|(% style="background-color:#f2f2f2; width:83px" %)(((
1212 +
1213 +
752 752  OK
753 753  )))
754 754  
755 -(% style="color:blue" %)**Downlink Command: 0x07**
1217 +Downlink Command: 0x07
756 756  
757 757  Format: Command Code (0x07) followed by 3 bytes.
758 758  
759 759  The first byte is which power, the second and third bytes are the time to turn on.
760 760  
761 -* Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
762 -* Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
763 -* Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
764 -* Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
765 -* Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
766 -* Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1223 +* Example 1: Downlink Payload: 070101F4  ~-~-->  AT+3V3T=500
1224 +* Example 2: Downlink Payload: 0701FFFF   ~-~-->  AT+3V3T=65535
1225 +* Example 3: Downlink Payload: 070203E8  ~-~-->  AT+5VT=1000
1226 +* Example 4: Downlink Payload: 07020000  ~-~-->  AT+5VT=0
1227 +* Example 5: Downlink Payload: 070301F4  ~-~-->  AT+12VT=500
1228 +* Example 6: Downlink Payload: 07030000  ~-~-->  AT+12VT=0
767 767  
1230 +Note: Before v1.2, the maximum settable time of 3V3T, 5VT and 12VT is 65535 milliseconds. After v1.2, the maximum settable time of 3V3T, 5VT and 12VT is 180 seconds.
1231 +
1232 +Therefore, the corresponding downlink command is increased by one byte to five bytes.
1233 +
1234 +Example:
1235 +
1236 +* 120s=120000ms(D) =0x01D4C0(H), Downlink Payload: 07 01 01 D4 C0  ~-~-->  AT+3V3T=120000
1237 +* 100s=100000ms(D) =0x0186A0(H), Downlink Payload: 07 02 01 86 A0  ~-~-->  AT+5VT=100000
1238 +* 80s=80000ms(D) =0x013880(H), Downlink Payload: 07 03 01 38 80  ~-~-->  AT+12VT=80000
1239 +
768 768  === 3.3.4 Set the Probe Model ===
769 769  
770 770  
771 771  Users need to configure this parameter according to the type of external probe. In this way, the server can decode according to this value, and convert the current value output by the sensor into water depth or pressure value.
772 772  
773 -(% style="color:blue" %)**AT Command: AT** **+PROBE**
1245 +AT Command: AT +PROBE
774 774  
775 775  AT+PROBE=aabb
776 776  
... ... @@ -782,12 +782,20 @@
782 782  
783 783  (A->01,B->02,C->03,D->04,E->05,F->06,G->07,H->08,I->09,J->0A,K->0B,L->0C)
784 784  
1257 +When aa=02, it is the Differential Pressure Sensor , which converts the current into a pressure value;
1258 +
1259 +bb represents which type of pressure sensor it is.
1260 +
1261 +(0~~100Pa->01,0~~200Pa->02,0~~300Pa->03,0~~1KPa->04,0~~2KPa->05,0~~3KPa->06,0~~4KPa->07,0~~5KPa->08,0~~10KPa->09,-100~~ 100Pa->0A,-200~~ 200Pa->0B,-1~~ 1KPa->0C)
1262 +
785 785  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
786 -|(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:269px" %)**Function**|(% style="background-color:#4f81bd; color:white" %)**Response**
1264 +|(% style="background-color:#4f81bd; color:white; width:154px" %)Command Example|(% style="background-color:#4f81bd; color:white; width:269px" %)Function|(% style="background-color:#4f81bd; color:white" %)Response
787 787  |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=?|(% style="background-color:#f2f2f2; width:269px" %)Get or Set the probe model.|(% style="background-color:#f2f2f2" %)0
788 788  OK
789 789  |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0003|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 3m type.|(% style="background-color:#f2f2f2" %)OK
790 790  |(% style="background-color:#f2f2f2; width:154px" %)(((
1269 +
1270 +
791 791  AT+PROBE=000A
792 792  )))|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 10m type.|(% style="background-color:#f2f2f2" %)OK
793 793  |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0064|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 100m type.|(% style="background-color:#f2f2f2" %)OK
... ... @@ -794,52 +794,59 @@
794 794  |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0101|(% style="background-color:#f2f2f2; width:269px" %)Set pressure transmitters mode, first type(A).|(% style="background-color:#f2f2f2" %)OK
795 795  |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0000|(% style="background-color:#f2f2f2; width:269px" %)Initial state, no settings.|(% style="background-color:#f2f2f2" %)OK
796 796  
797 -(% style="color:blue" %)**Downlink Command: 0x08**
1277 +Downlink Command: 0x08
798 798  
799 799  Format: Command Code (0x08) followed by 2 bytes.
800 800  
801 -* Example 1: Downlink Payload: 080003  **~-~-->**  AT+PROBE=0003
802 -* Example 2: Downlink Payload: 080101  **~-~-->**  AT+PROBE=0101
1281 +* Example 1: Downlink Payload: 080003  ~-~-->  AT+PROBE=0003
1282 +* Example 2: Downlink Payload: 080101  ~-~-->  AT+PROBE=0101
803 803  
804 804  === 3.3.5 Multiple collections are one uplink (Since firmware V1.1) ===
805 805  
806 806  
807 -Added AT+STDC command to collect the voltage of VDC_INPUT multiple times and upload it at one time.
1287 +Added AT+STDC command to collect the voltage of VDC_INPUT/IDC_INPUT multiple times and upload it at one time.
808 808  
809 -(% style="color:blue" %)**AT Command: AT** **+STDC**
1289 +AT Command: AT +STDC
810 810  
811 811  AT+STDC=aa,bb,bb
812 812  
813 -(% style="color:#037691" %)**aa:**(%%)
814 -**0:** means disable this function and use TDC to send packets.
815 -**1:** means enable this function, use the method of multiple acquisitions to send packets.
816 -(% style="color:#037691" %)**bb:**(%%) Each collection interval (s), the value is 1~~65535
817 -(% style="color:#037691" %)**cc:**(%%)** **the number of collection times, the value is 1~~120
1293 +aa:
1294 +0: means disable this function and use TDC to send packets.
1295 +1: means that the function is enabled to send packets by collecting VDC data for multiple times.
1296 +2: means that the function is enabled to send packets by collecting IDC data for multiple times.
1297 +bb: Each collection interval (s), the value is 1~~65535
1298 +cc: the number of collection times, the value is 1~~120
818 818  
819 819  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
820 -|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:215px" %)**Function**|(% style="background-color:#4f81bd; color:white" %)**Response**
1301 +|(% style="background-color:#4f81bd; color:white; width:160px" %)Command Example|(% style="background-color:#4f81bd; color:white; width:215px" %)Function|(% style="background-color:#4f81bd; color:white" %)Response
821 821  |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=?|(% style="background-color:#f2f2f2; width:215px" %)Get the mode of multiple acquisitions and one uplink.|(% style="background-color:#f2f2f2" %)1,10,18
822 822  OK
823 823  |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=1,10,18|(% style="background-color:#f2f2f2; width:215px" %)Set the mode of multiple acquisitions and one uplink, collect once every 10 seconds, and report after 18 times.|(% style="background-color:#f2f2f2" %)(((
1305 +
1306 +
824 824  Attention:Take effect after ATZ
825 825  
826 826  OK
827 827  )))
828 828  |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=0, 0,0|(% style="background-color:#f2f2f2; width:215px" %)(((
1312 +
1313 +
829 829  Use the TDC interval to send packets.(default)
830 830  
831 831  
832 832  )))|(% style="background-color:#f2f2f2" %)(((
1318 +
1319 +
833 833  Attention:Take effect after ATZ
834 834  
835 835  OK
836 836  )))
837 837  
838 -(% style="color:blue" %)**Downlink Command: 0xAE**
1325 +Downlink Command: 0xAE
839 839  
840 -Format: Command Code (0x08) followed by 5 bytes.
1327 +Format: Command Code (0xAE) followed by 4 bytes.
841 841  
842 -* Example 1: Downlink Payload: AE 01 02 58 12** ~-~-->**  AT+STDC=1,600,18
1329 +* Example 1: Downlink Payload: AE 01 02 58 12 ~-~-->  AT+STDC=1,600,18
843 843  
844 844  = 4. Battery & Power Consumption =
845 845  
... ... @@ -846,7 +846,7 @@
846 846  
847 847  PS-LB use ER26500 + SPC1520 battery pack and PS-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace.
848 848  
849 -[[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1336 +[[Battery Info & Power Consumption Analyze>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
850 850  
851 851  
852 852  = 5. OTA firmware update =
... ... @@ -882,22 +882,22 @@
882 882  Test the current values at the depth of different liquids and convert them to a linear scale.
883 883  Replace its ratio with the ratio of water to current in the decoder.
884 884  
885 -**Example:**
1372 +Example:
886 886  
887 887  Measure the corresponding current of the sensor when the liquid depth is 2.04m and 0.51m.
888 888  
889 -**Calculate scale factor:**
1376 +Calculate scale factor:
890 890  Use these two data to calculate the current and depth scaling factors:(7.888-5.035)/(2.04-0.51)=1.86470588235294
891 891  
892 -**Calculation formula:**
1379 +Calculation formula:
893 893  
894 894  Use the calibration formula:(Current current - Minimum calibration current)/Scale factor + Minimum actual calibration height
895 895  
896 -**Actual calculations:**
1383 +Actual calculations:
897 897  
898 898  Use this formula to calculate the value corresponding to the current at a depth of 1.5 meters: (6.918-5.035)/1.86470588235294+0.51=1.519810726
899 899  
900 -**Error:**
1387 +Error:
901 901  
902 902  0.009810726
903 903  
... ... @@ -921,17 +921,17 @@
921 921  = 8. Order Info =
922 922  
923 923  
924 -[[image:image-20240109172423-7.png]](% style="display:none" %)
925 925  
1412 +[[image:image-20241021093209-1.png]]
926 926  
927 927  = 9. ​Packing Info =
928 928  
929 929  
930 -(% style="color:#037691" %)**Package Includes**:
1417 +Package Includes:
931 931  
932 932  * PS-LB or PS-LS LoRaWAN Pressure Sensor
933 933  
934 -(% style="color:#037691" %)**Dimension and weight**:
1421 +Dimension and weight:
935 935  
936 936  * Device Size: cm
937 937  * Device Weight: g
... ... @@ -944,5 +944,3 @@
944 944  * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
945 945  
946 946  * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[Support@dragino.cc>>mailto:Support@dragino.cc]].
947 -
948 -
image-20240817150702-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +38.4 KB
Content
image-20241021093209-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +52.1 KB
Content
image-20250116175954-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +68.6 KB
Content
image-20250116180030-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +69.2 KB
Content
image-20250117104812-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +1.7 KB
Content
image-20250117104827-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +74.6 KB
Content
image-20250117104837-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +38.7 KB
Content
image-20250117104847-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +4.2 KB
Content
image-20250401102131-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +64.7 KB
Content
image-20250401163530-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +44.9 KB
Content
image-20250401163539-2.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +31.1 KB
Content
image-20250401163826-3.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +18.9 KB
Content
image-20250401163906-4.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +181.6 KB
Content