<
From version < 11.1 >
edited by Edwin Chen
on 2023/05/11 20:42
To version < 43.5 >
edited by Xiaoling
on 2023/05/16 13:42
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SN50v3-LB User Manual
1 +SN50v3-LB LoRaWAN Sensor Node User Manual
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.Xiaoling
Content
... ... @@ -1,4 +1,5 @@
1 -[[image:image-20230511201248-1.png||height="403" width="489"]]
1 +(% style="text-align:center" %)
2 +[[image:image-20230515135611-1.jpeg||height="589" width="589"]]
2 2  
3 3  
4 4  
... ... @@ -15,18 +15,15 @@
15 15  
16 16  == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
17 17  
19 +
18 18  (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
19 19  
20 -
21 21  (% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user 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 minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
22 22  
23 -
24 24  (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors.
25 25  
26 -
27 27  (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining.
28 28  
29 -
30 30  SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements.
31 31  
32 32  
... ... @@ -44,6 +44,7 @@
44 44  
45 45  == 1.3 Specification ==
46 46  
45 +
47 47  (% style="color:#037691" %)**Common DC Characteristics:**
48 48  
49 49  * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
... ... @@ -80,6 +80,7 @@
80 80  
81 81  == 1.4 Sleep mode and working mode ==
82 82  
82 +
83 83  (% 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.
84 84  
85 85  (% 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.
... ... @@ -122,7 +122,7 @@
122 122  == 1.7 Pin Definitions ==
123 123  
124 124  
125 -[[image:image-20230511203450-2.png||height="443" width="785"]]
125 +[[image:image-20230513102034-2.png]]
126 126  
127 127  
128 128  == 1.8 Mechanical ==
... ... @@ -137,6 +137,7 @@
137 137  
138 138  == Hole Option ==
139 139  
140 +
140 140  SN50v3-LB has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
141 141  
142 142  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627104757-1.png?rev=1.1||alt="image-20220627104757-1.png"]]
... ... @@ -149,7 +149,7 @@
149 149  == 2.1 How it works ==
150 150  
151 151  
152 -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.
153 +The SN50v3-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.
153 153  
154 154  
155 155  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -160,11 +160,11 @@
160 160  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.
161 161  
162 162  
163 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
164 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
164 164  
165 -Each S31x-LB is shipped with a sticker with the default device EUI as below:
166 +Each SN50v3-LB is shipped with a sticker with the default device EUI as below:
166 166  
167 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
168 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/WebHome/image-20230426084152-1.png?width=502&height=233&rev=1.1||alt="图片-20230426084152-1.png" height="233" width="502"]]
168 168  
169 169  
170 170  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
... ... @@ -191,10 +191,10 @@
191 191  [[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"]]
192 192  
193 193  
194 -(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
195 +(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB
195 195  
196 196  
197 -Press the button for 5 seconds to activate the S31x-LB.
198 +Press the button for 5 seconds to activate the SN50v3-LB.
198 198  
199 199  (% 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.
200 200  
... ... @@ -206,7 +206,7 @@
206 206  === 2.3.1 Device Status, FPORT~=5 ===
207 207  
208 208  
209 -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.
210 +Users can use the downlink command(**0x26 01**) to ask SN50v3 to send device configure detail, include device configure status. SN50v3 will uplink a payload via FPort=5 to server.
210 210  
211 211  The Payload format is as below.
212 212  
... ... @@ -218,11 +218,9 @@
218 218  
219 219  Example parse in TTNv3
220 220  
221 -[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]]
222 222  
223 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3, this value is 0x1C
223 223  
224 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
225 -
226 226  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
227 227  
228 228  (% style="color:#037691" %)**Frequency Band**:
... ... @@ -274,39 +274,397 @@
274 274  Ex2: 0x0B49 = 2889mV
275 275  
276 276  
277 -=== 2.3.2  Sensor Data. FPORT~=2 ===
276 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
278 278  
279 279  
280 -Sensor Data is uplink via FPORT=2
279 +SN50v3 has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command AT+MOD to set SN50v3 to different working modes.
281 281  
282 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
283 -|=(% style="width: 90px;background-color:#D9E2F3" %)(((
281 +For example:
282 +
283 + **AT+MOD=2  ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
284 +
285 +
286 +(% style="color:red" %) **Important Notice:**
287 +
288 +1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in **DR0**. Server sides will see NULL payload while SN50v3 transmit in DR0 with 12 bytes payload.
289 +1. All modes share the same Payload Explanation from HERE.
290 +1. By default, the device will send an uplink message every 20 minutes.
291 +
292 +==== 2.3.2.1  MOD~=1 (Default Mode) ====
293 +
294 +
295 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
296 +
297 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
298 +|**Size(bytes)**|**2**|(% style="width:191px" %)**2**|(% style="width:78px" %)**2**|(% style="width:216px" %)**1**|(% style="width:308px" %)**2**|(% style="width:154px" %)**2**
299 +|**Value**|Bat|(% style="width:191px" %)(((
300 +Temperature(DS18B20)
301 +
302 +(PC13)
303 +)))|(% style="width:78px" %)(((
304 +ADC
305 +
306 +(PA4)
307 +)))|(% style="width:216px" %)(((
308 +Digital in(PB15) &
309 +
310 +Digital Interrupt(PA8)
311 +
312 +
313 +)))|(% style="width:308px" %)(((
314 +Temperature
315 +
316 +(SHT20 or SHT31 or BH1750 Illumination Sensor)
317 +)))|(% style="width:154px" %)(((
318 +Humidity
319 +
320 +(SHT20 or SHT31)
321 +)))
322 +
323 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627150949-6.png?rev=1.1||alt="image-20220627150949-6.png"]]
324 +
325 +
326 +==== 2.3.2.2  MOD~=2 (Distance Mode) ====
327 +
328 +This mode is target to measure the distance. The payload of this mode is totally 11 bytes. The 8^^th^^ and 9^^th^^ bytes is for the distance.
329 +
330 +(% style="width:1011px" %)
331 +|**Size(bytes)**|**2**|(% style="width:196px" %)**2**|(% style="width:87px" %)**2**|(% style="width:189px" %)**1**|(% style="width:208px" %)**2**|(% style="width:117px" %)**2**
332 +|**Value**|BAT|(% style="width:196px" %)(((
333 +Temperature(DS18B20)
334 +
335 +(PC13)
336 +)))|(% style="width:87px" %)(((
337 +ADC
338 +
339 +(PA4)
340 +)))|(% style="width:189px" %)(((
341 +Digital in(PB15) &
342 +
343 +Digital Interrupt(PA8)
344 +)))|(% style="width:208px" %)(((
345 +Distance measure by:
346 +1) LIDAR-Lite V3HP
347 +Or
348 +2) Ultrasonic Sensor
349 +)))|(% style="width:117px" %)Reserved
350 +
351 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324539647-568.png?rev=1.1||alt="1656324539647-568.png"]]
352 +
353 +**Connection of LIDAR-Lite V3HP:**
354 +
355 +[[image:image-20230512173758-5.png||height="563" width="712"]]
356 +
357 +**Connection to Ultrasonic Sensor:**
358 +
359 +Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.
360 +
361 +[[image:image-20230512173903-6.png||height="596" width="715"]]
362 +
363 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
364 +
365 +(% style="width:1113px" %)
366 +|**Size(bytes)**|**2**|(% style="width:183px" %)**2**|(% style="width:173px" %)**1**|(% style="width:84px" %)**2**|(% style="width:323px" %)**2**|(% style="width:188px" %)**2**
367 +|**Value**|BAT|(% style="width:183px" %)(((
368 +Temperature(DS18B20)
369 +
370 +(PC13)
371 +)))|(% style="width:173px" %)(((
372 +Digital in(PB15) &
373 +
374 +Digital Interrupt(PA8)
375 +)))|(% style="width:84px" %)(((
376 +ADC
377 +
378 +(PA4)
379 +)))|(% style="width:323px" %)(((
380 +Distance measure by:1)TF-Mini plus LiDAR
381 +Or 
382 +2) TF-Luna LiDAR
383 +)))|(% style="width:188px" %)Distance signal  strength
384 +
385 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656376779088-686.png?rev=1.1||alt="1656376779088-686.png"]]
386 +
387 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
388 +
389 +Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.
390 +
391 +[[image:image-20230512180609-7.png||height="555" width="802"]]
392 +
393 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
394 +
395 +Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.
396 +
397 +[[image:image-20230513105207-4.png||height="469" width="802"]]
398 +
399 +
400 +==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
401 +
402 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C
403 +
404 +(% style="width:1031px" %)
405 +|=(((
284 284  **Size(bytes)**
285 -)))|=(% 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
286 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
287 -[[Battery>>||anchor="HBattery:"]]
288 -)))|(% style="width:130px" %)(((
289 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
290 -)))|(% style="width:91px" %)(((
291 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
292 -)))|(% style="width:103px" %)(((
293 -[[Temperature>>||anchor="HTemperature:"]]
294 -)))|(% style="width:80px" %)(((
295 -[[Humidity>>||anchor="HHumidity:"]]
407 +)))|=(% style="width: 68px;" %)**2**|=(% style="width: 75px;" %)**2**|=**2**|=**1**|=(% style="width: 304px;" %)2|=(% style="width: 163px;" %)2|=(% style="width: 53px;" %)1
408 +|**Value**|(% style="width:68px" %)(((
409 +ADC1
410 +
411 +(PA4)
412 +)))|(% style="width:75px" %)(((
413 +ADC2
414 +
415 +(PA5)
416 +)))|(((
417 +ADC3
418 +
419 +(PA8)
420 +)))|(((
421 +Digital Interrupt(PB15)
422 +)))|(% style="width:304px" %)(((
423 +Temperature
424 +
425 +(SHT20 or SHT31 or BH1750 Illumination Sensor)
426 +)))|(% style="width:163px" %)(((
427 +Humidity
428 +
429 +(SHT20 or SHT31)
430 +)))|(% style="width:53px" %)Bat
431 +
432 +[[image:image-20230513110214-6.png]]
433 +
434 +
435 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
436 +
437 +
438 +This mode has total 11 bytes. As shown below:
439 +
440 +(% style="width:1017px" %)
441 +|**Size(bytes)**|**2**|(% style="width:186px" %)**2**|(% style="width:82px" %)**2**|(% style="width:210px" %)**1**|(% style="width:191px" %)**2**|(% style="width:183px" %)**2**
442 +|**Value**|BAT|(% style="width:186px" %)(((
443 +Temperature1(DS18B20)
444 +(PC13)
445 +)))|(% style="width:82px" %)(((
446 +ADC
447 +
448 +(PA4)
449 +)))|(% style="width:210px" %)(((
450 +Digital in(PB15) &
451 +
452 +Digital Interrupt(PA8) 
453 +)))|(% style="width:191px" %)Temperature2(DS18B20)
454 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20)
455 +(PB8)
456 +
457 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377606181-607.png?rev=1.1||alt="1656377606181-607.png"]]
458 +
459 +[[image:image-20230513134006-1.png||height="559" width="736"]]
460 +
461 +
462 +==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
463 +
464 +[[image:image-20230512164658-2.png||height="532" width="729"]]
465 +
466 +Each HX711 need to be calibrated before used. User need to do below two steps:
467 +
468 +1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram.
469 +1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor.
470 +1. (((
471 +Weight has 4 bytes, the unit is g.
296 296  )))
297 297  
298 -==== (% style="color:#4472c4" %)**Battery**(%%) ====
474 +For example:
299 299  
300 -Sensor Battery Level.
476 +**AT+GETSENSORVALUE =0**
301 301  
478 +Response:  Weight is 401 g
479 +
480 +Check the response of this command and adjust the value to match the real value for thing.
481 +
482 +(% style="width:767px" %)
483 +|=(((
484 +**Size(bytes)**
485 +)))|=**2**|=(% style="width: 193px;" %)**2**|=(% style="width: 85px;" %)**2**|=(% style="width: 186px;" %)**1**|=(% style="width: 100px;" %)**4**
486 +|**Value**|BAT|(% style="width:193px" %)(((
487 +Temperature(DS18B20)
488 +
489 +(PC13)
490 +
491 +
492 +)))|(% style="width:85px" %)(((
493 +ADC
494 +
495 +(PA4)
496 +)))|(% style="width:186px" %)(((
497 +Digital in(PB15) &
498 +
499 +Digital Interrupt(PA8)
500 +)))|(% style="width:100px" %)Weight
501 +
502 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820120036-2.png?width=1003&height=469&rev=1.1||alt="image-20220820120036-2.png" height="469" width="1003"]]
503 +
504 +
505 +==== 2.3.2.6  MOD~=6 (Counting Mode) ====
506 +
507 +In this mode, the device will work in counting mode. It counts the interrupt on the interrupt pins and sends the count on TDC time.
508 +
509 +Connection is as below. The PIR sensor is a count sensor, it will generate interrupt when people come close or go away. User can replace the PIR sensor with other counting sensors.
510 +
511 +[[image:image-20230512181814-9.png||height="543" width="697"]]
512 +
513 +**Note:** LoRaWAN wireless transmission will infect the PIR sensor. Which cause the counting value increase +1 for every uplink. User can change PIR sensor or put sensor away of the SN50_v3 to avoid this happen.
514 +
515 +(% style="width:961px" %)
516 +|=**Size(bytes)**|=**2**|=(% style="width: 256px;" %)**2**|=(% style="width: 108px;" %)**2**|=(% style="width: 126px;" %)**1**|=(% style="width: 145px;" %)**4**
517 +|**Value**|BAT|(% style="width:256px" %)(((
518 +Temperature(DS18B20)
519 +
520 +(PC13)
521 +)))|(% style="width:108px" %)(((
522 +ADC
523 +
524 +(PA4)
525 +)))|(% style="width:126px" %)(((
526 +Digital in
527 +
528 +(PB15)
529 +)))|(% style="width:145px" %)(((
530 +Count
531 +
532 +(PA8)
533 +)))
534 +
535 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378441509-171.png?rev=1.1||alt="1656378441509-171.png"]]
536 +
537 +
538 +==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
539 +
540 +(% style="width:1108px" %)
541 +|=(((
542 +**Size(bytes)**
543 +)))|=**2**|=(% style="width: 188px;" %)**2**|=(% style="width: 83px;" %)**2**|=(% style="width: 184px;" %)**1**|=(% style="width: 186px;" %)**1**|=(% style="width: 197px;" %)1|=(% style="width: 100px;" %)2
544 +|**Value**|BAT|(% style="width:188px" %)(((
545 +Temperature(DS18B20)
546 +
547 +(PC13)
548 +)))|(% style="width:83px" %)(((
549 +ADC
550 +
551 +(PA5)
552 +)))|(% style="width:184px" %)(((
553 +Digital Interrupt1(PA8)
554 +)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
555 +
556 +[[image:image-20230513111203-7.png||height="324" width="975"]]
557 +
558 +==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
559 +
560 +(% style="width:922px" %)
561 +|=(((
562 +**Size(bytes)**
563 +)))|=**2**|=(% style="width: 207px;" %)**2**|=(% style="width: 94px;" %)**2**|=(% style="width: 198px;" %)**1**|=(% style="width: 84px;" %)**2**|=(% style="width: 82px;" %)2
564 +|**Value**|BAT|(% style="width:207px" %)(((
565 +Temperature(DS18B20)
566 +
567 +(PC13)
568 +)))|(% style="width:94px" %)(((
569 +ADC1
570 +
571 +(PA4)
572 +)))|(% style="width:198px" %)(((
573 +Digital Interrupt(PB15)
574 +)))|(% style="width:84px" %)(((
575 +ADC2
576 +
577 +(PA5)
578 +)))|(% style="width:82px" %)(((
579 +ADC3
580 +
581 +(PA8)
582 +)))
583 +
584 +[[image:image-20230513111231-8.png||height="335" width="900"]]
585 +
586 +
587 +==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
588 +
589 +(% style="width:1010px" %)
590 +|=(((
591 +**Size(bytes)**
592 +)))|=**2**|=**2**|=**2**|=**1**|=(% style="width: 193px;" %)**2**|=(% style="width: 78px;" %)4|=(% style="width: 78px;" %)4
593 +|**Value**|BAT|(((
594 +Temperature1(DS18B20)
595 +
596 +(PC13)
597 +)))|(((
598 +Temperature2(DS18B20)
599 +
600 +(PB9)
601 +)))|(((
602 +Digital Interrupt
603 +
604 +(PB15)
605 +)))|(% style="width:193px" %)(((
606 +Temperature3(DS18B20)
607 +
608 +(PB8)
609 +)))|(% style="width:78px" %)(((
610 +Count1
611 +
612 +(PA8)
613 +)))|(% style="width:78px" %)(((
614 +Count2
615 +
616 +(PA4)
617 +)))
618 +
619 +[[image:image-20230513111255-9.png||height="341" width="899"]]
620 +
621 +**The newly added AT command is issued correspondingly:**
622 +
623 +**~ AT+INTMOD1** ** PA8**  pin:  Corresponding downlink:  **06 00 00 xx**
624 +
625 +**~ AT+INTMOD2**  **PA4**  pin:  Corresponding downlink:**  06 00 01 xx**
626 +
627 +**~ AT+INTMOD3**  **PB15**  pin:  Corresponding downlink:  ** 06 00 02 xx**
628 +
629 +**AT+SETCNT=aa,bb** 
630 +
631 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
632 +
633 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
634 +
635 +
636 +
637 +=== 2.3.3  ​Decode payload ===
638 +
639 +While using TTN V3 network, you can add the payload format to decode the payload.
640 +
641 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]]
642 +
643 +The payload decoder function for TTN V3 are here:
644 +
645 +SN50v3 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
646 +
647 +
648 +==== 2.3.3.1 Battery Info ====
649 +
650 +Check the battery voltage for SN50v3.
651 +
302 302  Ex1: 0x0B45 = 2885mV
303 303  
304 304  Ex2: 0x0B49 = 2889mV
305 305  
306 306  
657 +==== 2.3.3.2  Temperature (DS18B20) ====
307 307  
308 -==== (% style="color:#4472c4" %)**Temperature**(%%) ====
659 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
309 309  
661 +More DS18B20 can check the [[3 DS18B20 mode>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#2.3.4MOD3D4283xDS18B2029]]
662 +
663 +**Connection:**
664 +
665 +[[image:image-20230512180718-8.png||height="538" width="647"]]
666 +
310 310  **Example**:
311 311  
312 312  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
... ... @@ -316,195 +316,213 @@
316 316  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
317 317  
318 318  
319 -==== (% style="color:#4472c4" %)**Humidity**(%%) ====
676 +==== 2.3.3.3 Digital Input ====
320 320  
678 +The digital input for pin PB15,
321 321  
322 -Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
680 +* When PB15 is high, the bit 1 of payload byte 6 is 1.
681 +* When PB15 is low, the bit 1 of payload byte 6 is 0.
323 323  
683 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
684 +(((
685 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
324 324  
325 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
687 +**Note:**The maximum voltage input supports 3.6V.
326 326  
689 +
690 +)))
327 327  
328 -**Example:**
692 +==== 2.3.3.4  Analogue Digital Converter (ADC) ====
329 329  
330 -If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
694 +The measuring range of the ADC is only about 0V to 1.1V The voltage resolution is about 0.24mv.
331 331  
332 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
696 +When the measured output voltage of the sensor is not within the range of 0V and 1.1V, the output voltage terminal of the sensor shall be divided The example in the following figure is to reduce the output voltage of the sensor by three times If it is necessary to reduce more times, calculate according to the formula in the figure and connect the corresponding resistance in series.
333 333  
334 -If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
698 +[[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-20220628150112-1.png?width=285&height=241&rev=1.1||alt="image-20220628150112-1.png" height="241" width="285"]]
335 335  
336 -If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settingssee [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
700 +**Note:**If the ADC type sensor needs to be powered by SN50_v3, it is recommended to use +5V to control its switch.Only sensors with low power consumption can be powered with VDD.
337 337  
338 338  
339 -== 2.4 Payload Decoder file ==
703 +==== 2.3.3.5 Digital Interrupt ====
340 340  
705 +Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3 will send a packet to the server.
341 341  
342 -In TTN, use can add a custom payload so it shows friendly reading
707 +**~ Interrupt connection method:**
343 343  
344 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
709 +[[image:image-20230513105351-5.png||height="147" width="485"]]
345 345  
346 -[[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]]
711 +**Example to use with door sensor :**
347 347  
713 +The door sensor is shown at right. It is a two wire magnetic contact switch used for detecting the open/close status of doors or windows.
348 348  
349 -== 2.5 Datalog Feature ==
715 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379210849-860.png?rev=1.1||alt="1656379210849-860.png"]]
350 350  
717 +When the two pieces are close to each other, the 2 wire output will be short or open (depending on the type), while if the two pieces are away from each other, the 2 wire output will be the opposite status. So we can use SN50_v3 interrupt interface to detect the status for the door or window.
351 351  
352 -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.
719 +**~ Below is the installation example:**
353 353  
721 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50_v3 as follows:
354 354  
355 -=== 2.5.1 Ways to get datalog via LoRaWAN ===
723 +* (((
724 +One pin to SN50_v3's PA8 pin
725 +)))
726 +* (((
727 +The other pin to SN50_v3's VDD pin
728 +)))
356 356  
730 +Install the other piece to the door. Find a place where the two pieces will be close to each other when the door is closed. For this particular magnetic sensor, when the door is closed, the output will be short, and PA8 will be at the VCC voltage.
357 357  
358 -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.
732 +Door sensors have two types: ** NC (Normal close)** and **NO (normal open)**. The connection for both type sensors are the same. But the decoding for payload are reverse, user need to modify this in the IoT Server decoder.
359 359  
360 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
361 -* 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.
734 +When door sensor is shorted, there will extra power consumption in the circuit, the extra current is 3v3/R14 = 3v3/1Mohm = 3uA which can be ignored.
362 362  
363 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
736 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379283019-229.png?rev=1.1||alt="1656379283019-229.png"]]
364 364  
365 -[[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"]]
738 +The above photos shows the two parts of the magnetic switch fitted to a door.
366 366  
367 -=== 2.5.2 Unix TimeStamp ===
740 +The software by default uses the falling edge on the signal line as an interrupt. We need to modify it to accept both the rising edge (0v ~-~-> VCC , door close) and the falling edge (VCC ~-~-> 0v , door open) as the interrupt.
368 368  
742 +The command is:
369 369  
370 -S31x-LB uses Unix TimeStamp format based on
744 +**AT+INTMOD1=1       **~/~/(more info about INMOD please refer** **[[**AT Command Manual**>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/&file=DRAGINO_LSN50_AT_Commands_v1.5.1.pdf]]**. **)
371 371  
372 -[[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"]]
746 +Below shows some screen captures in TTN V3:
373 373  
374 -User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
748 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379339508-835.png?rev=1.1||alt="1656379339508-835.png"]]
375 375  
376 -Below is the converter example
750 +In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
377 377  
378 -[[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"]]
752 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
379 379  
380 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
381 381  
755 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
382 382  
383 -=== 2.5.3 Set Device Time ===
757 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
384 384  
759 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
385 385  
386 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
761 +Notice: Different I2C sensors have different I2C commands set and initiate process, if user want to use other I2C sensors, User need to re-write the source code to support those sensors. SHT20/ SHT31 code in SN50_v3 will be a good reference.
387 387  
388 -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).
763 +Below is the connection to SHT20/ SHT31. The connection is as below:
389 389  
390 -(% 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.**
391 391  
766 +[[image:image-20230513103633-3.png||height="448" width="716"]]
392 392  
393 -=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
768 +The device will be able to get the I2C sensor data now and upload to IoT Server.
394 394  
770 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379664142-345.png?rev=1.1||alt="1656379664142-345.png"]]
395 395  
396 -The Datalog uplinks will use below payload format.
772 +Convert the read byte to decimal and divide it by ten.
397 397  
398 -**Retrieval data payload:**
774 +**Example:**
399 399  
400 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
401 -|=(% style="width: 80px;background-color:#D9E2F3" %)(((
402 -**Size(bytes)**
403 -)))|=(% 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**
404 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
405 -[[Temp_Black>>||anchor="HTemperatureBlack:"]]
406 -)))|(% 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"]]
776 +Temperature:  Read:0116(H) = 278(D)  Value:  278 /10=27.8℃;
407 407  
408 -**Poll message flag & Ext:**
778 +Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
409 409  
410 -[[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="图片-20221006192726-1.png" height="112" width="754"]]
780 +If you want to use other I2C device, please refer the SHT20 part source code as reference.
411 411  
412 -**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)
413 413  
414 -**Poll Message Flag**: 1: This message is a poll message reply.
783 +==== 2.3.3.7  ​Distance Reading ====
415 415  
416 -* Poll Message Flag is set to 1.
785 +Refer [[Ultrasonic Sensor section>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.8UltrasonicSensor]].
417 417  
418 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
419 419  
420 -For example, in US915 band, the max payload for different DR is:
788 +==== 2.3.3.8 Ultrasonic Sensor ====
421 421  
422 -**a) DR0:** max is 11 bytes so one entry of data
790 +This Fundamental Principles of this sensor can be found at this link: [[https:~~/~~/wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU~~_~~__SEN0208>>url:https://wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU___SEN0208]]
423 423  
424 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
792 +The SN50_v3 detects the pulse width of the sensor and converts it to mm output. The accuracy will be within 1 centimeter. The usable range (the distance between the ultrasonic probe and the measured object) is between 24cm and 600cm.
425 425  
426 -**c) DR2:** total payload includes 11 entries of data
794 +The working principle of this sensor is similar to the **HC-SR04** ultrasonic sensor.
427 427  
428 -**d) DR3: **total payload includes 22 entries of data.
796 +The picture below shows the connection:
429 429  
430 -If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
798 +[[image:image-20230512173903-6.png||height="596" width="715"]]
431 431  
800 +Connect to the SN50_v3 and run **AT+MOD=2** to switch to ultrasonic mode (ULT).
432 432  
802 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
803 +
433 433  **Example:**
434 434  
435 -If S31x-LB has below data inside Flash:
806 +Distance:  Read: 0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
436 436  
437 -[[image:1682646494051-944.png]]
438 438  
439 -If user sends below downlink command: 3160065F9760066DA705
440 440  
441 -Where : Start time: 60065F97 = time 21/1/19 04:27:03
810 +==== 2.3.3.9  Battery Output - BAT pin ====
442 442  
443 - Stop time: 60066DA7= time 21/1/19 05:27:03
812 +The BAT pin of SN50v3 is connected to the Battery directly. If users want to use BAT pin to power an external sensor. User need to make sure the external sensor is of low power consumption. Because the BAT pin is always open. If the external sensor is of high power consumption. the battery of SN50v3-LB will run out very soon.
444 444  
445 445  
446 -**S31x-LB will uplink this payload.**
815 +==== 2.3.3.1 +5V Output ====
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-13.png?width=727&height=421&rev=1.1||alt="图片-20220523001219-13.png" height="421" width="727"]]
817 +SN50v3 will enable +5V output before all sampling and disable the +5v after all sampling
449 449  
450 -(((
451 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
452 -)))
819 +The 5V output time can be controlled by AT Command.
453 453  
454 -(((
455 -Where the first 11 bytes is for the first entry:
456 -)))
821 +**AT+5VT=1000**
457 457  
458 -(((
459 -7FFF089801464160065F97
460 -)))
823 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
461 461  
462 -(((
463 -**Ext sensor data**=0x7FFF/100=327.67
464 -)))
825 +By default the AT+5VT=500. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
465 465  
466 -(((
467 -**Temp**=0x088E/100=22.00
468 -)))
469 469  
470 -(((
471 -**Hum**=0x014B/10=32.6
472 -)))
473 473  
474 -(((
475 -**poll message flag & Ext**=0x41,means reply data,Ext=1
476 -)))
829 +==== 2.3.3.11  BH1750 Illumination Sensor ====
477 477  
478 -(((
479 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
480 -)))
831 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
481 481  
833 +[[image:image-20230512172447-4.png||height="416" width="712"]]
482 482  
483 -(% 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="单击并拖动以调整大小" %)的
835 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628110012-12.png?rev=1.1||alt="image-20220628110012-12.png" height="361" width="953"]]
484 484  
485 -== 2.6 Temperature Alarm Feature ==
486 486  
838 +==== 2.3.3.12  Working MOD ====
487 487  
488 -S31x-LB work flow with Alarm feature.
840 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
489 489  
842 +User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
490 490  
491 -[[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="图片-20220623090437-1.png"]]
844 +Case 7^^th^^ Byte >> 2 & 0x1f:
492 492  
846 +* 0: MOD1
847 +* 1: MOD2
848 +* 2: MOD3
849 +* 3: MOD4
850 +* 4: MOD5
851 +* 5: MOD6
852 +* 6: MOD7
853 +* 7: MOD8
854 +* 8: MOD9
493 493  
494 -== 2.7 Frequency Plans ==
856 +== ==
495 495  
858 +== 2.4 Payload Decoder file ==
496 496  
497 -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.
498 498  
861 +In TTN, use can add a custom payload so it shows friendly reading
862 +
863 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
864 +
865 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB]]
866 +
867 +
868 +
869 +== 2.5 Frequency Plans ==
870 +
871 +
872 +The SN50v3-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.
873 +
499 499  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
500 500  
501 501  
502 -= 3. Configure S31x-LB =
877 += 3. Configure SN50v3-LB =
503 503  
504 504  == 3.1 Configure Methods ==
505 505  
506 506  
507 -S31x-LB supports below configure method:
882 +SN50v3-LB supports below configure method:
508 508  
509 509  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
510 510  * 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]].
... ... @@ -523,7 +523,7 @@
523 523  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
524 524  
525 525  
526 -== 3.3 Commands special design for S31x-LB ==
901 +== 3.3 Commands special design for SN50v3-LB ==
527 527  
528 528  
529 529  These commands only valid for S31x-LB, as below:
... ... @@ -531,7 +531,6 @@
531 531  
532 532  === 3.3.1 Set Transmit Interval Time ===
533 533  
534 -
535 535  Feature: Change LoRaWAN End Node Transmit Interval.
536 536  
537 537  (% style="color:blue" %)**AT Command: AT+TDC**
... ... @@ -557,118 +557,167 @@
557 557  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
558 558  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
559 559  
934 +=== ===
935 +
560 560  === 3.3.2 Get Device Status ===
561 561  
938 +Send a LoRaWAN downlink to ask the device to send its status.
562 562  
563 -Send a LoRaWAN downlink to ask device send Alarm settings.
564 -
565 565  (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
566 566  
567 567  Sensor will upload Device Status via FPORT=5. See payload section for detail.
568 568  
569 569  
570 -=== 3.3.3 Set Temperature Alarm Threshold ===
945 +=== 3.3.3 Set Interrupt Mode ===
571 571  
572 -* (% style="color:blue" %)**AT Command:**
947 +Feature, Set Interrupt mode for GPIO_EXIT.
573 573  
574 -(% style="color:#037691" %)**AT+SHTEMP=min,max**
949 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
575 575  
576 -* When min=0, and max≠0, Alarm higher than max
577 -* When min≠0, and max=0, Alarm lower than min
578 -* When min≠0 and max≠0, Alarm higher than max or lower than min
951 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
952 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
953 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
954 +0
955 +OK
956 +the mode is 0 =Disable Interrupt
957 +)))
958 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
959 +Set Transmit Interval
960 +0. (Disable Interrupt),
961 +~1. (Trigger by rising and falling edge)
962 +2. (Trigger by falling edge)
963 +3. (Trigger by rising edge)
964 +)))|(% style="width:157px" %)OK
965 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
966 +Set Transmit Interval
579 579  
580 -Example:
968 +trigger by rising edge.
969 +)))|(% style="width:157px" %)OK
970 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
581 581  
582 - AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
972 +(% style="color:blue" %)**Downlink Command: 0x06**
583 583  
584 -* (% style="color:blue" %)**Downlink Payload:**
974 +Format: Command Code (0x06) followed by 3 bytes.
585 585  
586 -(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
976 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
587 587  
588 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
978 +* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
979 +* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
980 +* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
981 +* Example 4: Downlink Payload: 06000201  **~-~-->**  AT+INTMOD3=1
589 589  
983 +=== ===
590 590  
591 -=== 3.3.4 Set Humidity Alarm Threshold ===
985 +=== 3.3.4 Set Power Output Duration ===
592 592  
593 -* (% style="color:blue" %)**AT Command:**
987 +Control the output duration 5V . Before each sampling, device will
594 594  
595 -(% style="color:#037691" %)**AT+SHHUM=min,max**
989 +~1. first enable the power output to external sensor,
596 596  
597 -* When min=0, and max≠0, Alarm higher than max
598 -* When min≠0, and max=0, Alarm lower than min
599 -* When min≠0 and max≠0, Alarm higher than max or lower than min
991 +2. keep it on as per duration, read sensor value and construct uplink payload
600 600  
601 -Example:
993 +3. final, close the power output.
602 602  
603 - AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
995 +(% style="color:blue" %)**AT Command: AT+5VT**
604 604  
605 -* (% style="color:blue" %)**Downlink Payload:**
997 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
998 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
999 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
1000 +500(default)
606 606  
607 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
1002 +OK
1003 +)))
1004 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1005 +Close after a delay of 1000 milliseconds.
1006 +)))|(% style="width:157px" %)OK
608 608  
609 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
1008 +(% style="color:blue" %)**Downlink Command: 0x07**
610 610  
1010 +Format: Command Code (0x07) followed by 2 bytes.
611 611  
612 -=== 3.3.5 Set Alarm Interval ===
1012 +The first and second bytes are the time to turn on.
613 613  
614 -The shortest time of two Alarm packet. (unit: min)
1014 +* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1015 +* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
615 615  
616 -* (% style="color:blue" %)**AT Command:**
1017 +=== ===
617 617  
618 -(% style="color:#037691" %)**AT+ATDC=30** (%%) ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes.
1019 +=== 3.3.5 Set Weighing parameters ===
619 619  
620 -* (% style="color:blue" %)**Downlink Payload:**
1021 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
621 621  
622 -(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
1023 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
623 623  
1025 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1026 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
1027 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1028 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1029 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
624 624  
625 -=== 3.3.6 Get Alarm settings ===
1031 +(% style="color:blue" %)**Downlink Command: 0x08**
626 626  
1033 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
627 627  
628 -Send a LoRaWAN downlink to ask device send Alarm settings.
1035 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
629 629  
630 -* (% style="color:#037691" %)**Downlink Payload **(%%)0x0E 01
1037 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
631 631  
632 -**Example:**
1039 +* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1040 +* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1041 +* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
633 633  
634 -[[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"]]
1043 +=== ===
635 635  
1045 +=== 3.3.6 Set Digital pulse count value ===
636 636  
637 -**Explain:**
1047 +Feature: Set the pulse count value.
638 638  
639 -* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
1049 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
640 640  
641 -=== 3.3.7 Set Interrupt Mode ===
1051 +(% style="color:blue" %)**AT Command: AT+SETCNT**
642 642  
1053 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1054 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
1055 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1056 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
643 643  
644 -Feature, Set Interrupt mode for GPIO_EXIT.
1058 +(% style="color:blue" %)**Downlink Command: 0x09**
645 645  
646 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1060 +Format: Command Code (0x09) followed by 5 bytes.
647 647  
1062 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
1063 +
1064 +* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1065 +* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1066 +
1067 +=== ===
1068 +
1069 +=== 3.3.7 Set Workmode ===
1070 +
1071 +Feature: Switch working mode.
1072 +
1073 +(% style="color:blue" %)**AT Command: AT+MOD**
1074 +
648 648  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
649 649  |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
650 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
651 -0
1077 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
652 652  OK
653 -the mode is 0 =Disable Interrupt
654 654  )))
655 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
656 -Set Transmit Interval
657 -0. (Disable Interrupt),
658 -~1. (Trigger by rising and falling edge)
659 -2. (Trigger by falling edge)
660 -3. (Trigger by rising edge)
661 -)))|(% style="width:157px" %)OK
1080 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1081 +OK
662 662  
663 -(% style="color:blue" %)**Downlink Command: 0x06**
1083 +Attention:Take effect after ATZ
1084 +)))
664 664  
665 -Format: Command Code (0x06) followed by 3 bytes.
1086 +(% style="color:blue" %)**Downlink Command: 0x0A**
666 666  
667 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1088 +Format: Command Code (0x0A) followed by 1 bytes.
668 668  
669 -* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
670 -* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1090 +* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1091 +* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
671 671  
1093 += =
1094 +
672 672  = 4. Battery & Power Consumption =
673 673  
674 674  
... ... @@ -697,7 +697,10 @@
697 697  
698 698  = 6. FAQ =
699 699  
1123 +== 6.1 Where can i find source code of SN50v3-LB? ==
700 700  
1125 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1126 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
701 701  
702 702  = 7. Order Info =
703 703  
... ... @@ -739,4 +739,4 @@
739 739  
740 740  
741 741  * 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.
742 -* 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]]
1168 +* 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>>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.cc]]
image-20230512163509-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20230512164658-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512170701-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.5 MB
Content
image-20230512172447-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512173758-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.1 MB
Content
image-20230512173903-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180609-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180718-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512181814-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.2 MB
Content
image-20230513084523-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +611.3 KB
Content
image-20230513102034-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +607.1 KB
Content
image-20230513103633-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +595.5 KB
Content
image-20230513105207-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +384.7 KB
Content
image-20230513105351-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +37.6 KB
Content
image-20230513110214-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +172.7 KB
Content
image-20230513111203-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +79.9 KB
Content
image-20230513111231-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +64.9 KB
Content
image-20230513111255-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +70.4 KB
Content
image-20230513134006-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.9 MB
Content
image-20230515135611-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +948.0 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0