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

From version 90.1
edited by kai
on 2024/05/13 11:46
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.kai
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,25 +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℃
157 +* Operating temperature: -20°C~~60°C
158 +* Storage temperature:  -20°C~~60°C
158 158  * Compensation temperature: 0~~50°C
159 159  
160 160  == 1.5 Application and Installation ==
... ... @@ -162,7 +162,7 @@
162 162  === 1.5.1 Thread Installation Type ===
163 163  
164 164  
165 -(% style="color:blue" %)**Application:**
166 +Application:
166 166  
167 167  * Hydraulic Pressure
168 168  * Petrochemical Industry
... ... @@ -180,7 +180,7 @@
180 180  === 1.5.2 Immersion Type ===
181 181  
182 182  
183 -(% style="color:blue" %)**Application:**
184 +Application:
184 184  
185 185  Liquid & Water Pressure / Level detect.
186 186  
... ... @@ -199,12 +199,15 @@
199 199  
200 200  [[image:1675071776102-240.png]]
201 201  
203 +Size of immersion type water depth sensor:
202 202  
205 +[[image:image-20250401102131-1.png||height="268" width="707"]]
203 203  
207 +
204 204  === 1.5.3 Wireless Differential Air Pressure Sensor ===
205 205  
206 206  
207 -(% style="color:blue" %)**Application:**
211 +Application:
208 208  
209 209  Indoor Air Control & Filter clogging Detect.
210 210  
... ... @@ -228,28 +228,32 @@
228 228  == 1.6 Sleep mode and working mode ==
229 229  
230 230  
231 -(% 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.
232 232  
233 -(% 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.
234 234  
235 235  
236 236  == 1.7 Button & LEDs ==
237 237  
238 238  
239 -[[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"]]
240 240  
241 241  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
242 -|=(% 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
243 243  |(% 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" %)(((
244 -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.
245 245  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
246 246  )))
247 247  |(% 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" %)(((
248 -(% 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.
249 -(% 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.
250 250  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.
251 251  )))
252 -|(% 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.
253 253  
254 254  == 1.8 Pin Mapping ==
255 255  
... ... @@ -274,16 +274,16 @@
274 274  
275 275  == 1.10 Mechanical ==
276 276  
277 -=== 1.10.1 for LB version(% style="display:none" %) (%%) ===
285 +=== 1.10.1 for LB version ===
278 278  
279 279  
280 -[[image:image-20240109160800-6.png]]
288 +[[image:image-20250401163530-1.jpeg]]
281 281  
282 282  
283 283  === 1.10.2 for LS version ===
284 284  
285 285  
286 -[[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]]
287 287  
288 288  
289 289  = 2. Configure PS-LB/LS to connect to LoRaWAN network =
... ... @@ -291,7 +291,7 @@
291 291  == 2.1 How it works ==
292 292  
293 293  
294 -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.
295 295  
296 296  
297 297  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -299,7 +299,6 @@
299 299  
300 300  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.
301 301  
302 -
303 303  [[image:1675144005218-297.png]]
304 304  
305 305  
... ... @@ -306,7 +306,7 @@
306 306  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.
307 307  
308 308  
309 -(% 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.
310 310  
311 311  Each PS-LB/LS is shipped with a sticker with the default device EUI as below:
312 312  
... ... @@ -316,32 +316,32 @@
316 316  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
317 317  
318 318  
319 -(% style="color:blue" %)**Register the device**
326 +Register the device
320 320  
321 321  [[image:1675144099263-405.png]]
322 322  
323 323  
324 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
331 +Add APP EUI and DEV EUI
325 325  
326 326  [[image:1675144117571-832.png]]
327 327  
328 328  
329 -(% style="color:blue" %)**Add APP EUI in the application**
336 +Add APP EUI in the application
330 330  
331 331  
332 332  [[image:1675144143021-195.png]]
333 333  
334 334  
335 -(% style="color:blue" %)**Add APP KEY**
342 +Add APP KEY
336 336  
337 337  [[image:1675144157838-392.png]]
338 338  
339 -(% style="color:blue" %)**Step 2:**(%%) Activate on PS-LB/LS
346 +Step 2: Activate on PS-LB/LS
340 340  
341 341  
342 342  Press the button for 5 seconds to activate the PS-LB/LS.
343 343  
344 -(% 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.
345 345  
346 346  After join success, it will start to upload messages to TTN and you can see the messages in the panel.
347 347  
... ... @@ -355,11 +355,10 @@
355 355  
356 356  Users can also use the downlink command(0x26 01) to ask PS-LB/LS to resend this uplink.
357 357  
358 -
359 359  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
360 -|(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
361 -|(% 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**
362 -|(% 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
363 363  
364 364  Example parse in TTNv3
365 365  
... ... @@ -366,11 +366,11 @@
366 366  [[image:1675144504430-490.png]]
367 367  
368 368  
369 -(% style="color:#037691" %)**Sensor Model**(%%): For PS-LB/LS, this value is 0x16
375 +Sensor Model: For PS-LB/LS, this value is 0x16
370 370  
371 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
377 +Firmware Version: 0x0100, Means: v1.0.0 version
372 372  
373 -(% style="color:#037691" %)**Frequency Band**:
379 +Frequency Band:
374 374  
375 375  *0x01: EU868
376 376  
... ... @@ -401,7 +401,7 @@
401 401  *0x0e: MA869
402 402  
403 403  
404 -(% style="color:#037691" %)**Sub-Band**:
410 +Sub-Band:
405 405  
406 406  AU915 and US915:value 0x00 ~~ 0x08
407 407  
... ... @@ -410,7 +410,7 @@
410 410  Other Bands: Always 0x00
411 411  
412 412  
413 -(% style="color:#037691" %)**Battery Info**:
419 +Battery Info:
414 414  
415 415  Check the battery voltage.
416 416  
... ... @@ -425,10 +425,12 @@
425 425  Uplink payload includes in total 9 bytes.
426 426  
427 427  
428 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
434 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
429 429  |(% style="background-color:#4f81bd; color:white; width:97px" %)(((
430 -**Size(bytes)**
431 -)))|(% 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
432 432  |(% 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"]]
433 433  
434 434  [[image:1675144608950-310.png]]
... ... @@ -450,10 +450,10 @@
450 450  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. 
451 451  
452 452  
453 -**For example.**
461 +For example.
454 454  
455 455  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
456 -|(% 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
457 457  |(% 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
458 458  |(% 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
459 459  |(% 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
... ... @@ -464,9 +464,9 @@
464 464  === 2.3.5 0~~20mA value (IDC_IN) ===
465 465  
466 466  
467 -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.
468 468  
469 -(% style="color:#037691" %)**Example**:
477 +Example:
470 470  
471 471  27AE(H) = 10158 (D)/1000 = 10.158mA.
472 472  
... ... @@ -476,12 +476,12 @@
476 476  [[image:image-20230225154759-1.png||height="408" width="741"]]
477 477  
478 478  
479 -=== 2.3.6 0~~30V value ( pin VDC_IN) ===
487 +=== 2.3.6 0~~30V value (pin VDC_IN) ===
480 480  
481 481  
482 482  Measure the voltage value. The range is 0 to 30V.
483 483  
484 -(% style="color:#037691" %)**Example**:
492 +Example:
485 485  
486 486  138E(H) = 5006(D)/1000= 5.006V
487 487  
... ... @@ -491,7 +491,7 @@
491 491  
492 492  IN1 and IN2 are used as digital input pins.
493 493  
494 -(% style="color:#037691" %)**Example**:
502 +Example:
495 495  
496 496  09 (H): (0x09&0x08)>>3=1    IN1 pin is high level.
497 497  
... ... @@ -498,9 +498,9 @@
498 498  09 (H): (0x09&0x04)>>2=0    IN2 pin is low level.
499 499  
500 500  
501 -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.
502 502  
503 -(% style="color:#037691" %)**Example:**
511 +Example:
504 504  
505 505  09 (H): (0x09&0x02)>>1=1    The level of the interrupt pin.
506 506  
... ... @@ -514,9 +514,13 @@
514 514  
515 515  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
516 516  |(% style="background-color:#4f81bd; color:white; width:65px" %)(((
517 -**Size(bytes)**
518 -)))|(% 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
519 519  |(% style="width:94px" %)Value|(% style="width:43px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:367px" %)(((
530 +
531 +
520 520  Voltage value, each 2 bytes is a set of voltage values.
521 521  )))
522 522  
... ... @@ -532,7 +532,6 @@
532 532  
533 533  While using TTN network, you can add the payload format to decode the payload.
534 534  
535 -
536 536  [[image:1675144839454-913.png]]
537 537  
538 538  
... ... @@ -550,12 +550,10 @@
550 550  
551 551  [[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:
552 552  
564 +Step 1: Be sure that your device is programmed and properly connected to the network at this time.
553 553  
554 -(% 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:
555 555  
556 -(% 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:
557 -
558 -
559 559  [[image:1675144951092-237.png]]
560 560  
561 561  
... ... @@ -562,9 +562,9 @@
562 562  [[image:1675144960452-126.png]]
563 563  
564 564  
565 -(% style="color:blue" %)**Step 3:**(%%) Create an account or log in Datacake.
574 +Step 3: Create an account or log in Datacake.
566 566  
567 -(% style="color:blue" %)**Step 4:** (%%)Create PS-LB/LS product.
576 +Step 4: Create PS-LB/LS product.
568 568  
569 569  [[image:1675145004465-869.png]]
570 570  
... ... @@ -572,11 +572,10 @@
572 572  [[image:1675145018212-853.png]]
573 573  
574 574  
575 -
576 576  [[image:1675145029119-717.png]]
577 577  
578 578  
579 -(% style="color:blue" %)**Step 5: **(%%)add payload decode
587 +Step 5: add payload decode
580 580  
581 581  [[image:1675145051360-659.png]]
582 582  
... ... @@ -586,23 +586,450 @@
586 586  
587 587  After added, the sensor data arrive TTN, it will also arrive and show in Datacake.
588 588  
589 -
590 590  [[image:1675145081239-376.png]]
591 591  
592 592  
593 -== 2.6 Frequency Plans ==
600 +== 2.6 Datalog Feature (Since V1.1) ==
594 594  
595 595  
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 +
596 596  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.
597 597  
598 -[[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/]]
599 599  
600 600  
601 -== 2.7 ​Firmware Change Log ==
785 +== 2.8 Report on Change Feature (Since firmware V1.2) ==
602 602  
787 +=== 2.8.1 Uplink payload(Enable ROC) ===
603 603  
604 -**Firmware download link:**
605 605  
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 +
606 606  [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
607 607  
608 608  
... ... @@ -613,7 +613,7 @@
613 613  
614 614  PS-LB/LS supports below configure method:
615 615  
616 -* 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/]].
617 617  * AT Command via UART Connection : See [[FAQ>>||anchor="H6.FAQ"]].
618 618  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>url:http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
619 619  
... ... @@ -641,21 +641,25 @@
641 641  
642 642  Feature: Change LoRaWAN End Node Transmit Interval.
643 643  
644 -(% style="color:blue" %)**AT Command: AT+TDC**
1079 +AT Command: AT+TDC
645 645  
646 646  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
647 -|=(% 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
648 648  |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
1084 +
1085 +
649 649  30000
650 650  OK
651 651  the interval is 30000ms = 30s
652 652  )))
653 653  |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((
1091 +
1092 +
654 654  OK
655 655  Set transmit interval to 60000ms = 60 seconds
656 656  )))
657 657  
658 -(% style="color:blue" %)**Downlink Command: 0x01**
1097 +Downlink Command: 0x01
659 659  
660 660  Format: Command Code (0x01) followed by 3 bytes time value.
661 661  
... ... @@ -669,16 +669,20 @@
669 669  
670 670  Feature, Set Interrupt mode for GPIO_EXIT.
671 671  
672 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1111 +AT Command: AT+INTMOD
673 673  
674 674  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
675 -|=(% 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
676 676  |(% 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 +
677 677  0
678 678  OK
679 679  the mode is 0 =Disable Interrupt
680 680  )))
681 681  |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)(((
1123 +
1124 +
682 682  Set Transmit Interval
683 683  0. (Disable Interrupt),
684 684  ~1. (Trigger by rising and falling edge)
... ... @@ -686,7 +686,7 @@
686 686  3. (Trigger by rising edge)
687 687  )))|(% style="background-color:#f2f2f2; width:157px" %)OK
688 688  
689 -(% style="color:blue" %)**Downlink Command: 0x06**
1132 +Downlink Command: 0x06
690 690  
691 691  Format: Command Code (0x06) followed by 3 bytes.
692 692  
... ... @@ -700,76 +700,106 @@
700 700  
701 701  Feature, Control the output 3V3 , 5V or 12V.
702 702  
703 -(% style="color:blue" %)**AT Command: AT+3V3T**
1146 +AT Command: AT+3V3T
704 704  
705 705  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
706 -|=(% 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
707 707  |(% 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 +
708 708  0
709 709  OK
710 710  )))
711 711  |(% 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 +
712 712  OK
713 713  default setting
714 714  )))
715 715  |(% 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 +
716 716  OK
717 717  )))
718 718  |(% 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 +
719 719  OK
720 720  )))
721 721  
722 -(% style="color:blue" %)**AT Command: AT+5VT**
1173 +AT Command: AT+5VT
723 723  
724 724  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %)
725 -|=(% 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
726 726  |(% 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 +
727 727  0
728 728  OK
729 729  )))
730 730  |(% 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 +
731 731  OK
732 732  default setting
733 733  )))
734 734  |(% 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 +
735 735  OK
736 736  )))
737 737  |(% 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 +
738 738  OK
739 739  )))
740 740  
741 -(% style="color:blue" %)**AT Command: AT+12VT**
1200 +AT Command: AT+12VT
742 742  
743 743  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %)
744 -|=(% 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
745 745  |(% 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 +
746 746  0
747 747  OK
748 748  )))
749 749  |(% 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
750 750  |(% 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 +
751 751  OK
752 752  )))
753 753  
754 -(% style="color:blue" %)**Downlink Command: 0x07**
1217 +Downlink Command: 0x07
755 755  
756 756  Format: Command Code (0x07) followed by 3 bytes.
757 757  
758 758  The first byte is which power, the second and third bytes are the time to turn on.
759 759  
760 -* Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
761 -* Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
762 -* Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
763 -* Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
764 -* Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
765 -* 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
766 766  
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 +
767 767  === 3.3.4 Set the Probe Model ===
768 768  
769 769  
770 770  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.
771 771  
772 -(% style="color:blue" %)**AT Command: AT** **+PROBE**
1245 +AT Command: AT +PROBE
773 773  
774 774  AT+PROBE=aabb
775 775  
... ... @@ -781,12 +781,20 @@
781 781  
782 782  (A->01,B->02,C->03,D->04,E->05,F->06,G->07,H->08,I->09,J->0A,K->0B,L->0C)
783 783  
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 +
784 784  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
785 -|(% 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
786 786  |(% 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
787 787  OK
788 788  |(% 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
789 789  |(% style="background-color:#f2f2f2; width:154px" %)(((
1269 +
1270 +
790 790  AT+PROBE=000A
791 791  )))|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 10m type.|(% style="background-color:#f2f2f2" %)OK
792 792  |(% 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
... ... @@ -793,52 +793,59 @@
793 793  |(% 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
794 794  |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0000|(% style="background-color:#f2f2f2; width:269px" %)Initial state, no settings.|(% style="background-color:#f2f2f2" %)OK
795 795  
796 -(% style="color:blue" %)**Downlink Command: 0x08**
1277 +Downlink Command: 0x08
797 797  
798 798  Format: Command Code (0x08) followed by 2 bytes.
799 799  
800 -* Example 1: Downlink Payload: 080003  **~-~-->**  AT+PROBE=0003
801 -* 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
802 802  
803 803  === 3.3.5 Multiple collections are one uplink (Since firmware V1.1) ===
804 804  
805 805  
806 -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.
807 807  
808 -(% style="color:blue" %)**AT Command: AT** **+STDC**
1289 +AT Command: AT +STDC
809 809  
810 810  AT+STDC=aa,bb,bb
811 811  
812 -(% style="color:#037691" %)**aa:**(%%)
813 -**0:** means disable this function and use TDC to send packets.
814 -**1:** means enable this function, use the method of multiple acquisitions to send packets.
815 -(% style="color:#037691" %)**bb:**(%%) Each collection interval (s), the value is 1~~65535
816 -(% 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
817 817  
818 818  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
819 -|(% 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
820 820  |(% 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
821 821  OK
822 822  |(% 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 +
823 823  Attention:Take effect after ATZ
824 824  
825 825  OK
826 826  )))
827 827  |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=0, 0,0|(% style="background-color:#f2f2f2; width:215px" %)(((
1312 +
1313 +
828 828  Use the TDC interval to send packets.(default)
829 829  
830 830  
831 831  )))|(% style="background-color:#f2f2f2" %)(((
1318 +
1319 +
832 832  Attention:Take effect after ATZ
833 833  
834 834  OK
835 835  )))
836 836  
837 -(% style="color:blue" %)**Downlink Command: 0xAE**
1325 +Downlink Command: 0xAE
838 838  
839 -Format: Command Code (0x08) followed by 5 bytes.
1327 +Format: Command Code (0xAE) followed by 4 bytes.
840 840  
841 -* 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
842 842  
843 843  = 4. Battery & Power Consumption =
844 844  
... ... @@ -845,7 +845,7 @@
845 845  
846 846  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.
847 847  
848 -[[**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/]] .
849 849  
850 850  
851 851  = 5. OTA firmware update =
... ... @@ -881,22 +881,22 @@
881 881  Test the current values at the depth of different liquids and convert them to a linear scale.
882 882  Replace its ratio with the ratio of water to current in the decoder.
883 883  
884 -**Example:**
1372 +Example:
885 885  
886 886  Measure the corresponding current of the sensor when the liquid depth is 2.04m and 0.51m.
887 887  
888 -**Calculate scale factor:**
1376 +Calculate scale factor:
889 889  Use these two data to calculate the current and depth scaling factors:(7.888-5.035)/(2.04-0.51)=1.86470588235294
890 890  
891 -**Calculation formula:**
1379 +Calculation formula:
892 892  
893 893  Use the calibration formula:(Current current - Minimum calibration current)/Scale factor + Minimum actual calibration height
894 894  
895 -**Actual calculations:**
1383 +Actual calculations:
896 896  
897 897  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
898 898  
899 -**Error:**
1387 +Error:
900 900  
901 901  0.009810726
902 902  
... ... @@ -920,17 +920,17 @@
920 920  = 8. Order Info =
921 921  
922 922  
923 -[[image:image-20240109172423-7.png]](% style="display:none" %)
924 924  
1412 +[[image:image-20241021093209-1.png]]
925 925  
926 926  = 9. ​Packing Info =
927 927  
928 928  
929 -(% style="color:#037691" %)**Package Includes**:
1417 +Package Includes:
930 930  
931 931  * PS-LB or PS-LS LoRaWAN Pressure Sensor
932 932  
933 -(% style="color:#037691" %)**Dimension and weight**:
1421 +Dimension and weight:
934 934  
935 935  * Device Size: cm
936 936  * Device Weight: g
... ... @@ -943,5 +943,3 @@
943 943  * 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.
944 944  
945 945  * 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]].
946 -
947 -
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