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 (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 35 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
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -SN50v3-LB LoRaWAN Sensor NodeUser Manual1 +SN50v3-LB User Manual - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Saxer1 +XWiki.Edwin - Content
-
... ... @@ -1,5 +1,4 @@ 1 -(% style="text-align:center" %) 2 -[[image:image-20230515135611-1.jpeg||height="589" width="589"]] 1 +[[image:image-20230511201248-1.png||height="403" width="489"]] 3 3 4 4 5 5 ... ... @@ -16,21 +16,23 @@ 16 16 17 17 == 1.1 What is SN50v3-LB LoRaWAN Generic Node == 18 18 19 - 20 20 (% 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. 21 21 20 + 22 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, smartphone detection, building automation, and so on. 23 23 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 + 26 26 (% 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. 27 27 29 + 28 28 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. 29 29 30 30 31 31 == 1.2 Features == 32 32 33 - 34 34 * LoRaWAN 1.0.3 Class A 35 35 * Ultra-low power consumption 36 36 * Open-Source hardware/software ... ... @@ -43,7 +43,6 @@ 43 43 44 44 == 1.3 Specification == 45 45 46 - 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,7 +80,6 @@ 80 80 81 81 == 1.4 Sleep mode and working mode == 82 82 83 - 84 84 (% 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. 85 85 86 86 (% 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. ... ... @@ -123,7 +123,7 @@ 123 123 == 1.7 Pin Definitions == 124 124 125 125 126 -[[image:image-20230 610163213-1.png||height="404" width="699"]]125 +[[image:image-20230511203450-2.png||height="443" width="785"]] 127 127 128 128 129 129 == 1.8 Mechanical == ... ... @@ -136,9 +136,8 @@ 136 136 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 137 137 138 138 139 -== 1.9Hole Option ==138 +== Hole Option == 140 140 141 - 142 142 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: 143 143 144 144 [[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"]] ... ... @@ -151,7 +151,7 @@ 151 151 == 2.1 How it works == 152 152 153 153 154 -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 S N50v3-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.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 S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 155 155 156 156 157 157 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -159,7 +159,7 @@ 159 159 160 160 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. 161 161 162 -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.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. 163 163 164 164 165 165 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB. ... ... @@ -208,7 +208,7 @@ 208 208 === 2.3.1 Device Status, FPORT~=5 === 209 209 210 210 211 -Users can use the downlink command(**0x26 01**) to ask SN50v3 -LBto send device configure detail, include device configure status. SN50v3-LBwill uplink a payload via FPort=5 to server.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. 212 212 213 213 The Payload format is as below. 214 214 ... ... @@ -216,44 +216,44 @@ 216 216 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 217 217 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)** 218 218 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** 219 -|(% 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 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" %)BAT 220 220 221 221 Example parse in TTNv3 222 222 223 223 224 -(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3 -LB, this value is 0x1C222 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3, this value is 0x1C 225 225 226 226 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 227 227 228 228 (% style="color:#037691" %)**Frequency Band**: 229 229 230 -0x01: EU868 228 +*0x01: EU868 231 231 232 -0x02: US915 230 +*0x02: US915 233 233 234 -0x03: IN865 232 +*0x03: IN865 235 235 236 -0x04: AU915 234 +*0x04: AU915 237 237 238 -0x05: KZ865 236 +*0x05: KZ865 239 239 240 -0x06: RU864 238 +*0x06: RU864 241 241 242 -0x07: AS923 240 +*0x07: AS923 243 243 244 -0x08: AS923-1 242 +*0x08: AS923-1 245 245 246 -0x09: AS923-2 244 +*0x09: AS923-2 247 247 248 -0x0a: AS923-3 246 +*0x0a: AS923-3 249 249 250 -0x0b: CN470 248 +*0x0b: CN470 251 251 252 -0x0c: EU433 250 +*0x0c: EU433 253 253 254 -0x0d: KR920 252 +*0x0d: KR920 255 255 256 -0x0e: MA869 254 +*0x0e: MA869 257 257 258 258 259 259 (% style="color:#037691" %)**Sub-Band**: ... ... @@ -274,687 +274,237 @@ 274 274 Ex2: 0x0B49 = 2889mV 275 275 276 276 277 -=== 2.3.2 Working Modes &Sensor Data.Uplink viaFPORT~=2 ===275 +=== 2.3.2 Sensor Data. FPORT~=2 === 278 278 279 279 280 -S N50v3-LB has different workingmode fortheconnectionsof different type of sensors. This sectiondescribes these modes. Use canuse the ATCommand (% style="color:blue" %)**AT+MOD**(%%) to set SN50v3-LB to different working modes.278 +Sensor Data is uplink via FPORT=2 281 281 282 -For example: 283 - 284 - (% 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. 285 - 286 - 287 -(% style="color:red" %) **Important Notice:** 288 - 289 -~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. 290 - 291 -2. All modes share the same Payload Explanation from HERE. 292 - 293 -3. By default, the device will send an uplink message every 20 minutes. 294 - 295 - 296 -==== 2.3.2.1 MOD~=1 (Default Mode) ==== 297 - 298 - 299 -In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 300 - 301 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 302 -|(% 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** 303 -|Value|Bat|(% style="width:191px" %)((( 304 -Temperature(DS18B20)(PC13) 305 -)))|(% style="width:78px" %)((( 306 -ADC(PA4) 307 -)))|(% style="width:216px" %)((( 308 -Digital in(PB15)&Digital Interrupt(PA8) 309 -)))|(% style="width:308px" %)((( 310 -Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 311 -)))|(% style="width:154px" %)((( 312 -Humidity(SHT20 or SHT31) 280 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 281 +|=(% style="width: 90px;background-color:#D9E2F3" %)((( 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:"]] 313 313 ))) 314 314 315 - [[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"]]296 +==== (% style="color:#4472c4" %)**Battery**(%%) ==== 316 316 298 +Sensor Battery Level. 317 317 318 - ====2.3.2.2MOD~=2(Distance Mode) ====300 +Ex1: 0x0B45 = 2885mV 319 319 302 +Ex2: 0x0B49 = 2889mV 320 320 321 -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. 322 322 323 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 324 -|(% 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** 325 -|Value|BAT|(% style="width:196px" %)((( 326 -Temperature(DS18B20)(PC13) 327 -)))|(% style="width:87px" %)((( 328 -ADC(PA4) 329 -)))|(% style="width:189px" %)((( 330 -Digital in(PB15) & Digital Interrupt(PA8) 331 -)))|(% style="width:208px" %)((( 332 -Distance measure by: 1) LIDAR-Lite V3HP 333 -Or 2) Ultrasonic Sensor 334 -)))|(% style="width:117px" %)Reserved 335 335 336 - [[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"]]306 +==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 337 337 308 +**Example**: 338 338 339 - (%style="color:blue"%)**ConnectionofLIDAR-LiteV3HP:**310 +If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 340 340 341 - [[image:image-20230512173758-5.png||height="563"width="712"]]312 +If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 342 342 314 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 343 343 344 -(% style="color:blue" %)**Connection to Ultrasonic Sensor:** 345 345 346 -(% style="color: red" %)**Need to remove R1 andR2 resistors to get low power,otherwise there will be 240uA standbycurrent.**317 +==== (% style="color:#4472c4" %)**Humidity**(%%) ==== 347 347 348 -[[image:image-20230512173903-6.png||height="596" width="715"]] 349 349 320 +Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 350 350 351 -For the connection to TF-Mini or TF-Luna , MOD2 payload is as below: 352 352 353 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 354 -|(% 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** 355 -|Value|BAT|(% style="width:183px" %)((( 356 -Temperature(DS18B20)(PC13) 357 -)))|(% style="width:173px" %)((( 358 -Digital in(PB15) & Digital Interrupt(PA8) 359 -)))|(% style="width:84px" %)((( 360 -ADC(PA4) 361 -)))|(% style="width:323px" %)((( 362 -Distance measure by:1)TF-Mini plus LiDAR 363 -Or 2) TF-Luna LiDAR 364 -)))|(% style="width:188px" %)Distance signal strength 323 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ==== 365 365 366 -[[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"]] 367 367 326 +**Example:** 368 368 369 - **Connectionto[[TF-Miniplus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]]LiDAR(UART version):**328 +If payload & 0x01 = 0x01 **~-~->** This is an Alarm Message 370 370 371 - (%style="color:red"%)**NeedtoremoveR3and R4 resistorsto get low power,otherwisetherewillbe 400uAstandbycurrent.**330 +If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm 372 372 373 - [[image:image-20230512180609-7.png||height="555"width="802"]]332 +If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message 374 374 334 +If payload >> 2 = 0x31 **~-~->** means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 375 375 376 -**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):** 377 377 378 - (%style="color:red"%)**Need toremove R3 andR4 resistorsto get low power,otherwise there will be400uA standby current.**337 +== 2.4 Payload Decoder file == 379 379 380 -[[image:image-20230610170047-1.png||height="452" width="799"]] 381 381 340 +In TTN, use can add a custom payload so it shows friendly reading 382 382 383 - ====2.3.2.3MOD~=3(3 ADC+I2C)====342 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 384 384 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]] 385 385 386 -This mode has total 12 bytes. Include 3 x ADC + 1x I2C 387 387 388 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 389 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 390 -**Size(bytes)** 391 -)))|=(% 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 392 -|Value|(% style="width:68px" %)((( 393 -ADC1(PA4) 394 -)))|(% style="width:75px" %)((( 395 -ADC2(PA5) 396 -)))|((( 397 -ADC3(PA8) 398 -)))|((( 399 -Digital Interrupt(PB15) 400 -)))|(% style="width:304px" %)((( 401 -Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 402 -)))|(% style="width:163px" %)((( 403 -Humidity(SHT20 or SHT31) 404 -)))|(% style="width:53px" %)Bat 347 +== 2.5 Datalog Feature == 405 405 406 -[[image:image-20230513110214-6.png]] 407 407 350 +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. 408 408 409 -==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 410 410 353 +=== 2.5.1 Ways to get datalog via LoRaWAN === 411 411 412 -This mode has total 11 bytes. As shown below: 413 413 414 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 415 -|(% 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** 416 -|Value|BAT|(% style="width:186px" %)((( 417 -Temperature1(DS18B20)(PC13) 418 -)))|(% style="width:82px" %)((( 419 -ADC(PA4) 420 -)))|(% style="width:210px" %)((( 421 -Digital in(PB15) & Digital Interrupt(PA8) 422 -)))|(% style="width:191px" %)Temperature2(DS18B20) 423 -(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8) 356 +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. 424 424 425 -[[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"]] 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. 426 426 361 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 427 427 428 -[[image:image-20230 513134006-1.png||height="559" width="736"]]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"]] 429 429 365 +=== 2.5.2 Unix TimeStamp === 430 430 431 -==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 432 432 368 +S31x-LB uses Unix TimeStamp format based on 433 433 434 -[[image:image-202 30512164658-2.png||height="532" width="729"]]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"]] 435 435 436 - EachHX711needtobe calibratedbeforeused.Userneedto do belowtwosteps:372 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 437 437 438 -1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram. 439 -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. 440 -1. ((( 441 -Weight has 4 bytes, the unit is g. 374 +Below is the converter example 442 442 376 +[[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"]] 443 443 444 - 445 -))) 378 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 446 446 447 -For example: 448 448 449 - (%style="color:blue"%)**AT+GETSENSORVALUE=0**381 +=== 2.5.3 Set Device Time === 450 450 451 -Response: Weight is 401 g 452 452 453 - Check theresponse ofthiscommandand adjustthevalue tomatchtherealvalueforthing.384 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 454 454 455 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 456 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 457 -**Size(bytes)** 458 -)))|=(% 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** 459 -|Value|BAT|(% style="width:193px" %)((( 460 -Temperature(DS18B20)(PC13) 461 -)))|(% style="width:85px" %)((( 462 -ADC(PA4) 463 -)))|(% style="width:186px" %)((( 464 -Digital in(PB15) & Digital Interrupt(PA8) 465 -)))|(% style="width:100px" %)Weight 386 +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). 466 466 467 - [[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"]]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.** 468 468 469 469 470 -=== =2.3.2.6MOD~=6 (CountingMode) ====391 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) === 471 471 472 472 473 - In this mode,thedevicewillwork in counting mode. It countstheinterruptonthe interrupt pinsandsends the count on TDC time.394 +The Datalog uplinks will use below payload format. 474 474 475 - Connection is as below. The PIRsensor is a countsensor,it will generate interrupt when peoplecome close or goaway.User can replace the PIR sensor with other counting sensors.396 +**Retrieval data payload:** 476 476 477 -[[image:image-20230512181814-9.png||height="543" width="697"]] 478 - 479 - 480 -(% 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.** 481 - 482 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 483 -|=(% 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** 484 -|Value|BAT|(% style="width:256px" %)((( 485 -Temperature(DS18B20)(PC13) 486 -)))|(% style="width:108px" %)((( 487 -ADC(PA4) 488 -)))|(% style="width:126px" %)((( 489 -Digital in(PB15) 490 -)))|(% style="width:145px" %)((( 491 -Count(PA8) 492 -))) 493 - 494 -[[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"]] 495 - 496 - 497 -==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 498 - 499 - 500 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 501 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 398 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 399 +|=(% style="width: 80px;background-color:#D9E2F3" %)((( 502 502 **Size(bytes)** 503 -)))|=(% 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 504 -|Value|BAT|(% style="width:188px" %)((( 505 -Temperature(DS18B20) 506 -(PC13) 507 -)))|(% style="width:83px" %)((( 508 -ADC(PA5) 509 -)))|(% style="width:184px" %)((( 510 -Digital Interrupt1(PA8) 511 -)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved 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"]] 512 512 513 - [[image:image-20230513111203-7.png||height="324"width="975"]]406 +**Poll message flag & Ext:** 514 514 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"]] 515 515 516 - ====2.3.2.8MOD~=8(3ADC+1DS18B20)====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) 517 517 412 +**Poll Message Flag**: 1: This message is a poll message reply. 518 518 519 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 520 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 521 -**Size(bytes)** 522 -)))|=(% 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 523 -|Value|BAT|(% style="width:207px" %)((( 524 -Temperature(DS18B20) 525 -(PC13) 526 -)))|(% style="width:94px" %)((( 527 -ADC1(PA4) 528 -)))|(% style="width:198px" %)((( 529 -Digital Interrupt(PB15) 530 -)))|(% style="width:84px" %)((( 531 -ADC2(PA5) 532 -)))|(% style="width:82px" %)((( 533 -ADC3(PA8) 534 -))) 414 +* Poll Message Flag is set to 1. 535 535 536 - [[image:image-20230513111231-8.png||height="335"width="900"]]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. 537 537 418 +For example, in US915 band, the max payload for different DR is: 538 538 539 - ====2.3.2.9MOD~=9(3DS18B20+twoInterruptcountmode)====420 +**a) DR0:** max is 11 bytes so one entry of data 540 540 422 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 541 541 542 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 543 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 544 -**Size(bytes)** 545 -)))|=(% 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 546 -|Value|BAT|((( 547 -Temperature 548 -(DS18B20)(PC13) 549 -)))|((( 550 -Temperature2 551 -(DS18B20)(PB9) 552 -)))|((( 553 -Digital Interrupt 554 -(PB15) 555 -)))|(% style="width:193px" %)((( 556 -Temperature3 557 -(DS18B20)(PB8) 558 -)))|(% style="width:78px" %)((( 559 -Count1(PA8) 560 -)))|(% style="width:78px" %)((( 561 -Count2(PA4) 562 -))) 424 +**c) DR2:** total payload includes 11 entries of data 563 563 564 - [[image:image-20230513111255-9.png||height="341" width="899"]]426 +**d) DR3: **total payload includes 22 entries of data. 565 565 566 - (%style="color:blue"%)**The newlyaddedATcommandis issuedcorrespondingly:**428 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 567 567 568 -(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%) pin: Corresponding downlink: (% style="color:#037691" %)**06 00 00 xx** 569 569 570 - (% style="color:#037691" %)**AT+INTMOD2 PA4**(%%)pin: Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx**431 +**Example:** 571 571 572 - (%style="color:#037691" %)** AT+INTMOD3 PB15**(%%)pin: Correspondingdownlink: (%style="color:#037691" %)** 06 00 02 xx**433 +If S31x-LB has below data inside Flash: 573 573 435 +[[image:1682646494051-944.png]] 574 574 575 - (%style="color:blue"%)**AT+SETCNT=aa,bb**437 +If user sends below downlink command: 3160065F9760066DA705 576 576 577 -Whe nAAis 1, sethecountof PA8 pin to BB Correspondingdownlink:0901bbbbbb bb439 +Where : Start time: 60065F97 = time 21/1/19 04:27:03 578 578 579 - WhenAAis2,setthecountofPA4pintoBBCorrespondingdownlink:0902bbbbbb bb441 + Stop time: 60066DA7= time 21/1/19 05:27:03 580 580 581 581 582 - ==== 2.3.2.10MOD~=10 (PWMinputcapture and output mode,Sincefirmwarev1.2) ====444 +**S31x-LB will uplink this payload.** 583 583 584 - In thismode, the uplinkperform PWM input capture, andhedownlink canperform PWM output.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"]] 585 585 586 -[[It should be noted when using PWM mode.>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/#H2.3.3.12A0PWMMOD]] 587 - 588 - 589 -===== 2.3.2.10.a Uplink, PWM input capture ===== 590 - 591 -[[image:image-20230817172209-2.png||height="439" width="683"]] 592 - 593 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:690px" %) 594 -|(% 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:89px" %)**2** 595 -|Value|Bat|(% style="width:191px" %)((( 596 -Temperature(DS18B20)(PC13) 597 -)))|(% style="width:78px" %)((( 598 -ADC(PA4) 599 -)))|(% style="width:135px" %)((( 600 -PWM_Setting 601 - 602 -&Digital Interrupt(PA8) 603 -)))|(% style="width:70px" %)((( 604 -Pulse period 605 -)))|(% style="width:89px" %)((( 606 -Duration of high level 448 +((( 449 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 607 607 ))) 608 608 609 -[[image:image-20230817170702-1.png||height="161" width="1044"]] 610 - 611 - 612 -When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle. 613 - 614 -Frequency: 615 - 616 -(% class="MsoNormal" %) 617 -(% 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 ,** 618 - 619 619 ((( 620 - 621 - 622 -(% lang="EN-US" %)Frequency= 1000000/(%%)Pulse period(HZ); 453 +Where the first 11 bytes is for the first entry: 623 623 ))) 624 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 ,** 627 - 628 628 ((( 629 - 630 - 631 -(% lang="EN-US" %)Frequency= 1000/(%%)Pulse period(HZ); 457 +7FFF089801464160065F97 632 632 ))) 633 633 634 -(% class="MsoNormal" %) 635 -Duty cycle: 636 - 637 -Duty cycle= Duration of high level/ Pulse period*100 ~(%). 638 - 639 -(% class="MsoNormal" %) 640 - 641 - 642 642 ((( 643 - 461 +**Ext sensor data**=0x7FFF/100=327.67 644 644 ))) 645 645 646 - 647 -[[image:image-20230818092200-1.png||height="344" width="627"]] 648 - 649 - 650 -===== 2.3.2.10.b Downlink, PWM output ===== 651 - 652 -[[image:image-20230817173800-3.png||height="412" width="685"]] 653 - 654 -Downlink: (% style="color:#037691" %)**0B xx xx xx yy zz zz** 655 - 656 - xx xx xx is the output frequency, the unit is HZ. 657 - 658 - yy is the duty cycle of the output, the unit is %. 659 - 660 - zz zz is the time delay of the output, the unit is ms. 661 - 662 - 663 -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. 664 - 665 -The oscilloscope displays as follows: 666 - 667 -[[image:image-20230817173858-5.png||height="694" width="921"]] 668 - 669 - 670 -=== 2.3.3 Decode payload === 671 - 672 - 673 -While using TTN V3 network, you can add the payload format to decode the payload. 674 - 675 -[[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"]] 676 - 677 -The payload decoder function for TTN V3 are here: 678 - 679 -SN50v3-LB TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 680 - 681 - 682 -==== 2.3.3.1 Battery Info ==== 683 - 684 - 685 -Check the battery voltage for SN50v3-LB. 686 - 687 -Ex1: 0x0B45 = 2885mV 688 - 689 -Ex2: 0x0B49 = 2889mV 690 - 691 - 692 -==== 2.3.3.2 Temperature (DS18B20) ==== 693 - 694 - 695 -If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload. 696 - 697 -More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]] 698 - 699 -(% style="color:blue" %)**Connection:** 700 - 701 -[[image:image-20230512180718-8.png||height="538" width="647"]] 702 - 703 - 704 -(% style="color:blue" %)**Example**: 705 - 706 -If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 707 - 708 -If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 709 - 710 -(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 711 - 712 - 713 -==== 2.3.3.3 Digital Input ==== 714 - 715 - 716 -The digital input for pin PB15, 717 - 718 -* When PB15 is high, the bit 1 of payload byte 6 is 1. 719 -* When PB15 is low, the bit 1 of payload byte 6 is 0. 720 - 721 -(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %) 722 722 ((( 723 -When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin. 724 - 725 -(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.** 726 - 727 - 465 +**Temp**=0x088E/100=22.00 728 728 ))) 729 729 730 -==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 731 - 732 - 733 -The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv. 734 - 735 -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. 736 - 737 -[[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"]] 738 - 739 - 740 -(% 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.** 741 - 742 - 743 -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. 744 - 745 -[[image:image-20230811113449-1.png||height="370" width="608"]] 746 - 747 -==== 2.3.3.5 Digital Interrupt ==== 748 - 749 - 750 -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. 751 - 752 -(% style="color:blue" %)** Interrupt connection method:** 753 - 754 -[[image:image-20230513105351-5.png||height="147" width="485"]] 755 - 756 - 757 -(% style="color:blue" %)**Example to use with door sensor :** 758 - 759 -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. 760 - 761 -[[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"]] 762 - 763 -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. 764 - 765 - 766 -(% style="color:blue" %)**Below is the installation example:** 767 - 768 -Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows: 769 - 770 -* ((( 771 -One pin to SN50v3-LB's PA8 pin 468 +((( 469 +**Hum**=0x014B/10=32.6 772 772 ))) 773 -* ((( 774 -The other pin to SN50v3-LB's VDD pin 775 -))) 776 776 777 -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. 778 - 779 -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. 780 - 781 -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. 782 - 783 -[[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"]] 784 - 785 -The above photos shows the two parts of the magnetic switch fitted to a door. 786 - 787 -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. 788 - 789 -The command is: 790 - 791 -(% 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]]**. **) 792 - 793 -Below shows some screen captures in TTN V3: 794 - 795 -[[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"]] 796 - 797 - 798 -In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below: 799 - 800 -door= (bytes[6] & 0x80)? "CLOSE":"OPEN"; 801 - 802 - 803 -==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ==== 804 - 805 - 806 -The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data. 807 - 808 -We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor. 809 - 810 -(% 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.** 811 - 812 - 813 -Below is the connection to SHT20/ SHT31. The connection is as below: 814 - 815 -[[image:image-20230610170152-2.png||height="501" width="846"]] 816 - 817 - 818 -The device will be able to get the I2C sensor data now and upload to IoT Server. 819 - 820 -[[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"]] 821 - 822 -Convert the read byte to decimal and divide it by ten. 823 - 824 -**Example:** 825 - 826 -Temperature: Read:0116(H) = 278(D) Value: 278 /10=27.8℃; 827 - 828 -Humidity: Read:0248(H)=584(D) Value: 584 / 10=58.4, So 58.4% 829 - 830 -If you want to use other I2C device, please refer the SHT20 part source code as reference. 831 - 832 - 833 -==== 2.3.3.7 Distance Reading ==== 834 - 835 - 836 -Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]]. 837 - 838 - 839 -==== 2.3.3.8 Ultrasonic Sensor ==== 840 - 841 - 842 -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]] 843 - 844 -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. 845 - 846 -The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor. 847 - 848 -The picture below shows the connection: 849 - 850 -[[image:image-20230512173903-6.png||height="596" width="715"]] 851 - 852 - 853 -Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT). 854 - 855 -The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value. 856 - 857 -**Example:** 858 - 859 -Distance: Read: 0C2D(Hex) = 3117(D) Value: 3117 mm=311.7 cm 860 - 861 - 862 -==== 2.3.3.9 Battery Output - BAT pin ==== 863 - 864 - 865 -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. 866 - 867 - 868 -==== 2.3.3.10 +5V Output ==== 869 - 870 - 871 -SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 872 - 873 -The 5V output time can be controlled by AT Command. 874 - 875 -(% style="color:blue" %)**AT+5VT=1000** 876 - 877 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 878 - 879 -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. 880 - 881 - 882 -==== 2.3.3.11 BH1750 Illumination Sensor ==== 883 - 884 - 885 -MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 886 - 887 -[[image:image-20230512172447-4.png||height="416" width="712"]] 888 - 889 - 890 -[[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"]] 891 - 892 - 893 -==== 2.3.3.12 PWM MOD ==== 894 - 895 - 896 -* ((( 897 -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. 472 +((( 473 +**poll message flag & Ext**=0x41,means reply data,Ext=1 898 898 ))) 899 -* ((( 900 -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: 901 -))) 902 902 903 - [[image:image-20230817183249-3.png||height="320" width="417"]] 904 - 905 -* ((( 906 -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. 476 +((( 477 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 907 907 ))) 908 -* ((( 909 -Since the device can only detect a pulse period of 50ms when AT+PWMSET=0 (counting in microseconds), it is necessary to change the value of PWMSET according to the frequency of input capture. 910 910 911 - 912 -))) 913 913 914 -==== 2.3.3.13 WorkingMOD ====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="单击并拖动以调整大小" %)的 915 915 483 +== 2.6 Temperature Alarm Feature == 916 916 917 -The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte). 918 918 919 - Usercanusethe3^^rd^^~~ 7^^th^^ bit ofthis byteo see the working mod:486 +S31x-LB work flow with Alarm feature. 920 920 921 -Case 7^^th^^ Byte >> 2 & 0x1f: 922 922 923 -* 0: MOD1 924 -* 1: MOD2 925 -* 2: MOD3 926 -* 3: MOD4 927 -* 4: MOD5 928 -* 5: MOD6 929 -* 6: MOD7 930 -* 7: MOD8 931 -* 8: MOD9 932 -* 9: MOD10 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"]] 933 933 934 -== 2.4 Payload Decoder file == 935 935 492 +== 2.7 Frequency Plans == 936 936 937 -In TTN, use can add a custom payload so it shows friendly reading 938 938 939 - In thepage(%style="color:#037691"%)**Applications~-~->PayloadFormats~-~->Custom~-~->decoder**(%%)toaddthedecoderfrom:495 +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. 940 940 941 -[[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]] 942 - 943 - 944 -== 2.5 Frequency Plans == 945 - 946 - 947 -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. 948 - 949 949 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 950 950 951 951 952 -= 3. Configure S N50v3-LB =500 += 3. Configure S31x-LB = 953 953 954 954 == 3.1 Configure Methods == 955 955 956 956 957 -S N50v3-LB supports below configure method:505 +S31x-LB supports below configure method: 958 958 959 959 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 960 960 * 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]]. ... ... @@ -973,10 +973,10 @@ 973 973 [[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/]] 974 974 975 975 976 -== 3.3 Commands special design for S N50v3-LB ==524 +== 3.3 Commands special design for S31x-LB == 977 977 978 978 979 -These commands only valid for S N50v3-LB, as below:527 +These commands only valid for S31x-LB, as below: 980 980 981 981 982 982 === 3.3.1 Set Transmit Interval Time === ... ... @@ -987,7 +987,7 @@ 987 987 (% style="color:blue" %)**AT Command: AT+TDC** 988 988 989 989 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 990 -|=(% 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**538 +|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response** 991 991 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 992 992 30000 993 993 OK ... ... @@ -1010,184 +1010,115 @@ 1010 1010 === 3.3.2 Get Device Status === 1011 1011 1012 1012 1013 -Send a LoRaWAN downlink to ask thedevicetosenditsstatus.561 +Send a LoRaWAN downlink to ask device send Alarm settings. 1014 1014 1015 -(% style="color:blue" %)**Downlink Payload: 0x26 01 **563 +(% style="color:blue" %)**Downlink Payload: **(%%)0x26 01 1016 1016 1017 -Sensor will upload Device Status via **FPORT=5**. See payload section for detail.565 +Sensor will upload Device Status via FPORT=5. See payload section for detail. 1018 1018 1019 1019 1020 -=== 3.3.3 Set InterruptMode===568 +=== 3.3.3 Set Temperature Alarm Threshold === 1021 1021 570 +* (% style="color:blue" %)**AT Command:** 1022 1022 1023 - Feature,SetInterrupt mode forGPIO_EXIT.572 +(% style="color:#037691" %)**AT+SHTEMP=min,max** 1024 1024 1025 -(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3** 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 1026 1026 1027 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1028 -|=(% 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** 1029 -|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 1030 -0 1031 -OK 1032 -the mode is 0 =Disable Interrupt 1033 -))) 1034 -|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 1035 -Set Transmit Interval 1036 -0. (Disable Interrupt), 1037 -~1. (Trigger by rising and falling edge) 1038 -2. (Trigger by falling edge) 1039 -3. (Trigger by rising edge) 1040 -)))|(% style="width:157px" %)OK 1041 -|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)((( 1042 -Set Transmit Interval 1043 -trigger by rising edge. 1044 -)))|(% style="width:157px" %)OK 1045 -|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK 578 +Example: 1046 1046 1047 - (%style="color:blue"%)**DownlinkCommand:0x06**580 + AT+SHTEMP=0,30 ~/~/ Alarm when temperature higher than 30. 1048 1048 1049 - Format:CommandCode(0x06)followedby 3 bytes.582 +* (% style="color:blue" %)**Downlink Payload:** 1050 1050 1051 - Thismeanshat theinterrupt modeofthe end node is set to0x000003=3(risingedgetrigger),andthetypecodeis06.584 +(% style="color:#037691" %)**0x(0C 01 00 1E)** (%%) ~/~/ Set AT+SHTEMP=0,30 1052 1052 1053 -* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 1054 -* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 1055 -* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 1056 -* Example 4: Downlink Payload: 06000201 **~-~-->** AT+INTMOD3=1 586 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 1057 1057 1058 -=== 3.3.4 Set Power Output Duration === 1059 1059 589 +=== 3.3.4 Set Humidity Alarm Threshold === 1060 1060 1061 - Controltheoutput duration 5V . Beforeeachsampling,device will591 +* (% style="color:blue" %)**AT Command:** 1062 1062 1063 - ~1.firstenablethe poweroutput to externalsensor,593 +(% style="color:#037691" %)**AT+SHHUM=min,max** 1064 1064 1065 -2. keep it on as per duration, read sensor value and construct uplink payload 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 1066 1066 1067 - 3. final, closethe power output.599 +Example: 1068 1068 1069 - (%style="color:blue"%)**ATCommand:AT+5VT**601 + AT+SHHUM=70,0 ~/~/ Alarm when humidity lower than 70%. 1070 1070 1071 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1072 -|=(% 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** 1073 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)((( 1074 -500(default) 1075 -OK 1076 -))) 1077 -|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)((( 1078 -Close after a delay of 1000 milliseconds. 1079 -)))|(% style="width:157px" %)OK 603 +* (% style="color:blue" %)**Downlink Payload:** 1080 1080 1081 -(% style="color: blue" %)**DownlinkCommand:0x07**605 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) ~/~/ Set AT+SHTHUM=70,0 1082 1082 1083 - Format:CommandCode(0x07)followedby2bytes.607 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))** 1084 1084 1085 -The first and second bytes are the time to turn on. 1086 1086 1087 -* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 1088 -* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 610 +=== 3.3.5 Set Alarm Interval === 1089 1089 1090 - ===3.3.5 SetWeighingparameters===612 +The shortest time of two Alarm packet. (unit: min) 1091 1091 614 +* (% style="color:blue" %)**AT Command:** 1092 1092 1093 - Feature:Workingmode5iseffective,weight initializationandweightfactorsettingofHX711.616 +(% 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. 1094 1094 1095 -(% style="color:blue" %)** ATCommand:AT+WEIGRE,AT+WEIGAP**618 +* (% style="color:blue" %)**Downlink Payload:** 1096 1096 1097 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1098 -|=(% 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** 1099 -|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK 1100 -|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default) 1101 -|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK 620 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%) **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 1102 1102 1103 -(% style="color:blue" %)**Downlink Command: 0x08** 1104 1104 1105 - Format:CommandCode(0x08) followed by 2 bytesor4 bytes.623 +=== 3.3.6 Get Alarm settings === 1106 1106 1107 -Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes. 1108 1108 1109 - Thesecond andthird bytesaremultipliedby10timesto betheAT+WEIGAP value.626 +Send a LoRaWAN downlink to ask device send Alarm settings. 1110 1110 1111 -* Example 1: Downlink Payload: 0801 **~-~-->** AT+WEIGRE 1112 -* Example 2: Downlink Payload: 08020FA3 **~-~-->** AT+WEIGAP=400.3 1113 -* Example 3: Downlink Payload: 08020FA0 **~-~-->** AT+WEIGAP=400.0 628 +* (% style="color:#037691" %)**Downlink Payload: **(%%)0x0E 01 1114 1114 1115 - === 3.3.6 Set Digitalpulsecount value ===630 +**Example:** 1116 1116 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"]] 1117 1117 1118 -Feature: Set the pulse count value. 1119 1119 1120 - Count 1 is PA8pin of mode 6and mode 9. Count 2is PA4 pinof mode 9.635 +**Explain:** 1121 1121 1122 - (%style="color:blue"%)**ATCommand:AT+SETCNT**637 +* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. 1123 1123 1124 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1125 -|=(% 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** 1126 -|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK 1127 -|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK 639 +=== 3.3.7 Set Interrupt Mode === 1128 1128 1129 -(% style="color:blue" %)**Downlink Command: 0x09** 1130 1130 1131 -F ormat:CommandCode(0x09)followedby 5 bytes.642 +Feature, Set Interrupt mode for GPIO_EXIT. 1132 1132 1133 - Thefirstbyte is to select which count value toinitialize, and the next fourytes are the count valuetobe initialized.644 +(% style="color:blue" %)**AT Command: AT+INTMOD** 1134 1134 1135 -* Example 1: Downlink Payload: 090100000000 **~-~-->** AT+SETCNT=1,0 1136 -* Example 2: Downlink Payload: 0902000003E8 **~-~-->** AT+SETCNT=2,1000 1137 - 1138 -=== 3.3.7 Set Workmode === 1139 - 1140 - 1141 -Feature: Switch working mode. 1142 - 1143 -(% style="color:blue" %)**AT Command: AT+MOD** 1144 - 1145 1145 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1146 -|=(% 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** 1147 -|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)((( 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 1148 1148 OK 651 +the mode is 0 =Disable Interrupt 1149 1149 ))) 1150 -|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)((( 1151 -OK 1152 -Attention:Take effect after ATZ 1153 -))) 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 1154 1154 1155 -(% style="color:blue" %)**Downlink Command: 0x0 A**661 +(% style="color:blue" %)**Downlink Command: 0x06** 1156 1156 1157 -Format: Command Code (0x0 A) followed by1bytes.663 +Format: Command Code (0x06) followed by 3 bytes. 1158 1158 1159 -* Example 1: Downlink Payload: 0A01 **~-~-->** AT+MOD=1 1160 -* Example 2: Downlink Payload: 0A04 **~-~-->** AT+MOD=4 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. 1161 1161 667 +* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 668 +* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1162 1162 1163 - 1164 -=== 3.3.8 PWM setting === 1165 - 1166 -Feature: Set the time acquisition unit for PWM input capture. 1167 - 1168 -(% style="color:blue" %)**AT Command: AT+PWMSET** 1169 - 1170 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 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+PWMSET=?|(% style="width:196px" %)0|(% style="width:157px" %)((( 1173 -0(default) 1174 - 1175 -OK 1176 -))) 1177 -|(% style="width:154px" %)AT+PWMSET=0|(% style="width:196px" %)The unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ. |(% style="width:157px" %)((( 1178 -OK 1179 - 1180 -))) 1181 -|(% style="width:154px" %)AT+PWMSET=1|(% style="width:196px" %)The unit of PWM capture time is millisecond. The capture frequency range is between 5HZ and 250HZ. |(% style="width:157px" %)OK 1182 - 1183 -(% style="color:blue" %)**Downlink Command: 0x0C** 1184 - 1185 -Format: Command Code (0x0C) followed by 1 bytes. 1186 - 1187 -* Example 1: Downlink Payload: 0C00 **~-~-->** AT+PWMSET=0 1188 -* Example 2: Downlink Payload: 0C01 **~-~-->** AT+PWMSET=1 1189 - 1190 - 1191 1191 = 4. Battery & Power Consumption = 1192 1192 1193 1193 ... ... @@ -1200,43 +1200,24 @@ 1200 1200 1201 1201 1202 1202 (% class="wikigeneratedid" %) 1203 - **User can change firmware SN50v3-LB to:**682 +User can change firmware SN50v3-LB to: 1204 1204 1205 1205 * Change Frequency band/ region. 1206 1206 * Update with new features. 1207 1207 * Fix bugs. 1208 1208 1209 - **Firmware and changelog can be downloaded from :****[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]**688 +Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]** 1210 1210 1211 -**Methods to Update Firmware:** 1212 1212 1213 -* (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/]]** 1214 -* 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]]**. 691 +Methods to Update Firmware: 1215 1215 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 + 1216 1216 = 6. FAQ = 1217 1217 1218 -== 6.1 Where can i find source code of SN50v3-LB? == 1219 1219 1220 1220 1221 -* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].** 1222 -* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].** 1223 - 1224 -== 6.2 How to generate PWM Output in SN50v3-LB? == 1225 - 1226 - 1227 -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]]**. 1228 - 1229 - 1230 -== 6.3 How to put several sensors to a SN50v3-LB? == 1231 - 1232 - 1233 -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. 1234 - 1235 -[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]]. 1236 - 1237 -[[image:image-20230810121434-1.png||height="242" width="656"]] 1238 - 1239 - 1240 1240 = 7. Order Info = 1241 1241 1242 1242 ... ... @@ -1262,7 +1262,6 @@ 1262 1262 1263 1263 = 8. Packing Info = 1264 1264 1265 - 1266 1266 (% style="color:#037691" %)**Package Includes**: 1267 1267 1268 1268 * SN50v3-LB LoRaWAN Generic Node ... ... @@ -1278,5 +1278,4 @@ 1278 1278 1279 1279 1280 1280 * 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. 1281 - 1282 -* 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]] 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]]
- image-20230512163509-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.5 MB - Content
- image-20230512164658-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.0 MB - Content
- image-20230512170701-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.5 MB - Content
- image-20230512172447-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.0 MB - Content
- image-20230512173758-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.1 MB - Content
- image-20230512173903-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.3 MB - Content
- image-20230512180609-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.3 MB - Content
- image-20230512180718-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.3 MB - Content
- image-20230512181814-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.2 MB - Content
- image-20230513084523-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -611.3 KB - Content
- image-20230513102034-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -607.1 KB - Content
- image-20230513103633-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -595.5 KB - Content
- image-20230513105207-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -384.7 KB - Content
- image-20230513105351-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -37.6 KB - Content
- image-20230513110214-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -172.7 KB - Content
- image-20230513111203-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -79.9 KB - Content
- image-20230513111231-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -64.9 KB - Content
- image-20230513111255-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -70.4 KB - Content
- image-20230513134006-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 MB - Content
- image-20230515135611-1.jpeg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -948.0 KB - Content
- image-20230610162852-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -695.7 KB - Content
- image-20230610163213-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -695.4 KB - Content
- image-20230610170047-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -444.9 KB - Content
- image-20230610170152-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -359.5 KB - Content
- image-20230810121434-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -137.3 KB - Content
- image-20230811113449-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -973.1 KB - Content
- image-20230817170702-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -39.6 KB - Content
- image-20230817172209-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.3 MB - Content
- image-20230817173800-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.1 MB - Content
- image-20230817173830-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -508.5 KB - Content
- image-20230817173858-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.6 MB - Content
- image-20230817183137-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -137.1 KB - Content
- image-20230817183218-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -137.1 KB - Content
- image-20230817183249-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -948.6 KB - Content
- image-20230818092200-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -98.9 KB - Content