Changes for page PS-LB/LS -- LoRaWAN Air Water Pressure Sensor User Manual
Last modified by Xiaoling on 2025/07/10 16:21
From version 88.1
edited by Mengting Qiu
on 2024/05/13 10:29
on 2024/05/13 10:29
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 13 added, 0 removed)
- image-20240817150702-1.png
- image-20241021093209-1.png
- image-20250116175954-1.png
- image-20250116180030-2.png
- image-20250117104812-1.png
- image-20250117104827-2.png
- image-20250117104837-3.png
- image-20250117104847-4.png
- image-20250401102131-1.png
- image-20250401163530-1.jpeg
- image-20250401163539-2.jpeg
- image-20250401163826-3.jpeg
- image-20250401163906-4.jpeg
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. ting1 +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,34 +136,34 @@ 136 136 === 1.4.2 Immersion Type === 137 137 138 138 139 -[[image:image-20240109160445-5.png||height="2 84" 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 -* Measuring Range: -100KPa~~0~~100KPa ,Intermediate rangeis optional.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: -40℃~~85℃ 157 +* Operating temperature: -20°C~~60°C 158 +* Storage temperature: -20°C~~60°C 158 158 * Compensation temperature: 0~~50°C 159 159 160 - 161 161 == 1.5 Application and Installation == 162 162 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 ... ... @@ -188,7 +188,7 @@ 188 188 [[image:1675071725288-579.png]] 189 189 190 190 191 - TheImmersion Type pressure sensor is shipped with the probe and device separately. When user got the device, below is the wiring to for connect the probe to the device.191 +Below is the wiring to for connect the probe to the device. 192 192 193 193 The Immersion Type Sensor has different variant which defined by Ixx. For example, this means two points: 194 194 ... ... @@ -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 ... ... @@ -214,7 +214,7 @@ 214 214 [[image:image-20240513100135-7.png]] 215 215 216 216 217 - TheWireless Differential Air Pressure Sensor is shippedwiththe probe and deviceseparately.When user gotthedevice, belows the wiring to for connect the probe to the device.220 +Below is the wiring to for connect the probe to the device. 218 218 219 219 [[image:image-20240513093957-1.png]] 220 220 ... ... @@ -226,34 +226,35 @@ 226 226 Note: The above dimensions are measured by hand, and the numerical error of the shell is within ±0.2mm. 227 227 228 228 229 - 230 - 231 - 232 232 == 1.6 Sleep mode and working mode == 233 233 234 234 235 - (% 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. 236 236 237 - (% 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. 238 238 239 239 240 240 == 1.7 Button & LEDs == 241 241 242 242 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"]] (%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"]] 244 244 245 245 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 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**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 247 247 |(% 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" %)((( 248 -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. 249 249 Meanwhile, BLE module will be active and user can connect via BLE to configure device. 250 250 ))) 251 251 |(% 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" %)((( 252 -(% 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. 253 -(% 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. 254 254 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. 255 255 ))) 256 -|(% 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. 257 257 258 258 == 1.8 Pin Mapping == 259 259 ... ... @@ -278,16 +278,16 @@ 278 278 279 279 == 1.10 Mechanical == 280 280 281 -=== 1.10.1 for LB version (%style="display:none" %) (%%)===285 +=== 1.10.1 for LB version === 282 282 283 283 284 -[[image:image-202401 09160800-6.png]]288 +[[image:image-20250401163530-1.jpeg]] 285 285 286 286 287 287 === 1.10.2 for LS version === 288 288 289 289 290 -[[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]] 291 291 292 292 293 293 = 2. Configure PS-LB/LS to connect to LoRaWAN network = ... ... @@ -295,7 +295,7 @@ 295 295 == 2.1 How it works == 296 296 297 297 298 -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. 299 299 300 300 301 301 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -303,7 +303,6 @@ 303 303 304 304 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. 305 305 306 - 307 307 [[image:1675144005218-297.png]] 308 308 309 309 ... ... @@ -310,7 +310,7 @@ 310 310 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. 311 311 312 312 313 - (% 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. 314 314 315 315 Each PS-LB/LS is shipped with a sticker with the default device EUI as below: 316 316 ... ... @@ -320,32 +320,32 @@ 320 320 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 321 321 322 322 323 - (% style="color:blue" %)**Register the device**326 +Register the device 324 324 325 325 [[image:1675144099263-405.png]] 326 326 327 327 328 - (% style="color:blue" %)**Add APP EUI and DEV EUI**331 +Add APP EUI and DEV EUI 329 329 330 330 [[image:1675144117571-832.png]] 331 331 332 332 333 - (% style="color:blue" %)**Add APP EUI in the application**336 +Add APP EUI in the application 334 334 335 335 336 336 [[image:1675144143021-195.png]] 337 337 338 338 339 - (% style="color:blue" %)**Add APP KEY**342 +Add APP KEY 340 340 341 341 [[image:1675144157838-392.png]] 342 342 343 - (% style="color:blue" %)**Step 2:**(%%)Activate on PS-LB/LS346 +Step 2: Activate on PS-LB/LS 344 344 345 345 346 346 Press the button for 5 seconds to activate the PS-LB/LS. 347 347 348 - (% 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. 349 349 350 350 After join success, it will start to upload messages to TTN and you can see the messages in the panel. 351 351 ... ... @@ -359,11 +359,10 @@ 359 359 360 360 Users can also use the downlink command(0x26 01) to ask PS-LB/LS to resend this uplink. 361 361 362 - 363 363 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 364 -|(% colspan="6" style="background-color:#4f81bd; color:white" %) **Device Status (FPORT=5)**365 -|(% 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**366 -|(% 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" %)BAT366 +|(% 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 367 367 368 368 Example parse in TTNv3 369 369 ... ... @@ -370,11 +370,11 @@ 370 370 [[image:1675144504430-490.png]] 371 371 372 372 373 - (% style="color:#037691" %)**Sensor Model**(%%): For PS-LB/LS, this value is 0x16375 +Sensor Model: For PS-LB/LS, this value is 0x16 374 374 375 - (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version377 +Firmware Version: 0x0100, Means: v1.0.0 version 376 376 377 - (% style="color:#037691" %)**Frequency Band**:379 +Frequency Band: 378 378 379 379 *0x01: EU868 380 380 ... ... @@ -405,7 +405,7 @@ 405 405 *0x0e: MA869 406 406 407 407 408 - (% style="color:#037691" %)**Sub-Band**:410 +Sub-Band: 409 409 410 410 AU915 and US915:value 0x00 ~~ 0x08 411 411 ... ... @@ -414,7 +414,7 @@ 414 414 Other Bands: Always 0x00 415 415 416 416 417 - (% style="color:#037691" %)**Battery Info**:419 +Battery Info: 418 418 419 419 Check the battery voltage. 420 420 ... ... @@ -429,10 +429,12 @@ 429 429 Uplink payload includes in total 9 bytes. 430 430 431 431 432 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)434 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 433 433 |(% style="background-color:#4f81bd; color:white; width:97px" %)((( 434 -**Size(bytes)** 435 -)))|(% 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 436 436 |(% 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"]] 437 437 438 438 [[image:1675144608950-310.png]] ... ... @@ -454,10 +454,10 @@ 454 454 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. 455 455 456 456 457 - **For example.**461 +For example. 458 458 459 459 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 460 -|(% 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 461 461 |(% 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 462 462 |(% 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 463 463 |(% 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 ... ... @@ -468,9 +468,9 @@ 468 468 === 2.3.5 0~~20mA value (IDC_IN) === 469 469 470 470 471 -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. 472 472 473 - (% style="color:#037691" %)**Example**:477 +Example: 474 474 475 475 27AE(H) = 10158 (D)/1000 = 10.158mA. 476 476 ... ... @@ -480,12 +480,12 @@ 480 480 [[image:image-20230225154759-1.png||height="408" width="741"]] 481 481 482 482 483 -=== 2.3.6 0~~30V value ( 487 +=== 2.3.6 0~~30V value (pin VDC_IN) === 484 484 485 485 486 486 Measure the voltage value. The range is 0 to 30V. 487 487 488 - (% style="color:#037691" %)**Example**:492 +Example: 489 489 490 490 138E(H) = 5006(D)/1000= 5.006V 491 491 ... ... @@ -495,7 +495,7 @@ 495 495 496 496 IN1 and IN2 are used as digital input pins. 497 497 498 - (% style="color:#037691" %)**Example**:502 +Example: 499 499 500 500 09 (H): (0x09&0x08)>>3=1 IN1 pin is high level. 501 501 ... ... @@ -502,9 +502,9 @@ 502 502 09 (H): (0x09&0x04)>>2=0 IN2 pin is low level. 503 503 504 504 505 -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. 506 506 507 - (% style="color:#037691" %)**Example:**511 +Example: 508 508 509 509 09 (H): (0x09&0x02)>>1=1 The level of the interrupt pin. 510 510 ... ... @@ -518,9 +518,13 @@ 518 518 519 519 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) 520 520 |(% style="background-color:#4f81bd; color:white; width:65px" %)((( 521 -**Size(bytes)** 522 -)))|(% 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 523 523 |(% style="width:94px" %)Value|(% style="width:43px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:367px" %)((( 530 + 531 + 524 524 Voltage value, each 2 bytes is a set of voltage values. 525 525 ))) 526 526 ... ... @@ -536,7 +536,6 @@ 536 536 537 537 While using TTN network, you can add the payload format to decode the payload. 538 538 539 - 540 540 [[image:1675144839454-913.png]] 541 541 542 542 ... ... @@ -554,12 +554,10 @@ 554 554 555 555 [[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: 556 556 564 +Step 1: Be sure that your device is programmed and properly connected to the network at this time. 557 557 558 - (% style="color:blue" %)**Step1:**(%%)Besure that your deviceisprogrammedandproperlyconnected to the networkatthistime.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: 559 559 560 -(% 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: 561 - 562 - 563 563 [[image:1675144951092-237.png]] 564 564 565 565 ... ... @@ -566,9 +566,9 @@ 566 566 [[image:1675144960452-126.png]] 567 567 568 568 569 - (% style="color:blue" %)**Step 3:**(%%)Create an account or log in Datacake.574 +Step 3: Create an account or log in Datacake. 570 570 571 - (% style="color:blue" %)**Step 4:** (%%)Create PS-LB/LS product.576 +Step 4: Create PS-LB/LS product. 572 572 573 573 [[image:1675145004465-869.png]] 574 574 ... ... @@ -576,11 +576,10 @@ 576 576 [[image:1675145018212-853.png]] 577 577 578 578 579 - 580 580 [[image:1675145029119-717.png]] 581 581 582 582 583 - (% style="color:blue" %)**Step 5:**(%%)add payload decode587 +Step 5: add payload decode 584 584 585 585 [[image:1675145051360-659.png]] 586 586 ... ... @@ -590,23 +590,450 @@ 590 590 591 591 After added, the sensor data arrive TTN, it will also arrive and show in Datacake. 592 592 593 - 594 594 [[image:1675145081239-376.png]] 595 595 596 596 597 -== 2.6 F requencyPlans==600 +== 2.6 Datalog Feature (Since V1.1) == 598 598 599 599 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 + 600 600 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. 601 601 602 -[[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/]] 603 603 604 604 605 -== 2. 7Firmware ChangeLog==785 +== 2.8 Report on Change Feature (Since firmware V1.2) == 606 606 787 +=== 2.8.1 Uplink payload(Enable ROC) === 607 607 608 -**Firmware download link:** 609 609 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 + 610 610 [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]] 611 611 612 612 ... ... @@ -617,7 +617,7 @@ 617 617 618 618 PS-LB/LS supports below configure method: 619 619 620 -* 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/]]. 621 621 * AT Command via UART Connection : See [[FAQ>>||anchor="H6.FAQ"]]. 622 622 * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>url:http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 623 623 ... ... @@ -645,21 +645,25 @@ 645 645 646 646 Feature: Change LoRaWAN End Node Transmit Interval. 647 647 648 - (% style="color:blue" %)**AT Command: AT+TDC**1079 +AT Command: AT+TDC 649 649 650 650 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 651 -|=(% 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 652 652 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)((( 1084 + 1085 + 653 653 30000 654 654 OK 655 655 the interval is 30000ms = 30s 656 656 ))) 657 657 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)((( 1091 + 1092 + 658 658 OK 659 659 Set transmit interval to 60000ms = 60 seconds 660 660 ))) 661 661 662 - (% style="color:blue" %)**Downlink Command: 0x01**1097 +Downlink Command: 0x01 663 663 664 664 Format: Command Code (0x01) followed by 3 bytes time value. 665 665 ... ... @@ -673,16 +673,20 @@ 673 673 674 674 Feature, Set Interrupt mode for GPIO_EXIT. 675 675 676 - (% style="color:blue" %)**AT Command: AT+INTMOD**1111 +AT Command: AT+INTMOD 677 677 678 678 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 679 -|=(% 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 680 680 |(% 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 + 681 681 0 682 682 OK 683 683 the mode is 0 =Disable Interrupt 684 684 ))) 685 685 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)((( 1123 + 1124 + 686 686 Set Transmit Interval 687 687 0. (Disable Interrupt), 688 688 ~1. (Trigger by rising and falling edge) ... ... @@ -690,7 +690,7 @@ 690 690 3. (Trigger by rising edge) 691 691 )))|(% style="background-color:#f2f2f2; width:157px" %)OK 692 692 693 - (% style="color:blue" %)**Downlink Command: 0x06**1132 +Downlink Command: 0x06 694 694 695 695 Format: Command Code (0x06) followed by 3 bytes. 696 696 ... ... @@ -704,76 +704,106 @@ 704 704 705 705 Feature, Control the output 3V3 , 5V or 12V. 706 706 707 - (% style="color:blue" %)**AT Command: AT+3V3T**1146 +AT Command: AT+3V3T 708 708 709 709 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %) 710 -|=(% 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 711 711 |(% 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 + 712 712 0 713 713 OK 714 714 ))) 715 715 |(% 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 + 716 716 OK 717 717 default setting 718 718 ))) 719 719 |(% 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 + 720 720 OK 721 721 ))) 722 722 |(% 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 + 723 723 OK 724 724 ))) 725 725 726 - (% style="color:blue" %)**AT Command: AT+5VT**1173 +AT Command: AT+5VT 727 727 728 728 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %) 729 -|=(% 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 730 730 |(% 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 + 731 731 0 732 732 OK 733 733 ))) 734 734 |(% 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 + 735 735 OK 736 736 default setting 737 737 ))) 738 738 |(% 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 + 739 739 OK 740 740 ))) 741 741 |(% 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 + 742 742 OK 743 743 ))) 744 744 745 - (% style="color:blue" %)**AT Command: AT+12VT**1200 +AT Command: AT+12VT 746 746 747 747 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %) 748 -|=(% 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 749 749 |(% 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 + 750 750 0 751 751 OK 752 752 ))) 753 753 |(% 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 754 754 |(% 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 + 755 755 OK 756 756 ))) 757 757 758 - (% style="color:blue" %)**Downlink Command: 0x07**1217 +Downlink Command: 0x07 759 759 760 760 Format: Command Code (0x07) followed by 3 bytes. 761 761 762 762 The first byte is which power, the second and third bytes are the time to turn on. 763 763 764 -* Example 1: Downlink Payload: 070101F4 **~-~-->**AT+3V3T=500765 -* Example 2: Downlink Payload: 0701FFFF **~-~-->**AT+3V3T=65535766 -* Example 3: Downlink Payload: 070203E8 **~-~-->**AT+5VT=1000767 -* Example 4: Downlink Payload: 07020000 **~-~-->**AT+5VT=0768 -* Example 5: Downlink Payload: 070301F4 **~-~-->**AT+12VT=500769 -* Example 6: Downlink Payload: 07030000 **~-~-->**AT+12VT=01223 +* 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 770 770 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 + 771 771 === 3.3.4 Set the Probe Model === 772 772 773 773 774 774 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. 775 775 776 - (% style="color:blue" %)**AT Command: AT****+PROBE**1245 +AT Command: AT +PROBE 777 777 778 778 AT+PROBE=aabb 779 779 ... ... @@ -785,12 +785,20 @@ 785 785 786 786 (A->01,B->02,C->03,D->04,E->05,F->06,G->07,H->08,I->09,J->0A,K->0B,L->0C) 787 787 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 + 788 788 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 789 -|(% 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 790 790 |(% 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 791 791 OK 792 792 |(% 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 793 793 |(% style="background-color:#f2f2f2; width:154px" %)((( 1269 + 1270 + 794 794 AT+PROBE=000A 795 795 )))|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 10m type.|(% style="background-color:#f2f2f2" %)OK 796 796 |(% 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 ... ... @@ -797,52 +797,59 @@ 797 797 |(% 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 798 798 |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0000|(% style="background-color:#f2f2f2; width:269px" %)Initial state, no settings.|(% style="background-color:#f2f2f2" %)OK 799 799 800 - (% style="color:blue" %)**Downlink Command: 0x08**1277 +Downlink Command: 0x08 801 801 802 802 Format: Command Code (0x08) followed by 2 bytes. 803 803 804 -* Example 1: Downlink Payload: 080003 **~-~-->**AT+PROBE=0003805 -* Example 2: Downlink Payload: 080101 **~-~-->**AT+PROBE=01011281 +* Example 1: Downlink Payload: 080003 ~-~--> AT+PROBE=0003 1282 +* Example 2: Downlink Payload: 080101 ~-~--> AT+PROBE=0101 806 806 807 807 === 3.3.5 Multiple collections are one uplink (Since firmware V1.1) === 808 808 809 809 810 -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. 811 811 812 - (% style="color:blue" %)**AT Command: AT****+STDC**1289 +AT Command: AT +STDC 813 813 814 814 AT+STDC=aa,bb,bb 815 815 816 -(% style="color:#037691" %)**aa:**(%%) 817 -**0:** means disable this function and use TDC to send packets. 818 -**1:** means enable this function, use the method of multiple acquisitions to send packets. 819 -(% style="color:#037691" %)**bb:**(%%) Each collection interval (s), the value is 1~~65535 820 -(% 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 821 821 822 822 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 823 -|(% 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 824 824 |(% 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 825 825 OK 826 826 |(% 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 + 827 827 Attention:Take effect after ATZ 828 828 829 829 OK 830 830 ))) 831 831 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=0, 0,0|(% style="background-color:#f2f2f2; width:215px" %)((( 1312 + 1313 + 832 832 Use the TDC interval to send packets.(default) 833 833 834 834 835 835 )))|(% style="background-color:#f2f2f2" %)((( 1318 + 1319 + 836 836 Attention:Take effect after ATZ 837 837 838 838 OK 839 839 ))) 840 840 841 - (% style="color:blue" %)**Downlink Command: 0xAE**1325 +Downlink Command: 0xAE 842 842 843 -Format: Command Code (0x 08) followed by5bytes.1327 +Format: Command Code (0xAE) followed by 4 bytes. 844 844 845 -* Example 1: Downlink Payload: AE 01 02 58 12 **~-~-->**AT+STDC=1,600,181329 +* Example 1: Downlink Payload: AE 01 02 58 12 ~-~--> AT+STDC=1,600,18 846 846 847 847 = 4. Battery & Power Consumption = 848 848 ... ... @@ -849,7 +849,7 @@ 849 849 850 850 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. 851 851 852 -[[ **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/]] . 853 853 854 854 855 855 = 5. OTA firmware update = ... ... @@ -885,22 +885,22 @@ 885 885 Test the current values at the depth of different liquids and convert them to a linear scale. 886 886 Replace its ratio with the ratio of water to current in the decoder. 887 887 888 - **Example:**1372 +Example: 889 889 890 890 Measure the corresponding current of the sensor when the liquid depth is 2.04m and 0.51m. 891 891 892 - **Calculate scale factor:**1376 +Calculate scale factor: 893 893 Use these two data to calculate the current and depth scaling factors:(7.888-5.035)/(2.04-0.51)=1.86470588235294 894 894 895 - **Calculation formula:**1379 +Calculation formula: 896 896 897 897 Use the calibration formula:(Current current - Minimum calibration current)/Scale factor + Minimum actual calibration height 898 898 899 - **Actual calculations:**1383 +Actual calculations: 900 900 901 901 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 902 902 903 - **Error:**1387 +Error: 904 904 905 905 0.009810726 906 906 ... ... @@ -924,17 +924,17 @@ 924 924 = 8. Order Info = 925 925 926 926 927 -[[image:image-20240109172423-7.png]](% style="display:none" %) 928 928 1412 +[[image:image-20241021093209-1.png]] 929 929 930 930 = 9. Packing Info = 931 931 932 932 933 - (% style="color:#037691" %)**Package Includes**:1417 +Package Includes: 934 934 935 935 * PS-LB or PS-LS LoRaWAN Pressure Sensor 936 936 937 - (% style="color:#037691" %)**Dimension and weight**:1421 +Dimension and weight: 938 938 939 939 * Device Size: cm 940 940 * Device Weight: g ... ... @@ -947,5 +947,3 @@ 947 947 * 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. 948 948 949 949 * 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]]. 950 - 951 -
- 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