Changes for page wiki_test

Last modified by Mengting Qiu on 2024/09/05 17:35

From version 72.1
edited by Xiaoling
on 2023/08/19 10:47
Change comment: Uploaded new attachment "image-20230819104725-4.png", version {1}
To version 80.3
edited by Xiaoling
on 2023/08/19 11:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -17,13 +17,13 @@
17 17  == 1.1 What is S31x-NB NB-IoT Temperature & Humidity Sensor ==
18 18  
19 19  
20 -The Dragino S31-NB and S31B-NB are **NB-IoT Temperature and Humidity Sensor** for Internet of Things solution. It is used to measure the surrounding **environment temperature and relative air humidity precisely**, and then upload to IoT server via NB-IoT network*.
20 +The Dragino S31-NB and S31B-NB are (% style="color:blue" %)**NB-IoT Temperature and Humidity Sensor**(%%) for Internet of Things solution. It is used to measure the surrounding (% style="color:blue" %)**environment temperature and relative air humidity precisely**(%%), and then upload to IoT server via NB-IoT network*.
21 21  
22 -The temperature & humidity sensor used in S31-NB 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 **waterproof anti-condensation casing** for long term use.
22 +The temperature & humidity sensor used in S31-NB 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.
23 23  
24 -S31-NB supports different uplink methods include **TCP, MQTT, UDP** for different application requirement. and Support Uplinks to various IoT Servers.
24 +S31-NB supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP** for different application requirement. and Support Uplinks to various IoT Servers.
25 25  
26 -S31-NB is powered by **8500mAh Li-SOCI2 battery**, It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period and uplink method. Please check related Power Analyze report).
26 +S31-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period and uplink method. Please check related Power Analyze report).
27 27  
28 28  *make sure you have NB-IoT coverage locally.
29 29  
... ... @@ -46,7 +46,6 @@
46 46  * 8500mAh Battery for long term use
47 47  * Nano SIM card slot for NB-IoT SIM
48 48  
49 -
50 50  == 1.3 Specification ==
51 51  
52 52  
... ... @@ -106,18 +106,9 @@
106 106  * STOP Mode: 10uA @ 3.3v
107 107  * Max transmit power: 350mA@3.3v
108 108  
108 +== 1.4 Applications ==
109 109  
110 -== 1.4 Sleep mode and working mode ==
111 111  
112 -
113 -(% 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.
114 -
115 -(% 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.
116 -
117 -
118 -== 1.5 Applications ==
119 -
120 -
121 121  * Smart Buildings & Home Automation
122 122  * Logistics and Supply Chain Management
123 123  * Smart Metering
... ... @@ -125,9 +125,20 @@
125 125  * Smart Cities
126 126  * Smart Factory
127 127  
128 -== 1.5 Button & LEDs ==
129 129  
130 130  
120 +== 1.5 Sleep mode and working mode ==
121 +
122 +
123 +(% 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.
124 +
125 +(% 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.
126 +
127 +
128 +
129 +== 1.6 Button & LEDs ==
130 +
131 +
131 131  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
132 132  
133 133  
... ... @@ -134,23 +134,22 @@
134 134  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
135 135  |=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
136 136  |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
137 -If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
138 +If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
138 138  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
139 139  )))
140 140  |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
141 -(% style="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.
142 +(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to attach NB-IoT network.
142 142  (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
143 -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.
144 +Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device attach NB-IoT network or not.
144 144  )))
145 145  |(% 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.
146 146  
148 +== 1.7 BLE connection ==
147 147  
148 -== 1.6 BLE connection ==
149 149  
151 +S31x-NB support BLE remote configure and firmware update.
150 150  
151 -S31x-LB support BLE remote configure.
152 152  
153 -
154 154  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:
155 155  
156 156  * Press button to send an uplink
... ... @@ -160,432 +160,307 @@
160 160  If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
161 161  
162 162  
163 -== 1.7 Pin Definitions ==
163 +== 1.8 Pin Definitions & Switch ==
164 164  
165 -[[image:http://8.211.40.43/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/WebHome/image-20230610163213-1.png?width=699&height=404&rev=1.1||alt="image-20230610163213-1.png"]]
166 166  
166 +S31x-NB use the mother board from S31-NB which as below.
167 167  
168 -== 1.8 Hardware Variant ==
168 +[[image:image-20230819104805-5.png]]
169 169  
170 170  
171 -(% border="1" cellspacing="5" style="width:472px" %)
172 -|=(% 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
173 -|(% style="width:102px" %)(((
174 -S31-LB
175 -)))|(% style="width:190px" %)[[image:image-20230527093214-2.jpeg]]|(% style="width:187px" %)(((
176 -1 x SHT31 Probe
177 177  
178 -Cable Length : 2 meters
172 +=== 1.8.1 Jumper JP2 ===
179 179  
180 -
181 -)))
182 -|(% style="width:102px" %)(((
183 -S31B-LB
184 -)))|(% style="width:190px" %)[[image:image-20230527093155-1.jpeg]]|(% style="width:187px" %)(((
185 -1 x SHT31 Probe
186 186  
187 -Installed in device.
188 -)))
175 +Power on Device when put this jumper.
189 189  
190 -(% style="display:none" %)
191 191  
178 +=== 1.8.2 BOOT MODE / SW1 ===
192 192  
193 193  
194 -== 1.9 Mechanical ==
181 +1) (% style="color:blue" %)**ISP**(%%): upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
195 195  
183 +2) (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug
196 196  
197 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
198 198  
186 +=== 1.8.3 Reset Button ===
199 199  
200 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
201 201  
189 +Press to reboot the device.
202 202  
203 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
204 204  
205 205  
206 -= 2. Configure S31x-LB to connect to LoRaWAN network =
193 +== 1.9 Hardware Variant ==
207 207  
208 -== 2.1 How it works ==
209 209  
196 +(% border="1" cellspacing="5" style="width:410px" %)
197 +|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 126px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)Photo|=(% style="width: 179px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)Probe Info
198 +|(% style="width:102px" %)(((
199 +S31-LB
200 +)))|(% style="width:126px" %)(((
201 +(% style="text-align:center" %)
202 +[[image:image-20230819110632-6.png||height="130" width="104"]]
203 +)))|(% style="width:179px" %)(((
204 +1 x SHT31 Probe
210 210  
211 -The S31x-LB 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 press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
206 +Cable Length : 3 meters
212 212  
208 +
209 +)))
210 +|(% style="width:102px" %)(((
211 +S31B-LB
212 +)))|(% style="width:126px" %)(((
213 +(% style="text-align:center" %)
214 +[[image:image-20230819110702-7.png||height="164" width="90"]]
215 +)))|(% style="width:179px" %)(((
216 +1 x SHT31 Probe
213 213  
214 -== 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
218 +Installed in device.
219 +)))
215 215  
221 +(% style="display:none" %)
216 216  
217 -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.
218 218  
219 -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.
220 220  
221 221  
222 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
226 += 2. Use S31-NB to communicate with IoT Server =
223 223  
224 -Each S31x-LB is shipped with a sticker with the default device EUI as below:
228 +== 2.1 Send data to IoT server via NB-IoT network ==
225 225  
226 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
227 227  
231 +The S31-NB is equipped with a NB-IoT module, the pre-loaded firmware in S31-NB will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module.  The NB-IoT network will forward this value to IoT server via the protocol defined by S31-NB.
228 228  
229 -You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
230 230  
234 +Below shows the network structure:
231 231  
232 -(% style="color:blue" %)**Register the device**
236 +[[image:1692415924540-357.png]]
233 233  
234 -[[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/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
235 235  
239 +There are two version: **-GE** and **-1D** version of S31-NB.
236 236  
237 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
238 238  
239 -[[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"]]
242 +**GE Version**: This version doesn’t include SIM card or point to any IoT server. User needs to use AT Commands to configure below two steps to set S31-NB send data to IoT server.
240 240  
244 +1. Install NB-IoT SIM card and configure APN. See instruction of [[Attach Network>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]].
245 +1. Set up sensor to point to IoT Server. See instruction of [[Configure to Connect Different Servers>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.Configuretoconnecttodifferentservers]].
241 241  
242 -(% style="color:blue" %)**Add APP EUI in the application**
247 +Below shows result of different server as a glance.
243 243  
244 244  
245 -[[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"]]
250 +|**Servers**|**Dash Board**|**Comments**
251 +|[[Node-Red>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.5A0Node-RedA028viaA0MQTT29]]|[[image:image-20230819113244-8.png]]|
252 +|[[DataCake>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]]|[[image:image-20230819113244-9.png]]|
253 +|[[Tago.IO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.7A0Tago.ioA028viaA0MQTT29]]| |
254 +|[[General UDP>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.1GeneralA0UDPA0Connection]]|Raw Payload. Need Developer to design Dash Board|
255 +|[[General MQTT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.2GeneralA0MQTTA0Connection]]|Raw Payload. Need Developer to design Dash Board|
256 +|[[ThingSpeak>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.3A0ThingSpeakA028viaA0MQTT29]]|[[image:image-20230819113244-10.png]]|
257 +|[[ThingsBoard>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.6A0ThingsBoard.CloudA028viaA0MQTT29]]|[[image:image-20230819113244-11.png]]|
258 +| | |
246 246  
247 247  
248 -(% style="color:blue" %)**Add APP KEY**
249 249  
250 -[[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"]]
262 +**1D Version**: This version has 1NCE SIM card pre-installed and configure to send value to DataCake. User Just need to select the sensor type in DataCake and Activate S31-NB and user will be able to see data in DataCake. See here for [[DataCake Config Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]].
251 251  
252 252  
253 -(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
265 +== 2.2 ​Payload Types ==
254 254  
255 255  
256 -Press the button for 5 seconds to activate the S31x-LB.
268 +To meet different server requirement, S31-NB supports different payload type.
257 257  
258 -(% 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.
270 +Includes:
259 259  
260 -After join success, it will start to upload messages to TTN and you can see the messages in the panel.
272 +* [[General JSON format payload>>path:#General_Json]]. (Type=5)
273 +* [[HEX format Payload>>path:#HEX_Payload]]. (Type=0)
274 +* [[ThingSpeak Format>>path:#ThingSpeak_Payload]]. (Type=1)
275 +* [[ThingsBoard Format>>path:#ThingsBoard_Payload]]. (Type=3)
261 261  
262 262  
263 -== 2.3 ​Uplink Payload ==
278 +User can specify the payload type when choose the connection protocol. Example:
264 264  
265 -=== 2.3.1 Device Status, FPORT~=5 ===
280 +**AT+PRO=2,0** ~/~/Use UDP Connection & hex Payload
266 266  
282 +**AT+PRO=2,5** ~/~/ Use UDP Connection & Json Payload
267 267  
268 -Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server.
284 +**AT+PRO=3,5 **~/~/ Use MQTT Connection & Json Payload
269 269  
270 -The Payload format is as below.
271 271  
287 +1.
288 +11.
289 +111. General Json Format (Type=5)
272 272  
273 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
274 -|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
275 -|(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
276 -|(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
291 +This is the General Json Format. As below:
277 277  
278 -Example parse in TTNv3
279 279  
280 -[[image:image-20230524144422-1.png||height="174" width="1080"]]
294 +**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24,"Model":S31x-NB, "1":{28.2,48.3,2023/08/10 08:00:37},"2":{28.1,49.1,2023/08/10 07:57:37},"3":{28.1,48.5,2023/08/10 07:54:37},"4":{28.2,48.6,2023/08/10 07:51:37},"5":{28.1,48.9,2023/08/10 07:48:37},"6":{28.2,48.8,2023/08/10 07:45:37},"7":{28.2,48.8,2023/08/10 07:42:37},"8":{28.0,48.8,2023/08/10 07:39:37}}**
281 281  
282 282  
283 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
284 284  
285 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
298 +Notice, from above payload:
286 286  
287 -(% style="color:#037691" %)**Frequency Band**:
300 +* Temperature , Humidity , Battery & Signal are the value at uplink time.
301 +* Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by **AT+NOUD=8 **Command**.** Each entry includes (from left to right): Temperature, Humidity, Sampling time.
288 288  
289 -0x01: EU868
290 290  
291 -0x02: US915
292 292  
293 -0x03: IN865
294 294  
295 -0x04: AU915
306 +1.
307 +11.
308 +111. HEX format Payload(Type=0)
296 296  
297 -0x05: KZ865
298 298  
299 -0x06: RU864
311 +This is the HEX Format. As below:
300 300  
301 -0x07: AS923
313 +**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**
302 302  
303 -0x08: AS923-1
304 304  
305 -0x09: AS923-2
316 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
306 306  
307 -0x0a: AS923-3
308 308  
309 -0x0b: CN470
319 +**Version:**
310 310  
311 -0x0c: EU433
321 +These bytes include the hardware and software version.
312 312  
313 -0x0d: KR920
323 +**Higher byte:** Specify Sensor Model: 0x00 for S31B-NB & S31-NB
314 314  
315 -0x0e: MA869
325 +**Lower byte:** Specify the software version: 0x64=100, means firmware version 100
316 316  
317 317  
318 -(% style="color:#037691" %)**Sub-Band**:
328 +**BAT (Battery Info)**
319 319  
320 -AU915 and US915:value 0x00 ~~ 0x08
330 +Ex1: 0x0CBA = 3258mV
321 321  
322 -CN470: value 0x0B ~~ 0x0C
323 323  
324 -Other Bands: Always 0x00
333 +**Signal Strength**
325 325  
335 +NB-IoT Network signal Strength.
326 326  
327 -(% style="color:#037691" %)**Battery Info**:
337 +**Ex1: 0x16 = 22**
328 328  
329 -Check the battery voltage.
339 +**0**  -113dBm or less
330 330  
331 -Ex1: 0x0B45 = 2885mV
341 +**1**  -111dBm
332 332  
333 -Ex2: 0x0B49 = 2889mV
343 +**2...30** -109dBm... -53dBm
334 334  
345 +**31**   -51dBm or greater
335 335  
336 -=== 2.3.2  Sensor Data. FPORT~=2 ===
347 +**99**    Not known or not detectable
337 337  
338 338  
339 -Sensor Data is uplink via FPORT=2
350 +**Temperature: **
340 340  
341 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
342 -|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
343 -**Size(bytes)**
344 -)))|=(% 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
345 -|(% style="width:99px" %)Value|(% style="width:69px" %)(((
346 -Battery
347 -)))|(% style="width:130px" %)(((
348 -Unix TimeStamp
349 -)))|(% style="width:194px" %)(((
350 -Alarm Flag & MOD& Level of PA8
351 -)))|(% style="width:106px" %)(((
352 -Temperature
353 -)))|(% style="width:97px" %)(((
354 -Humidity
355 -)))
356 -
357 -[[image:image-20230524144456-2.png||height="180" width="1142"]]
358 -
359 -
360 -==== (% style="color:#4472c4" %)**Battery**(%%) ====
361 -
362 -Sensor Battery Level.
363 -
364 -Ex1: 0x0B45 = 2885mV
365 -
366 -Ex2: 0x0B49 = 2889mV
367 -
368 -
369 -==== (% style="color:#4472c4" %)**Temperature**(%%) ====
370 -
371 -**Example**:
372 -
373 373  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
374 374  
375 375  If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
376 376  
377 -FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative
356 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
378 378  
379 379  
380 -==== (% style="color:#4472c4" %)**Humidity**(%%) ====
381 381  
360 +**Humidity:   **
382 382  
383 -Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
362 +Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
384 384  
385 385  
386 -==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ====
365 +**TimeStamp:   **
387 387  
367 +Unit TimeStamp Example: 64d49439(H) = 1691653177(D)
388 388  
389 -**Example:**
369 +Put the decimal value into this link(https:~/~/www.epochconverter.com/) to get the time.
390 390  
391 -If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message.It means that the temperature and humidity exceed the alarm value or trigger an interrupt.
392 392  
393 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
372 +1.
373 +11.
374 +111. ThingsBoard Payload(Type=3)
394 394  
395 -If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
376 +Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
396 396  
397 -If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
398 398  
399 -If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message.
379 +**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**
400 400  
401 -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. 
402 402  
382 +1.
383 +11.
384 +111. ThingSpeak Payload(Type=1)
403 403  
404 -== 2.4 Payload Decoder file ==
386 +This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:
405 405  
388 +Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform
406 406  
407 -In TTN, use can add a custom payload so it shows friendly reading
408 408  
409 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
391 +As below:
410 410  
411 -[[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]]
393 +**field1=27.9&field2=49.9&field3=3.23&field4=28**
412 412  
413 413  
414 -== 2.5 Datalog Feature ==
396 +1.
397 +11. Test Uplink and Change Update Interval
415 415  
399 +By default, Sensor will send uplinks **every 2 hours** & AT+NOUD=8
416 416  
417 -Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes.
418 418  
402 +User can use below commands to change the **uplink interval**.
419 419  
420 -=== 2.5.1 Ways to get datalog via LoRaWAN ===
404 +**~ AT+TDC=600      **~/~/ Set Update Interval to 600s
421 421  
422 422  
423 -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.
407 +User can also push the button for more than 1 seconds to activate an uplink.
424 424  
425 -* (((
426 -a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
427 -)))
428 -* (((
429 -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.
430 -)))
431 431  
432 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
433 433  
434 -[[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"]]
435 435  
412 +1.
413 +11. Multi-Samplings and One uplink
436 436  
437 -=== 2.5.2 Unix TimeStamp ===
415 +To save battery life, S31-NB will sample temperature & humidity data every 15 minutes and send one uplink every 2 hours. So each uplink it will include 8 stored data + 1 real-time data. They are defined by:
438 438  
417 +* **AT+TR=900**     ~/~/  The unit is seconds, and the default is to record data once every 900 seconds (15 minutes, the minimum can be set to 180 seconds)
418 +* **AT+NOUD=8**  ~/~/   The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
439 439  
440 -S31x-LB uses Unix TimeStamp format based on
441 441  
442 -[[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"]]
421 +The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
443 443  
444 -User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
423 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png||alt="IMG_256"]]
445 445  
446 -Below is the converter example
447 447  
448 -[[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"]]
426 +1.
427 +11. Humidity and Temperature alarm function
449 449  
429 +On each sampling define by AT+TR ( default 900s or 15 minutes), when the value exceed the range, it will trigger an Alarm and immediately sends a uplink.
450 450  
451 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
452 452  
432 +AT Commands:
453 453  
454 -=== 2.5.3 Set Device Time ===
434 +**AT+ SHHUM=min,max**
455 455  
436 +Example: AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50 or higher than 80.
456 456  
457 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
458 458  
459 -Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
439 +**AT+ SHTEMP=min,max**
460 460  
461 -(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
441 +Example: AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20 or higher than 30
462 462  
463 463  
464 -=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
444 +Notice:
465 465  
446 +* To disable Alarm, user can set min and max to same value , such as **AT+SHTEMP=0,0.**
447 +* If user only want to send only min or max, user can set the alarm to a value that device won’t reach. For example: **AT+SHTEMP=-80,0.**
466 466  
467 -The Datalog uplinks will use below payload format.
468 468  
469 -**Retrieval data payload:**
450 +1.
451 +11. Trggier an uplink by external interrupt
470 470  
471 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
472 -|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
473 -**Size(bytes)**
474 -)))|=(% 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**
475 -|(% style="width:103px" %)Value|(% style="width:68px" %)(((
476 -ignore
477 -)))|(% style="width:104px" %)(((
478 -(((
479 -Humidity
480 -)))
453 +S31-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
481 481  
482 -(((
483 -
484 -)))
485 -)))|(% style="width:87px" %)(((
486 -Temperature
487 -)))|(% style="width:178px" %)(((
488 -Poll message flag & Alarm Flag& Level of PA8
489 -)))|(% style="width:137px" %)Unix Time Stamp
455 +AT command:
490 490  
491 -**Poll message flag & Alarm Flag & Level of PA8:**
457 +* AT+INTMOD   ~/~/ Set the trigger interrupt mode
458 +* AT+INTMOD=0    ~/~/Disable Interrupt
459 +* AT+INTMOD=1   ~/~/Trigger by rising and falling edge
460 +* AT+INTMOD=2   ~/~/Trigger by falling edge
461 +* AT+INTMOD=3    ~/~/Trigger by rising edge
492 492  
493 -[[image:image-20230524114302-1.png||height="115" width="736"]]
494 494  
495 -
496 -**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)
497 -
498 -**Poll Message Flag**: 1: This message is a poll message reply.
499 -
500 -* Poll Message Flag is set to 1.
501 -
502 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
503 -
504 -For example, in US915 band, the max payload for different DR is:
505 -
506 -**a) DR0:** max is 11 bytes so one entry of data
507 -
508 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
509 -
510 -**c) DR2:** total payload includes 11 entries of data
511 -
512 -**d) DR3: **total payload includes 22 entries of data.
513 -
514 -If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
515 -
516 -**Example:**
517 -
518 -If S31x-LB has below data inside Flash:
519 -
520 -[[image:image-20230524114654-2.png]]
521 -
522 -
523 -If user sends below downlink command: 31646D84E1646D856C05
524 -
525 -Where : Start time: 646D84E1 = time 23/5/24 03:30:41
526 -
527 - Stop time: 646D856C= time 23/5/24 03:33:00
528 -
529 -
530 -**S31x-LB will uplink this payload.**
531 -
532 -[[image:image-20230524114826-3.png||height="448" width="1244"]]
533 -
534 -(((
535 -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
536 -)))
537 -
538 -(((
539 -Where the first 11 bytes is for the first entry:
540 -)))
541 -
542 -(((
543 -00 00 02 36 01 10 40 64 6D 84 E1
544 -)))
545 -
546 -(((
547 -**Hum**=0x0236/10=56.6
548 -)))
549 -
550 -(((
551 -**Temp**=0x0110/10=27.2
552 -)))
553 -
554 -(((
555 -**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
556 -)))
557 -
558 -(((
559 -**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41
560 -)))
561 -
562 -
563 -(% 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="单击并拖动以调整大小" %)的
564 -
565 -== 2.6 Temperature Alarm Feature ==
566 -
567 -
568 -S31x-LB work flow with Alarm feature.
569 -
570 -
571 -[[image:image-20230524110125-3.png||height="768" width="1115"]]
572 -
573 -
574 -
575 -== 2.7 Frequency Plans ==
576 -
577 -
578 -The S31x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
579 -
580 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
581 -
582 -
583 -== 2.8 ​Firmware Change Log ==
584 -
585 -
586 -**Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]]
587 -
588 -
589 589  = 3. Configure S31x-LB =
590 590  
591 591  == 3.1 Configure Methods ==
... ... @@ -597,7 +597,6 @@
597 597  * 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]].
598 598  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
599 599  
600 -
601 601  == 3.2 General Commands ==
602 602  
603 603  
... ... @@ -645,7 +645,6 @@
645 645  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
646 646  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
647 647  
648 -
649 649  === 3.3.2 Get Device Status ===
650 650  
651 651  
... ... @@ -729,7 +729,6 @@
729 729  
730 730  * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
731 731  
732 -
733 733  === 3.3.7 Set Interrupt Mode ===
734 734  
735 735  
... ... @@ -763,7 +763,6 @@
763 763  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
764 764  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
765 765  
766 -
767 767  === 3.3.8 Set Power Output Duration ===
768 768  
769 769  
... ... @@ -792,7 +792,6 @@
792 792  * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
793 793  * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
794 794  
795 -
796 796  = 4. Battery & Power Consumption =
797 797  
798 798  
... ... @@ -819,7 +819,6 @@
819 819  * (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/]]**
820 820  * 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]]**.
821 821  
822 -
823 823  = 6. FAQ =
824 824  
825 825  
... ... @@ -847,7 +847,6 @@
847 847  
848 848  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
849 849  
850 -
851 851  = 8. ​Packing Info =
852 852  
853 853  
... ... @@ -865,7 +865,6 @@
865 865  
866 866  * Weight / pcs : g
867 867  
868 -
869 869  = 9. Support =
870 870  
871 871  
... ... @@ -872,3 +872,5 @@
872 872  * 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.
873 873  
874 874  * 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]].
742 +
743 +(% style="display:none" %) (%%)
1692415924540-357.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +94.4 KB
Content
image-20230819104805-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +582.8 KB
Content
image-20230819110632-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +224.4 KB
Content
image-20230819110702-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +53.2 KB
Content
image-20230819113244-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +12.0 KB
Content
image-20230819113244-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +57.5 KB
Content
image-20230819113244-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +13.0 KB
Content
image-20230819113244-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +35.5 KB
Content