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, 50 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
- image-20230817183218-2.png
- image-20230817183249-3.png
- image-20230818092200-1.png
- image-20231213102404-1.jpeg
- image-20231231202945-1.png
- image-20231231203148-2.png
- image-20231231203439-3.png
- image-20240103095513-1.jpeg
- image-20240103095714-2.png
- image-20240717113113-1.png
- image-20240717141512-1.jpeg
- image-20240717141528-2.jpeg
- image-20240717145707-3.png
- image-20240717150334-4.png
- image-20240717150948-5.png
- image-20240717152224-6.jpeg
- image-20240924112806-1.png
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -SN50v3-LB User Manual 1 +SN50v3-LB/LS -- LoRaWAN Sensor Node User Manual - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Bei - Content
-
... ... @@ -1,37 +1,40 @@ 1 - [[image:image-20230511201248-1.png||height="403"width="489"]]1 + 2 2 3 +(% style="text-align:center" %) 4 +[[image:image-20240103095714-2.png]] 3 3 4 4 5 -**Table of Contents:** 6 6 7 -{{toc/}} 8 8 9 9 10 10 11 +**Table of Contents:** 11 11 13 +{{toc/}} 12 12 13 13 14 -= 1. Introduction = 15 15 16 -== 1.1 What is SN50v3-LB LoRaWAN Generic Node == 17 17 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 20 21 - (% style="color:blue"%)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.Itprovides ultra-long range spread spectrum communication andhigh interference immunity whilst minimisingcurrentconsumption.Ittargets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.20 += 1. Introduction = 22 22 22 +== 1.1 What is SN50v3-LB/LS LoRaWAN Generic Node == 23 23 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 25 +(% style="color:blue" %)**SN50V3-LB/LS **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mAh Li/SOCl2 battery**(%%) or (% style="color:blue" %)**solar powered + Li-ion battery**(%%) for long term use.SN50V3-LB/LS 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. 26 26 27 -(% style="color:blue" %)**SN50V3-LB**(%%) hasa built-inBLEmodule,usercan configure thensor remotely viaMobile Phone.ItalsosupportOTAupgradeviaprivateLoRaprotocolforeasymaintaining.27 +(% style="color:blue" %)**SN50V3-LB/LS wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, and so on. 28 28 29 +SN50V3-LB/LS has a powerful (% style="color:blue" %)**48Mhz ARM microcontroller with 256KB flash and 64KB RAM**(%%). It has (% style="color:blue" %)**multiplex I/O pins**(%%) to connect to different sensors. 29 29 30 -SN50V3-LB isthe3^^rd^^generationofLSN50seriesgenericsensornodefrom Dragino. Itisan(% style="color:blue" %)**opensourceproject**(%%) andhas a mature LoRaWANstack and application software. Usercan use the pre-loadsoftware fortheir IoT projects or easilycustomizethe software for different requirements.31 +SN50V3-LB/LS has a (% style="color:blue" %)**built-in BLE module**(%%), user can configure the sensor remotely via Mobile Phone. It also support (% style="color:blue" %)**OTA upgrade**(%%) via private LoRa protocol for easy maintaining. 31 31 33 +SN50V3-LB/LS 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. 32 32 33 33 == 1.2 Features == 34 34 37 + 35 35 * LoRaWAN 1.0.3 Class A 36 36 * Ultra-low power consumption 37 37 * Open-Source hardware/software ... ... @@ -40,13 +40,15 @@ 40 40 * Support wireless OTA update firmware 41 41 * Uplink on periodically 42 42 * Downlink to change configure 43 -* 8500mAh Battery for long term use 46 +* 8500mAh Li/SOCl2 Battery (SN50v3-LB) 47 +* Solar panel + 3000mAh Li-ion battery (SN50v3-LS) 44 44 45 45 == 1.3 Specification == 46 46 51 + 47 47 (% style="color:#037691" %)**Common DC Characteristics:** 48 48 49 -* Supply Voltage: built8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v54 +* Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v 50 50 * Operating Temperature: -40 ~~ 85°C 51 51 52 52 (% style="color:#037691" %)**I/O Interface:** ... ... @@ -80,6 +80,7 @@ 80 80 81 81 == 1.4 Sleep mode and working mode == 82 82 88 + 83 83 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life. 84 84 85 85 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode. ... ... @@ -88,11 +88,10 @@ 88 88 == 1.5 Button & LEDs == 89 89 90 90 91 -[[image: Main.User.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]97 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LB_Waterproof_RS485UART_to_LoRaWAN_Converter/WebHome/image-20240103160425-4.png?rev=1.1||alt="image-20240103160425-4.png"]] 92 92 93 - 94 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 95 -|=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action** 99 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 100 +|=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action** 96 96 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( 97 97 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 98 98 Meanwhile, BLE module will be active and user can connect via BLE to configure device. ... ... @@ -107,7 +107,7 @@ 107 107 == 1.6 BLE connection == 108 108 109 109 110 -SN50v3-LB supports BLE remote configure. 115 +SN50v3-LB/LS supports BLE remote configure. 111 111 112 112 113 113 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case: ... ... @@ -122,52 +122,39 @@ 122 122 == 1.7 Pin Definitions == 123 123 124 124 125 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 126 -|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 218px;background-color:#D9E2F3;color:#0070C0" %)Probe Info 127 -|(% style="width:102px" %)S31-LB|(% style="width:190px" %)[[image:S31.jpg]]|(% style="width:297px" %)((( 128 -1 x SHT31 Probe 130 +[[image:image-20230610163213-1.png||height="404" width="699"]] 129 129 130 -Cable Length : 2 meters 131 131 132 - 133 -))) 134 -|(% style="width:102px" %)S31B-LB|(% style="width:190px" %)[[image:S31B.jpg]]|(% style="width:297px" %)((( 135 -1 x SHT31 Probe 133 +== 1.8 Mechanical == 136 136 137 -Installed in device. 138 -))) 135 +=== 1.8.1 for LB version === 139 139 140 -(% style="display:none" %) 141 141 138 +[[image:image-20240924112806-1.png||height="548" width="894"]] 142 142 143 143 144 -== 1.8 Mechanical == 145 145 142 +=== 1.8.2 for LS version === 146 146 147 -[[image: Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]144 +[[image:image-20231231203439-3.png||height="385" width="886"]] 148 148 149 149 150 - [[image:Main.UserManual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]147 +== 1.9 Hole Option == 151 151 152 152 153 - [[image:Main.UserManualforLoRaWAN EndNodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]150 +SN50v3-LB/LS has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below: 154 154 155 - 156 -== Hole Option == 157 - 158 -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: 159 - 160 160 [[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"]] 161 161 162 162 [[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"]] 163 163 164 164 165 -= 2. Configure S3 1x-LB to connect to LoRaWAN network =157 += 2. Configure SN50v3-LB/LS to connect to LoRaWAN network = 166 166 167 167 == 2.1 How it works == 168 168 169 169 170 -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.162 +The SN50v3-LB/LS 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/LS. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 171 171 172 172 173 173 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -175,14 +175,14 @@ 175 175 176 176 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. 177 177 178 -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.170 +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. 179 179 180 180 181 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S3 1x-LB.173 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB/LS. 182 182 183 -Each S3 1x-LB is shipped with a sticker with the default device EUI as below:175 +Each SN50v3-LB/LS is shipped with a sticker with the default device EUI as below: 184 184 185 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 177 +[[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"]] 186 186 187 187 188 188 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: ... ... @@ -208,12 +208,10 @@ 208 208 209 209 [[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"]] 210 210 203 +(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB/LS 211 211 212 - (%style="color:blue"%)**Step2:**(%%) ActivateonS31x-LB205 +Press the button for 5 seconds to activate the SN50v3-LB/LS. 213 213 214 - 215 -Press the button for 5 seconds to activate the S31x-LB. 216 - 217 217 (% 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. 218 218 219 219 After join success, it will start to upload messages to TTN and you can see the messages in the panel. ... ... @@ -224,54 +224,52 @@ 224 224 === 2.3.1 Device Status, FPORT~=5 === 225 225 226 226 227 -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.217 +Users can use the downlink command(**0x26 01**) to ask SN50v3-LB/LS to send device configure detail, include device configure status. SN50v3-LB/LS will uplink a payload via FPort=5 to server. 228 228 229 229 The Payload format is as below. 230 230 231 231 232 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)233 -|(% colspan="6" style="background-color:# d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**222 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 223 +|(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)** 234 234 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** 235 -|(% style="width:103px" %) **Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT225 +|(% 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 236 236 237 237 Example parse in TTNv3 238 238 239 -[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]] 240 240 230 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB/LS, this value is 0x1C 241 241 242 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A 243 - 244 244 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 245 245 246 246 (% style="color:#037691" %)**Frequency Band**: 247 247 248 - *0x01: EU868236 +0x01: EU868 249 249 250 - *0x02: US915238 +0x02: US915 251 251 252 - *0x03: IN865240 +0x03: IN865 253 253 254 - *0x04: AU915242 +0x04: AU915 255 255 256 - *0x05: KZ865244 +0x05: KZ865 257 257 258 - *0x06: RU864246 +0x06: RU864 259 259 260 - *0x07: AS923248 +0x07: AS923 261 261 262 - *0x08: AS923-1250 +0x08: AS923-1 263 263 264 - *0x09: AS923-2252 +0x09: AS923-2 265 265 266 - *0x0a: AS923-3254 +0x0a: AS923-3 267 267 268 - *0x0b: CN470256 +0x0b: CN470 269 269 270 - *0x0c: EU433258 +0x0c: EU433 271 271 272 - *0x0d: KR920260 +0x0d: KR920 273 273 274 - *0x0e: MA869262 +0x0e: MA869 275 275 276 276 277 277 (% style="color:#037691" %)**Sub-Band**: ... ... @@ -292,237 +292,765 @@ 292 292 Ex2: 0x0B49 = 2889mV 293 293 294 294 295 -=== 2.3.2 283 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 === 296 296 297 297 298 -Sen sorDataisuplinkviaFPORT=2286 +SN50v3-LB/LS 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/LS to different working modes. 299 299 300 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 301 -|=(% style="width: 90px;background-color:#D9E2F3" %)((( 302 -**Size(bytes)** 303 -)))|=(% 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 304 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 305 -[[Battery>>||anchor="HBattery:"]] 306 -)))|(% style="width:130px" %)((( 307 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 308 -)))|(% style="width:91px" %)((( 309 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] 310 -)))|(% style="width:103px" %)((( 311 -[[Temperature>>||anchor="HTemperature:"]] 312 -)))|(% style="width:80px" %)((( 313 -[[Humidity>>||anchor="HHumidity:"]] 288 +For example: 289 + 290 + (% 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. 291 + 292 + 293 +(% style="color:red" %) **Important Notice:** 294 + 295 +~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/LS transmit in DR0 with 12 bytes payload. 296 + 297 +2. All modes share the same Payload Explanation from HERE. 298 + 299 +3. By default, the device will send an uplink message every 20 minutes. 300 + 301 + 302 +==== 2.3.2.1 MOD~=1 (Default Mode) ==== 303 + 304 + 305 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 306 + 307 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 308 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:90px" %)**1**|(% style="background-color:#4f81bd; color:white; width:128px" %)**2**|(% style="background-color:#4f81bd; color:white; width:79px" %)**2** 309 +|Value|Bat|(% style="width:191px" %)((( 310 +Temperature(DS18B20)(PC13) 311 +)))|(% style="width:78px" %)((( 312 +ADC(PA4) 313 +)))|(% style="width:216px" %)((( 314 +Digital in(PB15)&Digital Interrupt(PA8) 315 +)))|(% style="width:308px" %)((( 316 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 317 +)))|(% style="width:154px" %)((( 318 +Humidity(SHT20 or SHT31) 314 314 ))) 315 315 316 - ==== (% style="color:#4472c4"%)**Battery**(%%)====321 +[[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"]] 317 317 318 -Sensor Battery Level. 319 319 320 - Ex1:0x0B45=885mV324 +==== 2.3.2.2 MOD~=2 (Distance Mode) ==== 321 321 322 -Ex2: 0x0B49 = 2889mV 323 323 327 +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. 324 324 329 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 330 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:29px" %)**2**|(% style="background-color:#4f81bd; color:white; width:108px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:110px" %)**1**|(% style="background-color:#4f81bd; color:white; width:140px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2** 331 +|Value|BAT|(% style="width:196px" %)((( 332 +Temperature(DS18B20)(PC13) 333 +)))|(% style="width:87px" %)((( 334 +ADC(PA4) 335 +)))|(% style="width:189px" %)((( 336 +Digital in(PB15) & Digital Interrupt(PA8) 337 +)))|(% style="width:208px" %)((( 338 +Distance measure by: 1) LIDAR-Lite V3HP 339 +Or 2) Ultrasonic Sensor 340 +)))|(% style="width:117px" %)Reserved 325 325 326 - ==== (% style="color:#4472c4"%)**Temperature**(%%)====342 +[[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"]] 327 327 328 -**Example**: 329 329 330 - Ifpayload is:0105H: (0105 & 8000 == 0),temp= 0105H/10 = 26.1 degree345 +(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:** 331 331 332 - If payloadis:FF3FH : (FF3F & 8000 ==1) , temp = (FF3FH-65536)/10 = -19.3 degrees.347 +[[image:image-20230512173758-5.png||height="563" width="712"]] 333 333 334 -(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 335 335 350 +(% style="color:blue" %)**Connection to Ultrasonic Sensor:** 336 336 337 - ====(% style="color:#4472c4" %)**Humidity**(%%) ====352 +(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.** 338 338 354 +[[image:image-20230512173903-6.png||height="596" width="715"]] 339 339 340 -Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 341 341 357 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below: 342 342 343 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ==== 359 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 360 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:120px" %)**2**|(% style="background-color:#4f81bd; color:white; width:77px" %)**2** 361 +|Value|BAT|(% style="width:183px" %)((( 362 +Temperature(DS18B20)(PC13) 363 +)))|(% style="width:173px" %)((( 364 +Digital in(PB15) & Digital Interrupt(PA8) 365 +)))|(% style="width:84px" %)((( 366 +ADC(PA4) 367 +)))|(% style="width:323px" %)((( 368 +Distance measure by:1)TF-Mini plus LiDAR 369 +Or 2) TF-Luna LiDAR 370 +)))|(% style="width:188px" %)Distance signal strength 344 344 372 +[[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"]] 345 345 346 -**Example:** 347 347 348 - If payload & 0x01 = 0x01**~-~->**Thisisan AlarmMessage375 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):** 349 349 350 - Ifpayload&0x01=0x00**~-~->** Thisisa normaluplinkmessage,noalarm377 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.** 351 351 352 - If payload >>2=0x00**~-~->** means MOD=1, This is a samplinguplink message379 +[[image:image-20230512180609-7.png||height="555" width="802"]] 353 353 354 -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. 355 355 382 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):** 356 356 357 - ==2.4 PayloadDecoderfile==384 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.** 358 358 386 +[[image:image-20230610170047-1.png||height="452" width="799"]] 359 359 360 -In TTN, use can add a custom payload so it shows friendly reading 361 361 362 - Inthepage(% style="color:#037691"%)**Applications ~-~-> Payload Formats ~-~->Custom~-~->decoder**(%%)to add the decoder from:389 +==== 2.3.2.3 MOD~=3 (3 ADC + I2C) ==== 363 363 364 -[[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]] 365 365 392 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C 366 366 367 -== 2.5 Datalog Feature == 394 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 395 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)((( 396 +**Size(bytes)** 397 +)))|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 110px;background-color:#4F81BD;color:white" %)2|=(% style="width: 97px;background-color:#4F81BD;color:white" %)2|=(% style="width: 20px;background-color:#4F81BD;color:white" %)1 398 +|Value|(% style="width:68px" %)((( 399 +ADC1(PA4) 400 +)))|(% style="width:75px" %)((( 401 +ADC2(PA5) 402 +)))|((( 403 +ADC3(PA8) 404 +)))|((( 405 +Digital Interrupt(PB15) 406 +)))|(% style="width:304px" %)((( 407 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor) 408 +)))|(% style="width:163px" %)((( 409 +Humidity(SHT20 or SHT31) 410 +)))|(% style="width:53px" %)Bat 368 368 412 +[[image:image-20230513110214-6.png]] 369 369 370 -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. 371 371 415 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 372 372 373 -=== 2.5.1 Ways to get datalog via LoRaWAN === 374 374 418 +This mode has total 11 bytes. As shown below: 375 375 376 -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. 420 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 421 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:99px" %)**1**|(% style="background-color:#4f81bd; color:white; width:99px" %)**2**|(% style="background-color:#4f81bd; color:white; width:99px" %)**2** 422 +|Value|BAT|(% style="width:186px" %)((( 423 +Temperature1(DS18B20)(PC13) 424 +)))|(% style="width:82px" %)((( 425 +ADC(PA4) 426 +)))|(% style="width:210px" %)((( 427 +Digital in(PB15) & Digital Interrupt(PA8) 428 +)))|(% style="width:191px" %)Temperature2(DS18B20) 429 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8) 377 377 378 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 379 -* 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. 431 +[[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"]] 380 380 381 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 382 382 383 -[[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"]]434 +[[image:image-20230513134006-1.png||height="559" width="736"]] 384 384 385 -=== 2.5.2 Unix TimeStamp === 386 386 437 +==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 387 387 388 -S31x-LB uses Unix TimeStamp format based on 389 389 390 -[[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"]]440 +[[image:image-20230512164658-2.png||height="532" width="729"]] 391 391 392 - User cangetthistimefromlink: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]]:442 +Each HX711 need to be calibrated before used. User need to do below two steps: 393 393 394 -Below is the converter example 444 +1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram. 445 +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. 446 +1. ((( 447 +Weight has 4 bytes, the unit is g. 395 395 396 -[[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"]] 397 397 398 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 450 + 451 +))) 399 399 453 +For example: 400 400 401 - ===2.5.3 SetDevice Time===455 +(% style="color:blue" %)**AT+GETSENSORVALUE =0** 402 402 457 +Response: Weight is 401 g 403 403 404 - Userneedtot(%style="color:blue"%)**SYNCMOD=1**(%%)toenablesync time viaMAC command.459 +Check the response of this command and adjust the value to match the real value for thing. 405 405 406 -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). 461 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 462 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)((( 463 +**Size(bytes)** 464 +)))|=(% style="width: 20px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 150px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 198px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 49px;background-color:#4F81BD;color:white" %)**4** 465 +|Value|BAT|(% style="width:193px" %)((( 466 +Temperature(DS18B20)(PC13) 467 +)))|(% style="width:85px" %)((( 468 +ADC(PA4) 469 +)))|(% style="width:186px" %)((( 470 +Digital in(PB15) & Digital Interrupt(PA8) 471 +)))|(% style="width:100px" %)Weight 407 407 408 - (% style="color:red" %)**Note: LoRaWAN Serverneed to supportLoRaWANv1.0.3(MAC v1.0.3)or higher to support this MAC commandfeature, Chirpstack,TTNV3 v3 and loriot support but TTN3 v2doesn'tsupport. If server doesn't support this command, itwillthroughway uplink packetwith this command,so user will lose the packet withtime request for TTN V3 v2 if SYNCMOD=1.**473 +[[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"]] 409 409 410 410 411 -=== 2. 5.4DatalogUplinkpayload(FPORT~=3) ===476 +==== 2.3.2.6 MOD~=6 (Counting Mode) ==== 412 412 413 413 414 - TheDataloguplinkswill usebelowpayloadformat.479 +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. 415 415 416 - **Retrievaldata payload:**481 +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. 417 417 418 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 419 -|=(% style="width: 80px;background-color:#D9E2F3" %)((( 483 +[[image:image-20230512181814-9.png||height="543" width="697"]] 484 + 485 + 486 +(% 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.** 487 + 488 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 489 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**Size(bytes)**|=(% style="width: 40px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 180px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 77px;background-color:#4F81BD;color:white" %)**4** 490 +|Value|BAT|(% style="width:256px" %)((( 491 +Temperature(DS18B20)(PC13) 492 +)))|(% style="width:108px" %)((( 493 +ADC(PA4) 494 +)))|(% style="width:126px" %)((( 495 +Digital in(PB15) 496 +)))|(% style="width:145px" %)((( 497 +Count(PA8) 498 +))) 499 + 500 +[[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"]] 501 + 502 + 503 +==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 504 + 505 + 506 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 507 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)((( 420 420 **Size(bytes)** 421 -)))|=(% 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** 422 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)((( 423 -[[Temp_Black>>||anchor="HTemperatureBlack:"]] 424 -)))|(% 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"]] 509 +)))|=(% style="width: 20px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)1|=(% style="width: 40px;background-color:#4F81BD;color:white" %)2 510 +|Value|BAT|(% style="width:188px" %)((( 511 +Temperature(DS18B20) 512 +(PC13) 513 +)))|(% style="width:83px" %)((( 514 +ADC(PA5) 515 +)))|(% style="width:184px" %)((( 516 +Digital Interrupt1(PA8) 517 +)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved 425 425 426 - **Pollmessageflag& Ext:**519 +[[image:image-20230513111203-7.png||height="324" width="975"]] 427 427 428 -[[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"]] 429 429 430 - **NoACK Message**:1: This message means this payload is fromn UplinkMessagewhich doesn't getACK from the server before ( for **PNACKMD=1**feature)522 +==== 2.3.2.8 MOD~=8 (3ADC+1DS18B20) ==== 431 431 432 -**Poll Message Flag**: 1: This message is a poll message reply. 433 433 434 -* Poll Message Flag is set to 1. 525 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 526 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)((( 527 +**Size(bytes)** 528 +)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 110px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 119px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 69px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 69px;background-color:#4F81BD;color:white" %)2 529 +|Value|BAT|(% style="width:207px" %)((( 530 +Temperature(DS18B20) 531 +(PC13) 532 +)))|(% style="width:94px" %)((( 533 +ADC1(PA4) 534 +)))|(% style="width:198px" %)((( 535 +Digital Interrupt(PB15) 536 +)))|(% style="width:84px" %)((( 537 +ADC2(PA5) 538 +)))|(% style="width:82px" %)((( 539 +ADC3(PA8) 540 +))) 435 435 436 - * Each data entryis 11 bytes, to save airtimeand battery, devices will sendmax bytes accordingto thecurrentDR andFrequency bands.542 +[[image:image-20230513111231-8.png||height="335" width="900"]] 437 437 438 -For example, in US915 band, the max payload for different DR is: 439 439 440 - **a)DR0:**maxis11bytes sooneentryofdata545 +==== 2.3.2.9 MOD~=9 (3DS18B20+ two Interrupt count mode) ==== 441 441 442 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 443 443 444 -**c) DR2:** total payload includes 11 entries of data 548 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 549 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)((( 550 +**Size(bytes)** 551 +)))|=(% style="width: 20px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 59px;background-color:#4F81BD;color:white" %)4|=(% style="width: 59px;background-color:#4F81BD;color:white" %)4 552 +|Value|BAT|((( 553 +Temperature 554 +(DS18B20)(PC13) 555 +)))|((( 556 +Temperature2 557 +(DS18B20)(PB9) 558 +)))|((( 559 +Digital Interrupt 560 +(PB15) 561 +)))|(% style="width:193px" %)((( 562 +Temperature3 563 +(DS18B20)(PB8) 564 +)))|(% style="width:78px" %)((( 565 +Count1(PA8) 566 +)))|(% style="width:78px" %)((( 567 +Count2(PA4) 568 +))) 445 445 446 - **d) DR3: **total payloadincludes22entriesofdata.570 +[[image:image-20230513111255-9.png||height="341" width="899"]] 447 447 448 - Ifdevisedoesn'thaveanydata in thepollingtime.Devicewill uplink 11 bytes of 0572 +(% style="color:blue" %)**The newly added AT command is issued correspondingly:** 449 449 574 +(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%) pin: Corresponding downlink: (% style="color:#037691" %)**06 00 00 xx** 450 450 451 -** Example:**576 +(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%) pin: Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx** 452 452 453 - IfS31x-LBhasbelowdatainsideFlash:578 +(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%) pin: Corresponding downlink: (% style="color:#037691" %)** 06 00 02 xx** 454 454 455 -[[image:1682646494051-944.png]] 456 456 457 - Ifuser sends below downlink command:3160065F9760066DA705581 +(% style="color:blue" %)**AT+SETCNT=aa,bb** 458 458 459 -Whe re:Starttime:60065F97=time21/1/19 04:27:03583 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb 460 460 461 - Stoptime:60066DA7= time 21/1/19 05:27:03585 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb 462 462 463 463 464 - **S31x-LBwilluplinkthisload.**588 +==== 2.3.2.10 MOD~=10 (PWM input capture and output mode,Since firmware v1.2)(% style="display:none" %) (%%) ==== 465 465 466 -[[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"]] 467 467 468 -((( 469 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 591 +(% style="color:red" %)**Note: Firmware not release, contact Dragino for testing.** 592 + 593 +In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output. 594 + 595 +[[It should be noted when using PWM mode.>>||anchor="H2.3.3.12A0PWMMOD"]] 596 + 597 + 598 +===== 2.3.2.10.a Uplink, PWM input capture ===== 599 + 600 + 601 +[[image:image-20230817172209-2.png||height="439" width="683"]] 602 + 603 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %) 604 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:135px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:90px" %)**2** 605 +|Value|Bat|(% style="width:191px" %)((( 606 +Temperature(DS18B20)(PC13) 607 +)))|(% style="width:78px" %)((( 608 +ADC(PA4) 609 +)))|(% style="width:135px" %)((( 610 +PWM_Setting 611 +&Digital Interrupt(PA8) 612 +)))|(% style="width:70px" %)((( 613 +Pulse period 614 +)))|(% style="width:89px" %)((( 615 +Duration of high level 470 470 ))) 471 471 472 -((( 473 -Where the first 11 bytes is for the first entry: 618 +[[image:image-20230817170702-1.png||height="161" width="1044"]] 619 + 620 + 621 +When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle. 622 + 623 +**Frequency:** 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**(%%)**=0, **(% lang="EN-US" %)Frequency= 1000000/(%%)Pulse period(HZ); 627 + 628 +(% class="MsoNormal" %) 629 +(% lang="EN-US" %)If (% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**AT+PWMSET**(%%)**=1, **(% lang="EN-US" %)Frequency= 1000/(%%)Pulse period(HZ); 630 + 631 + 632 +(% class="MsoNormal" %) 633 +**Duty cycle:** 634 + 635 +Duty cycle= Duration of high level/ Pulse period*100 ~(%). 636 + 637 +[[image:image-20230818092200-1.png||height="344" width="627"]] 638 + 639 + 640 +===== 2.3.2.10.b Uplink, PWM output ===== 641 + 642 + 643 +[[image:image-20230817172209-2.png||height="439" width="683"]] 644 + 645 +(% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**AT+PWMOUT=a,b,c** 646 + 647 +a is the time delay of the output, the unit is ms. 648 + 649 +b is the output frequency, the unit is HZ. 650 + 651 +c is the duty cycle of the output, the unit is %. 652 + 653 +(% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**Downlink**(%%): (% style="color:#037691" %)**0B 01 bb cc aa ** 654 + 655 +aa is the time delay of the output, the unit is ms. 656 + 657 +bb is the output frequency, the unit is HZ. 658 + 659 +cc is the duty cycle of the output, the unit is %. 660 + 661 + 662 +For example, send a AT command: AT+PWMOUT=65535,1000,50 The PWM is always out, the frequency is 1000HZ, and the duty cycle is 50. 663 + 664 +The oscilloscope displays as follows: 665 + 666 +[[image:image-20231213102404-1.jpeg||height="688" width="821"]] 667 + 668 + 669 +===== 2.3.2.10.c Downlink, PWM output ===== 670 + 671 + 672 +[[image:image-20230817173800-3.png||height="412" width="685"]] 673 + 674 +Downlink: (% style="color:#037691" %)**0B xx xx xx yy zz zz** 675 + 676 + xx xx xx is the output frequency, the unit is HZ. 677 + 678 + yy is the duty cycle of the output, the unit is %. 679 + 680 + zz zz is the time delay of the output, the unit is ms. 681 + 682 + 683 +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. 684 + 685 +The oscilloscope displays as follows: 686 + 687 +[[image:image-20230817173858-5.png||height="634" width="843"]] 688 + 689 + 690 + 691 +==== 2.3.2.11 MOD~=11 (TEMP117)(Since firmware V1.3.0) ==== 692 + 693 + 694 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 695 + 696 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 697 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:90px" %)**1**|(% style="background-color:#4f81bd; color:white; width:128px" %)**2**|(% style="background-color:#4f81bd; color:white; width:79px" %)**2** 698 +|Value|Bat|(% style="width:191px" %)((( 699 +Temperature(DS18B20)(PC13) 700 +)))|(% style="width:78px" %)((( 701 +ADC(PA4) 702 +)))|(% style="width:216px" %)((( 703 +Digital in(PB15)&Digital Interrupt(PA8) 704 +)))|(% style="width:308px" %)((( 705 +Temperature 706 + 707 +(TEMP117) 708 +)))|(% style="width:154px" %)((( 709 +Reserved position, meaningless 710 + 711 +(0x0000) 474 474 ))) 475 475 476 -((( 477 -7FFF089801464160065F97 714 +[[image:image-20240717113113-1.png||height="352" width="793"]] 715 + 716 +Connection: 717 + 718 +[[image:image-20240717141528-2.jpeg||height="430" width="654"]] 719 + 720 + 721 +==== 2.3.2.12 MOD~=12 (Count+SHT31)(Since firmware V1.3.1) ==== 722 + 723 + 724 +This mode has total 11 bytes. As shown below: 725 + 726 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %) 727 +|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**Size(bytes)**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**2**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**2**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**2**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**1**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**4** 728 +|Value|BAT|(% style="width:86px" %)((( 729 + Temperature_SHT31 730 +)))|(% style="width:86px" %)((( 731 +Humidity_SHT31 732 +)))|(% style="width:86px" %)((( 733 + Digital in(PB15) 734 +)))|(% style="width:86px" %)((( 735 +Count(PA8) 478 478 ))) 479 479 738 +[[image:image-20240717150948-5.png||height="389" width="979"]] 739 + 740 +Wiring example: 741 + 742 +[[image:image-20240717152224-6.jpeg||height="359" width="680"]] 743 + 744 + 745 +=== 2.3.3 Decode payload === 746 + 747 + 748 +While using TTN V3 network, you can add the payload format to decode the payload. 749 + 750 +[[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"]] 751 + 752 +The payload decoder function for TTN V3 are here: 753 + 754 +SN50v3-LB/LS TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 755 + 756 + 757 +==== 2.3.3.1 Battery Info ==== 758 + 759 + 760 +Check the battery voltage for SN50v3-LB/LS. 761 + 762 +Ex1: 0x0B45 = 2885mV 763 + 764 +Ex2: 0x0B49 = 2889mV 765 + 766 + 767 +==== 2.3.3.2 Temperature (DS18B20) ==== 768 + 769 + 770 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload. 771 + 772 +More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]] 773 + 774 +(% style="color:blue" %)**Connection:** 775 + 776 +[[image:image-20230512180718-8.png||height="538" width="647"]] 777 + 778 + 779 +(% style="color:blue" %)**Example**: 780 + 781 +If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 782 + 783 +If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 784 + 785 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 786 + 787 + 788 +==== 2.3.3.3 Digital Input ==== 789 + 790 + 791 +The digital input for pin PB15, 792 + 793 +* When PB15 is high, the bit 1 of payload byte 6 is 1. 794 +* When PB15 is low, the bit 1 of payload byte 6 is 0. 795 + 796 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %) 480 480 ((( 481 -**Ext sensor data**=0x7FFF/100=327.67 798 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin. 799 + 800 +(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.** 801 + 802 + 482 482 ))) 483 483 484 -((( 485 -**Temp**=0x088E/100=22.00 805 +==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 806 + 807 + 808 +The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv. 809 + 810 +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. 811 + 812 +[[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"]] 813 + 814 + 815 +(% 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.** 816 + 817 + 818 +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. 819 + 820 +[[image:image-20230811113449-1.png||height="370" width="608"]] 821 + 822 + 823 + 824 +==== 2.3.3.5 Digital Interrupt ==== 825 + 826 + 827 +Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3-LB/LS will send a packet to the server. 828 + 829 +(% style="color:blue" %)** Interrupt connection method:** 830 + 831 +[[image:image-20230513105351-5.png||height="147" width="485"]] 832 + 833 + 834 +(% style="color:blue" %)**Example to use with door sensor :** 835 + 836 +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. 837 + 838 +[[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"]] 839 + 840 +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/LS interrupt interface to detect the status for the door or window. 841 + 842 + 843 +(% style="color:blue" %)**Below is the installation example:** 844 + 845 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB/LS as follows: 846 + 847 +* ((( 848 +One pin to SN50v3-LB/LS's PA8 pin 486 486 ))) 850 +* ((( 851 +The other pin to SN50v3-LB/LS's VDD pin 852 +))) 487 487 488 -((( 489 -**Hum**=0x014B/10=32.6 854 +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. 855 + 856 +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. 857 + 858 +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. 859 + 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/1656379283019-229.png?rev=1.1||alt="1656379283019-229.png"]] 861 + 862 +The above photos shows the two parts of the magnetic switch fitted to a door. 863 + 864 +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. 865 + 866 +The command is: 867 + 868 +(% 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]]**. **) 869 + 870 +Below shows some screen captures in TTN V3: 871 + 872 +[[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"]] 873 + 874 + 875 +In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below: 876 + 877 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN"; 878 + 879 + 880 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ==== 881 + 882 + 883 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data. 884 + 885 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor. 886 + 887 +(% 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/LS will be a good reference.** 888 + 889 + 890 +Below is the connection to SHT20/ SHT31. The connection is as below: 891 + 892 +[[image:image-20230610170152-2.png||height="501" width="846"]] 893 + 894 + 895 +The device will be able to get the I2C sensor data now and upload to IoT Server. 896 + 897 +[[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"]] 898 + 899 +Convert the read byte to decimal and divide it by ten. 900 + 901 +**Example:** 902 + 903 +Temperature: Read:0116(H) = 278(D) Value: 278 /10=27.8℃; 904 + 905 +Humidity: Read:0248(H)=584(D) Value: 584 / 10=58.4, So 58.4% 906 + 907 +If you want to use other I2C device, please refer the SHT20 part source code as reference. 908 + 909 + 910 +==== 2.3.3.7 Distance Reading ==== 911 + 912 + 913 +Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]]. 914 + 915 + 916 +==== 2.3.3.8 Ultrasonic Sensor ==== 917 + 918 + 919 +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]] 920 + 921 +The SN50v3-LB/LS 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. 922 + 923 +The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor. 924 + 925 +The picture below shows the connection: 926 + 927 +[[image:image-20230512173903-6.png||height="596" width="715"]] 928 + 929 + 930 +Connect to the SN50v3-LB/LS and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT). 931 + 932 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value. 933 + 934 +**Example:** 935 + 936 +Distance: Read: 0C2D(Hex) = 3117(D) Value: 3117 mm=311.7 cm 937 + 938 + 939 +==== 2.3.3.9 Battery Output - BAT pin ==== 940 + 941 + 942 +The BAT pin of SN50v3-LB/LS 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/LS will run out very soon. 943 + 944 + 945 +==== 2.3.3.10 +5V Output ==== 946 + 947 + 948 +SN50v3-LB/LS will enable +5V output before all sampling and disable the +5v after all sampling. 949 + 950 +The 5V output time can be controlled by AT Command. 951 + 952 +(% style="color:blue" %)**AT+5VT=1000** 953 + 954 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 955 + 956 +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. 957 + 958 + 959 +==== 2.3.3.11 BH1750 Illumination Sensor ==== 960 + 961 + 962 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 963 + 964 +[[image:image-20230512172447-4.png||height="416" width="712"]] 965 + 966 + 967 +[[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"]] 968 + 969 + 970 +==== 2.3.3.12 PWM MOD ==== 971 + 972 + 973 +* ((( 974 +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. 490 490 ))) 976 +* ((( 977 +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: 978 +))) 491 491 492 -((( 493 -**poll message flag & Ext**=0x41,means reply data,Ext=1 980 + [[image:image-20230817183249-3.png||height="320" width="417"]] 981 + 982 +* ((( 983 +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. 494 494 ))) 985 +* ((( 986 +Since the device can only detect a pulse period of 50ms when [[AT+PWMSET=0>>||anchor="H3.3.8PWMsetting"]] (counting in microseconds), it is necessary to change the value of PWMSET according to the frequency of input capture. 987 +))) 988 +* ((( 989 +PWM Input allows low power consumption. PWM Output to achieve real-time control, you need to go to class C. Power consumption will not be low. 495 495 496 -((( 497 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 991 +For PWM Output Feature, there are two consideration to see if the device can be powered by battery or have to be powered by external DC. 992 + 993 +a) If real-time control output is required, the SN50v3-LB/LS is already operating in class C and an external power supply must be used. 994 + 995 +b) If the output duration is more than 30 seconds, better to use external power source. 498 498 ))) 499 499 998 +==== 2.3.3.13 Working MOD ==== 500 500 501 -(% 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="单击并拖动以调整大小" %)的 502 502 503 - == 2.6TemperatureAlarmFeature==1001 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte). 504 504 1003 +User can use the 3^^rd^^ ~~ 7^^th^^ bit of this byte to see the working mod: 505 505 506 - S31x-LBwork flow withAlarm feature.1005 +Case 7^^th^^ Byte >> 2 & 0x1f: 507 507 1007 +* 0: MOD1 1008 +* 1: MOD2 1009 +* 2: MOD3 1010 +* 3: MOD4 1011 +* 4: MOD5 1012 +* 5: MOD6 1013 +* 6: MOD7 1014 +* 7: MOD8 1015 +* 8: MOD9 1016 +* 9: MOD10 508 508 509 - [[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"]]1018 +== 2.4 Payload Decoder file == 510 510 511 511 512 - ==2.7FrequencyPlans==1021 +In TTN, use can add a custom payload so it shows friendly reading 513 513 1023 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 514 514 515 - The S31x-LB uses OTAA modeandbelow frequency plans bydefault. If userwanto useitwithifferent frequency plan, pleasereferheAT command sets.1025 +[[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]] 516 516 1027 + 1028 +== 2.5 Frequency Plans == 1029 + 1030 + 1031 +The SN50v3-LB/LS uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country. 1032 + 517 517 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 518 518 519 519 520 -= 3. Configure S3 1x-LB =1036 += 3. Configure SN50v3-LB/LS = 521 521 522 522 == 3.1 Configure Methods == 523 523 524 524 525 -S3 1x-LB supports below configure method:1041 +SN50v3-LB/LS supports below configure method: 526 526 527 527 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 528 528 * 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]]. ... ... @@ -541,10 +541,10 @@ 541 541 [[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/]] 542 542 543 543 544 -== 3.3 Commands special design for S3 1x-LB ==1060 +== 3.3 Commands special design for SN50v3-LB/LS == 545 545 546 546 547 -These commands only valid for S3 1x-LB, as below:1063 +These commands only valid for SN50v3-LB/LS, as below: 548 548 549 549 550 550 === 3.3.1 Set Transmit Interval Time === ... ... @@ -555,7 +555,7 @@ 555 555 (% style="color:blue" %)**AT Command: AT+TDC** 556 556 557 557 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 558 -|=(% style="width: 156px;background-color:# D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**1074 +|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** 559 559 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 560 560 30000 561 561 OK ... ... @@ -578,120 +578,254 @@ 578 578 === 3.3.2 Get Device Status === 579 579 580 580 581 -Send a LoRaWAN downlink to ask device send Alarmsettings.1097 +Send a LoRaWAN downlink to ask the device to send its status. 582 582 583 -(% style="color:blue" %)**Downlink Payload: **(%%)0x26 011099 +(% style="color:blue" %)**Downlink Payload: 0x26 01** 584 584 585 -Sensor will upload Device Status via FPORT=5. See payload section for detail. 1101 +Sensor will upload Device Status via **FPORT=5**. See payload section for detail. 586 586 587 587 588 -=== 3.3.3 Set TemperatureAlarm Threshold ===1104 +=== 3.3.3 Set Interrupt Mode === 589 589 590 -* (% style="color:blue" %)**AT Command:** 591 591 592 - (%style="color:#037691"%)**AT+SHTEMP=min,max**1107 +Feature, Set Interrupt mode for PB14, PB15, PA4. 593 593 594 -* When min=0, and max≠0, Alarm higher than max 595 -* When min≠0, and max=0, Alarm lower than min 596 -* When min≠0 and max≠0, Alarm higher than max or lower than min 1109 +Before using the interrupt function of the **INT** pin, users can set the interrupt triggering mode as required. 597 597 598 - Example:1111 +(% style="color:#037691" %)**AT Command:**(% style="color:blue" %)** **(% style="color:#4472c4" %)**AT+INTMODx** 599 599 600 - SHTEMP=0,30 ~/~/ Alarm when temperature higher than 30.1113 +(% style="color:#4472c4" %)**AT+INTMODx:** 601 601 602 -* (% style="color:blue" %)**Downlink Payload:** 1115 +* (% style="color:#4472c4" %)**AT+INTMOD1 **(%%)~/~/ Set the interrupt mode for (% style="background-color:yellow" %)** PB14**(%%) pin. 1116 +* (% style="color:#4472c4" %)**AT+INTMOD2 **(%%)~/~/ Set the interrupt mode for (% style="background-color:yellow" %)** PB15**(%%) pin. 1117 +* (% style="color:#4472c4" %)**AT+INTMOD3 **(%%)~/~/ Set the interrupt mode for (% style="background-color:yellow" %)** PA4**(%%) pin. 603 603 604 - (% style="color:#037691"%)**0x(0C 01 00 1E)** (%%) ~/~/ SetAT+SHTEMP=0,301119 +**Parameter setting:** 605 605 606 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 1121 +* **0:** Disable Interrupt 1122 +* **1:** Trigger by rising and falling edge 1123 +* **2:** Trigger by falling edge 1124 +* **3: **Trigger by rising edge 607 607 1126 +**Example:** 608 608 609 -=== 3.3.4 Set Humidity Alarm Threshold === 1128 +* AT+INTMOD1=0 ~/~/Disable the PB14 pin interrupt function 1129 +* AT+INTMOD2=2 ~/~/Set the interrupt of the PB15 pin to be triggered by the falling edge 1130 +* AT+INTMOD3=3 ~/~/Set the interrupt of the PA4 pin to be triggered by the rising edge 610 610 611 - *(% style="color:blue" %)**ATCommand:**1132 +(% style="color:#037691" %)**Downlink Command:**(% style="color:blue" %)** **(% style="color:#4472c4" %)**0x06 00 aa bb** 612 612 613 - (% style="color:#037691"%)**AT+SHHUM=min,max**1134 +Format: Command Code (0x06) followed by 3 bytes. 614 614 615 -* When min=0, and max≠0, Alarm higher than max 616 -* When min≠0, and max=0, Alarm lower than min 617 -* When min≠0 and max≠0, Alarm higher than max or lower than min 1136 +(% style="color:#4472c4" %)**aa:**(%%) Set the corresponding pin. ((% style="background-color:yellow" %)**00**(%%): PB14 Pin; (% style="background-color:yellow" %)**01**(%%)**: **PB15 Pin; (% style="background-color:yellow" %)**02**(%%): PA4 Pin.) 618 618 619 - Example:1138 +(% style="color:#4472c4" %)**bb: **(%%)Set interrupt mode. ((% style="background-color:yellow" %)**00**(%%) Disable, (% style="background-color:yellow" %)**01**(%%) falling or rising, (% style="background-color:yellow" %)**02**(%%) falling, (% style="background-color:yellow" %)**03**(%%) rising) 620 620 621 - AT+SHHUM=70,0 ~/~/ Alarmwhen humiditylower than 70%.1140 +**Example:** 622 622 623 -* (% style="color:blue" %)**Downlink Payload:** 1142 +* Downlink Payload: **06 00 00 01 **~/~/ Equal to AT+INTMOD1=1 1143 +* Downlink Payload: **06 00 01 02 **~/~/ Equal to AT+INTMOD2=2 1144 +* Downlink Payload: **06 00 02 03 **~/~/ Equal to AT+INTMOD3=3 624 624 625 - (% style="color:#037691"%)**0x(0C 024600)**(%%)~/~/ SetAT+SHTHUM=70,01146 +=== 3.3.4 Set Power Output Duration === 626 626 627 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))** 628 628 1149 +Control the output duration 5V . Before each sampling, device will 629 629 630 - === 3.3.5SetAlarmInterval===1151 +~1. first enable the power output to external sensor, 631 631 632 - TheshortesttimeoftwoAlarmpacket.(unit:min)1153 +2. keep it on as per duration, read sensor value and construct uplink payload 633 633 634 - *(% style="color:blue"%)**ATCommand:**1155 +3. final, close the power output. 635 635 636 -(% style="color: #037691" %)**AT+ATDC=30**(%%) ~/~/ The shortest interval of two Alarmpackets is 30minutes, Meansis there is an alarm packet uplink, there won't be another one in the next 30 minutes.1157 +(% style="color:blue" %)**AT Command: AT+5VT** 637 637 638 -* (% style="color:blue" %)**Downlink Payload:** 1159 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1160 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** 1161 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)((( 1162 +500(default) 1163 +OK 1164 +))) 1165 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)((( 1166 +Close after a delay of 1000 milliseconds. 1167 +)))|(% style="width:157px" %)OK 639 639 640 -(% style="color: #037691" %)**0x(0D00 1E)**(%%) **~-~--> ** Set AT+ATDC=0x0 1E = 30 minutes1169 +(% style="color:blue" %)**Downlink Command: 0x07** 641 641 1171 +Format: Command Code (0x07) followed by 2 bytes. 642 642 643 - ===3.3.6GetAlarmsettings===1173 +The first and second bytes are the time to turn on. 644 644 1175 +* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 1176 +* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 645 645 646 - SendaLoRaWAN downlinktoask device sendAlarmsettings.1178 +=== 3.3.5 Set Weighing parameters === 647 647 648 -* (% style="color:#037691" %)**Downlink Payload: **(%%)0x0E 01 649 649 650 - **Example:**1181 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711. 651 651 652 - [[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"]]1183 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP** 653 653 1185 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1186 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** 1187 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK 1188 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default) 1189 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK 654 654 655 -** Explain:**1191 +(% style="color:blue" %)**Downlink Command: 0x08** 656 656 657 - * Alarm& MOD bitis 0x7C,0x7C>> 2 =0x31:MeansthismessageistheAlarmsettingsmessage.1193 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes. 658 658 659 - ===3.3.7SetInterruptMode===1195 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes. 660 660 1197 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value. 661 661 662 -Feature, Set Interrupt mode for GPIO_EXIT. 1199 +* Example 1: Downlink Payload: 0801 **~-~-->** AT+WEIGRE 1200 +* Example 2: Downlink Payload: 08020FA3 **~-~-->** AT+WEIGAP=400.3 1201 +* Example 3: Downlink Payload: 08020FA0 **~-~-->** AT+WEIGAP=400.0 663 663 664 - (%style="color:blue"%)**AT Command: AT+INTMOD**1203 +=== 3.3.6 Set Digital pulse count value === 665 665 666 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 667 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 668 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 669 -0 1205 + 1206 +Feature: Set the pulse count value. 1207 + 1208 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9. 1209 + 1210 +(% style="color:blue" %)**AT Command: AT+SETCNT** 1211 + 1212 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1213 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** 1214 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK 1215 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK 1216 + 1217 +(% style="color:blue" %)**Downlink Command: 0x09** 1218 + 1219 +Format: Command Code (0x09) followed by 5 bytes. 1220 + 1221 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized. 1222 + 1223 +* Example 1: Downlink Payload: 090100000000 **~-~-->** AT+SETCNT=1,0 1224 +* Example 2: Downlink Payload: 0902000003E8 **~-~-->** AT+SETCNT=2,1000 1225 + 1226 +=== 3.3.7 Set Workmode === 1227 + 1228 + 1229 +Feature: Switch working mode. 1230 + 1231 +(% style="color:blue" %)**AT Command: AT+MOD** 1232 + 1233 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1234 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** 1235 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)((( 670 670 OK 671 -the mode is 0 =Disable Interrupt 672 672 ))) 673 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 674 -Set Transmit Interval 675 -0. (Disable Interrupt), 676 -~1. (Trigger by rising and falling edge) 677 -2. (Trigger by falling edge) 678 -3. (Trigger by rising edge) 679 -)))|(% style="width:157px" %)OK 1238 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)((( 1239 +OK 1240 +Attention:Take effect after ATZ 1241 +))) 680 680 681 -(% style="color:blue" %)**Downlink Command: 0x0 6**1243 +(% style="color:blue" %)**Downlink Command: 0x0A** 682 682 683 -Format: Command Code (0x0 6) followed by3bytes.1245 +Format: Command Code (0x0A) followed by 1 bytes. 684 684 685 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 1247 +* Example 1: Downlink Payload: 0A01 **~-~-->** AT+MOD=1 1248 +* Example 2: Downlink Payload: 0A04 **~-~-->** AT+MOD=4 686 686 687 -* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 688 -* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1250 +=== 3.3.8 PWM setting === 689 689 690 -= 4. Battery & Power Consumption = 691 691 1253 +Feature: Set the time acquisition unit for PWM input capture. 692 692 693 - S31x-LBuse ER26500 + SPC1520 batterypack. See belowlink fordetail information about thebatteryinfohow to replace.1255 +(% style="color:blue" %)**AT Command: AT+PWMSET** 694 694 1257 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1258 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 225px; background-color: #4F81BD;color:white" %)**Function**|=(% style="width: 130px; background-color:#4F81BD;color:white" %)**Response** 1259 +|(% style="width:154px" %)AT+PWMSET=?|(% style="width:223px" %)0|(% style="width:130px" %)((( 1260 +0(default) 1261 +OK 1262 +))) 1263 +|(% style="width:154px" %)AT+PWMSET=0|(% style="width:223px" %)The unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ. |(% style="width:130px" %)((( 1264 +OK 1265 + 1266 +))) 1267 +|(% style="width:154px" %)AT+PWMSET=1|(% style="width:223px" %)The unit of PWM capture time is millisecond. The capture frequency range is between 5HZ and 250HZ. |(% style="width:130px" %)OK 1268 + 1269 +(% style="color:blue" %)**Downlink Command: 0x0C** 1270 + 1271 +Format: Command Code (0x0C) followed by 1 bytes. 1272 + 1273 +* Example 1: Downlink Payload: 0C00 **~-~-->** AT+PWMSET=0 1274 +* Example 2: Downlink Payload: 0C01 **~-~-->** AT+PWMSET=1 1275 + 1276 +**Feature: Set PWM output time, output frequency and output duty cycle.** 1277 + 1278 +(% style="color:blue" %)**AT Command: AT+PWMOUT** 1279 + 1280 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1281 +|=(% style="width: 183px; background-color: #4F81BD;color:white" %)**Command Example**|=(% style="width: 193px; background-color: #4F81BD;color:white" %)**Function**|=(% style="width: 134px; background-color: #4F81BD;color:white" %)**Response** 1282 +|(% style="width:183px" %)AT+PWMOUT=?|(% style="width:193px" %)0|(% style="width:137px" %)((( 1283 +0,0,0(default) 1284 +OK 1285 +))) 1286 +|(% style="width:183px" %)AT+PWMOUT=0,0,0|(% style="width:193px" %)The default is PWM input detection|(% style="width:137px" %)((( 1287 +OK 1288 + 1289 +))) 1290 +|(% style="width:183px" %)AT+PWMOUT=5,1000,50|(% style="width:193px" %)((( 1291 +The PWM output time is 5ms, the output frequency is 1000HZ, and the output duty cycle is 50%. 1292 + 1293 + 1294 +)))|(% style="width:137px" %)((( 1295 +OK 1296 +))) 1297 + 1298 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1299 +|=(% style="width: 155px; background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 112px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 242px; background-color:#4F81BD;color:white" %)**parameters** 1300 +|(% colspan="1" rowspan="3" style="width:155px" %)((( 1301 +AT+PWMOUT=a,b,c 1302 + 1303 + 1304 +)))|(% colspan="1" rowspan="3" style="width:112px" %)((( 1305 +Set PWM output time, output frequency and output duty cycle. 1306 + 1307 +((( 1308 + 1309 +))) 1310 + 1311 +((( 1312 + 1313 +))) 1314 +)))|(% style="width:242px" %)((( 1315 +a: Output time (unit: seconds) 1316 +The value ranges from 0 to 65535. 1317 +When a=65535, PWM will always output. 1318 +))) 1319 +|(% style="width:242px" %)((( 1320 +b: Output frequency (unit: HZ) 1321 + 1322 +range 5~~100000HZ 1323 +))) 1324 +|(% style="width:242px" %)((( 1325 +c: Output duty cycle (unit: %) 1326 +The value ranges from 0 to 100. 1327 +))) 1328 + 1329 +(% style="color:blue" %)**Downlink Command: 0x0B** 1330 + 1331 +Format: Command Code (0x0B) followed by 6 bytes. 1332 + 1333 +0B + Output frequency (3bytes)+ Output duty cycle (1bytes)+Output time (2bytes) 1334 + 1335 +Downlink payload:0B bb cc aa **~-~--> **AT+PWMOUT=a,b,c 1336 + 1337 +* Example 1: Downlink Payload: 0B 0003E8 32 0005 **~-~-->** AT+PWMOUT=5,1000,50 1338 +* Example 2: Downlink Payload: 0B 0007D0 3C 000A **~-~-->** AT+PWMOUT=10,2000,60 1339 + 1340 += 4. Battery & Power Cons = 1341 + 1342 + 1343 +SN50v3-LB use ER26500 + SPC1520 battery pack and SN50v3-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace. 1344 + 695 695 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . 696 696 697 697 ... ... @@ -699,67 +699,101 @@ 699 699 700 700 701 701 (% class="wikigeneratedid" %) 702 -User can change firmware S3 1x-LB to:1352 +**User can change firmware SN50v3-LB/LS to:** 703 703 704 704 * Change Frequency band/ region. 705 705 * Update with new features. 706 706 * Fix bugs. 707 707 708 -Firmware and changelog can be downloaded from : **[[Firmware download link>> url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**1358 +**Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]** 709 709 1360 +**Methods to Update Firmware:** 710 710 711 -Methods to Update Firmware: 1362 +* (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/]]** 1363 +* 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]]**. 712 712 713 -* (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/]] 714 -* 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]]**. 1365 += 6. Developer Guide = 715 715 716 - =6.FAQ=1367 +SN50v3 is an open source project, developer can use compile their firmware for customized applications. User can get the source code from: 717 717 1369 +* ((( 1370 +Software Source Code: [[Releases · dragino/SN50v3 (github.com)>>url:https://github.com/dragino/SN50v3/releases]] 1371 +))) 1372 +* ((( 1373 +Hardware Design files: **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].** 1374 +))) 1375 +* ((( 1376 +Compile instruction:[[Compile instruction>>https://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Module/Compile%20and%20Upload%20Code%20to%20ASR6601%20Platform/]] 1377 +))) 718 718 1379 +**~1. If you want to change frequency, modify the Preprocessor Symbols.** 719 719 720 - = 7. OrderInfo=1381 +For example, change EU868 to US915 721 721 1383 +[[image:https://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/1656318662202-530.png?rev=1.1||alt="1656318662202-530.png"]] 722 722 723 - PartNumber: (% style="color:blue" %)**S31-LB-XX / S31B-LB-XX**1385 +**2. Compile and build** 724 724 1387 +[[image:https://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-20220627163212-17.png?rev=1.1||alt="image-20220627163212-17.png"]] 1388 + 1389 += 7. FAQ = 1390 + 1391 +== 7.1 How to generate PWM Output in SN50v3-LB/LS? == 1392 + 1393 + 1394 +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]]**. 1395 + 1396 + 1397 +== 7.2 How to put several sensors to a SN50v3-LB/LS? == 1398 + 1399 + 1400 +When we want to put several sensors to A SN50v3-LB/LS, the waterproof at the grand connector will become an issue. User can try to exchange the grand connector to below type. 1401 + 1402 +[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]]. 1403 + 1404 +[[image:image-20230810121434-1.png||height="242" width="656"]] 1405 + 1406 + 1407 += 8. Order Info = 1408 + 1409 + 1410 +Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY**(%%) or (% style="color:blue" %)**SN50v3-LS-XX-YY** 1411 + 725 725 (% style="color:red" %)**XX**(%%): The default frequency band 726 726 727 727 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 728 - 729 729 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 730 - 731 731 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 732 - 733 733 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 734 - 735 735 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 736 - 737 737 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band 738 - 739 739 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 740 - 741 741 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 742 742 743 -= =1423 +(% style="color:red" %)**YY: ** (%%)Hole Option 744 744 745 -= 8. Packing Info = 1425 +* (% style="color:red" %)**12**(%%): With M12 waterproof cable hole 1426 +* (% style="color:red" %)**16**(%%): With M16 waterproof cable hole 1427 +* (% style="color:red" %)**20**(%%): With M20 waterproof cable hole 1428 +* (% style="color:red" %)**NH**(%%): No Hole 746 746 1430 += 9. Packing Info = 1431 + 1432 + 747 747 (% style="color:#037691" %)**Package Includes**: 748 748 749 -* S3 1x-LB LoRaWANTemperature & HumiditySensor1435 +* SN50v3-LB or SN50v3-LS LoRaWAN Generic Node 750 750 751 751 (% style="color:#037691" %)**Dimension and weight**: 752 752 753 753 * Device Size: cm 754 - 755 755 * Device Weight: g 756 - 757 757 * Package Size / pcs : cm 758 - 759 759 * Weight / pcs : g 760 760 761 -= 9. Support =1444 += 10. Support = 762 762 763 763 764 764 * 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. 765 -* 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]] 1448 + 1449 +* 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
- image-20230817183218-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +137.1 KB - Content
- image-20230817183249-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +948.6 KB - Content
- image-20230818092200-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +98.9 KB - Content
- image-20231213102404-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +4.2 MB - Content
- image-20231231202945-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +36.3 KB - Content
- image-20231231203148-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +35.4 KB - Content
- image-20231231203439-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Edwin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.6 KB - Content
- image-20240103095513-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +577.4 KB - Content
- image-20240103095714-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +230.1 KB - Content
- image-20240717113113-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.0 KB - Content
- image-20240717141512-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +948.8 KB - Content
- image-20240717141528-2.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +234.2 KB - Content
- image-20240717145707-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +39.8 KB - Content
- image-20240717150334-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.6 KB - Content
- image-20240717150948-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +38.3 KB - Content
- image-20240717152224-6.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +238.1 KB - Content
- image-20240924112806-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +140.2 KB - Content