Changes for page SN50v3-LB/LS -- LoRaWAN Sensor Node User Manual
Last modified by Bei Jinggeng on 2025/01/10 15:51
Change comment:
Uploaded new attachment "image-20230817183137-1.png", version {1}
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 33 added, 0 removed)
- image-20230511203450-2.png
- 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
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -SN50v3-LB User Manual 1 +SN50v3-LB LoRaWAN Sensor Node User Manual - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Saxer - Content
-
... ... @@ -1,4 +1,5 @@ 1 -[[image:image-20230511201248-1.png||height="403" width="489"]] 1 +(% style="text-align:center" %) 2 +[[image:image-20230515135611-1.jpeg||height="589" width="589"]] 2 2 3 3 4 4 ... ... @@ -15,23 +15,21 @@ 15 15 16 16 == 1.1 What is SN50v3-LB LoRaWAN Generic Node == 17 17 19 + 18 18 (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere. 19 19 20 - 21 21 (% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on. 22 22 23 - 24 24 (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors. 25 25 26 - 27 27 (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining. 28 28 29 - 30 30 SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements. 31 31 32 32 33 33 == 1.2 Features == 34 34 33 + 35 35 * LoRaWAN 1.0.3 Class A 36 36 * Ultra-low power consumption 37 37 * Open-Source hardware/software ... ... @@ -42,8 +42,10 @@ 42 42 * Downlink to change configure 43 43 * 8500mAh Battery for long term use 44 44 44 + 45 45 == 1.3 Specification == 46 46 47 + 47 47 (% style="color:#037691" %)**Common DC Characteristics:** 48 48 49 49 * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v ... ... @@ -78,8 +78,10 @@ 78 78 * Sleep Mode: 5uA @ 3.3v 79 79 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 80 80 82 + 81 81 == 1.4 Sleep mode and working mode == 82 82 85 + 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. ... ... @@ -104,6 +104,7 @@ 104 104 ))) 105 105 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. 106 106 110 + 107 107 == 1.6 BLE connection == 108 108 109 109 ... ... @@ -122,6 +122,7 @@ 122 122 == 1.7 Pin Definitions == 123 123 124 124 129 +[[image:image-20230610163213-1.png||height="404" width="699"]] 125 125 126 126 127 127 == 1.8 Mechanical == ... ... @@ -134,8 +134,9 @@ 134 134 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 135 135 136 136 137 -== Hole Option == 142 +== 1.9 Hole Option == 138 138 144 + 139 139 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: 140 140 141 141 [[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"]] ... ... @@ -143,12 +143,12 @@ 143 143 [[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/1656298089706-973.png?rev=1.1||alt="1656298089706-973.png"]] 144 144 145 145 146 -= 2. Configure S3 1x-LB to connect to LoRaWAN network =152 += 2. Configure SN50v3-LB to connect to LoRaWAN network = 147 147 148 148 == 2.1 How it works == 149 149 150 150 151 -The S3 1x-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.157 +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. 152 152 153 153 154 154 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -156,14 +156,14 @@ 156 156 157 157 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. 158 158 159 -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.165 +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. 160 160 161 161 162 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S3 1x-LB.168 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB. 163 163 164 -Each S3 1x-LB is shipped with a sticker with the default device EUI as below:170 +Each SN50v3-LB is shipped with a sticker with the default device EUI as below: 165 165 166 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 172 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/WebHome/image-20230426084152-1.png?width=502&height=233&rev=1.1||alt="图片-20230426084152-1.png" height="233" width="502"]] 167 167 168 168 169 169 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: ... ... @@ -190,10 +190,10 @@ 190 190 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]] 191 191 192 192 193 -(% style="color:blue" %)**Step 2:**(%%) Activate onS31x-LB199 +(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB 194 194 195 195 196 -Press the button for 5 seconds to activate the S3 1x-LB.202 +Press the button for 5 seconds to activate the SN50v3-LB. 197 197 198 198 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 199 199 ... ... @@ -205,7 +205,7 @@ 205 205 === 2.3.1 Device Status, FPORT~=5 === 206 206 207 207 208 -Users can use the downlink command(**0x26 01**) to ask S3 1x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server.214 +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. 209 209 210 210 The Payload format is as below. 211 211 ... ... @@ -213,46 +213,44 @@ 213 213 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 214 214 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)** 215 215 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** 216 -|(% style="width:103px" %) **Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT222 +|(% 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 217 218 218 Example parse in TTNv3 219 219 220 -[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]] 221 221 227 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB, this value is 0x1C 222 222 223 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A 224 - 225 225 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 226 226 227 227 (% style="color:#037691" %)**Frequency Band**: 228 228 229 - *0x01: EU868233 +0x01: EU868 230 230 231 - *0x02: US915235 +0x02: US915 232 232 233 - *0x03: IN865237 +0x03: IN865 234 234 235 - *0x04: AU915239 +0x04: AU915 236 236 237 - *0x05: KZ865241 +0x05: KZ865 238 238 239 - *0x06: RU864243 +0x06: RU864 240 240 241 - *0x07: AS923245 +0x07: AS923 242 242 243 - *0x08: AS923-1247 +0x08: AS923-1 244 244 245 - *0x09: AS923-2249 +0x09: AS923-2 246 246 247 - *0x0a: AS923-3251 +0x0a: AS923-3 248 248 249 - *0x0b: CN470253 +0x0b: CN470 250 250 251 - *0x0c: EU433255 +0x0c: EU433 252 252 253 - *0x0d: KR920257 +0x0d: KR920 254 254 255 - *0x0e: MA869259 +0x0e: MA869 256 256 257 257 258 258 (% style="color:#037691" %)**Sub-Band**: ... ... @@ -273,41 +273,402 @@ 273 273 Ex2: 0x0B49 = 2889mV 274 274 275 275 276 -=== 2.3.2 280 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 === 277 277 278 278 279 -Sen sorDataisuplinkviaFPORT=2283 +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. 280 280 281 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 282 -|=(% style="width: 90px;background-color:#D9E2F3" %)((( 285 +For example: 286 + 287 + (% 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. 288 + 289 + 290 +(% style="color:red" %) **Important Notice:** 291 + 292 +~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. 293 + 294 +2. All modes share the same Payload Explanation from HERE. 295 + 296 +3. By default, the device will send an uplink message every 20 minutes. 297 + 298 + 299 +==== 2.3.2.1 MOD~=1 (Default Mode) ==== 300 + 301 + 302 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 303 + 304 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 305 +|(% 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** 306 +|Value|Bat|(% style="width:191px" %)((( 307 +Temperature(DS18B20)(PC13) 308 +)))|(% style="width:78px" %)((( 309 +ADC(PA4) 310 +)))|(% style="width:216px" %)((( 311 +Digital in(PB15)&Digital Interrupt(PA8) 312 +)))|(% style="width:308px" %)((( 313 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 314 +)))|(% style="width:154px" %)((( 315 +Humidity(SHT20 or SHT31) 316 +))) 317 + 318 +[[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"]] 319 + 320 + 321 +==== 2.3.2.2 MOD~=2 (Distance Mode) ==== 322 + 323 + 324 +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. 325 + 326 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 327 +|(% 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** 328 +|Value|BAT|(% style="width:196px" %)((( 329 +Temperature(DS18B20)(PC13) 330 +)))|(% style="width:87px" %)((( 331 +ADC(PA4) 332 +)))|(% style="width:189px" %)((( 333 +Digital in(PB15) & Digital Interrupt(PA8) 334 +)))|(% style="width:208px" %)((( 335 +Distance measure by: 1) LIDAR-Lite V3HP 336 +Or 2) Ultrasonic Sensor 337 +)))|(% style="width:117px" %)Reserved 338 + 339 +[[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"]] 340 + 341 + 342 +(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:** 343 + 344 +[[image:image-20230512173758-5.png||height="563" width="712"]] 345 + 346 + 347 +(% style="color:blue" %)**Connection to Ultrasonic Sensor:** 348 + 349 +(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.** 350 + 351 +[[image:image-20230512173903-6.png||height="596" width="715"]] 352 + 353 + 354 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below: 355 + 356 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 357 +|(% 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** 358 +|Value|BAT|(% style="width:183px" %)((( 359 +Temperature(DS18B20)(PC13) 360 +)))|(% style="width:173px" %)((( 361 +Digital in(PB15) & Digital Interrupt(PA8) 362 +)))|(% style="width:84px" %)((( 363 +ADC(PA4) 364 +)))|(% style="width:323px" %)((( 365 +Distance measure by:1)TF-Mini plus LiDAR 366 +Or 2) TF-Luna LiDAR 367 +)))|(% style="width:188px" %)Distance signal strength 368 + 369 +[[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"]] 370 + 371 + 372 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):** 373 + 374 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.** 375 + 376 +[[image:image-20230512180609-7.png||height="555" width="802"]] 377 + 378 + 379 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):** 380 + 381 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.** 382 + 383 +[[image:image-20230610170047-1.png||height="452" width="799"]] 384 + 385 + 386 +==== 2.3.2.3 MOD~=3 (3 ADC + I2C) ==== 387 + 388 + 389 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C 390 + 391 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 392 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 283 283 **Size(bytes)** 284 -)))|=(% 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 285 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 286 -[[Battery>>||anchor="HBattery:"]] 287 -)))|(% style="width:130px" %)((( 288 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 289 -)))|(% style="width:91px" %)((( 290 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] 291 -)))|(% style="width:103px" %)((( 292 -[[Temperature>>||anchor="HTemperature:"]] 293 -)))|(% style="width:80px" %)((( 294 -[[Humidity>>||anchor="HHumidity:"]] 394 +)))|=(% 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 395 +|Value|(% style="width:68px" %)((( 396 +ADC1(PA4) 397 +)))|(% style="width:75px" %)((( 398 +ADC2(PA5) 399 +)))|((( 400 +ADC3(PA8) 401 +)))|((( 402 +Digital Interrupt(PB15) 403 +)))|(% style="width:304px" %)((( 404 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 405 +)))|(% style="width:163px" %)((( 406 +Humidity(SHT20 or SHT31) 407 +)))|(% style="width:53px" %)Bat 408 + 409 +[[image:image-20230513110214-6.png]] 410 + 411 + 412 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 413 + 414 + 415 +This mode has total 11 bytes. As shown below: 416 + 417 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 418 +|(% 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** 419 +|Value|BAT|(% style="width:186px" %)((( 420 +Temperature1(DS18B20)(PC13) 421 +)))|(% style="width:82px" %)((( 422 +ADC(PA4) 423 +)))|(% style="width:210px" %)((( 424 +Digital in(PB15) & Digital Interrupt(PA8) 425 +)))|(% style="width:191px" %)Temperature2(DS18B20) 426 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8) 427 + 428 +[[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"]] 429 + 430 + 431 +[[image:image-20230513134006-1.png||height="559" width="736"]] 432 + 433 + 434 +==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 435 + 436 + 437 +[[image:image-20230512164658-2.png||height="532" width="729"]] 438 + 439 +Each HX711 need to be calibrated before used. User need to do below two steps: 440 + 441 +1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram. 442 +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. 443 +1. ((( 444 +Weight has 4 bytes, the unit is g. 445 + 446 + 447 + 295 295 ))) 296 296 297 - ==== (% style="color:#4472c4"%)**Battery**(%%) ====450 +For example: 298 298 299 - SensorBatteryLevel.452 +(% style="color:blue" %)**AT+GETSENSORVALUE =0** 300 300 454 +Response: Weight is 401 g 455 + 456 +Check the response of this command and adjust the value to match the real value for thing. 457 + 458 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 459 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 460 +**Size(bytes)** 461 +)))|=(% 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** 462 +|Value|BAT|(% style="width:193px" %)((( 463 +Temperature(DS18B20)(PC13) 464 +)))|(% style="width:85px" %)((( 465 +ADC(PA4) 466 +)))|(% style="width:186px" %)((( 467 +Digital in(PB15) & Digital Interrupt(PA8) 468 +)))|(% style="width:100px" %)Weight 469 + 470 +[[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"]] 471 + 472 + 473 +==== 2.3.2.6 MOD~=6 (Counting Mode) ==== 474 + 475 + 476 +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. 477 + 478 +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. 479 + 480 +[[image:image-20230512181814-9.png||height="543" width="697"]] 481 + 482 + 483 +(% 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.** 484 + 485 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 486 +|=(% 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** 487 +|Value|BAT|(% style="width:256px" %)((( 488 +Temperature(DS18B20)(PC13) 489 +)))|(% style="width:108px" %)((( 490 +ADC(PA4) 491 +)))|(% style="width:126px" %)((( 492 +Digital in(PB15) 493 +)))|(% style="width:145px" %)((( 494 +Count(PA8) 495 +))) 496 + 497 +[[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"]] 498 + 499 + 500 +==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 501 + 502 + 503 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 504 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 505 +**Size(bytes)** 506 +)))|=(% 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 507 +|Value|BAT|(% style="width:188px" %)((( 508 +Temperature(DS18B20) 509 +(PC13) 510 +)))|(% style="width:83px" %)((( 511 +ADC(PA5) 512 +)))|(% style="width:184px" %)((( 513 +Digital Interrupt1(PA8) 514 +)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved 515 + 516 +[[image:image-20230513111203-7.png||height="324" width="975"]] 517 + 518 + 519 +==== 2.3.2.8 MOD~=8 (3ADC+1DS18B20) ==== 520 + 521 + 522 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 523 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 524 +**Size(bytes)** 525 +)))|=(% 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 526 +|Value|BAT|(% style="width:207px" %)((( 527 +Temperature(DS18B20) 528 +(PC13) 529 +)))|(% style="width:94px" %)((( 530 +ADC1(PA4) 531 +)))|(% style="width:198px" %)((( 532 +Digital Interrupt(PB15) 533 +)))|(% style="width:84px" %)((( 534 +ADC2(PA5) 535 +)))|(% style="width:82px" %)((( 536 +ADC3(PA8) 537 +))) 538 + 539 +[[image:image-20230513111231-8.png||height="335" width="900"]] 540 + 541 + 542 +==== 2.3.2.9 MOD~=9 (3DS18B20+ two Interrupt count mode) ==== 543 + 544 + 545 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 546 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)((( 547 +**Size(bytes)** 548 +)))|=(% 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 549 +|Value|BAT|((( 550 +Temperature 551 +(DS18B20)(PC13) 552 +)))|((( 553 +Temperature2 554 +(DS18B20)(PB9) 555 +)))|((( 556 +Digital Interrupt 557 +(PB15) 558 +)))|(% style="width:193px" %)((( 559 +Temperature3 560 +(DS18B20)(PB8) 561 +)))|(% style="width:78px" %)((( 562 +Count1(PA8) 563 +)))|(% style="width:78px" %)((( 564 +Count2(PA4) 565 +))) 566 + 567 +[[image:image-20230513111255-9.png||height="341" width="899"]] 568 + 569 +(% style="color:blue" %)**The newly added AT command is issued correspondingly:** 570 + 571 +(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%) pin: Corresponding downlink: (% style="color:#037691" %)**06 00 00 xx** 572 + 573 +(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%) pin: Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx** 574 + 575 +(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%) pin: Corresponding downlink: (% style="color:#037691" %)** 06 00 02 xx** 576 + 577 + 578 +(% style="color:blue" %)**AT+SETCNT=aa,bb** 579 + 580 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb 581 + 582 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb 583 + 584 + 585 +==== 2.3.2.10 MOD~=10 (PWM input capture and output mode,Since firmware v1.2) ==== 586 + 587 +In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output. 588 + 589 + 590 +===== 2.3.2.10.a Uplink, PWM input capture ===== 591 + 592 +[[image:image-20230817172209-2.png||height="439" width="683"]] 593 + 594 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:690px" %) 595 +|(% 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** 596 +|Value|Bat|(% style="width:191px" %)((( 597 +Temperature(DS18B20)(PC13) 598 +)))|(% style="width:78px" %)((( 599 +ADC(PA4) 600 +)))|(% style="width:135px" %)((( 601 +PWM_Setting 602 + 603 +&Digital Interrupt(PA8) 604 +)))|(% style="width:70px" %)((( 605 +Pulse period 606 +)))|(% style="width:89px" %)((( 607 +Duration of high level 608 +))) 609 + 610 +[[image:image-20230817170702-1.png||height="161" width="1044"]] 611 + 612 + 613 +(% style="color:blue" %)**AT+PWMSET=AA(Default is 0) ==> Corresponding downlink: 0B AA** 614 + 615 +When AA is 0, the unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ. 616 + 617 +When AA is 1, the unit of PWM capture time is millisecond. The capture frequency range is between 5HZ and 250HZ. 618 + 619 + 620 +===== 2.3.2.10.b Downlink, PWM output ===== 621 + 622 +[[image:image-20230817173800-3.png||height="412" width="685"]] 623 + 624 +Downlink: (% style="color:#037691" %)**0B xx xx xx yy zz zz** 625 + 626 + xx xx xx is the output frequency, the unit is HZ. 627 + 628 + yy is the duty cycle of the output, the unit is %. 629 + 630 + zz zz is the time delay of the output, the unit is ms. 631 + 632 + 633 +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. 634 + 635 +The oscilloscope displays as follows: 636 + 637 +[[image:image-20230817173858-5.png||height="694" width="921"]] 638 + 639 + 640 +=== 2.3.3 Decode payload === 641 + 642 + 643 +While using TTN V3 network, you can add the payload format to decode the payload. 644 + 645 +[[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"]] 646 + 647 +The payload decoder function for TTN V3 are here: 648 + 649 +SN50v3-LB TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 650 + 651 + 652 +==== 2.3.3.1 Battery Info ==== 653 + 654 + 655 +Check the battery voltage for SN50v3-LB. 656 + 301 301 Ex1: 0x0B45 = 2885mV 302 302 303 303 Ex2: 0x0B49 = 2889mV 304 304 305 305 662 +==== 2.3.3.2 Temperature (DS18B20) ==== 306 306 307 -==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 308 308 309 - **Example**:665 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload. 310 310 667 +More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]] 668 + 669 +(% style="color:blue" %)**Connection:** 670 + 671 +[[image:image-20230512180718-8.png||height="538" width="647"]] 672 + 673 + 674 +(% style="color:blue" %)**Example**: 675 + 311 311 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 312 312 313 313 If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. ... ... @@ -315,200 +315,240 @@ 315 315 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 316 316 317 317 318 -==== (%style="color:#4472c4"%)**Humidity**(%%)====683 +==== 2.3.3.3 Digital Input ==== 319 319 320 320 321 - Read:0x(0197)=412Value:412/10=41.2,So 41.2%686 +The digital input for pin PB15, 322 322 688 +* When PB15 is high, the bit 1 of payload byte 6 is 1. 689 +* When PB15 is low, the bit 1 of payload byte 6 is 0. 323 323 324 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ==== 691 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %) 692 +((( 693 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin. 325 325 695 +(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.** 326 326 327 -**Example:** 697 + 698 +))) 328 328 329 - Ifpayload& 0x01 = 0x01 **~-~->** Thisisan AlarmMessage700 +==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 330 330 331 -If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm 332 332 333 - Ifpayload>>2=0x00**~-~->**means MOD=1,Thisisa samplinguplinkmessage703 +The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv. 334 334 335 - Ifpayload>>2=0x31**~-~->**meansMOD=31, thismessage isareplymessagefor polling,thismessagecontains thealarmsettings.see[[this link>>path:#HPolltheAlarmsettings:]]fordetail.705 +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. 336 336 707 +[[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"]] 337 337 338 -== 2.4 Payload Decoder file == 339 339 710 +(% 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.** 340 340 341 -In TTN, use can add a custom payload so it shows friendly reading 342 342 343 - In thepage(% style="color:#037691"%)**Applications~-~-> PayloadFormats~-~-> Custom~-~->decoder**(%%)to addthe decoderfrom:713 +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. 344 344 345 -[[ 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]]715 +[[image:image-20230811113449-1.png||height="370" width="608"]] 346 346 717 +==== 2.3.3.5 Digital Interrupt ==== 347 347 348 -== 2.5 Datalog Feature == 349 349 720 +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. 350 350 351 - 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.722 +(% style="color:blue" %)** Interrupt connection method:** 352 352 724 +[[image:image-20230513105351-5.png||height="147" width="485"]] 353 353 354 -=== 2.5.1 Ways to get datalog via LoRaWAN === 355 355 727 +(% style="color:blue" %)**Example to use with door sensor :** 356 356 357 - 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.729 +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. 358 358 359 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 360 -* 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. 731 +[[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"]] 361 361 362 - Below is the typical case for theauto-updatedatalogfeature(SetPNACKMD=1)733 +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. 363 363 364 -[[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"]] 365 365 366 -= ==2.5.2UnixTimeStamp===736 +(% style="color:blue" %)**Below is the installation example:** 367 367 738 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows: 368 368 369 -S31x-LB uses Unix TimeStamp format based on 740 +* ((( 741 +One pin to SN50v3-LB's PA8 pin 742 +))) 743 +* ((( 744 +The other pin to SN50v3-LB's VDD pin 745 +))) 370 370 371 - [[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"]]747 +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. 372 372 373 - Usercan get this timefrom link:[[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]]:749 +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. 374 374 375 - Belowis the converterexample751 +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. 376 376 377 -[[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"]]753 +[[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"]] 378 378 379 - So, wecan useAT+TIMESTAMP=1611889405ordownlink3060137afd00toset thecurrent time2021– Jan~-~- 29 Friday 03:03:25755 +The above photos shows the two parts of the magnetic switch fitted to a door. 380 380 757 +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. 381 381 382 - === 2.5.3 SetDevice Time===759 +The command is: 383 383 761 +(% 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]]**. **) 384 384 385 - Userneed to set(%style="color:blue" %)**SYNCMOD=1**(%%) toenablesyncimeviaMACcommand.763 +Below shows some screen captures in TTN V3: 386 386 387 - 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).765 +[[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"]] 388 388 389 -(% 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.** 390 390 768 +In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below: 391 391 392 -= ==2.5.4 DatalogUplinkpayload (FPORT~=3)===770 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN"; 393 393 394 394 395 - TheDataloguplinkswillusebelowpayloadformat.773 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ==== 396 396 397 -**Retrieval data payload:** 398 398 399 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 400 -|=(% style="width: 80px;background-color:#D9E2F3" %)((( 401 -**Size(bytes)** 402 -)))|=(% 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** 403 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)((( 404 -[[Temp_Black>>||anchor="HTemperatureBlack:"]] 405 -)))|(% style="width:51px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:89px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]] 776 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data. 406 406 407 - **Pollmessage flag&Ext:**778 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor. 408 408 409 - [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20221006192726-1.png?width=754&height=112&rev=1.1||alt="图片-20221006192726-1.png" height="112" width="754"]]780 +(% 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.** 410 410 411 -**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) 412 412 413 - **PollMessageFlag**:1:Thismessageis apoll messagereply.783 +Below is the connection to SHT20/ SHT31. The connection is as below: 414 414 415 - * Poll MessageFlagis set to 1.785 +[[image:image-20230610170152-2.png||height="501" width="846"]] 416 416 417 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 418 418 419 - Forexample,inUS915band,themaxpayloadfordifferent DR is:788 +The device will be able to get the I2C sensor data now and upload to IoT Server. 420 420 421 - **a) DR0:** maxs 11bytessotryofdata790 +[[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"]] 422 422 423 - **b)DR1:**maxis 53bytesso devices willupload4 entriesof data(total 44bytes)792 +Convert the read byte to decimal and divide it by ten. 424 424 425 -** c) DR2:** totalpayload includes 11 entries of data794 +**Example:** 426 426 427 - **d) DR3:**totalpayload includes22entries of data.796 +Temperature: Read:0116(H) = 278(D) Value: 278 /10=27.8℃; 428 428 429 - If devisedoesn'thavenydatainthepollingtime.Devicewilluplink 11 bytesof0798 +Humidity: Read:0248(H)=584(D) Value: 584 / 10=58.4, So 58.4% 430 430 800 +If you want to use other I2C device, please refer the SHT20 part source code as reference. 431 431 802 + 803 +==== 2.3.3.7 Distance Reading ==== 804 + 805 + 806 +Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]]. 807 + 808 + 809 +==== 2.3.3.8 Ultrasonic Sensor ==== 810 + 811 + 812 +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]] 813 + 814 +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. 815 + 816 +The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor. 817 + 818 +The picture below shows the connection: 819 + 820 +[[image:image-20230512173903-6.png||height="596" width="715"]] 821 + 822 + 823 +Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT). 824 + 825 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value. 826 + 432 432 **Example:** 433 433 434 - If S31x-LB hasbelow datainsideFlash:829 +Distance: Read: 0C2D(Hex) = 3117(D) Value: 3117 mm=311.7 cm 435 435 436 -[[image:1682646494051-944.png]] 437 437 438 - Ifusersendsbelowdownlinkcommand: 3160065F9760066DA705832 +==== 2.3.3.9 Battery Output - BAT pin ==== 439 439 440 -Where : Start time: 60065F97 = time 21/1/19 04:27:03 441 441 442 - Stop time:60066DA7=time21/1/1905:27:03835 +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. 443 443 444 444 445 - **S31x-LBwilluplinkthispayload.**838 +==== 2.3.3.10 +5V Output ==== 446 446 447 -[[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"]] 448 448 449 -((( 450 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 451 -))) 841 +SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 452 452 453 -((( 454 -Where the first 11 bytes is for the first entry: 455 -))) 843 +The 5V output time can be controlled by AT Command. 456 456 457 -((( 458 -7FFF089801464160065F97 459 -))) 845 +(% style="color:blue" %)**AT+5VT=1000** 460 460 461 -((( 462 -**Ext sensor data**=0x7FFF/100=327.67 463 -))) 847 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 464 464 465 -((( 466 -**Temp**=0x088E/100=22.00 467 -))) 849 +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. 468 468 469 -((( 470 -**Hum**=0x014B/10=32.6 471 -))) 472 472 473 -((( 474 -**poll message flag & Ext**=0x41,means reply data,Ext=1 475 -))) 852 +==== 2.3.3.11 BH1750 Illumination Sensor ==== 476 476 477 -((( 478 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 479 -))) 480 480 855 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 481 481 482 - (% 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="单击并拖动以调整大小" %)的857 +[[image:image-20230512172447-4.png||height="416" width="712"]] 483 483 484 -== 2.6 Temperature Alarm Feature == 485 485 860 +[[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"]] 486 486 487 -S31x-LB work flow with Alarm feature. 488 488 863 +==== 2.3.3.12 PWM MOD ==== 489 489 490 -[[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"]] 491 491 866 +==== 2.3.3.13 Working MOD ==== 492 492 493 -== 2.7 Frequency Plans == 494 494 869 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte). 495 495 496 - The S31x-LB usesOTAA modeandbelow frequency plansby default.If userwanttouseitwithdifferentfrequencyplan,pleaserefertheAT commandsets.871 +User can use the 3^^rd^^ ~~ 7^^th^^ bit of this byte to see the working mod: 497 497 873 +Case 7^^th^^ Byte >> 2 & 0x1f: 874 + 875 +* 0: MOD1 876 +* 1: MOD2 877 +* 2: MOD3 878 +* 3: MOD4 879 +* 4: MOD5 880 +* 5: MOD6 881 +* 6: MOD7 882 +* 7: MOD8 883 +* 8: MOD9 884 +* 9: MOD10 885 + 886 + 887 +== 2.4 Payload Decoder file == 888 + 889 + 890 +In TTN, use can add a custom payload so it shows friendly reading 891 + 892 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 893 + 894 +[[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]] 895 + 896 + 897 +== 2.5 Frequency Plans == 898 + 899 + 900 +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. 901 + 498 498 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 499 499 500 500 501 -= 3. Configure S3 1x-LB =905 += 3. Configure SN50v3-LB = 502 502 503 503 == 3.1 Configure Methods == 504 504 505 505 506 -S3 1x-LB supports below configure method:910 +SN50v3-LB supports below configure method: 507 507 508 508 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 509 509 * 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]]. 510 510 * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 511 511 916 + 512 512 == 3.2 General Commands == 513 513 514 514 ... ... @@ -522,10 +522,10 @@ 522 522 [[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/]] 523 523 524 524 525 -== 3.3 Commands special design for S3 1x-LB ==930 +== 3.3 Commands special design for SN50v3-LB == 526 526 527 527 528 -These commands only valid for S3 1x-LB, as below:933 +These commands only valid for SN50v3-LB, as below: 529 529 530 530 531 531 === 3.3.1 Set Transmit Interval Time === ... ... @@ -536,7 +536,7 @@ 536 536 (% style="color:blue" %)**AT Command: AT+TDC** 537 537 538 538 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 539 -|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response** 944 +|=(% 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** 540 540 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 541 541 30000 542 542 OK ... ... @@ -556,122 +556,168 @@ 556 556 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 557 557 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 558 558 964 + 559 559 === 3.3.2 Get Device Status === 560 560 561 561 562 -Send a LoRaWAN downlink to ask device send Alarmsettings.968 +Send a LoRaWAN downlink to ask the device to send its status. 563 563 564 -(% style="color:blue" %)**Downlink Payload: **(%%)0x26 01970 +(% style="color:blue" %)**Downlink Payload: 0x26 01** 565 565 566 -Sensor will upload Device Status via FPORT=5. See payload section for detail. 972 +Sensor will upload Device Status via **FPORT=5**. See payload section for detail. 567 567 568 568 569 -=== 3.3.3 Set TemperatureAlarm Threshold ===975 +=== 3.3.3 Set Interrupt Mode === 570 570 571 -* (% style="color:blue" %)**AT Command:** 572 572 573 - (%style="color:#037691"%)**AT+SHTEMP=min,max**978 +Feature, Set Interrupt mode for GPIO_EXIT. 574 574 575 -* When min=0, and max≠0, Alarm higher than max 576 -* When min≠0, and max=0, Alarm lower than min 577 -* When min≠0 and max≠0, Alarm higher than max or lower than min 980 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3** 578 578 579 -Example: 982 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 983 +|=(% 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** 984 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 985 +0 986 +OK 987 +the mode is 0 =Disable Interrupt 988 +))) 989 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 990 +Set Transmit Interval 991 +0. (Disable Interrupt), 992 +~1. (Trigger by rising and falling edge) 993 +2. (Trigger by falling edge) 994 +3. (Trigger by rising edge) 995 +)))|(% style="width:157px" %)OK 996 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)((( 997 +Set Transmit Interval 998 +trigger by rising edge. 999 +)))|(% style="width:157px" %)OK 1000 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK 580 580 581 - AT+SHTEMP=0,30 ~/~/ Alarmwhentemperature higher than30.1002 +(% style="color:blue" %)**Downlink Command: 0x06** 582 582 583 - * (% style="color:blue"%)**Downlink Payload:**1004 +Format: Command Code (0x06) followed by 3 bytes. 584 584 585 - (%style="color:#037691"%)**0x(0C01001E)**(%%)~/~/SetAT+SHTEMP=0,301006 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 586 586 587 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 1008 +* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 1009 +* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 1010 +* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 1011 +* Example 4: Downlink Payload: 06000201 **~-~-->** AT+INTMOD3=1 588 588 589 589 590 -=== 3.3.4 Set HumidityAlarm Threshold===1014 +=== 3.3.4 Set Power Output Duration === 591 591 592 -* (% style="color:blue" %)**AT Command:** 593 593 594 - (% style="color:#037691"%)**AT+SHHUM=min,max**1017 +Control the output duration 5V . Before each sampling, device will 595 595 596 -* When min=0, and max≠0, Alarm higher than max 597 -* When min≠0, and max=0, Alarm lower than min 598 -* When min≠0 and max≠0, Alarm higher than max or lower than min 1019 +~1. first enable the power output to external sensor, 599 599 600 - Example:1021 +2. keep it on as per duration, read sensor value and construct uplink payload 601 601 602 - AT+SHHUM=70,0~/~/ Alarmwhenhumidity lower than 70%.1023 +3. final, close the power output. 603 603 604 - *(% style="color:blue" %)**DownlinkPayload:**1025 +(% style="color:blue" %)**AT Command: AT+5VT** 605 605 606 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) ~/~/ Set AT+SHTHUM=70,0 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+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)((( 1030 +500(default) 1031 +OK 1032 +))) 1033 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)((( 1034 +Close after a delay of 1000 milliseconds. 1035 +)))|(% style="width:157px" %)OK 607 607 608 -(% style="color: red" %)**(note: 3^^rd^^ byte= 0x46 for lowmit(70%), 4^^th^^ byte = 0x00 for high limit (notset))**1037 +(% style="color:blue" %)**Downlink Command: 0x07** 609 609 1039 +Format: Command Code (0x07) followed by 2 bytes. 610 610 611 - ===3.3.5SetAlarmInterval===1041 +The first and second bytes are the time to turn on. 612 612 613 -The shortest time of two Alarm packet. (unit: min) 1043 +* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 1044 +* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 614 614 615 -* (% style="color:blue" %)**AT Command:** 616 616 617 - (% style="color:#037691" %)**AT+ATDC=30**(%%) ~/~/ Theshortestinterval of two Alarm packetsis 30 minutes, Means is thereis analarmpacket uplink, there won't beanother one inthenext 30 minutes.1047 +=== 3.3.5 Set Weighing parameters === 618 618 619 -* (% style="color:blue" %)**Downlink Payload:** 620 620 621 - (% style="color:#037691"%)**0x(0D001E)**(%%)**~-~-->** SetAT+ATDC=0x001E=30 minutes1050 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711. 622 622 1052 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP** 623 623 624 -=== 3.3.6 Get Alarm settings === 1054 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1055 +|=(% 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** 1056 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK 1057 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default) 1058 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK 625 625 1060 +(% style="color:blue" %)**Downlink Command: 0x08** 626 626 627 - SendaLoRaWANdownlink toaskdevicesendAlarmsettings.1062 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes. 628 628 629 - *(%style="color:#037691"%)**DownlinkPayload:**(%%)0x0E011064 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes. 630 630 631 - **Example:**1066 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value. 632 632 633 -[[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"]] 1068 +* Example 1: Downlink Payload: 0801 **~-~-->** AT+WEIGRE 1069 +* Example 2: Downlink Payload: 08020FA3 **~-~-->** AT+WEIGAP=400.3 1070 +* Example 3: Downlink Payload: 08020FA0 **~-~-->** AT+WEIGAP=400.0 634 634 635 635 636 - **Explain:**1073 +=== 3.3.6 Set Digital pulse count value === 637 637 638 -* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. 639 639 640 - ===3.3.7SetInterruptMode===1076 +Feature: Set the pulse count value. 641 641 1078 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9. 642 642 643 - Feature,SetInterruptmodefor GPIO_EXIT.1080 +(% style="color:blue" %)**AT Command: AT+SETCNT** 644 644 645 -(% style="color:blue" %)**AT Command: AT+INTMOD** 1082 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1083 +|=(% 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** 1084 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK 1085 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK 646 646 1087 +(% style="color:blue" %)**Downlink Command: 0x09** 1088 + 1089 +Format: Command Code (0x09) followed by 5 bytes. 1090 + 1091 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized. 1092 + 1093 +* Example 1: Downlink Payload: 090100000000 **~-~-->** AT+SETCNT=1,0 1094 +* Example 2: Downlink Payload: 0902000003E8 **~-~-->** AT+SETCNT=2,1000 1095 + 1096 + 1097 +=== 3.3.7 Set Workmode === 1098 + 1099 + 1100 +Feature: Switch working mode. 1101 + 1102 +(% style="color:blue" %)**AT Command: AT+MOD** 1103 + 647 647 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 648 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 649 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 650 -0 1105 +|=(% 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** 1106 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)((( 651 651 OK 652 -the mode is 0 =Disable Interrupt 653 653 ))) 654 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 655 -Set Transmit Interval 656 -0. (Disable Interrupt), 657 -~1. (Trigger by rising and falling edge) 658 -2. (Trigger by falling edge) 659 -3. (Trigger by rising edge) 660 -)))|(% style="width:157px" %)OK 1109 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)((( 1110 +OK 1111 +Attention:Take effect after ATZ 1112 +))) 661 661 662 -(% style="color:blue" %)**Downlink Command: 0x0 6**1114 +(% style="color:blue" %)**Downlink Command: 0x0A** 663 663 664 -Format: Command Code (0x0 6) followed by3bytes.1116 +Format: Command Code (0x0A) followed by 1 bytes. 665 665 666 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 1118 +* Example 1: Downlink Payload: 0A01 **~-~-->** AT+MOD=1 1119 +* Example 2: Downlink Payload: 0A04 **~-~-->** AT+MOD=4 667 667 668 -* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 669 -* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 670 670 671 671 = 4. Battery & Power Consumption = 672 672 673 673 674 -S3 1x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.1125 +SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. 675 675 676 676 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . 677 677 ... ... @@ -680,67 +680,87 @@ 680 680 681 681 682 682 (% class="wikigeneratedid" %) 683 -User can change firmware S3 1x-LB to:1134 +**User can change firmware SN50v3-LB to:** 684 684 685 685 * Change Frequency band/ region. 686 686 * Update with new features. 687 687 * Fix bugs. 688 688 689 -Firmware and changelog can be downloaded from : **[[Firmware download link>> url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**1140 +**Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]** 690 690 1142 +**Methods to Update Firmware:** 691 691 692 -Methods to Update Firmware: 1144 +* (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/]]** 1145 +* 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]]**. 693 693 694 -* (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/]] 695 -* 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]]**. 696 696 697 697 = 6. FAQ = 698 698 1150 +== 6.1 Where can i find source code of SN50v3-LB? == 699 699 700 700 1153 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].** 1154 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].** 1155 + 1156 + 1157 +== 6.2 How to generate PWM Output in SN50v3-LB? == 1158 + 1159 + 1160 +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]]**. 1161 + 1162 + 1163 +== 6.3 How to put several sensors to a SN50v3-LB? == 1164 + 1165 + 1166 +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. 1167 + 1168 +[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]]. 1169 + 1170 +[[image:image-20230810121434-1.png||height="242" width="656"]] 1171 + 1172 + 701 701 = 7. Order Info = 702 702 703 703 704 -Part Number: 1-LB-XX/ S31B-LB-XX**1176 +Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY** 705 705 706 706 (% style="color:red" %)**XX**(%%): The default frequency band 707 707 708 708 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 709 - 710 710 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 711 - 712 712 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 713 - 714 714 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 715 - 716 716 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 717 - 718 718 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band 719 - 720 720 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 721 - 722 722 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 723 723 724 -= =1189 +(% style="color:red" %)**YY: ** (%%)Hole Option 725 725 1191 +* (% style="color:red" %)**12**(%%): With M12 waterproof cable hole 1192 +* (% style="color:red" %)**16**(%%): With M16 waterproof cable hole 1193 +* (% style="color:red" %)**20**(%%): With M20 waterproof cable hole 1194 +* (% style="color:red" %)**NH**(%%): No Hole 1195 + 1196 + 726 726 = 8. Packing Info = 727 727 1199 + 728 728 (% style="color:#037691" %)**Package Includes**: 729 729 730 -* S3 1x-LB LoRaWANTemperature & HumiditySensor1202 +* SN50v3-LB LoRaWAN Generic Node 731 731 732 732 (% style="color:#037691" %)**Dimension and weight**: 733 733 734 734 * Device Size: cm 735 - 736 736 * Device Weight: g 737 - 738 738 * Package Size / pcs : cm 739 - 740 740 * Weight / pcs : g 741 741 1211 + 742 742 = 9. Support = 743 743 744 744 745 745 * 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. 746 -* 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]] 1216 + 1217 +* 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-20230511203450-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +679.1 KB - Content
- 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