Changes for page N95S31B -- NB-IoT Temperature & Humidity Sensor User Manual
Last modified by Mengting Qiu on 2024/04/02 16:44
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 17 added, 0 removed)
- 1657350625843-586.png
- 1657351240556-536.png
- 1657351312545-300.png
- 1657352146020-183.png
- 1657352185396-303.png
- 1657352391268-297.png
- 1657352403317-397.png
- 1657352634421-276.png
- 1657352645687-385.png
- 1657352898400-901.png
- 1657352914475-252.png
- 1657354294009-643.png
- 1657520100595-569.png
- image-20220709161741-3.png
- image-20220908154949-1.png
- image-20220908163102-2.png
- image-20221009001045-1.png
Details
- Page properties
-
- Content
-
... ... @@ -9,6 +9,7 @@ 9 9 10 10 **Table of Contents:** 11 11 12 +{{toc/}} 12 12 13 13 14 14 ... ... @@ -21,16 +21,29 @@ 21 21 ((( 22 22 23 23 25 +((( 24 24 The Dragino N95S31B is a (% style="color:blue" %)**NB-IoT 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 NB-IoT network*. 27 +))) 25 25 29 +((( 26 26 The temperature & humidity sensor used in N95S31B 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. 31 +))) 27 27 33 +((( 28 28 N95S31B supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP and CoAP**(%%) for different application requirement. 35 +))) 29 29 37 +((( 30 30 N95S31B 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. Please check related Power Analyze report). 39 +))) 31 31 41 +((( 42 + 43 +))) 32 32 45 +((( 33 33 ~* make sure you have NB-IoT coverage locally. 47 +))) 34 34 35 35 36 36 ))) ... ... @@ -54,7 +54,6 @@ 54 54 * 8500mAh Battery for long term use 55 55 56 56 57 - 58 58 == 1.3 Specification == 59 59 60 60 ... ... @@ -74,7 +74,6 @@ 74 74 75 75 (% style="color:#037691" %)**Battery:** 76 76 77 - 78 78 * Li/SOCI2 un-chargeable battery 79 79 * Capacity: 8500mAh 80 80 * Self Discharge: <1% / Year @ 25°C ... ... @@ -82,9 +82,9 @@ 82 82 * Max boost current: 2A, 1 second 83 83 84 84 85 - 86 86 == 1.4 Applications == 87 87 99 + 88 88 * Smart Buildings & Home Automation 89 89 * Logistics and Supply Chain Management 90 90 * Smart Metering ... ... @@ -96,43 +96,49 @@ 96 96 97 97 98 98 99 -== 1.5 Pin Definitions == 111 +== 1.5 Pin Definitions & Switch == 100 100 113 + 101 101 N95S31B use the mother board from NBSN95 which as below. 102 102 116 + 103 103 [[image:image-20220709144723-1.png]] 104 104 105 105 106 106 === 1.5.1 Jumper JP2 === 107 107 122 + 108 108 Power on Device when put this jumper. 109 109 110 110 111 - 112 112 === 1.5.2 BOOT MODE / SW1 === 113 113 114 -1) 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. 115 115 116 -2) Flash: work mode, device starts to work and send out console output for further debug 129 +((( 130 +**1) 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. 131 +))) 117 117 133 +((( 134 +**2) Flash:** work mode, device starts to work and send out console output for further debug 135 +))) 118 118 119 119 120 120 === 1.5.3 Reset Button === 121 121 140 + 122 122 Press to reboot the device. 123 123 124 124 125 - 126 126 === 1.5.4 LED === 127 127 146 + 128 128 It will flash: 129 129 130 -1. When boot the device in flash mode 131 -1. Send an uplink packet 149 +1. When boot the device in flash mode 132 132 151 +2. Send an uplink packet 133 133 134 134 135 - 136 136 = 2. Use N95S31B to communicate with IoT Server = 137 137 138 138 == 2.1 How it works == ... ... @@ -151,7 +151,7 @@ 151 151 152 152 ))) 153 153 154 -[[image:1657 350248151-650.png]]172 +[[image:1657520100595-569.png]] 155 155 156 156 ((( 157 157 ... ... @@ -160,33 +160,64 @@ 160 160 161 161 == 2.2 Configure the N95S31B == 162 162 163 - 164 164 === 2.2.1 Power On N95S31B === 165 165 166 166 167 167 [[image:image-20220709150546-2.png]] 168 168 169 -=== 2.2.1 Test Requirement === 170 170 187 +=== 2.2.2 Test Requirement === 188 + 189 + 171 171 ((( 172 -To use N DDS75 in your city, make sure meet below requirements:191 +To use N95S31B in your city, make sure meet below requirements: 173 173 ))) 174 174 175 -* Your local operator has already distributed a NB-IoT Network there. 176 -* The local NB-IoT network used the band that NSE01 supports. 177 -* Your operator is able to distribute the data received in their NB-IoT network to your IoT server. 194 +* ((( 195 +Your local operator has already distributed a NB-IoT Network there. 196 +))) 197 +* ((( 198 +The local NB-IoT network used the band that N95S31B supports. 199 +))) 200 +* ((( 201 +Your operator is able to distribute the data received in their NB-IoT network to your IoT server. 202 +))) 178 178 179 179 ((( 180 -Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8. The NDDS75 will use CoAP((% style="color:red" %)120.24.4.116:5683)(%%) or raw UDP((% style="color:red" %)120.24.4.116:5601)(%%) or MQTT((% style="color:red" %)120.24.4.116:1883)(%%)or TCP((% style="color:red" %)120.24.4.116:5600)(%%)protocol to send data to the test server205 +Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8. 181 181 ))) 182 182 208 +((( 209 +N95S31B supports different communication protocol such as : 210 +))) 183 183 184 -[[image:1657328756309-230.png]] 212 +((( 213 +* ((( 214 +CoAP ((% style="color:red" %)120.24.4.116:5683(%%)) 215 +))) 216 +* ((( 217 +raw UDP ((% style="color:red" %)120.24.4.116:5601(%%)) 218 +))) 219 +* ((( 220 +MQTT ((% style="color:red" %)120.24.4.116:1883(%%)) 221 +))) 222 +* ((( 223 +TCP ((% style="color:red" %)120.24.4.116:5600(%%)) 224 +))) 185 185 226 +((( 227 +We will show how to use with each protocol. The IP addresses above are our test server. User need to change to point their corresponding server. 228 +))) 186 186 230 + 231 +))) 187 187 188 - ===2.2.2 Insert SIM card ===233 +[[image:1657350625843-586.png]] 189 189 235 + 236 +=== 2.2.3 Insert SIM card === 237 + 238 + 190 190 ((( 191 191 Insert the NB-IoT Card get from your provider. 192 192 ))) ... ... @@ -196,29 +196,32 @@ 196 196 ))) 197 197 198 198 199 -[[image:165732 8884227-504.png]]248 +[[image:1657351240556-536.png]] 200 200 201 201 251 +=== 2.2.4 Connect USB – TTL to N95S31B to configure it === 202 202 203 -=== 2.2.3 Connect USB – TTL to NDDS75 to configure it === 204 204 205 205 ((( 206 206 ((( 207 -User need to configure NDDS75 via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic** (%%)to define where and how-to uplink packets. NDDS75 support AT Commands, user can use a USB to TTL adapter to connect to NDDS75 and use AT Commands to configure it, as below. 256 +User need to configure N95S31B via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic** (%%)to define where and how-to uplink packets. N95S31B support AT Commands, user can use a USB to TTL adapter to connect to N95S31B and use AT Commands to configure it, as below. 257 + 258 + 208 208 ))) 209 209 ))) 210 210 211 -[[image: image-20220709092052-2.png]]262 +[[image:1657351312545-300.png]] 212 212 213 -**Connection:** 214 214 215 - background-color:yellow" %)USB TTL GND <~-~-~-~-> GND265 +(% style="color:blue" %)**Connection:** 216 216 217 - (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~->UART_RXD267 + (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND** 218 218 219 - (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD269 +**~ (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~-> UART_RXD(%%)** 220 220 271 +**~ (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD(%%)** 221 221 273 + 222 222 In the PC, use below serial tool settings: 223 223 224 224 * Baud: (% style="color:green" %)**9600** ... ... @@ -228,20 +228,21 @@ 228 228 * Flow Control: (% style="color:green" %)**None** 229 229 230 230 ((( 231 -Make sure the switch is in FLASH position, then power on device by connecting the jumper on N DDS75.DDS75 will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input.283 +Make sure the switch is in FLASH position, then power on device by connecting the jumper on N95S31B. N95S31B will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input. 232 232 ))) 233 233 234 234 [[image:1657329814315-101.png]] 235 235 288 + 236 236 ((( 237 -(% style="color:red" %)Note: the valid AT Commands can be found at: (%%)[[https:~~/~~/www.dr agino.com/downloads/index.php?dir=NB-IoT/NDDS75/>>url:https://www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/]]290 +(% style="color:red" %)**Note: the valid AT Commands can be found at: **(%%)**[[https:~~/~~/www.dropbox.com/sh/mlpd6l05bogvaf6/AABwAJLMttqG7i~~-~~-AyZcQkoua?dl=0>>https://www.dropbox.com/sh/mlpd6l05bogvaf6/AABwAJLMttqG7i--AyZcQkoua?dl=0]]** 238 238 ))) 239 239 240 240 294 +=== 2.2.5 Use CoAP protocol to uplink data === 241 241 242 -=== 2.2.4 Use CoAP protocol to uplink data === 243 243 244 -(% style="color:red" %)Note: if you don't have CoAP server, you can refer this link to set up one: (%%)[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/>>http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]] 297 +(% style="color:red" %)**Note: if you don't have CoAP server, you can refer this link to set up one: **(%%)**[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/>>http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]]** 245 245 246 246 247 247 ((( ... ... @@ -252,17 +252,19 @@ 252 252 (% style="color:blue" %)**AT+PRO=1** (%%) ~/~/ Set to use CoAP protocol to uplink 253 253 ))) 254 254 * ((( 255 -(% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683 ** (%%)~/~/ to set CoAP server address and port 308 +(% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683 ** (%%)~/~/ to set CoAP server address and port 256 256 ))) 257 257 * ((( 258 -(% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/Set COAP resource path 311 +(% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/ Set COAP resource path 259 259 ))) 260 260 261 261 ((( 315 + 316 + 262 262 For parameter description, please refer to AT command set 263 263 ))) 264 264 265 -[[image:16573 30452568-615.png]]320 +[[image:1657352146020-183.png]] 266 266 267 267 268 268 ((( ... ... @@ -269,61 +269,67 @@ 269 269 After configure the server address and (% style="color:green" %)**reset the device**(%%) (via AT+ATZ ), NDDS75 will start to uplink sensor values to CoAP server. 270 270 ))) 271 271 272 -[[image:16573 30472797-498.png]]327 +[[image:1657352185396-303.png]] 273 273 274 274 330 +=== 2.2.6 Use UDP protocol to uplink data(Default protocol) === 275 275 276 -=== 2.2.5 Use UDP protocol to uplink data(Default protocol) === 277 277 278 - 279 279 * (% style="color:blue" %)**AT+PRO=2 ** (%%) ~/~/ Set to use UDP protocol to uplink 280 280 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601 ** (%%) ~/~/ to set UDP server address and port 281 281 * (% style="color:blue" %)**AT+CFM=1 ** (%%) ~/~/ If the server does not respond, this command is unnecessary 282 282 283 -[[image:16573 30501006-241.png]]337 +[[image:1657352391268-297.png]] 284 284 285 285 286 -[[image:16573 30533775-472.png]]340 +[[image:1657352403317-397.png]] 287 287 288 288 343 +=== 2.2.7 Use MQTT protocol to uplink data === 289 289 290 -=== 2.2.6 Use MQTT protocol to uplink data === 291 291 346 +N95S31B supports only plain MQTT now it doesn't support TLS and other related encryption. 292 292 293 -* (% style="color:blue" %)**AT+PRO=3 ** (%%) ~/~/Set to use MQTT protocol to uplink 294 -* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883 ** (%%) ~/~/Set MQTT server address and port 295 -* (% style="color:blue" %)**AT+CLIENT=CLIENT ** (%%)~/~/Set up the CLIENT of MQTT 296 -* (% style="color:blue" %)**AT+UNAME=UNAME **(%%)~/~/Set the username of MQTT 297 -* (% style="color:blue" %)**AT+PWD=PWD **(%%)~/~/Set the password of MQTT 298 -* (% style="color:blue" %)**AT+PUBTOPIC= NDDS75_PUB**(%%)~/~/Set the sending topic of MQTT299 -* (% style="color:blue" %)**AT+SUBTOPIC=N DDS75_SUB**(%%) ~/~/Set the subscription topic of MQTT348 +* (% style="color:blue" %)**AT+PRO=3 ** (%%) ~/~/ Set to use MQTT protocol to uplink 349 +* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883 ** (%%) ~/~/ Set MQTT server address and port 350 +* (% style="color:blue" %)**AT+CLIENT=CLIENT ** (%%)~/~/ Set up the CLIENT of MQTT 351 +* (% style="color:blue" %)**AT+UNAME=UNAME **(%%)~/~/ Set the username of MQTT 352 +* (% style="color:blue" %)**AT+PWD=PWD **(%%)~/~/ Set the password of MQTT 353 +* (% style="color:blue" %)**AT+PUBTOPIC=f9527 **(%%)~/~/ Set the sending topic of MQTT 354 +* (% style="color:blue" %)**AT+SUBTOPIC=Ns9527 **(%%) ~/~/ Set the subscription topic of MQTT 300 300 301 -[[image:165724 9978444-674.png]]356 +[[image:1657352634421-276.png]] 302 302 303 303 304 -[[image:16573 30723006-866.png]]359 +[[image:1657352645687-385.png]] 305 305 306 306 307 307 ((( 308 - MQTT protocolhas amuch higherpowerconsumptioncomparevsUDP / CoAPprotocol.Pleasecheckthe power analyzedocument and adjustthe uplinkperiodto asuitable interval.363 +To save battery life, N95S31B will establish a subscription before each uplink and close the subscription 3 seconds after uplink successful. Any downlink commands from server will only arrive during the subscription period. 309 309 ))) 310 310 311 311 367 +((( 368 +MQTT protocol has a much high-power consumption compare vs UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval. 369 +))) 312 312 313 -=== 2.2.7 Use TCP protocol to uplink data === 314 314 372 +=== 2.2.8 Use TCP protocol to uplink data === 315 315 374 + 375 +This feature is supported since firmware version v110 376 + 316 316 * (% style="color:blue" %)**AT+PRO=4 ** (%%) ~/~/ Set to use TCP protocol to uplink 317 317 * (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600 **(%%) ~/~/ to set TCP server address and port 318 318 319 -[[image: image-20220709093918-1.png]]380 +[[image:1657352898400-901.png]] 320 320 321 321 322 -[[image: image-20220709093918-2.png]]383 +[[image:1657352914475-252.png]] 323 323 324 324 386 +=== 2.2.9 Change Update Interval === 325 325 326 -=== 2.2.8 Change Update Interval === 327 327 328 328 User can use below command to change the (% style="color:green" %)**uplink interval**. 329 329 ... ... @@ -330,164 +330,244 @@ 330 330 * (% style="color:blue" %)**AT+TDC=600 ** (%%)~/~/ Set Update Interval to 600s 331 331 332 332 ((( 333 - (%style="color:red" %)**NOTE:**394 + 334 334 ))) 335 335 336 336 ((( 337 -(% style="color:red" %) 1.By default, thedevicewillsend an uplinkmessageevery1hour.398 +(% style="color:red" %)**NOTE: Since firmware version is v1.2:** 338 338 ))) 339 339 401 +((( 402 +(% style="color:red" %)**By default, the device will send an uplink message every 2 hours. Each Uplink Include 8 set of records in this 2 hour (15 minute interval / record).** 403 +))) 340 340 341 341 342 342 == 2.3 Uplink Payload == 343 343 344 -In this mode, uplink payload includes in total 14 bytes 345 345 409 +((( 410 +N95S31B has different working modes for the connections of different types of sensors. This section describes these modes. User can use the AT Command (% style="color:blue" %)**AT+MOD**(%%) to set NBSN95 to different working modes. 411 +))) 346 346 347 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:440px" %) 348 -|=(% style="width: 60px;" %)((( 349 -**Size(bytes)** 350 -)))|=(% style="width: 60px;" %)**6**|=(% style="width: 35px;" %)2|=(% style="width: 35px;" %)**2**|=(% style="width: 80px;" %)**1**|=(% style="width: 100px;" %)**2**|=(% style="width: 60px;" %)**1** 351 -|(% style="width:97px" %)**Value**|(% style="width:83px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:41px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:123px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:120px" %)[[Distance (unit: mm)>>||anchor="H2.4.5A0Distance"]]|(% style="width:80px" %)[[Interrupt>>||anchor="H2.4.6A0DigitalInterrupt"]] 352 352 353 353 ((( 354 - If we use the MQTT client tosubscribeto this MQTT topic, wecan see the following information when the NDDS751 uplink data.415 +For example: 355 355 ))) 356 356 418 +((( 419 + (% style="color:blue" %)**AT+CFGMOD=2 ** (%%)~/~/will set the N95S31B to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor. 420 +))) 357 357 358 -[[image:1657331036973-987.png]] 359 359 360 360 ((( 361 -The payload is ASCIIstring,representative sameHEX:424 +The uplink payloads are composed in ASCII String. For example: 362 362 ))) 363 363 364 364 ((( 365 -0 x72403155615900640c6c19029200where:428 +0a cd 00 ed 0a cc 00 00 ef 02 d2 1d (total 24 ASCII Chars) . Representative the actually payload: 366 366 ))) 367 367 368 - *(((369 - DeviceID:0x724031556159=724031556159431 +((( 432 +0x 0a cd 00 ed 0a cc 00 00 ef 02 d2 1d Total 12 bytes 370 370 ))) 371 -* ((( 372 -Version: 0x0064=100=1.0.0 434 + 435 + 436 +((( 437 +(% style="color:red" %)**NOTE:** 373 373 ))) 374 374 375 -* ((( 376 -BAT: 0x0c6c = 3180 mV = 3.180V 440 +(% style="color:red" %) 441 +1. ((( 442 +**All modes share the same Payload Explanation from [[HERE>>||anchor="H2.3A0UplinkPayload"]].** 377 377 ))) 378 -* ((( 379 -Signal: 0x19 = 25 380 -))) 381 -* ((( 382 -Distance: 0x0292= 658 mm 383 -))) 384 -* ((( 385 -Interrupt: 0x00 = 0 444 +1. ((( 445 +**By default, the device will send an uplink message every 1 hour.** 386 386 387 387 388 - 389 389 390 390 ))) 391 391 392 -== 2. 4PayloadExplanation and SensorInterface==451 +=== 2.3.1 Payload Analyze === 393 393 453 +==== 2.3.1.1 Before Firmware v1.2 ==== 394 394 395 -=== 2.4.1 Device ID === 396 396 456 +N95S31B uplink payload includes in total 21 bytes 457 + 458 + 459 +(% border="1" style="background-color:#ffffcc; color:green; width:520px" %) 460 +|=(% style="width: 50px;" %)**Size(bytes)**|=(% style="width: 45px;" %)**6**|=(% style="width: 25px;" %)2|=(% style="width: 25px;" %)**2**|=(% style="width: 65px;" %)**1**|=(% style="width: 50px;" %)1|=(% style="width: 120px;" %)5|=(% style="width: 70px;" %)**2**|=(% style="width: 70px;" %)**2** 461 +|(% style="width:97px" %)**Value**|(% style="width:65px" %)[[Device ID>>||anchor="H2.3.2A0DeviceID"]]|(% style="width:50px" %)[[Ver>>||anchor="H2.3.3A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.3.4A0BatteryInfo"]]|(% style="width:75px" %)[[Signal Strength>>||anchor="H2.3.5A0SignalStrength"]]|(% style="width:59px" %)MOD 0X01|(% style="width:162px" %)((( 397 397 ((( 398 - By default, theDeviceID equal to thelast6bytes of IMEI.463 +Reserve/ Same as NBSN95 CFGMOD=1 399 399 ))) 400 400 401 401 ((( 402 - Usercanuse (% style="color:blue" %)**AT+DEUI**(%%)toset Device ID467 +No function here. 403 403 ))) 469 +)))|(% style="width:102px" %)((( 470 +((( 471 +[[Temperature >>||anchor="H2.3.6A0Temperature26Humidity"]] 472 +))) 404 404 405 405 ((( 406 - **Example:**475 +By SHT31 407 407 ))) 477 +)))|(% style="width:81px" %)((( 478 +((( 479 +[[Humidity>>||anchor="H2.3.6A0Temperature26Humidity"]] 480 +))) 408 408 409 409 ((( 410 - AT+DEUI=A84041F15612483 +By SHT31 411 411 ))) 485 +))) 412 412 413 413 ((( 414 -The Device ID is stored in a none-erase area, Upgrade the firmware or run **AT+FDR** won't erase Device ID. 488 + 489 + 490 +((( 491 +If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data. 415 415 ))) 493 +))) 416 416 417 417 496 +[[image:1657354294009-643.png]] 418 418 419 -=== 2.4.2 Version Info === 420 420 421 -((( 422 -Specify the software version: 0x64=100, means firmware version 1.00. 423 -))) 499 +The payload is ASCII string, representative same HEX: (% style="background-color:yellow" %)**0x724031607457 006e 0ccd 1b 01 00dc000ccc 00e1 0186** 424 424 425 -((( 426 -For example: 0x00 64 : this device is NDDS75 with firmware version 1.0.0. 427 -))) 501 +**where:** 428 428 503 +* (% style="color:#037691" %)**Device ID:** (%%) 0x724031607457 = 724031607457 429 429 505 +* (% style="color:#037691" %)**Version: **(%%) 0x006e=110=1.1.0 430 430 431 - ===2.4.3BatteryInfo===507 +* (% style="color:#037691" %)**BAT:** (%%) 0x0ccd = 3277 mV = 3.277V 432 432 433 -((( 434 -Ex1: 0x0B45 = 2885mV 435 -))) 509 +* (% style="color:#037691" %)**Signal:** (%%) 0x1b = 27 436 436 437 -((( 438 -Ex2: 0x0B49 = 2889mV 439 -))) 511 +* (% style="color:#037691" %)**Model:** (%%) 0x01 = 1 440 440 513 +* (% style="color:#037691" %)**0x00dc000ccc= reserve, ignore in N95S31B** 441 441 515 +* (% style="color:#037691" %)**Temperature by SHT31:** (%%) 0x00e1 = 225 = 22.5 °C 442 442 443 - ===2.4.4SignalStrength===517 +* (% style="color:#037691" %)**Humidity by SHT31:** (%%) 0x0186 = 390 = 39.0 %rh 444 444 445 445 ((( 446 -NB-IoT Network signal Strength. 447 -))) 520 + 448 448 449 - (((450 - **Ex1:0x1d = 29**522 + 523 + 451 451 ))) 452 452 526 +==== 2.3.1.2 Since Firmware v1.2 ==== 527 + 528 + 529 +In this mode, uplink payload includes 91 bytes in total by default. 530 + 531 +Each time the device uploads a data package, 8 sets of recorded data will be attached. Up to 32 sets of recorded data can be uploaded. 532 + 533 + 534 +(% border="1" style="background-color:#ffffcc; color:green; width:520px" %) 535 +|=(% scope="row" style="width: 50px;" %)**Size(bytes)**|(% style="width:40px" %)**8**|(% style="width:20px" %)**2**|(% style="width:20px" %)**2**|(% style="width:30px" %)**1**|(% style="width:20px" %)**1**|(% style="width:55px" %)**2**|(% style="width:35px" %)**1**|(% style="width:20px" %)**2**|(% style="width:40px" %)**2**|(% style="width:40px" %)**2**|(% style="width:30px" %)**4**|(% style="width:40px" %)**2**|(% style="width:40px" %)**2**|(% style="width:35px" %)**4** 536 +|=(% style="width: 95px;" %)**Value**|(% style="width:82px" %)Device ID|(% style="width:43px" %)Ver|(% style="width:47px" %)BAT|(% style="width:124px" %)Signal Strength|(% style="width:56px" %)MOD|(% style="width:109px" %)TemDS18B20|(% style="width:80px" %)Interrupt|(% style="width:51px" %)ADC|(% style="width:79px" %)SHTTEM|(% style="width:84px" %)SHTHUM|(% style="width:100px" %)Time stamp |(% style="width:76px" %)SHTTEM|(% style="width:81px" %)SHTHUM|(% style="width:121px" %)Time stamp ..... 537 + 538 +If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the N95S31B uplink data. 539 + 540 + 541 +[[image:image-20220908154949-1.png]] 542 + 543 + 544 +The payload is ASCII string, representative same HEX: 545 + 546 +**0x (% style="color:red" %)__f868411056758782__ (% style="color:blue" %)__000c__ (% style="color:green" %)__0d0f__ (% style="color:#00b0f0" %)__0c__ (% style="color:#7030a0" %)__01__ (% style="color:#d60093" %)__0000__ (% style="color:#a14d07" %)__00__ __0030__ (% style="color:#0020b0" %)__0114__ (% style="color:#420042" %)__0231__ (% style="color:#663300" %)__63199d3c__ (%%)__0113023163199d12__ __0113023163199c5e__// //__0112023763199baa__ __0112023263199af6__// //__0111023b631999a7__ ** 547 + 548 +**__0112023b631998f3__// //__011202426319983f__ __01110242631996eb__** 549 + 550 +**where:** 551 + 552 +* (% style="color:#037691" %)**Device ID:**(%%) f868411056758782 = f868411056758782 553 + 554 +* (% style="color:#037691" %)**Version:** (%%)0x000c=120=1.2 555 + 556 +* (% style="color:#037691" %)**BAT:** (%%)0x0d0f = 3343 mV = 3.343V 557 + 558 +* (% style="color:#037691" %)**Singal:**(%%) 0x0c = 12 559 + 560 +* (% style="color:#037691" %)**Mod:**(%%) 0x01 = 1 561 + 562 +* (% style="color:#037691" %)**TemDS18B20:**(%%) 0x0000= 0 = 0 563 + 564 +* (% style="color:#037691" %)**Interrupt:** (%%)0x00= 0 565 + 566 +* (% style="color:#037691" %)**adc:**(%%) 0x0030= 48 567 + 568 +* (% style="color:#037691" %)**SHTTEM:**(%%) 0x0114= 276 = 27.6 569 + 570 +* (% style="color:#037691" %)**SHTHUM:**(%%) 0x0231 =561=56.1% 571 + 572 +* (% style="color:#037691" %)**Time stamp : **(%%)0x63199d3c =1662342011 ([[Unix Epoch Time>>url:http://www.epochconverter.com/]]) 573 + 574 +* (% style="color:#037691" %)**SHTTEM,SHTHUM,Time stamp :**(%%) 0113023163199d12 575 + 576 +* (% style="color:#037691" %)**8 sets of recorded data:**(%%)** **SHTTEM,SHTHUM,Time stamp : 0113023163199c5e, ....... 577 + 578 + 579 +=== 2.3.2 Device ID === 580 + 581 + 453 453 ((( 454 - (% style="color:blue"%)**0**(%%)-113dBmorless583 +By default, the Device ID equal to the last 6 bytes of IMEI. 455 455 ))) 456 456 457 457 ((( 458 -(% style="color:blue" %)**1**(%%) -111dBm 587 +User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID 588 + 589 + 459 459 ))) 460 460 461 461 ((( 462 -(% style="color:blue" %)** 2...30**(%%) -109dBm... -53dBm593 +(% style="color:blue" %)**Example:** 463 463 ))) 464 464 465 465 ((( 466 - (% style="color:blue" %)**31** (%%) -51dBm or greater597 +AT+DEUI=A84041F15612 467 467 ))) 468 468 469 469 ((( 470 -(% style="color:blue" %)**99** (%%) Not known or not detectable 601 +The Device ID is stored in a none-erase area, Upgrade the firmware or run (% style="color:blue" %)**AT+FDR**(%%) won't erase Device ID. 602 + 603 + 471 471 ))) 472 472 606 +(% style="color:red" %)**NOTE: When the firmware version is v1.2 and later firmware:** 473 473 474 474 475 - ===2.4.5Distance===609 +By default, the Device ID equal to the last 15 bits of IMEI. 476 476 477 - Getthedistance.Flatbjectrange280mm - 7500mm.611 +User can use ** (% style="color:blue" %)AT+DEUI(%%)** to set Device ID 478 478 613 + 614 +(% style="color:blue" %)**Example:** 615 + 616 +AT+DEUI=868411056754138 617 + 618 + 619 +=== 2.3.3 Version Info === 620 + 621 + 479 479 ((( 480 - Forexample,if the datayou getfrom theregisteris **__0x0B 0x05__**, the distancebetweenthesensorand the measuredobject is623 +These bytes include the hardware and software version. 481 481 ))) 482 482 483 483 ((( 484 -((( 485 -(% style="color:blue" %)** 0B05(H) = 2821(D) = 2821mm.** 627 +Higher byte: Specify hardware version: always 0x00 for N95S31B 486 486 ))) 487 -))) 488 488 489 489 ((( 490 - 631 +Lower byte: Specify the software version: 0x6E=110, means firmware version 110 491 491 ))) 492 492 493 493 ((( ... ... @@ -494,65 +494,81 @@ 494 494 495 495 ))) 496 496 497 -=== 2.4.6 Digital Interrupt === 498 - 499 499 ((( 500 - Digital Interruptrefers topin (% style="color:blue"%)**GPIO_EXTI**(%%),andtherearedifferent triggermethods. When thereisa trigger, theNDDS75 will send a packetto theserver.639 +For example: 0x00 6E: this device is N95S31B with firmware version 110. 501 501 ))) 502 502 503 503 ((( 504 - Thecommand is:643 + 505 505 ))) 506 506 646 +=== 2.3.4 Battery Info === 647 + 648 + 507 507 ((( 508 - (% style="color:blue"%)**AT+INTMOD=3 **(%%) ~/~/(more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.**650 +Ex1: 0x0B45 = 2885mV 509 509 ))) 510 510 511 - 512 512 ((( 513 - Thelowerfourbits of this data field shows if this packet is generated by interrupt or not. Click here for the hardware and software set up.654 +Ex2: 0x0B49 = 2889mV 514 514 ))) 515 515 516 516 658 +=== 2.3.5 Signal Strength === 659 + 660 + 517 517 ((( 518 - Example:662 +NB-IoT Network signal Strength. 519 519 ))) 520 520 521 521 ((( 522 - 0x(00):Normaluplinkpacket.666 +**Ex1: 0x1d = 29** 523 523 ))) 524 524 525 525 ((( 526 - 0x(01):InterruptUplinkPacket.670 +(% style="color:blue" %)**0**(%%) -113dBm or less 527 527 ))) 528 528 529 - 530 - 531 -=== 2.4.7 +5V Output === 532 - 533 533 ((( 534 - NDDS75willenable +5Voutputbeforeallsamplinganddisablethe+5vafterall sampling.674 +(% style="color:blue" %)**1**(%%) -111dBm 535 535 ))) 536 536 537 - 538 538 ((( 539 - The5V output timean be controlledbyAT Command.678 +(% style="color:blue" %)**2...30**(%%) -109dBm... -53dBm 540 540 ))) 541 541 542 542 ((( 543 -(% style="color:blue" %)** AT+5VT=1000**682 +(% style="color:blue" %)**31** (%%) -51dBm or greater 544 544 ))) 545 545 546 546 ((( 547 - Meansset5V valid timetohave 1000ms. Sothereal5V outputwillactuallyhave1000ms+samplingtime for othersensors.686 +(% style="color:blue" %)**99** (%%) Not known or not detectable 548 548 ))) 549 549 550 550 690 +=== 2.3.6 Temperature & Humidity === 551 551 552 -== 2.5 Downlink Payload == 553 553 554 - Bydefault,NDDS75printsthedownlinkpayload toconsoleport.693 +The device will be able to get the SHT31 temperature and humidity data now and upload to IoT Server. 555 555 695 +[[image:image-20220709161741-3.png]] 696 + 697 + 698 +Convert the read byte to decimal and divide it by ten. 699 + 700 + 701 +**Example:** 702 + 703 +Temperature: Read:00ec (H) = 236(D) Value: 236 /10=23.6℃ 704 + 705 +Humidity: Read:0295(H)=661(D) Value: 661 / 10=66.1, So 66.1% 706 + 707 + 708 +== 2.4 Downlink Payload == 709 + 710 + 711 +By default, N95S31B prints the downlink payload to console port. 712 + 556 556 [[image:image-20220709100028-1.png]] 557 557 558 558 ... ... @@ -589,7 +589,7 @@ 589 589 ))) 590 590 591 591 ((( 592 -If payload = 0x04FF, it will reset the DDS75749 +If payload = 0x04FF, it will reset the N95S31B 593 593 ))) 594 594 595 595 ... ... @@ -600,144 +600,99 @@ 600 600 ))) 601 601 602 602 760 +== 2.5 Humidity and Temperature alarm function == 603 603 604 -== 2.6 LED Indicator == 605 605 763 +**~ (% style="color:blue" %)➢ AT Command:(%%)** 606 606 607 -The NDDS75 has an internal LED which is to show the status of different state. 608 608 766 +(% style="color:#037691" %)**AT+ SHHUM=min,max** 609 609 610 -* When power on, NDDS75 will detect if sensor probe is connected, if probe detected, LED will blink four times. (no blinks in this step is no probe) 611 -* Then the LED will be on for 1 second means device is boot normally. 612 -* After NDDS75 join NB-IoT network. The LED will be ON for 3 seconds. 613 -* For each uplink probe, LED will be on for 500ms. 614 614 615 -((( 616 - 617 -))) 769 +² When min=0, and max≠0, Alarm higher than max 618 618 771 +² When min≠0, and max=0, Alarm lower than min 619 619 773 +² When min≠0 and max≠0, Alarm higher than max or lower than min 620 620 621 -== 2.7 Firmware Change Log == 622 622 776 + (% style="color:blue" %)**Example:** 623 623 624 -((( 625 -Download URL & Firmware Change log 626 -))) 778 +AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50. 627 627 628 -((( 629 -[[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/Firmware/>>url:https://www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/Firmware/]] 630 -))) 631 631 781 +(% style="color:#037691" %)**AT+ SHTEMP=min,max** 632 632 633 -((( 634 -Upgrade Instruction: [[Upgrade_Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]] 635 -))) 783 +² When min=0, and max≠0, Alarm higher than max 636 636 785 +² When min≠0, and max=0, Alarm lower than min 637 637 787 +² When min≠0 and max≠0, Alarm higher than max or lower than min 638 638 639 -== 2.8 Battery Analysis == 640 640 641 - ===2.8.1BatteryType===790 +**~ (% style="color:blue" %)Example:(%%)** 642 642 792 +AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20. 643 643 644 -((( 645 -The NDDS75 battery is a combination of an 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is none-rechargeable battery type with a low discharge rate (<2% per year). This type of battery is commonly used in IoT devices such as water meter. 646 -))) 647 647 648 -((( 649 -The battery is designed to last for several years depends on the actually use environment and update interval. 650 -))) 795 +== 2.6 Set the number of data to be uploaded and the recording time == 651 651 652 -((( 653 -The battery related documents as below: 654 -))) 655 655 656 -* [[Battery Dimension>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]] 657 -* [[Lithium-Thionyl Chloride Battery datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]] 658 -* [[Lithium-ion Battery-Capacitor datasheet>>http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]] 798 +**~ (% style="color:blue" %)➢ AT Command:(%%)** 659 659 660 -((( 661 -[[image:image-20220709101450-2.png]] 662 -))) 800 +* (% style="color:#037691" %)**AT+TR=900** (%%)~/~/ The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds) 801 +* (% style="color:#037691" %)**AT+NOUD=8** (%%)~/~/ The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded. 663 663 803 + The diagram below explains the relationship between TR, NOUD, and TDC more clearly**:** 664 664 805 +[[image:image-20221009001045-1.png||height="726" width="1009"]] 665 665 666 -=== 2.8.2 Power consumption Analyze === 667 667 668 -((( 669 -Dragino battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval. 670 -))) 808 +== 2.7 Read or Clear cached data == 671 671 672 672 673 -((( 674 -Instruction to use as below: 675 -))) 811 +**~ (% style="color:blue" %)➢ AT Command:(%%)** 676 676 677 -((( 678 -(% style="color:blue" %)**Step 1: **(%%)Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]] 679 -))) 813 +* (% style="color:#037691" %)**AT+CDP** (%%) ~/~/ Read cached data 814 +* (% style="color:#037691" %)**AT+CDP=0** (%%) ~/~/ Clear cached data 680 680 816 +[[image:image-20220908163102-2.png]] 681 681 682 -((( 683 -(% style="color:blue" %)**Step 2: **(%%) Open it and choose 684 -))) 685 685 686 -* ((( 687 -Product Model 688 -))) 689 -* ((( 690 -Uplink Interval 691 -))) 692 -* ((( 693 -Working Mode 694 -))) 819 += 2.8 Battery & Power Consumption = 695 695 696 -((( 697 -And the Life expectation in difference case will be shown on the right. 698 -))) 699 699 700 - [[image:image-20220709110451-3.png]]822 +N95S31B uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. 701 701 824 +[[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . 702 702 703 703 704 - ===2.8.3 Battery Note ===827 + 705 705 706 -((( 707 -The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased. 708 -))) 829 += 3. Access NB-IoT Module = 709 709 710 710 711 - 712 -=== 2.8.4 Replace the battery === 713 - 714 714 ((( 715 -The default battery pack of NDDS75 includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence without the SPC1520 capacitor, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes). 716 -))) 717 - 718 - 719 - 720 -= 3. Access NB-IoT Module = 721 - 722 -((( 723 723 Users can directly access the AT command set of the NB-IoT module. 724 724 ))) 725 725 726 726 ((( 727 727 The AT Command set can refer the BC35-G NB-IoT Module AT Command: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/]] 838 + 839 + 728 728 ))) 729 729 730 730 [[image:1657333200519-600.png]] 731 731 732 732 733 - 734 734 = 4. Using the AT Commands = 735 735 736 736 == 4.1 Access AT Commands == 737 737 738 -See this link for detail: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=NB-IoT/NDDS75/>>url:http://www.dragino.com/downloads/index.php?dir=NB-IoT/NBSN50/]] 739 739 850 +See NBSN95 AT Command in this link for detail: [[https:~~/~~/www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0>>https://www.dropbox.com/sh/jao1xt9kw5r3yq4/AAAMpJkZzExF2JLbRWxGoQ9Na?dl=0]] 740 740 852 + 741 741 AT+<CMD>? : Help on <CMD> 742 742 743 743 AT+<CMD> : Run <CMD> ... ... @@ -777,7 +777,24 @@ 777 777 778 778 AT+SERVADDR : Server Address 779 779 892 +AT+TR : Get or Set record time 780 780 894 +AT+APN : Get or set the APN 895 + 896 +AT+FBAND : Get or Set whether to automatically modify the frequency band 897 + 898 +AT+DNSCFG : Get or Set DNS Server 899 + 900 +AT+GETSENSORVALUE : Returns the current sensor measurement 901 + 902 +AT+NOUD : Get or Set the number of data to be uploaded 903 + 904 +AT+CDP : Read or Clear cached data 905 + 906 +AT+SHTEMP: Get or Set alarm of temp 907 + 908 +AT+SHHUM: Get or Set alarm of moisture 909 + 781 781 (% style="color:#037691" %)**COAP Management** 782 782 783 783 AT+URI : Resource parameters ... ... @@ -808,7 +808,6 @@ 808 808 AT+PWORD : Serial Access Password 809 809 810 810 811 - 812 812 = 5. FAQ = 813 813 814 814 == 5.1 How to Upgrade Firmware == ... ... @@ -823,11 +823,14 @@ 823 823 ))) 824 824 825 825 ((( 826 -(% style="color:red" %)Notice, NDDS75 and LDDS75 share the same mother board. They use the same connection and method to update. 954 + 955 + 956 +((( 957 +(% style="color:red" %)**Notice, N95S31B and LSN50v2 share the same mother board. They use the same connection and method to update.** 827 827 ))) 959 +))) 828 828 829 829 830 - 831 831 = 6. Trouble Shooting = 832 832 833 833 == 6.1 Connection problem when uploading firmware == ... ... @@ -842,9 +842,9 @@ 842 842 843 843 ))) 844 844 845 - 846 846 == 6.2 AT Command input doesn't work == 847 847 978 + 848 848 ((( 849 849 In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string. 850 850 ... ... @@ -851,18 +851,12 @@ 851 851 852 852 ))) 853 853 854 - 855 855 = 7. Order Info = 856 856 857 857 858 -Part Number**:** (% style="color:#4f81bd" %)**N SDDS75**988 +Part Number**:** (% style="color:#4f81bd" %)**N95S31B-YY** 859 859 860 860 861 -(% class="wikigeneratedid" %) 862 -((( 863 - 864 -))) 865 - 866 866 = 8. Packing Info = 867 867 868 868 ((( ... ... @@ -870,7 +870,7 @@ 870 870 871 871 (% style="color:#037691" %)**Package Includes**: 872 872 873 -* NS E01DistanceDetectSensorNode x 1998 +* N95S31B NB-IoT Temperature and Humidity Sensor 874 874 * External antenna x 1 875 875 ))) 876 876 ... ... @@ -879,21 +879,24 @@ 879 879 880 880 (% style="color:#037691" %)**Dimension and weight**: 881 881 882 - 883 883 * Device Size: 13.0 x 5 x 4.5 cm 884 884 * Device Weight: 150g 885 -* Package Size / pcs : 1 5x12x 5.5cm886 -* Weight / pcs : 220g1009 +* Package Size / pcs : 14.0 x 8x 5 cm 1010 +* Weight / pcs : 180g 887 887 ))) 888 888 889 889 ((( 890 890 891 891 892 - 893 893 894 894 ))) 895 895 896 896 = 9. Support = 897 897 1021 + 898 898 * 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. 899 899 * 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]] 1024 + 1025 + 1026 + 1027 +
- 1657350625843-586.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +93.3 KB - Content
- 1657351240556-536.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +483.6 KB - Content
- 1657351312545-300.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +675.8 KB - Content
- 1657352146020-183.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +264.0 KB - Content
- 1657352185396-303.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +98.3 KB - Content
- 1657352391268-297.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +238.0 KB - Content
- 1657352403317-397.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +547.7 KB - Content
- 1657352634421-276.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +163.6 KB - Content
- 1657352645687-385.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +214.7 KB - Content
- 1657352898400-901.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +144.8 KB - Content
- 1657352914475-252.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +157.0 KB - Content
- 1657354294009-643.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +214.7 KB - Content
- 1657520100595-569.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +126.1 KB - Content
- image-20220709161741-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +111.2 KB - Content
- image-20220908154949-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.David - Size
-
... ... @@ -1,0 +1,1 @@ 1 +58.5 KB - Content
- image-20220908163102-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.David - Size
-
... ... @@ -1,0 +1,1 @@ 1 +29.7 KB - Content
- image-20221009001045-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +282.9 KB - Content