Last modified by Mengting Qiu on 2025/07/01 15:58

From version 60.17
edited by Xiaoling
on 2023/05/27 11:15
Change comment: There is no comment for this version
To version 15.2
edited by Xiaoling
on 2023/04/21 16:26
Change comment: There is no comment for this version

Summary

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)
... ... @@ -49,7 +49,6 @@
49 49  * 8500mAh Battery for long term use
50 50  
51 51  
52 -
53 53  == 1.3 Specification ==
54 54  
55 55  
... ... @@ -93,7 +93,6 @@
93 93  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
94 94  
95 95  
96 -
97 97  == 1.4 Sleep mode and working mode ==
98 98  
99 99  
... ... @@ -122,11 +122,10 @@
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 124  
125 -
126 126  == 1.6 BLE connection ==
127 127  
128 128  
129 -S31x-LB support BLE remote configure.
140 +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 ==
152 +== 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" %)(((
155 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
156 +|=(% 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
157 +|(% 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" %)(((
164 +|(% 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.9 Mechanical ==
174 +== 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,7 @@
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  
199 +
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:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
207 +[[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  
210 +
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"]]
221 +[[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"]]
227 +[[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"]]
232 +[[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-20230524144422-1.png||height="174" width="1080"]]
262 +[[image:image-20230421162630-1.png]]
259 259  
260 260  
261 261  (% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
... ... @@ -317,26 +317,23 @@
317 317  Sensor Data is uplink via FPORT=2
318 318  
319 319  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
320 -|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
324 +|=(% style="width: 90px;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; background-color: #D9E2F3;color:#0070C0" %)1|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)**2**|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)2
323 -|(% style="width:99px" %)Value|(% style="width:69px" %)(((
324 -Battery
326 +)))|=(% style="width: 80px;background-color:#D9E2F3" %)2|=(% style="width: 90px;background-color:#D9E2F3" %)4|=(% style="width:80px;background-color:#D9E2F3" %)1|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2
327 +|(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
328 +[[Battery>>||anchor="HBattery:"]]
325 325  )))|(% style="width:130px" %)(((
326 -Unix TimeStamp
327 -)))|(% style="width:194px" %)(((
328 -Alarm Flag & MOD& Level of PA8
329 -)))|(% style="width:106px" %)(((
330 -Temperature
331 -)))|(% style="width:97px" %)(((
332 -Humidity
330 +[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
331 +)))|(% style="width:91px" %)(((
332 +[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
333 +)))|(% style="width:103px" %)(((
334 +[[Temperature>>||anchor="HTemperature:"]]
335 +)))|(% style="width:80px" %)(((
336 +[[Humidity>>||anchor="HHumidity:"]]
333 333  )))
334 334  
335 -[[image:image-20230524144456-2.png||height="180" width="1142"]]
339 +==== (% 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**(%%) ====
349 +==== (% 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**(%%) ====
360 +==== (% 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 & MOD & Level of PA8**(%%) ====
366 +==== (% 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.
371 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
371 371  
372 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
373 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
373 373  
374 -If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
375 +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]]
387 +[[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.
399 +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 -)))
401 +* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
402 +* 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"]]
406 +[[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"]]
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-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"]]
419 +[[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:500px" %)
451 -|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
441 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
442 +|=(% 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 -)))
444 +)))|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 120px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 85px; background-color: rgb(217, 226, 243);" %)**4**
445 +|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
446 +[[Temp_Black>>||anchor="HTemperatureBlack:"]]
447 +)))|(% 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
449 +**Poll message flag & Ext:**
469 469  
470 -**Poll message flag & Alarm Flag & Level of PA8:**
451 +[[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,26 +492,26 @@
492 492  
493 493  If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
494 494  
473 +
495 495  **Example:**
496 496  
497 -If S31x-LB has below data inside Flash:
476 +If D2x-LB has below data inside Flash:
498 498  
499 -[[image:image-20230524114654-2.png]]
478 +[[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  
480 +If user sends below downlink command: 3160065F9760066DA705
501 501  
502 -If user sends below downlink command: 31646D84E1646D856C05
482 +Where : Start time: 60065F97 = time 21/1/19 04:27:03
503 503  
504 -Where : Start time: 646D84E1 = time 23/5/24 03:30:41
484 + 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-20230524114826-3.png||height="448" width="1244"]]
489 +[[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 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
492 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
515 515  )))
516 516  
517 517  (((
... ... @@ -519,28 +519,32 @@
519 519  )))
520 520  
521 521  (((
522 -00 00 02 36 01 10 40 64 6D 84 E1
500 +7FFF089801464160065F97
523 523  )))
524 524  
525 525  (((
526 -**Hum**=0x0236/10=56.6
504 +**Ext sensor data**=0x7FFF/100=327.67
527 527  )))
528 528  
529 529  (((
530 -**Temp**=0x0110/10=27.2
508 +**Temp**=0x088E/100=22.00
531 531  )))
532 532  
533 533  (((
534 -**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
512 +**Hum**=0x014B/10=32.6
535 535  )))
536 536  
537 537  (((
538 -**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41
516 +**poll message flag & Ext**=0x41,means reply data,Ext=1
539 539  )))
540 540  
519 +(((
520 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
521 +)))
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  
524 +(% 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" %)​
525 +
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:image-20230524110125-3.png||height="768" width="1115"]]
532 +[[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 ==
545 +== 3.1 Configure Methods: ==
565 565  
566 566  
567 567  S31x-LB supports below configure method:
... ... @@ -570,6 +570,7 @@
570 570  * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
571 571  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
572 572  
554 +
573 573  == 3.2 General Commands ==
574 574  
575 575  
... ... @@ -617,6 +617,7 @@
617 617  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
618 618  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
619 619  
602 +
620 620  === 3.3.2 Get Device Status ===
621 621  
622 622  
... ... @@ -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 ===
613 +=== 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**
... ... @@ -649,9 +649,8 @@
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 ===
634 +=== 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**
... ... @@ -671,9 +671,8 @@
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 ===
655 +=== 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 ===
668 +=== 3.3.6 Get Alarm settings  (什么FPORT?) ===
689 689  
690 690  
691 691  Send a LoRaWAN downlink to ask device send Alarm settings.
... ... @@ -694,23 +694,23 @@
694 694  
695 695  **Example:**
696 696  
697 -[[image:image-20230524110211-4.png]]
677 +[[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  
679 +
699 699  **Explain:**
700 700  
701 701  * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
702 702  
684 +
703 703  === 3.3.7 Set Interrupt Mode ===
704 704  
705 705  
706 -Feature, Set Interrupt mode for PA8 of pin.
688 +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: 155px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3" %)**Response**
693 +|=(% 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,7 @@
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 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,14 +779,15 @@
779 779  * Update with new features.
780 780  * Fix bugs.
781 781  
782 -Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**
735 +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:   [[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/]]
788 -* Update through UART TTL interface. **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
740 +* (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/]]
741 +* 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  
743 +
790 790  = 6. FAQ =
791 791  
792 792  
... ... @@ -794,7 +794,7 @@
794 794  = 7. Order Info =
795 795  
796 796  
797 -Part Number: (% style="color:blue" %)**S31-LB-XX  / S31B-LB-XX**
751 +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  
... ... @@ -814,6 +814,7 @@
814 814  
815 815  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
816 816  
771 +
817 817  = 8. ​Packing Info =
818 818  
819 819  
... ... @@ -831,9 +831,10 @@
831 831  
832 832  * Weight / pcs : g
833 833  
789 +
834 834  = 9. Support =
835 835  
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]].
795 +* 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-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