Last modified by Mengting Qiu on 2025/07/01 15:58
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 19 removed)
- 1682646494051-944.png
- S31-B.jpg
- S31.jpg
- S31B.jpg
- image-20230421162630-1.png
- image-20230421171614-1.png
- image-20230426084152-1.png
- image-20230523174230-1.png
- image-20230524105433-1.png
- image-20230524105747-2.png
- image-20230524110125-3.png
- image-20230524110211-4.png
- image-20230524114302-1.png
- image-20230524114654-2.png
- image-20230524114826-3.png
- image-20230524144422-1.png
- image-20230524144456-2.png
- image-20230527093155-1.jpeg
- image-20230527093214-2.jpeg
Details
- Page properties
-
- Content
-
... ... @@ -1,9 +1,6 @@ 1 -(% style="text-align:center" %) 2 -[[image:S31-B.jpg]] 1 + 3 3 4 4 5 - 6 - 7 7 **Table of Contents:** 8 8 9 9 {{toc/}} ... ... @@ -18,24 +18,41 @@ 18 18 == 1.1 What is S31x-LB LoRaWAN Temperature & Humidity Sensor == 19 19 20 20 21 -The Dragino S31x-LB is a (% style="color:blue" %)**LoRaWAN Temperature and Humidity Sensor**(%%) for Internet of Things solution. It is used to measure the (% style="color:blue" %)**surrounding environment temperature and relative air humidity precisely**(%%), and then upload to IoT server via LoRaWAN wireless protocol. 18 +((( 19 +The Dragino S31x-LB is a (% style="color:blue" %)**LoRaWAN Temperature and Humidity Sensor**(%%) for Internet of Things solution. It is used to measure the (% style="color:blue" %)**surrounding environment temperature and relative air humidity precisely**(%%), and then upload to IoT server via LoRaWAN wireless protocol. 20 +))) 22 22 23 -The temperature & humidity sensor used in S31x-LB is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a (% style="color:blue" %)**waterproof anti-condensation casing**(%%) for long term use. 22 +((( 23 +The temperature & humidity sensor used in S31x-LB is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a (% style="color:blue" %)**waterproof anti-condensation casing**(%%) for long term use. 24 +))) 24 24 26 +((( 25 25 The LoRa wireless technology used in S31x-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 28 +))) 26 26 27 -S31x-LB supports (% style="color:blue" %)**Temperature & Humdity alarm feature**(%%), user can set temperature alarm for instant notice. S31x-LB supports Datalog feature, it can save the data when there is no LoRaWAN network and uplink when network recover. 30 +((( 31 +S31x-LB supports (% style="color:blue" %)**Temperature & Humdity alarm feature,**(%%) user can set temperature alarm for instant notice. S31x-LB supports Datalog feature, it can save the data when there is no LoRaWAN network and uplink when network recover. 32 +))) 28 28 29 -S31x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. 34 +((( 35 +S31x-LB has max 3 probes which measure maximum 3 temperature points. 36 +))) 30 30 31 -S31x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 38 +((( 39 +S31x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. 40 +))) 32 32 42 +((( 43 +S31x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 44 +))) 45 + 46 +((( 33 33 Each S31x-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 48 +))) 34 34 35 35 36 36 == 1.2 Features == 37 37 38 - 39 39 * LoRaWAN 1.0.3 Class A 40 40 * Ultra-low power consumption 41 41 * External 3 meters SHT31 probe (For S31-LB) ... ... @@ -48,8 +48,6 @@ 48 48 * Downlink to change configure 49 49 * 8500mAh Battery for long term use 50 50 51 - 52 - 53 53 == 1.3 Specification == 54 54 55 55 ... ... @@ -92,8 +92,6 @@ 92 92 * Sleep Mode: 5uA @ 3.3v 93 93 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 94 94 95 - 96 - 97 97 == 1.4 Sleep mode and working mode == 98 98 99 99 ... ... @@ -121,12 +121,10 @@ 121 121 ))) 122 122 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. 123 123 124 - 125 - 126 126 == 1.6 BLE connection == 127 127 128 128 129 - S31x-LB support BLE remote configure.137 +D2x-LB support BLE remote configure. 130 130 131 131 132 132 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case: ... ... @@ -138,19 +138,12 @@ 138 138 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. 139 139 140 140 141 -== 1.7 Pin Definitions==149 +== 1.7 Hardware Variant == 142 142 143 -[[image:image-20230523174230-1.png]] 144 144 145 - 146 -== 1.8 Hardware Variant == 147 - 148 - 149 -(% border="1" cellspacing="5" style="width:472px" %) 150 -|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 187px; background-color:#D9E2F3;color:#0070C0" %)Probe Info 151 -|(% style="width:102px" %)((( 152 -S31-LB 153 -)))|(% style="width:190px" %)[[image:image-20230527093214-2.jpeg]]|(% style="width:187px" %)((( 152 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 153 +|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 218px;background-color:#D9E2F3;color:#0070C0" %)Probe Info 154 +|(% style="width:102px" %)S31-LB|(% style="width:190px" %) |(% style="width:297px" %)((( 154 154 1 x SHT31 Probe 155 155 156 156 Cable Length : 2 meters ... ... @@ -157,9 +157,7 @@ 157 157 158 158 159 159 ))) 160 -|(% style="width:102px" %)((( 161 -S31B-LB 162 -)))|(% style="width:190px" %)[[image:image-20230527093155-1.jpeg]]|(% style="width:187px" %)((( 161 +|(% style="width:102px" %)S31B-LB|(% style="width:190px" %) |(% style="width:297px" %)((( 163 163 1 x SHT31 Probe 164 164 165 165 Installed in device. ... ... @@ -169,7 +169,7 @@ 169 169 170 170 171 171 172 -== 1. 9Mechanical ==171 +== 1.8 Mechanical == 173 173 174 174 175 175 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]] ... ... @@ -194,6 +194,9 @@ 194 194 195 195 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. 196 196 196 + 197 + 198 + 197 197 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. 198 198 199 199 ... ... @@ -201,9 +201,10 @@ 201 201 202 202 Each S31x-LB is shipped with a sticker with the default device EUI as below: 203 203 204 -[[image:i mage-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]206 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220607170145-1.jpeg?rev=1.1||alt="image-20220607170145-1.jpeg"]] 205 205 206 206 209 + 207 207 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 208 208 209 209 ... ... @@ -214,18 +214,18 @@ 214 214 215 215 (% style="color:blue" %)**Add APP EUI and DEV EUI** 216 216 217 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt=" 图片-20220611161308-4.png"]]220 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="image-20220611161308-4.png"]] 218 218 219 219 220 220 (% style="color:blue" %)**Add APP EUI in the application** 221 221 222 222 223 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt=" 图片-20220611161308-5.png"]]226 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="image-20220611161308-5.png"]] 224 224 225 225 226 226 (% style="color:blue" %)**Add APP KEY** 227 227 228 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt=" 图片-20220611161308-6.png"]]231 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="image-20220611161308-6.png"]] 229 229 230 230 231 231 (% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB ... ... @@ -255,7 +255,7 @@ 255 255 256 256 Example parse in TTNv3 257 257 258 -[[image:image-20230 524144422-1.png||height="174" width="1080"]]261 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/image-20230415153147-2.png?width=1120&height=220&rev=1.1||alt="image-20230415153147-2.png"]] 259 259 260 260 261 261 (% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A ... ... @@ -316,27 +316,24 @@ 316 316 317 317 Sensor Data is uplink via FPORT=2 318 318 319 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:50 0px" %)320 -|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((322 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 323 +|=(% style="width: 99px;background-color:#D9E2F3" %)((( 321 321 **Size(bytes)** 322 -)))|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width:90px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 150px;;color:#0070C0" %)1|=(% style="width:80px;;color:#0070C0" %)**2**|=(% style="width: 80px;;color:#0070C0" %)2323 -|(% style="width:99px" %)Value|(% style="width:69px" %)((( 324 -Battery 325 +)))|=(% style="width: 69px;background-color:#D9E2F3" %)2|=(% style="width: 130px;background-color:#D9E2F3" %)4|=(% style="width: 91px;background-color:#D9E2F3" %)1|=(% style="width: 103px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2 326 +|(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 327 +[[Battery>>||anchor="HBattery:"]] 325 325 )))|(% style="width:130px" %)((( 326 -Unix TimeStamp 327 -)))|(% style="width: 194px" %)(((328 -Alarm Flag &MOD& Level of PA8329 -)))|(% style="width:10 6px" %)(((330 -Temperature 331 -)))|(% style="width: 97px" %)(((332 -Humidity 329 +[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 330 +)))|(% style="width:91px" %)((( 331 +[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] 332 +)))|(% style="width:103px" %)((( 333 +[[Temperature>>||anchor="HTemperature:"]] 334 +)))|(% style="width:80px" %)((( 335 +[[Humidity>>||anchor="HHumidity:"]] 333 333 ))) 334 334 335 - [[image:image-20230524144456-2.png||height="180"width="1142"]]338 +==== (% style="color:#4472c4" %)**Battery:**(%%) ==== 336 336 337 - 338 -==== (% style="color:#4472c4" %)**Battery**(%%) ==== 339 - 340 340 Sensor Battery Level. 341 341 342 342 Ex1: 0x0B45 = 2885mV ... ... @@ -345,7 +345,7 @@ 345 345 346 346 347 347 348 -==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 348 +==== (% style="color:#4472c4" %)**Temperature:**(%%) ==== 349 349 350 350 **Example**: 351 351 ... ... @@ -356,27 +356,23 @@ 356 356 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 357 357 358 358 359 -==== (% style="color:#4472c4" %)**Humidity**(%%) ==== 359 +==== (% style="color:#4472c4" %)**Humidity:**(%%) ==== 360 360 361 361 362 362 Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 363 363 364 364 365 -==== (% style="color:#4472c4" %)**Alarm Flag & Level of PA8**(%%) ====365 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD:**(%%) ==== 366 366 367 367 368 368 **Example:** 369 369 370 -If payload & 0x01 = 0x01 **~-~->** This is an Alarm Message .It means that the temperature and humidity exceed the alarm value or trigger an interrupt.370 +If payload & 0x01 = 0x01 **~-~->** This is an Alarm Message 371 371 372 -If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm .372 +If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm 373 373 374 -If payload & 0x80>>7= 0x01**~-~->**ThePA8is lowlevel.374 +If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message 375 375 376 -If payload & 0x80>>7 =0x00 **~-~->** The PA8 is high level. 377 - 378 -If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message. 379 - 380 380 If payload >> 2 = 0x31 **~-~->** means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 381 381 382 382 ... ... @@ -387,7 +387,7 @@ 387 387 388 388 In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 389 389 390 -[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/S31 -LB%26S31B-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB]]386 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B >>https://github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B]] 391 391 392 392 393 393 == 2.5 Datalog Feature == ... ... @@ -399,34 +399,28 @@ 399 399 === 2.5.1 Ways to get datalog via LoRaWAN === 400 400 401 401 402 -Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayload28FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 398 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 403 403 404 -* ((( 405 -a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 406 -))) 407 -* ((( 408 -b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages. 409 -))) 400 +* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 401 +* b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages. 410 410 411 411 Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 412 412 413 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt=" 图片-20220703111700-2.png" height="381" width="1119"]]405 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="image-20220703111700-2.png" height="381" width="1119"]] 414 414 415 - 416 416 === 2.5.2 Unix TimeStamp === 417 417 418 418 419 419 S31x-LB uses Unix TimeStamp format based on 420 420 421 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt=" 图片-20220523001219-11.png" height="97" width="627"]]412 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="image-20220523001219-11.png" height="97" width="627"]] 422 422 423 423 User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 424 424 425 425 Below is the converter example 426 426 427 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt=" 图片-20220523001219-12.png" height="298" width="720"]]418 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="image-20220523001219-12.png" height="298" width="720"]] 428 428 429 - 430 430 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 431 431 432 432 ... ... @@ -447,31 +447,18 @@ 447 447 448 448 **Retrieval data payload:** 449 449 450 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:50 0px" %)451 -|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((440 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 441 +|=(% style="width: 80px;background-color:#D9E2F3" %)((( 452 452 **Size(bytes)** 453 -)))|=(% style="width: 40px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 55px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 65px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px; background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px; background-color:#D9E2F3;color:#0070C0" %)**4** 454 -|(% style="width:103px" %)Value|(% style="width:68px" %)((( 455 -ignore 456 -)))|(% style="width:104px" %)((( 457 -((( 458 -Humidity 459 -))) 443 +)))|=(% style="width: 54px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 51px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 89px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 80px; background-color: rgb(217, 226, 243);" %)**4** 444 +|(% style="width:103px" %)**Value**|(% style="width:54px" %)((( 445 +[[Temp_Black>>||anchor="HTemperatureBlack:"]] 446 +)))|(% style="width:51px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:89px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]] 460 460 461 -((( 462 - 463 -))) 464 -)))|(% style="width:87px" %)((( 465 -Temperature 466 -)))|(% style="width:178px" %)((( 467 -Poll message flag & Alarm Flag& Level of PA8 468 -)))|(% style="width:137px" %)Unix Time Stamp 448 +**Poll message flag & Ext:** 469 469 470 - **Pollmessageflag &AlarmFlagLevelofPA8:**450 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20221006192726-1.png?width=754&height=112&rev=1.1||alt="image-20221006192726-1.png" height="112" width="754"]] 471 471 472 -[[image:image-20230524114302-1.png||height="115" width="736"]] 473 - 474 - 475 475 **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) 476 476 477 477 **Poll Message Flag**: 1: This message is a poll message reply. ... ... @@ -492,55 +492,43 @@ 492 492 493 493 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 494 494 472 + 495 495 **Example:** 496 496 497 -If S31x-LB has below data inside Flash:475 +If D2x-LB has below data inside Flash: 498 498 499 -[[image:image-202 30524114654-2.png]]477 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523144455-1.png?width=735&height=335&rev=1.1||alt="image-20220523144455-1.png" height="335" width="735"]] 500 500 479 +If user sends below downlink command: 3160065F9760066DA705 501 501 502 - If usersendsbelowdownlinkcommand:31646D84E1646D856C05481 +Where : Start time: 60065F97 = time 21/1/19 04:27:03 503 503 504 - Where:Starttime: 646D84E1= time 23/5/2403:30:41483 + Stop time: 60066DA7= time 21/1/19 05:27:03 505 505 506 - Stop time: 646D856C= time 23/5/24 03:33:00 507 507 508 - 509 509 **S31x-LB will uplink this payload.** 510 510 511 -[[image:image-202 30524114826-3.png||height="448" width="1244"]]488 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-13.png?width=727&height=421&rev=1.1||alt="image-20220523001219-13.png" height="421" width="727"]] 512 512 513 -((( 514 -00 00 02 36 01 10 40 64 6D 84 E1 00 00 02 37 01 10 40 64 6D 84 F8 00 00 02 37 01 0F 40 64 6D 85 04 00 00 02 3A 01 0F 40 64 6D 85 18 00 00 02 3C 01 0F 40 64 6D 85 36 00 00 02 3D 01 0E 40 64 6D 85 3F 00 00 02 3F 01 0E 40 64 6D 85 60 00 00 02 40 01 0E 40 64 6D 85 6A 515 -))) 490 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 516 516 517 -((( 518 518 Where the first 11 bytes is for the first entry: 519 -))) 520 520 521 -((( 522 -00 00 02 36 01 10 40 64 6D 84 E1 523 -))) 494 +7FFF089801464160065F97 524 524 525 -((( 526 -**Hum**=0x0236/10=56.6 527 -))) 496 +**Ext sensor data**=0x7FFF/100=327.67 528 528 529 -((( 530 -**Temp**=0x0110/10=27.2 531 -))) 498 +**Temp**=0x088E/100=22.00 532 532 533 -((( 534 -**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level. 535 -))) 500 +**Hum**=0x014B/10=32.6 536 536 537 -((( 538 -**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41 539 -))) 502 +**poll message flag & Ext**=0x41,means reply data,Ext=1 540 540 504 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 541 541 542 -(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的 543 543 507 +(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)(% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %) 508 + 544 544 == 2.6 Temperature Alarm Feature == 545 545 546 546 ... ... @@ -547,10 +547,9 @@ 547 547 S31x-LB work flow with Alarm feature. 548 548 549 549 550 -[[image:i mage-20230524110125-3.png||height="768" width="1115"]]515 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="image-20220623090437-1.png"]] 551 551 552 552 553 - 554 554 == 2.7 Frequency Plans == 555 555 556 556 ... ... @@ -561,7 +561,7 @@ 561 561 562 562 = 3. Configure S31x-LB = 563 563 564 -== 3.1 Configure Methods == 528 +== 3.1 Configure Methods: == 565 565 566 566 567 567 S31x-LB supports below configure method: ... ... @@ -627,9 +627,8 @@ 627 627 Sensor will upload Device Status via FPORT=5. See payload section for detail. 628 628 629 629 630 -=== 3.3.3 Set Temperature Alarm Threshold === 594 +=== 3.3.3 Set Temperature Alarm Threshold: === 631 631 632 - 633 633 * (% style="color:blue" %)**AT Command:** 634 634 635 635 (% style="color:#037691" %)**AT+SHTEMP=min,max** ... ... @@ -644,14 +644,13 @@ 644 644 645 645 * (% style="color:blue" %)**Downlink Payload:** 646 646 647 -(% style="color:#037691" %)**0x(0C 01 00 1E)** (%%) 610 +(% style="color:#037691" %)**0x(0C 01 00 1E)** (%%) ~/~/Set AT+SHTEMP=0,30 648 648 649 649 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 650 650 651 651 652 -=== 3.3.4 Set Humidity Alarm Threshold === 615 +=== 3.3.4 Set Humidity Alarm Threshold: === 653 653 654 - 655 655 * (% style="color:blue" %)**AT Command:** 656 656 657 657 (% style="color:#037691" %)**AT+SHHUM=min,max** ... ... @@ -662,18 +662,17 @@ 662 662 663 663 Example: 664 664 665 - AT+SHHUM=70,0 627 + AT+SHHUM=70,0 ~/~/ Alarm when humidity lower than 70%. 666 666 667 667 * (% style="color:blue" %)**Downlink Payload:** 668 668 669 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) 631 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) ~/~/Set AT+SHTHUM=70,0 670 670 671 671 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))** 672 672 673 673 674 -=== 3.3.5 Set Alarm Interval === 636 +=== 3.3.5 Set Alarm Interval: === 675 675 676 - 677 677 The shortest time of two Alarm packet. (unit: min) 678 678 679 679 * (% style="color:blue" %)**AT Command:** ... ... @@ -685,7 +685,7 @@ 685 685 (% style="color:#037691" %)**0x(0D 00 1E)**(%%) **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 686 686 687 687 688 -=== 3.3.6 Get Alarm settings === 649 +=== 3.3.6 Get Alarm settings (什么FPORT?) === 689 689 690 690 691 691 Send a LoRaWAN downlink to ask device send Alarm settings. ... ... @@ -694,8 +694,9 @@ 694 694 695 695 **Example:** 696 696 697 -[[image:i mage-20230524110211-4.png]]658 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]] 698 698 660 + 699 699 **Explain:** 700 700 701 701 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. ... ... @@ -703,14 +703,12 @@ 703 703 === 3.3.7 Set Interrupt Mode === 704 704 705 705 706 -Feature, Set Interrupt mode for P A8 of pin.668 +Feature, Set Interrupt mode for GPIO_EXIT. 707 707 708 -When AT+INTMOD=0 is set, PA8 is used as a digital input port. 709 - 710 710 (% style="color:blue" %)**AT Command: AT+INTMOD** 711 711 712 712 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 713 -|=(% style="width: 15 5px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3" %)**Response**673 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 714 714 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 715 715 0 716 716 OK ... ... @@ -733,34 +733,6 @@ 733 733 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 734 734 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 735 735 736 -=== 3.3.8 Set Power Output Duration === 737 - 738 - 739 -Control the output duration 5V . Before each sampling, device will 740 - 741 -~1. first enable the power output to external sensor, 742 - 743 -2. keep it on as per duration, read sensor value and construct uplink payload 744 - 745 -3. final, close the power output. 746 - 747 -(% style="color:blue" %)**AT Command: AT+5VT** 748 - 749 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 750 -|=(% style="width: 155px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3" %)**Response** 751 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default) 752 -OK 753 -|(% style="width:154px" %)AT+5VT=500|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK 754 - 755 -(% style="color:blue" %)**Downlink Command: 0x07** 756 - 757 -Format: Command Code (0x07) followed by 2 bytes. 758 - 759 -The first and second bytes are the time to turn on. 760 - 761 -* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 762 -* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 763 - 764 764 = 4. Battery & Power Consumption = 765 765 766 766 ... ... @@ -779,13 +779,13 @@ 779 779 * Update with new features. 780 780 * Fix bugs. 781 781 782 -Firmware and changelog can be downloaded from : url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**714 +Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]** 783 783 784 784 785 785 Methods to Update Firmware: 786 786 787 -* (Recommanded way) OTA firmware update via wireless: 788 -* Update through UART TTL interface. url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.719 +* (Recommanded way) OTA firmware update via wireless: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]] 720 +* Update through UART TTL interface. **[[Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. 789 789 790 790 = 6. FAQ = 791 791 ... ... @@ -794,7 +794,7 @@ 794 794 = 7. Order Info = 795 795 796 796 797 -Part Number: 729 +Part Number: (% style="color:blue" %)**S31-LB-XX / S31B-LB-XX** 798 798 799 799 (% style="color:red" %)**XX**(%%): The default frequency band 800 800 ... ... @@ -836,4 +836,4 @@ 836 836 837 837 * 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. 838 838 839 -* 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]].771 +* 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.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
- 1682646494051-944.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -206.9 KB - Content
- S31-B.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Ellie - Size
-
... ... @@ -1,1 +1,0 @@ 1 -28.3 KB - Content
- S31.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Ellie - Size
-
... ... @@ -1,1 +1,0 @@ 1 -58.7 KB - Content
- S31B.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Ellie - Size
-
... ... @@ -1,1 +1,0 @@ 1 -40.5 KB - Content
- image-20230421162630-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -23.5 KB - Content
- image-20230421171614-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -34.8 KB - Content
- image-20230426084152-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -190.0 KB - Content
- image-20230523174230-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -605.9 KB - Content
- image-20230524105433-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -121.4 KB - Content
- image-20230524105747-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -223.2 KB - Content
- image-20230524110125-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -194.1 KB - Content
- image-20230524110211-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -110.1 KB - Content
- image-20230524114302-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.0 KB - Content
- image-20230524114654-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -17.8 KB - Content
- image-20230524114826-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -82.3 KB - Content
- image-20230524144422-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -34.9 KB - Content
- image-20230524144456-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -33.9 KB - Content
- image-20230527093155-1.jpeg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -9.3 KB - Content
- image-20230527093214-2.jpeg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -14.7 KB - Content