Changes for page SN50v3-LB/LS -- LoRaWAN Sensor Node User Manual
Last modified by Bei Jinggeng on 2025/01/10 15:51
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 39 added, 0 removed)
- image-20230512163509-1.png
- image-20230512164658-2.png
- image-20230512170701-3.png
- image-20230512172447-4.png
- image-20230512173758-5.png
- image-20230512173903-6.png
- image-20230512180609-7.png
- image-20230512180718-8.png
- image-20230512181814-9.png
- image-20230513084523-1.png
- image-20230513102034-2.png
- image-20230513103633-3.png
- image-20230513105207-4.png
- image-20230513105351-5.png
- image-20230513110214-6.png
- image-20230513111203-7.png
- image-20230513111231-8.png
- image-20230513111255-9.png
- image-20230513134006-1.png
- image-20230515135611-1.jpeg
- image-20230610162852-1.png
- image-20230610163213-1.png
- image-20230610170047-1.png
- image-20230610170152-2.png
- image-20230810121434-1.png
- image-20230811113449-1.png
- image-20230817170702-1.png
- image-20230817172209-2.png
- image-20230817173800-3.png
- image-20230817173830-4.png
- image-20230817173858-5.png
- image-20230817183137-1.png
- image-20230817183218-2.png
- image-20230817183249-3.png
- image-20230818092200-1.png
- image-20231213102404-1.jpeg
- image-20231231202945-1.png
- image-20231231203148-2.png
- image-20231231203439-3.png
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -SN50v3-LB User Manual 1 +SN50v3-LB LoRaWAN Sensor Node User Manual - Content
-
... ... @@ -1,8 +1,9 @@ 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 5 -**Table of Contents :**6 +**Table of Contents:** 6 6 7 7 {{toc/}} 8 8 ... ... @@ -15,23 +15,20 @@ 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 22 +(% 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, and so on. 20 20 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 - 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 - 33 33 == 1.2 Features == 34 34 32 + 35 35 * LoRaWAN 1.0.3 Class A 36 36 * Ultra-low power consumption 37 37 * Open-Source hardware/software ... ... @@ -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. ... ... @@ -88,7 +88,7 @@ 88 88 == 1.5 Button & LEDs == 89 89 90 90 91 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]] 91 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]][[image:image-20231231203148-2.png||height="456" width="316"]] 92 92 93 93 94 94 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) ... ... @@ -122,21 +122,27 @@ 122 122 == 1.7 Pin Definitions == 123 123 124 124 125 -[[image:image-20230 511203450-2.png||height="443" width="785"]]125 +[[image:image-20230610163213-1.png||height="404" width="699"]] 126 126 127 127 128 128 == 1.8 Mechanical == 129 129 130 +== 1.8.1 for LB version == 130 130 131 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]] 132 132 133 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]] 133 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]][[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]] 134 134 135 + 135 135 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 136 136 138 +== 1.8.2 for LS version == 137 137 138 - == HoleOption ==140 +[[image:image-20231231203439-3.png||height="385" width="886"]] 139 139 142 + 143 +== 1.9 Hole Option == 144 + 145 + 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 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 S3 1x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.158 +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 SN50v3-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) == ... ... @@ -157,7 +157,7 @@ 157 157 158 158 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. 159 159 160 -The LPS8 V2 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.166 +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 163 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB. ... ... @@ -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 SN50v3 to send device configure detail, include device configure status. SN50v3 will uplink a payload via FPort=5 to server. 215 +Users can use the downlink command(**0x26 01**) to ask SN50v3-LB to send device configure detail, include device configure status. SN50v3-LB will uplink a payload via FPort=5 to server. 210 210 211 211 The Payload format is as below. 212 212 ... ... @@ -214,44 +214,44 @@ 214 214 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 215 215 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)** 216 216 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** 217 -|(% style="width:103px" %) **Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT223 +|(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT 218 218 219 219 Example parse in TTNv3 220 220 221 221 222 -(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3, this value is 0x1C 228 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB, this value is 0x1C 223 223 224 224 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 225 225 226 226 (% style="color:#037691" %)**Frequency Band**: 227 227 228 - *0x01: EU868234 +0x01: EU868 229 229 230 - *0x02: US915236 +0x02: US915 231 231 232 - *0x03: IN865238 +0x03: IN865 233 233 234 - *0x04: AU915240 +0x04: AU915 235 235 236 - *0x05: KZ865242 +0x05: KZ865 237 237 238 - *0x06: RU864244 +0x06: RU864 239 239 240 - *0x07: AS923246 +0x07: AS923 241 241 242 - *0x08: AS923-1248 +0x08: AS923-1 243 243 244 - *0x09: AS923-2250 +0x09: AS923-2 245 245 246 - *0x0a: AS923-3252 +0x0a: AS923-3 247 247 248 - *0x0b: CN470254 +0x0b: CN470 249 249 250 - *0x0c: EU433256 +0x0c: EU433 251 251 252 - *0x0d: KR920258 +0x0d: KR920 253 253 254 - *0x0e: MA869260 +0x0e: MA869 255 255 256 256 257 257 (% style="color:#037691" %)**Sub-Band**: ... ... @@ -272,41 +272,446 @@ 272 272 Ex2: 0x0B49 = 2889mV 273 273 274 274 275 -=== 2.3.2 281 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 === 276 276 277 277 278 -Sen sorDataisuplinkviaFPORT=2284 +SN50v3-LB has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command (% style="color:blue" %)**AT+MOD**(%%) to set SN50v3-LB to different working modes. 279 279 280 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 281 -|=(% style="width: 90px;background-color:#D9E2F3" %)((( 286 +For example: 287 + 288 + (% style="color:blue" %)**AT+MOD=2 ** (%%) ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor. 289 + 290 + 291 +(% style="color:red" %) **Important Notice:** 292 + 293 +~1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in (% style="color:blue" %)**DR0**(%%). Server sides will see NULL payload while SN50v3-LB transmit in DR0 with 12 bytes payload. 294 + 295 +2. All modes share the same Payload Explanation from HERE. 296 + 297 +3. By default, the device will send an uplink message every 20 minutes. 298 + 299 + 300 +==== 2.3.2.1 MOD~=1 (Default Mode) ==== 301 + 302 + 303 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 304 + 305 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 306 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:130px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2** 307 +|Value|Bat|(% style="width:191px" %)((( 308 +Temperature(DS18B20)(PC13) 309 +)))|(% style="width:78px" %)((( 310 +ADC(PA4) 311 +)))|(% style="width:216px" %)((( 312 +Digital in(PB15)&Digital Interrupt(PA8) 313 +)))|(% style="width:308px" %)((( 314 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 315 +)))|(% style="width:154px" %)((( 316 +Humidity(SHT20 or SHT31) 317 +))) 318 + 319 +[[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"]] 320 + 321 + 322 +==== 2.3.2.2 MOD~=2 (Distance Mode) ==== 323 + 324 + 325 +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. 326 + 327 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 328 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:30px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:140px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2** 329 +|Value|BAT|(% style="width:196px" %)((( 330 +Temperature(DS18B20)(PC13) 331 +)))|(% style="width:87px" %)((( 332 +ADC(PA4) 333 +)))|(% style="width:189px" %)((( 334 +Digital in(PB15) & Digital Interrupt(PA8) 335 +)))|(% style="width:208px" %)((( 336 +Distance measure by: 1) LIDAR-Lite V3HP 337 +Or 2) Ultrasonic Sensor 338 +)))|(% style="width:117px" %)Reserved 339 + 340 +[[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"]] 341 + 342 + 343 +(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:** 344 + 345 +[[image:image-20230512173758-5.png||height="563" width="712"]] 346 + 347 + 348 +(% style="color:blue" %)**Connection to Ultrasonic Sensor:** 349 + 350 +(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.** 351 + 352 +[[image:image-20230512173903-6.png||height="596" width="715"]] 353 + 354 + 355 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below: 356 + 357 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 358 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:120px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2** 359 +|Value|BAT|(% style="width:183px" %)((( 360 +Temperature(DS18B20)(PC13) 361 +)))|(% style="width:173px" %)((( 362 +Digital in(PB15) & Digital Interrupt(PA8) 363 +)))|(% style="width:84px" %)((( 364 +ADC(PA4) 365 +)))|(% style="width:323px" %)((( 366 +Distance measure by:1)TF-Mini plus LiDAR 367 +Or 2) TF-Luna LiDAR 368 +)))|(% style="width:188px" %)Distance signal strength 369 + 370 +[[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"]] 371 + 372 + 373 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):** 374 + 375 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.** 376 + 377 +[[image:image-20230512180609-7.png||height="555" width="802"]] 378 + 379 + 380 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):** 381 + 382 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.** 383 + 384 +[[image:image-20230610170047-1.png||height="452" width="799"]] 385 + 386 + 387 +==== 2.3.2.3 MOD~=3 (3 ADC + I2C) ==== 388 + 389 + 390 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C 391 + 392 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 393 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 282 282 **Size(bytes)** 283 -)))|=(% 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 284 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 285 -[[Battery>>||anchor="HBattery:"]] 286 -)))|(% style="width:130px" %)((( 287 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 288 -)))|(% style="width:91px" %)((( 289 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] 290 -)))|(% style="width:103px" %)((( 291 -[[Temperature>>||anchor="HTemperature:"]] 292 -)))|(% style="width:80px" %)((( 293 -[[Humidity>>||anchor="HHumidity:"]] 395 +)))|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)1 396 +|Value|(% style="width:68px" %)((( 397 +ADC1(PA4) 398 +)))|(% style="width:75px" %)((( 399 +ADC2(PA5) 400 +)))|((( 401 +ADC3(PA8) 402 +)))|((( 403 +Digital Interrupt(PB15) 404 +)))|(% style="width:304px" %)((( 405 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 406 +)))|(% style="width:163px" %)((( 407 +Humidity(SHT20 or SHT31) 408 +)))|(% style="width:53px" %)Bat 409 + 410 +[[image:image-20230513110214-6.png]] 411 + 412 + 413 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 414 + 415 + 416 +This mode has total 11 bytes. As shown below: 417 + 418 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 419 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2** 420 +|Value|BAT|(% style="width:186px" %)((( 421 +Temperature1(DS18B20)(PC13) 422 +)))|(% style="width:82px" %)((( 423 +ADC(PA4) 424 +)))|(% style="width:210px" %)((( 425 +Digital in(PB15) & Digital Interrupt(PA8) 426 +)))|(% style="width:191px" %)Temperature2(DS18B20) 427 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8) 428 + 429 +[[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"]] 430 + 431 + 432 +[[image:image-20230513134006-1.png||height="559" width="736"]] 433 + 434 + 435 +==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 436 + 437 + 438 +[[image:image-20230512164658-2.png||height="532" width="729"]] 439 + 440 +Each HX711 need to be calibrated before used. User need to do below two steps: 441 + 442 +1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram. 443 +1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run (% style="color:blue" %)**AT+WEIGAP**(%%) to adjust the Calibration Factor. 444 +1. ((( 445 +Weight has 4 bytes, the unit is g. 446 + 447 + 448 + 294 294 ))) 295 295 296 - ==== (% style="color:#4472c4"%)**Battery**(%%) ====451 +For example: 297 297 298 - SensorBatteryLevel.453 +(% style="color:blue" %)**AT+GETSENSORVALUE =0** 299 299 455 +Response: Weight is 401 g 456 + 457 +Check the response of this command and adjust the value to match the real value for thing. 458 + 459 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 460 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 461 +**Size(bytes)** 462 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 150px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 200px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**4** 463 +|Value|BAT|(% style="width:193px" %)((( 464 +Temperature(DS18B20)(PC13) 465 +)))|(% style="width:85px" %)((( 466 +ADC(PA4) 467 +)))|(% style="width:186px" %)((( 468 +Digital in(PB15) & Digital Interrupt(PA8) 469 +)))|(% style="width:100px" %)Weight 470 + 471 +[[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"]] 472 + 473 + 474 +==== 2.3.2.6 MOD~=6 (Counting Mode) ==== 475 + 476 + 477 +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. 478 + 479 +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. 480 + 481 +[[image:image-20230512181814-9.png||height="543" width="697"]] 482 + 483 + 484 +(% style="color:red" %)**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.** 485 + 486 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 487 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**Size(bytes)**|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**4** 488 +|Value|BAT|(% style="width:256px" %)((( 489 +Temperature(DS18B20)(PC13) 490 +)))|(% style="width:108px" %)((( 491 +ADC(PA4) 492 +)))|(% style="width:126px" %)((( 493 +Digital in(PB15) 494 +)))|(% style="width:145px" %)((( 495 +Count(PA8) 496 +))) 497 + 498 +[[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"]] 499 + 500 + 501 +==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 502 + 503 + 504 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 505 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 506 +**Size(bytes)** 507 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)1|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2 508 +|Value|BAT|(% style="width:188px" %)((( 509 +Temperature(DS18B20) 510 +(PC13) 511 +)))|(% style="width:83px" %)((( 512 +ADC(PA5) 513 +)))|(% style="width:184px" %)((( 514 +Digital Interrupt1(PA8) 515 +)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved 516 + 517 +[[image:image-20230513111203-7.png||height="324" width="975"]] 518 + 519 + 520 +==== 2.3.2.8 MOD~=8 (3ADC+1DS18B20) ==== 521 + 522 + 523 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 524 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 525 +**Size(bytes)** 526 +)))|=(% style="width: 30px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 120px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)2 527 +|Value|BAT|(% style="width:207px" %)((( 528 +Temperature(DS18B20) 529 +(PC13) 530 +)))|(% style="width:94px" %)((( 531 +ADC1(PA4) 532 +)))|(% style="width:198px" %)((( 533 +Digital Interrupt(PB15) 534 +)))|(% style="width:84px" %)((( 535 +ADC2(PA5) 536 +)))|(% style="width:82px" %)((( 537 +ADC3(PA8) 538 +))) 539 + 540 +[[image:image-20230513111231-8.png||height="335" width="900"]] 541 + 542 + 543 +==== 2.3.2.9 MOD~=9 (3DS18B20+ two Interrupt count mode) ==== 544 + 545 + 546 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 547 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 548 +**Size(bytes)** 549 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4 550 +|Value|BAT|((( 551 +Temperature 552 +(DS18B20)(PC13) 553 +)))|((( 554 +Temperature2 555 +(DS18B20)(PB9) 556 +)))|((( 557 +Digital Interrupt 558 +(PB15) 559 +)))|(% style="width:193px" %)((( 560 +Temperature3 561 +(DS18B20)(PB8) 562 +)))|(% style="width:78px" %)((( 563 +Count1(PA8) 564 +)))|(% style="width:78px" %)((( 565 +Count2(PA4) 566 +))) 567 + 568 +[[image:image-20230513111255-9.png||height="341" width="899"]] 569 + 570 +(% style="color:blue" %)**The newly added AT command is issued correspondingly:** 571 + 572 +(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%) pin: Corresponding downlink: (% style="color:#037691" %)**06 00 00 xx** 573 + 574 +(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%) pin: Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx** 575 + 576 +(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%) pin: Corresponding downlink: (% style="color:#037691" %)** 06 00 02 xx** 577 + 578 + 579 +(% style="color:blue" %)**AT+SETCNT=aa,bb** 580 + 581 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb 582 + 583 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb 584 + 585 + 586 +==== 2.3.2.10 MOD~=10 (PWM input capture and output mode,Since firmware v1.2) ==== 587 + 588 +(% style="color:red" %)**Note: Firmware not release, contact Dragino for testing.** 589 + 590 +In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output. 591 + 592 +[[It should be noted when using PWM mode.>>||anchor="H2.3.3.12A0PWMMOD"]] 593 + 594 + 595 +===== 2.3.2.10.a Uplink, PWM input capture ===== 596 + 597 + 598 +[[image:image-20230817172209-2.png||height="439" width="683"]] 599 + 600 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) 601 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:135px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**2** 602 +|Value|Bat|(% style="width:191px" %)((( 603 +Temperature(DS18B20)(PC13) 604 +)))|(% style="width:78px" %)((( 605 +ADC(PA4) 606 +)))|(% style="width:135px" %)((( 607 +PWM_Setting 608 +&Digital Interrupt(PA8) 609 +)))|(% style="width:70px" %)((( 610 +Pulse period 611 +)))|(% style="width:89px" %)((( 612 +Duration of high level 613 +))) 614 + 615 +[[image:image-20230817170702-1.png||height="161" width="1044"]] 616 + 617 + 618 +When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle. 619 + 620 +**Frequency:** 621 + 622 +(% class="MsoNormal" %) 623 +(% lang="EN-US" %)If (% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**AT+PWMSET**(%%)**=0, **(% lang="EN-US" %)Frequency= 1000000/(%%)Pulse period(HZ); 624 + 625 +(% class="MsoNormal" %) 626 +(% lang="EN-US" %)If (% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**AT+PWMSET**(%%)**=1, **(% lang="EN-US" %)Frequency= 1000/(%%)Pulse period(HZ); 627 + 628 + 629 +(% class="MsoNormal" %) 630 +**Duty cycle:** 631 + 632 +Duty cycle= Duration of high level/ Pulse period*100 ~(%). 633 + 634 +[[image:image-20230818092200-1.png||height="344" width="627"]] 635 + 636 +===== 2.3.2.10.b Uplink, PWM output ===== 637 + 638 +[[image:image-20230817172209-2.png||height="439" width="683"]] 639 + 640 +(% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**AT+PWMOUT=a,b,c** 641 + 642 +a is the time delay of the output, the unit is ms. 643 + 644 +b is the output frequency, the unit is HZ. 645 + 646 +c is the duty cycle of the output, the unit is %. 647 + 648 +(% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**Downlink**(%%): (% style="color:#037691" %)**0B 01 bb cc aa ** 649 + 650 +aa is the time delay of the output, the unit is ms. 651 + 652 +bb is the output frequency, the unit is HZ. 653 + 654 +cc is the duty cycle of the output, the unit is %. 655 + 656 + 657 +For example, send a AT command: AT+PWMOUT=65535,1000,50 The PWM is always out, the frequency is 1000HZ, and the duty cycle is 50. 658 + 659 +The oscilloscope displays as follows: 660 + 661 +[[image:image-20231213102404-1.jpeg||height="780" width="932"]] 662 + 663 + 664 +===== 2.3.2.10.c Downlink, PWM output ===== 665 + 666 + 667 +[[image:image-20230817173800-3.png||height="412" width="685"]] 668 + 669 +Downlink: (% style="color:#037691" %)**0B xx xx xx yy zz zz** 670 + 671 + xx xx xx is the output frequency, the unit is HZ. 672 + 673 + yy is the duty cycle of the output, the unit is %. 674 + 675 + zz zz is the time delay of the output, the unit is ms. 676 + 677 + 678 +For example, send a downlink command: 0B 00 61 A8 32 13 88, the frequency is 25KHZ, the duty cycle is 50, and the output time is 5 seconds. 679 + 680 +The oscilloscope displays as follows: 681 + 682 +[[image:image-20230817173858-5.png||height="694" width="921"]] 683 + 684 + 685 +=== 2.3.3 Decode payload === 686 + 687 + 688 +While using TTN V3 network, you can add the payload format to decode the payload. 689 + 690 +[[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"]] 691 + 692 +The payload decoder function for TTN V3 are here: 693 + 694 +SN50v3-LB TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 695 + 696 + 697 +==== 2.3.3.1 Battery Info ==== 698 + 699 + 700 +Check the battery voltage for SN50v3-LB. 701 + 300 300 Ex1: 0x0B45 = 2885mV 301 301 302 302 Ex2: 0x0B49 = 2889mV 303 303 304 304 707 +==== 2.3.3.2 Temperature (DS18B20) ==== 305 305 306 -==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 307 307 308 - **Example**:710 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload. 309 309 712 +More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]] 713 + 714 +(% style="color:blue" %)**Connection:** 715 + 716 +[[image:image-20230512180718-8.png||height="538" width="647"]] 717 + 718 + 719 +(% style="color:blue" %)**Example**: 720 + 310 310 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 311 311 312 312 If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. ... ... @@ -314,195 +314,261 @@ 314 314 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 315 315 316 316 317 -==== (%style="color:#4472c4"%)**Humidity**(%%)====728 +==== 2.3.3.3 Digital Input ==== 318 318 319 319 320 - Read:0x(0197)=412Value:412/10=41.2,So 41.2%731 +The digital input for pin PB15, 321 321 733 +* When PB15 is high, the bit 1 of payload byte 6 is 1. 734 +* When PB15 is low, the bit 1 of payload byte 6 is 0. 322 322 323 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ==== 736 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %) 737 +((( 738 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin. 324 324 740 +(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.** 325 325 326 -**Example:** 742 + 743 +))) 327 327 328 - Ifpayload& 0x01 = 0x01 **~-~->** Thisisan AlarmMessage745 +==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 329 329 330 -If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm 331 331 332 - Ifpayload>>2=0x00**~-~->**means MOD=1,Thisisa samplinguplinkmessage748 +The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv. 333 333 334 - Ifpayload>>2=0x31**~-~->**meansMOD=31, thismessage isareplymessagefor polling,thismessagecontains thealarmsettings.see[[this link>>path:#HPolltheAlarmsettings:]]fordetail.750 +When the measured output voltage of the sensor is not within the range of 0.1V 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. 335 335 752 +[[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"]] 336 336 337 -== 2.4 Payload Decoder file == 338 338 755 +(% style="color:red" %)**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.** 339 339 340 -In TTN, use can add a custom payload so it shows friendly reading 341 341 342 - In thepage(% style="color:#037691"%)**Applications~-~-> PayloadFormats~-~-> Custom~-~->decoder**(%%)to addthe decoderfrom:758 +The position of PA5 on the hardware after **LSN50 v3.3** is changed to the position shown in the figure below, and the collected voltage becomes one-sixth of the original. 343 343 344 -[[ 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]]760 +[[image:image-20230811113449-1.png||height="370" width="608"]] 345 345 762 +==== 2.3.3.5 Digital Interrupt ==== 346 346 347 -== 2.5 Datalog Feature == 348 348 765 +Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3-LB will send a packet to the server. 349 349 350 - Datalog Featureistoensure IoT Server can get all sampling datafrom Sensor evenif theLoRaWAN networkis down.For each sampling, S31x-LB will storee reading for future retrieving purposes.767 +(% style="color:blue" %)** Interrupt connection method:** 351 351 769 +[[image:image-20230513105351-5.png||height="147" width="485"]] 352 352 353 -=== 2.5.1 Ways to get datalog via LoRaWAN === 354 354 772 +(% style="color:blue" %)**Example to use with door sensor :** 355 355 356 - Set[[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]],S31x-LB willwaitforACK for every uplink, whenthereisno LoRaWANnetwork,S31x-LBwillmark theserecordswithnon-ack messages andstorethesensor data, anditwill send all messages(10sinterval)afterthe networkrecovery.774 +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. 357 357 358 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 359 -* 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. 776 +[[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"]] 360 360 361 - Below is the typical case for theauto-updatedatalogfeature(SetPNACKMD=1)778 +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 SN50v3-LB interrupt interface to detect the status for the door or window. 362 362 363 -[[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"]] 364 364 365 -= ==2.5.2UnixTimeStamp===781 +(% style="color:blue" %)**Below is the installation example:** 366 366 783 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows: 367 367 368 -S31x-LB uses Unix TimeStamp format based on 785 +* ((( 786 +One pin to SN50v3-LB's PA8 pin 787 +))) 788 +* ((( 789 +The other pin to SN50v3-LB's VDD pin 790 +))) 369 369 370 - [[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"]]792 +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. 371 371 372 - Usercan get this timefrom link:[[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]]:794 +Door sensors have two types: (% style="color:blue" %)** NC (Normal close)**(%%) and (% style="color:blue" %)**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. 373 373 374 - Belowis the converterexample796 +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. 375 375 376 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/L HT65N%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"]]798 +[[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"]] 377 377 378 - So, wecan useAT+TIMESTAMP=1611889405ordownlink3060137afd00toset thecurrent time2021– Jan~-~- 29 Friday 03:03:25800 +The above photos shows the two parts of the magnetic switch fitted to a door. 379 379 802 +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. 380 380 381 - === 2.5.3 SetDevice Time===804 +The command is: 382 382 806 +(% style="color:blue" %)**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]]**. **) 383 383 384 - Userneed to set(%style="color:blue" %)**SYNCMOD=1**(%%) toenablesyncimeviaMACcommand.808 +Below shows some screen captures in TTN V3: 385 385 386 - Once S31x-LB Joined LoRaWAN network,it will send the MACcommand (DeviceTimeReq) andthe serverwill reply with (DeviceTimeAns) to send the current time to31x-LB. IfS31x-LB failstoget the time from thever, S31x-LB will use the internaltimeand wait for next timerequest (AT+SYNCTDC to set the time requestperiod, defaultis10days).810 +[[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"]] 387 387 388 -(% 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.** 389 389 813 +In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below: 390 390 391 -= ==2.5.4 DatalogUplinkpayload (FPORT~=3)===815 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN"; 392 392 393 393 394 - TheDataloguplinkswillusebelowpayloadformat.818 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ==== 395 395 396 -**Retrieval data payload:** 397 397 398 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 399 -|=(% style="width: 80px;background-color:#D9E2F3" %)((( 400 -**Size(bytes)** 401 -)))|=(% 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** 402 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)((( 403 -[[Temp_Black>>||anchor="HTemperatureBlack:"]] 404 -)))|(% 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"]] 821 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data. 405 405 406 - **Pollmessage flag&Ext:**823 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor. 407 407 408 - [[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"]]825 +(% style="color:red" %)**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 SN50v3-LB will be a good reference.** 409 409 410 -**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) 411 411 412 - **PollMessageFlag**:1:Thismessageis apoll messagereply.828 +Below is the connection to SHT20/ SHT31. The connection is as below: 413 413 414 - * Poll MessageFlagis set to 1.830 +[[image:image-20230610170152-2.png||height="501" width="846"]] 415 415 416 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 417 417 418 - Forexample,inUS915band,themaxpayloadfordifferent DR is:833 +The device will be able to get the I2C sensor data now and upload to IoT Server. 419 419 420 - **a) DR0:** maxs 11bytessotryofdata835 +[[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"]] 421 421 422 - **b)DR1:**maxis 53bytesso devices willupload4 entriesof data(total 44bytes)837 +Convert the read byte to decimal and divide it by ten. 423 423 424 -** c) DR2:** totalpayload includes 11 entries of data839 +**Example:** 425 425 426 - **d) DR3:**totalpayload includes22entries of data.841 +Temperature: Read:0116(H) = 278(D) Value: 278 /10=27.8℃; 427 427 428 - If devisedoesn'thavenydatainthepollingtime.Devicewilluplink 11 bytesof0843 +Humidity: Read:0248(H)=584(D) Value: 584 / 10=58.4, So 58.4% 429 429 845 +If you want to use other I2C device, please refer the SHT20 part source code as reference. 430 430 847 + 848 +==== 2.3.3.7 Distance Reading ==== 849 + 850 + 851 +Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]]. 852 + 853 + 854 +==== 2.3.3.8 Ultrasonic Sensor ==== 855 + 856 + 857 +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]] 858 + 859 +The SN50v3-LB 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. 860 + 861 +The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor. 862 + 863 +The picture below shows the connection: 864 + 865 +[[image:image-20230512173903-6.png||height="596" width="715"]] 866 + 867 + 868 +Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT). 869 + 870 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value. 871 + 431 431 **Example:** 432 432 433 - If S31x-LB hasbelow datainsideFlash:874 +Distance: Read: 0C2D(Hex) = 3117(D) Value: 3117 mm=311.7 cm 434 434 435 -[[image:1682646494051-944.png]] 436 436 437 - Ifusersendsbelowdownlinkcommand: 3160065F9760066DA705877 +==== 2.3.3.9 Battery Output - BAT pin ==== 438 438 439 -Where : Start time: 60065F97 = time 21/1/19 04:27:03 440 440 441 - Stop time:60066DA7=time21/1/1905:27:03880 +The BAT pin of SN50v3-LB 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. 442 442 443 443 444 - **S31x-LBwilluplinkthispayload.**883 +==== 2.3.3.10 +5V Output ==== 445 445 446 -[[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"]] 447 447 448 -((( 449 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 450 -))) 886 +SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 451 451 452 -((( 453 -Where the first 11 bytes is for the first entry: 454 -))) 888 +The 5V output time can be controlled by AT Command. 455 455 456 -((( 457 -7FFF089801464160065F97 458 -))) 890 +(% style="color:blue" %)**AT+5VT=1000** 459 459 460 -((( 461 -**Ext sensor data**=0x7FFF/100=327.67 462 -))) 892 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 463 463 464 -((( 465 -**Temp**=0x088E/100=22.00 466 -))) 894 +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. 467 467 468 -((( 469 -**Hum**=0x014B/10=32.6 896 + 897 +==== 2.3.3.11 BH1750 Illumination Sensor ==== 898 + 899 + 900 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 901 + 902 +[[image:image-20230512172447-4.png||height="416" width="712"]] 903 + 904 + 905 +[[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"]] 906 + 907 + 908 +==== 2.3.3.12 PWM MOD ==== 909 + 910 + 911 +* ((( 912 +The maximum voltage that the SDA pin of SN50v3 can withstand is 3.6V, and it cannot exceed this voltage value, otherwise the chip may be burned. 470 470 ))) 914 +* ((( 915 +If the PWM pin connected to the SDA pin cannot maintain a high level when it is not working, you need to remove the resistor R2 or replace it with a resistor with a larger resistance, otherwise a sleep current of about 360uA will be generated. The position of the resistor is shown in the figure below: 916 +))) 471 471 472 -((( 473 -**poll message flag & Ext**=0x41,means reply data,Ext=1 918 + [[image:image-20230817183249-3.png||height="320" width="417"]] 919 + 920 +* ((( 921 +The signal captured by the input should preferably be processed by hardware filtering and then connected in. The software processing method is to capture four values, discard the first captured value, and then take the middle value of the second, third, and fourth captured values. 474 474 ))) 923 +* ((( 924 +Since the device can only detect a pulse period of 50ms when [[AT+PWMSET=0>>||anchor="H3.3.8PWMsetting"]] (counting in microseconds), it is necessary to change the value of PWMSET according to the frequency of input capture. 925 +))) 926 +* ((( 927 +PWM Input allows low power consumption. PWM Output to achieve real-time control, you need to go to class C. Power consumption will not be low. 475 475 476 -((( 477 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 929 +For PWM Output Feature, there are two consideration to see if the device can be powered by battery or have to be powered by external DC. 930 + 931 +a) If real-time control output is required, the SN50v3-LB is already operating in class C and an external power supply must be used. 932 + 933 +b) If the output duration is more than 30 seconds, better to use external power source. 934 + 935 + 936 + 478 478 ))) 479 479 939 +==== 2.3.3.13 Working MOD ==== 480 480 481 -(% 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="单击并拖动以调整大小" %)的 482 482 483 - == 2.6TemperatureAlarmFeature==942 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte). 484 484 944 +User can use the 3^^rd^^ ~~ 7^^th^^ bit of this byte to see the working mod: 485 485 486 - S31x-LBwork flow withAlarm feature.946 +Case 7^^th^^ Byte >> 2 & 0x1f: 487 487 948 +* 0: MOD1 949 +* 1: MOD2 950 +* 2: MOD3 951 +* 3: MOD4 952 +* 4: MOD5 953 +* 5: MOD6 954 +* 6: MOD7 955 +* 7: MOD8 956 +* 8: MOD9 957 +* 9: MOD10 488 488 489 - [[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"]]959 +== 2.4 Payload Decoder file == 490 490 491 491 492 - ==2.7FrequencyPlans==962 +In TTN, use can add a custom payload so it shows friendly reading 493 493 964 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 494 494 495 - The S31x-LB uses OTAA modeandbelow frequency plans bydefault. If userwanto useitwithifferent frequency plan, pleasereferheAT command sets.966 +[[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]] 496 496 968 + 969 +== 2.5 Frequency Plans == 970 + 971 + 972 +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. 973 + 497 497 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 498 498 499 499 500 -= 3. Configure S3 1x-LB =977 += 3. Configure SN50v3-LB = 501 501 502 502 == 3.1 Configure Methods == 503 503 504 504 505 -S3 1x-LB supports below configure method:982 +SN50v3-LB supports below configure method: 506 506 507 507 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 508 508 * 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]]. ... ... @@ -521,10 +521,10 @@ 521 521 [[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/]] 522 522 523 523 524 -== 3.3 Commands special design for S3 1x-LB ==1001 +== 3.3 Commands special design for SN50v3-LB == 525 525 526 526 527 -These commands only valid for S3 1x-LB, as below:1004 +These commands only valid for SN50v3-LB, as below: 528 528 529 529 530 530 === 3.3.1 Set Transmit Interval Time === ... ... @@ -535,7 +535,7 @@ 535 535 (% style="color:blue" %)**AT Command: AT+TDC** 536 536 537 537 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 538 -|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response** 1015 +|=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response** 539 539 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 540 540 30000 541 541 OK ... ... @@ -558,118 +558,250 @@ 558 558 === 3.3.2 Get Device Status === 559 559 560 560 561 -Send a LoRaWAN downlink to ask device send Alarmsettings.1038 +Send a LoRaWAN downlink to ask the device to send its status. 562 562 563 -(% style="color:blue" %)**Downlink Payload: **(%%)0x26 011040 +(% style="color:blue" %)**Downlink Payload: 0x26 01** 564 564 565 -Sensor will upload Device Status via FPORT=5. See payload section for detail. 1042 +Sensor will upload Device Status via **FPORT=5**. See payload section for detail. 566 566 567 567 568 -=== 3.3.3 Set TemperatureAlarm Threshold ===1045 +=== 3.3.3 Set Interrupt Mode === 569 569 570 -* (% style="color:blue" %)**AT Command:** 571 571 572 - (%style="color:#037691"%)**AT+SHTEMP=min,max**1048 +Feature, Set Interrupt mode for GPIO_EXIT. 573 573 574 -* When min=0, and max≠0, Alarm higher than max 575 -* When min≠0, and max=0, Alarm lower than min 576 -* When min≠0 and max≠0, Alarm higher than max or lower than min 1050 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3** 577 577 578 -Example: 1052 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1053 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1054 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 1055 +0 1056 +OK 1057 +the mode is 0 =Disable Interrupt 1058 +))) 1059 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 1060 +Set Transmit Interval 1061 +0. (Disable Interrupt), 1062 +~1. (Trigger by rising and falling edge) 1063 +2. (Trigger by falling edge) 1064 +3. (Trigger by rising edge) 1065 +)))|(% style="width:157px" %)OK 1066 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)((( 1067 +Set Transmit Interval 1068 +trigger by rising edge. 1069 +)))|(% style="width:157px" %)OK 1070 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK 579 579 580 - AT+SHTEMP=0,30 ~/~/ Alarmwhentemperature higher than30.1072 +(% style="color:blue" %)**Downlink Command: 0x06** 581 581 582 - * (% style="color:blue"%)**Downlink Payload:**1074 +Format: Command Code (0x06) followed by 3 bytes. 583 583 584 - (%style="color:#037691"%)**0x(0C01001E)**(%%)~/~/SetAT+SHTEMP=0,301076 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 585 585 586 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 1078 +* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 1079 +* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 1080 +* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 1081 +* Example 4: Downlink Payload: 06000201 **~-~-->** AT+INTMOD3=1 587 587 1083 +=== 3.3.4 Set Power Output Duration === 588 588 589 -=== 3.3.4 Set Humidity Alarm Threshold === 590 590 591 - * (% style="color:blue"%)**ATCommand:**1086 +Control the output duration 5V . Before each sampling, device will 592 592 593 - (%style="color:#037691"%)**AT+SHHUM=min,max**1088 +~1. first enable the power output to external sensor, 594 594 595 -* When min=0, and max≠0, Alarm higher than max 596 -* When min≠0, and max=0, Alarm lower than min 597 -* When min≠0 and max≠0, Alarm higher than max or lower than min 1090 +2. keep it on as per duration, read sensor value and construct uplink payload 598 598 599 - Example:1092 +3. final, close the power output. 600 600 601 - AT+SHHUM=70,0 ~/~/ Alarm whenhumiditylower than70%.1094 +(% style="color:blue" %)**AT Command: AT+5VT** 602 602 603 -* (% style="color:blue" %)**Downlink Payload:** 1096 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1097 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1098 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)((( 1099 +500(default) 1100 +OK 1101 +))) 1102 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)((( 1103 +Close after a delay of 1000 milliseconds. 1104 +)))|(% style="width:157px" %)OK 604 604 605 -(% style="color: #037691" %)**0x(0C 02 4600)**(%%) ~/~/ Set AT+SHTHUM=70,01106 +(% style="color:blue" %)**Downlink Command: 0x07** 606 606 607 - (% style="color:red" %)**(note:3^^rd^^byte=0x46forlowlimit(70%),4^^th^^byte= 0x00 for high limit (notset))**1108 +Format: Command Code (0x07) followed by 2 bytes. 608 608 1110 +The first and second bytes are the time to turn on. 609 609 610 -=== 3.3.5 Set Alarm Interval === 1112 +* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 1113 +* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 611 611 612 - Theshortesttimeof two Alarm packet.(unit: min)1115 +=== 3.3.5 Set Weighing parameters === 613 613 614 -* (% style="color:blue" %)**AT Command:** 615 615 616 - (% style="color:#037691"%)**AT+ATDC=30** (%%) ~/~/ The shortestintervalof two Alarmpacketsis30 minutes,Meansis thereis anrm packetuplink, there won'tbeanotheronenthenext30 minutes.1118 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711. 617 617 618 - *(% style="color:blue" %)**DownlinkPayload:**1120 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP** 619 619 620 -(% style="color:#037691" %)**0x(0D 00 1E)**(%%) **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 1122 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1123 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1124 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK 1125 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default) 1126 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK 621 621 1128 +(% style="color:blue" %)**Downlink Command: 0x08** 622 622 623 - ===3.3.6GetAlarmsettings===1130 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes. 624 624 1132 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes. 625 625 626 - Send aLoRaWAN downlinktoaskdevice sendAlarmsettings.1134 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value. 627 627 628 -* (% style="color:#037691" %)**Downlink Payload: **(%%)0x0E 01 1136 +* Example 1: Downlink Payload: 0801 **~-~-->** AT+WEIGRE 1137 +* Example 2: Downlink Payload: 08020FA3 **~-~-->** AT+WEIGAP=400.3 1138 +* Example 3: Downlink Payload: 08020FA0 **~-~-->** AT+WEIGAP=400.0 629 629 630 - **Example:**1140 +=== 3.3.6 Set Digital pulse count value === 631 631 632 -[[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"]] 633 633 1143 +Feature: Set the pulse count value. 634 634 635 - **Explain:**1145 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9. 636 636 637 - *Alarm & MOD bit is0x7C, 0x7C >> 2=0x31:Meansthismessage is the Alarmsettingsmessage.1147 +(% style="color:blue" %)**AT Command: AT+SETCNT** 638 638 639 -=== 3.3.7 Set Interrupt Mode === 1149 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1150 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1151 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK 1152 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK 640 640 1154 +(% style="color:blue" %)**Downlink Command: 0x09** 641 641 642 -F eature,Set Interruptmode forGPIO_EXIT.1156 +Format: Command Code (0x09) followed by 5 bytes. 643 643 644 - (%style="color:blue"%)**ATCommand: AT+INTMOD**1158 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized. 645 645 1160 +* Example 1: Downlink Payload: 090100000000 **~-~-->** AT+SETCNT=1,0 1161 +* Example 2: Downlink Payload: 0902000003E8 **~-~-->** AT+SETCNT=2,1000 1162 + 1163 +=== 3.3.7 Set Workmode === 1164 + 1165 + 1166 +Feature: Switch working mode. 1167 + 1168 +(% style="color:blue" %)**AT Command: AT+MOD** 1169 + 646 646 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 647 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 648 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 649 -0 1171 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1172 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)((( 650 650 OK 651 -the mode is 0 =Disable Interrupt 652 652 ))) 653 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 654 -Set Transmit Interval 655 -0. (Disable Interrupt), 656 -~1. (Trigger by rising and falling edge) 657 -2. (Trigger by falling edge) 658 -3. (Trigger by rising edge) 659 -)))|(% style="width:157px" %)OK 1175 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)((( 1176 +OK 1177 +Attention:Take effect after ATZ 1178 +))) 660 660 661 -(% style="color:blue" %)**Downlink Command: 0x0 6**1180 +(% style="color:blue" %)**Downlink Command: 0x0A** 662 662 663 -Format: Command Code (0x0 6) followed by3bytes.1182 +Format: Command Code (0x0A) followed by 1 bytes. 664 664 665 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 1184 +* Example 1: Downlink Payload: 0A01 **~-~-->** AT+MOD=1 1185 +* Example 2: Downlink Payload: 0A04 **~-~-->** AT+MOD=4 666 666 667 - *Example 1: Downlink Payload: 06000000 ~/~/ Turn off interruptmode668 - *Example2: DownlinkPayload: 06000003~/~/ Setheinterrupt mode to risingedge trigger1187 +(% id="H3.3.8PWMsetting" %) 1188 +=== 3.3.8 PWM setting === 669 669 670 -= 4. Battery & Power Consumption = 671 671 1191 +(% class="mark" %)Feature: Set the time acquisition unit for PWM input capture. 672 672 1193 +(% style="color:blue" %)**AT Command: AT+PWMSET** 1194 + 1195 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1196 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 223px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 130px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Response** 1197 +|(% style="width:154px" %)AT+PWMSET=?|(% style="width:223px" %)0|(% style="width:130px" %)((( 1198 +0(default) 1199 + 1200 +OK 1201 +))) 1202 +|(% style="width:154px" %)AT+PWMSET=0|(% style="width:223px" %)The unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ. |(% style="width:130px" %)((( 1203 +OK 1204 + 1205 +))) 1206 +|(% style="width:154px" %)AT+PWMSET=1|(% style="width:223px" %)The unit of PWM capture time is millisecond. The capture frequency range is between 5HZ and 250HZ. |(% style="width:130px" %)OK 1207 + 1208 +(% style="color:blue" %)**Downlink Command: 0x0C** 1209 + 1210 +Format: Command Code (0x0C) followed by 1 bytes. 1211 + 1212 +* Example 1: Downlink Payload: 0C00 **~-~-->** AT+PWMSET=0 1213 +* Example 2: Downlink Payload: 0C01 **~-~-->** AT+PWMSET=1 1214 + 1215 +(% class="mark" %)Feature: Set PWM output time, output frequency and output duty cycle. 1216 + 1217 +(% style="color:blue" %)**AT Command: AT+PWMOUT** 1218 + 1219 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1220 +|=(% style="width: 183px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 193px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 137px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Response** 1221 +|(% style="width:183px" %)AT+PWMOUT=?|(% style="width:193px" %)0|(% style="width:137px" %)((( 1222 +0,0,0(default) 1223 + 1224 +OK 1225 +))) 1226 +|(% style="width:183px" %)AT+PWMOUT=0,0,0|(% style="width:193px" %)The default is PWM input detection|(% style="width:137px" %)((( 1227 +OK 1228 + 1229 +))) 1230 +|(% style="width:183px" %)AT+PWMOUT=5,1000,50|(% style="width:193px" %)((( 1231 +The PWM output time is 5ms, the output frequency is 1000HZ, and the output duty cycle is 50%. 1232 + 1233 + 1234 +)))|(% style="width:137px" %)((( 1235 +OK 1236 +))) 1237 + 1238 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1239 +|=(% style="width: 155px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 112px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 242px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**parameters** 1240 +|(% colspan="1" rowspan="3" style="width:155px" %)((( 1241 +AT+PWMOUT=a,b,c 1242 + 1243 + 1244 +)))|(% colspan="1" rowspan="3" style="width:112px" %)((( 1245 +Set PWM output time, output frequency and output duty cycle. 1246 + 1247 +((( 1248 + 1249 +))) 1250 + 1251 +((( 1252 + 1253 +))) 1254 +)))|(% style="width:242px" %)((( 1255 +a: Output time (unit: seconds) 1256 + 1257 +The value ranges from 0 to 65535. 1258 + 1259 +When a=65535, PWM will always output. 1260 +))) 1261 +|(% style="width:242px" %)((( 1262 +b: Output frequency (unit: HZ) 1263 +))) 1264 +|(% style="width:242px" %)((( 1265 +c: Output duty cycle (unit: %) 1266 + 1267 +The value ranges from 0 to 100. 1268 +))) 1269 + 1270 +(% style="color:blue" %)**Downlink Command: 0x0B01** 1271 + 1272 +Format: Command Code (0x0B01) followed by 6 bytes. 1273 + 1274 +Downlink payload:0B01 bb cc aa **~-~--> **AT+PWMOUT=a,b,c 1275 + 1276 +* Example 1: Downlink Payload: 0B01 03E8 0032 0005 **~-~-->** AT+PWMSET=5,1000,50 1277 +* Example 2: Downlink Payload: 0B01 07D0 003C 000A **~-~-->** AT+PWMSET=10,2000,60 1278 + 1279 += 4. Battery & Power Cons = 1280 + 1281 + 673 673 SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. 674 674 675 675 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . ... ... @@ -679,24 +679,43 @@ 679 679 680 680 681 681 (% class="wikigeneratedid" %) 682 -User can change firmware SN50v3-LB to: 1291 +**User can change firmware SN50v3-LB to:** 683 683 684 684 * Change Frequency band/ region. 685 685 * Update with new features. 686 686 * Fix bugs. 687 687 688 -Firmware and changelog can be downloaded from : **[[Firmware download link>> url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**1297 +**Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]** 689 689 1299 +**Methods to Update Firmware:** 690 690 691 -Methods to Update Firmware: 1301 +* (Recommanded way) OTA firmware update via wireless: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]** 1302 +* Update through UART TTL interface: **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. 692 692 693 -* (Recommanded way) OTA firmware update via wireless: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]] 694 -* Update through UART TTL interface.**[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. 695 - 696 696 = 6. FAQ = 697 697 1306 +== 6.1 Where can i find source code of SN50v3-LB? == 698 698 699 699 1309 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].** 1310 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].** 1311 + 1312 +== 6.2 How to generate PWM Output in SN50v3-LB? == 1313 + 1314 + 1315 +See this document: **[[Generate PWM Output on SN50v3>>https://www.dropbox.com/scl/fi/r3trcet2knujg40w0mgyn/Generate-PWM-Output-on-SN50v3.pdf?rlkey=rxsgmrhhrv62iiiwjq9sv10bn&dl=0]]**. 1316 + 1317 + 1318 +== 6.3 How to put several sensors to a SN50v3-LB? == 1319 + 1320 + 1321 +When we want to put several sensors to A SN50v3-LB, the waterproof at the grand connector will become an issue. User can try to exchange the grand connector to below type. 1322 + 1323 +[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]]. 1324 + 1325 +[[image:image-20230810121434-1.png||height="242" width="656"]] 1326 + 1327 + 700 700 = 7. Order Info = 701 701 702 702 ... ... @@ -722,6 +722,7 @@ 722 722 723 723 = 8. Packing Info = 724 724 1353 + 725 725 (% style="color:#037691" %)**Package Includes**: 726 726 727 727 * SN50v3-LB LoRaWAN Generic Node ... ... @@ -737,4 +737,5 @@ 737 737 738 738 739 739 * 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. 740 -* 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]] 1369 + 1370 +* 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
- image-20230610162852-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +695.7 KB - Content
- image-20230610163213-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +695.4 KB - Content
- image-20230610170047-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +444.9 KB - Content
- image-20230610170152-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +359.5 KB - Content
- image-20230810121434-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +137.3 KB - Content
- image-20230811113449-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +973.1 KB - Content
- image-20230817170702-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +39.6 KB - Content
- image-20230817172209-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.3 MB - Content
- image-20230817173800-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.1 MB - Content
- image-20230817173830-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +508.5 KB - Content
- image-20230817173858-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.6 MB - Content
- image-20230817183137-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +137.1 KB - Content
- image-20230817183218-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +137.1 KB - Content
- image-20230817183249-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +948.6 KB - Content
- image-20230818092200-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +98.9 KB - Content
- image-20231213102404-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +4.2 MB - Content
- image-20231231202945-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +36.3 KB - Content
- image-20231231203148-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +35.4 KB - Content
- image-20231231203439-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.6 KB - Content