<
From version < 13.1 >
edited by Edwin Chen
on 2023/05/11 23:11
To version < 78.1 >
edited by Mengting Qiu
on 2023/12/13 10:24
>
Change comment: Uploaded new attachment "image-20231213102404-1.jpeg", version {1}

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SN50v3-LB User Manual
1 +SN50v3-LB LoRaWAN Sensor Node User Manual
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.ting
Content
... ... @@ -1,4 +1,5 @@
1 -[[image:image-20230511201248-1.png||height="403" width="489"]]
1 +(% style="text-align:center" %)
2 +[[image:image-20230515135611-1.jpeg||height="589" width="589"]]
2 2  
3 3  
4 4  
... ... @@ -15,23 +15,20 @@
15 15  
16 16  == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
17 17  
19 +
18 18  (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
19 19  
22 +(% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, and so on.
20 20  
21 -(% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
22 -
23 -
24 24  (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors.
25 25  
26 -
27 27  (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining.
28 28  
29 -
30 30  SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements.
31 31  
32 -
33 33  == 1.2 ​Features ==
34 34  
32 +
35 35  * LoRaWAN 1.0.3 Class A
36 36  * Ultra-low power consumption
37 37  * Open-Source hardware/software
... ... @@ -44,6 +44,7 @@
44 44  
45 45  == 1.3 Specification ==
46 46  
45 +
47 47  (% style="color:#037691" %)**Common DC Characteristics:**
48 48  
49 49  * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
... ... @@ -80,6 +80,7 @@
80 80  
81 81  == 1.4 Sleep mode and working mode ==
82 82  
82 +
83 83  (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
84 84  
85 85  (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
... ... @@ -122,7 +122,7 @@
122 122  == 1.7 Pin Definitions ==
123 123  
124 124  
125 -[[image:image-20230511203450-2.png||height="443" width="785"]]
125 +[[image:image-20230610163213-1.png||height="404" width="699"]]
126 126  
127 127  
128 128  == 1.8 Mechanical ==
... ... @@ -135,8 +135,9 @@
135 135  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
136 136  
137 137  
138 -== Hole Option ==
138 +== 1.9 Hole Option ==
139 139  
140 +
140 140  SN50v3-LB has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
141 141  
142 142  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627104757-1.png?rev=1.1||alt="image-20220627104757-1.png"]]
... ... @@ -149,7 +149,7 @@
149 149  == 2.1 How it works ==
150 150  
151 151  
152 -The SN50v3-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
153 +The SN50v3-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the SN50v3-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
153 153  
154 154  
155 155  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -157,7 +157,7 @@
157 157  
158 158  Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
159 159  
160 -The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
161 +The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
161 161  
162 162  
163 163  (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
... ... @@ -206,7 +206,7 @@
206 206  === 2.3.1 Device Status, FPORT~=5 ===
207 207  
208 208  
209 -Users can use the downlink command(**0x26 01**) to ask SN50v3 to send device configure detail, include device configure status. SN50v3 will uplink a payload via FPort=5 to server.
210 +Users can use the downlink command(**0x26 01**) to ask SN50v3-LB to send device configure detail, include device configure status. SN50v3-LB will uplink a payload via FPort=5 to server.
210 210  
211 211  The Payload format is as below.
212 212  
... ... @@ -214,44 +214,44 @@
214 214  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
215 215  |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
216 216  |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
217 -|(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
218 +|(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
218 218  
219 219  Example parse in TTNv3
220 220  
221 221  
222 -(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3, this value is 0x1C
223 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB, this value is 0x1C
223 223  
224 224  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
225 225  
226 226  (% style="color:#037691" %)**Frequency Band**:
227 227  
228 -*0x01: EU868
229 +0x01: EU868
229 229  
230 -*0x02: US915
231 +0x02: US915
231 231  
232 -*0x03: IN865
233 +0x03: IN865
233 233  
234 -*0x04: AU915
235 +0x04: AU915
235 235  
236 -*0x05: KZ865
237 +0x05: KZ865
237 237  
238 -*0x06: RU864
239 +0x06: RU864
239 239  
240 -*0x07: AS923
241 +0x07: AS923
241 241  
242 -*0x08: AS923-1
243 +0x08: AS923-1
243 243  
244 -*0x09: AS923-2
245 +0x09: AS923-2
245 245  
246 -*0x0a: AS923-3
247 +0x0a: AS923-3
247 247  
248 -*0x0b: CN470
249 +0x0b: CN470
249 249  
250 -*0x0c: EU433
251 +0x0c: EU433
251 251  
252 -*0x0d: KR920
253 +0x0d: KR920
253 253  
254 -*0x0e: MA869
255 +0x0e: MA869
255 255  
256 256  
257 257  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -275,26 +275,40 @@
275 275  === 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
276 276  
277 277  
278 -SN50v3 has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command AT+MOD to set SN50v3 to different working modes.
279 +SN50v3-LB has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command (% style="color:blue" %)**AT+MOD**(%%) to set SN50v3-LB to different working modes.
279 279  
280 280  For example:
281 281  
282 - **AT+MOD=2  ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
283 + (% 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.
283 283  
284 284  
285 285  (% style="color:red" %) **Important Notice:**
286 286  
287 -1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in **DR0**. Server sides will see NULL payload while SN50v3 transmit in DR0 with 12 bytes payload.
288 -1. All modes share the same Payload Explanation from HERE.
289 -1. By default, the device will send an uplink message every 20 minutes.
288 +~1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in (% style="color:blue" %)**DR0**(%%). Server sides will see NULL payload while SN50v3-LB transmit in DR0 with 12 bytes payload.
290 290  
290 +2. All modes share the same Payload Explanation from HERE.
291 291  
292 +3. By default, the device will send an uplink message every 20 minutes.
293 +
294 +
292 292  ==== 2.3.2.1  MOD~=1 (Default Mode) ====
293 293  
297 +
294 294  In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
295 295  
296 -|**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
297 -|**Value**|Bat|Temperature(DS18B20)|ADC|Digital in & Digital Interrupt|Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor|Humidity(SHT20)
300 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
301 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:130px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2**
302 +|Value|Bat|(% style="width:191px" %)(((
303 +Temperature(DS18B20)(PC13)
304 +)))|(% style="width:78px" %)(((
305 +ADC(PA4)
306 +)))|(% style="width:216px" %)(((
307 +Digital in(PB15)&Digital Interrupt(PA8)
308 +)))|(% style="width:308px" %)(((
309 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
310 +)))|(% style="width:154px" %)(((
311 +Humidity(SHT20 or SHT31)
312 +)))
298 298  
299 299  [[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"]]
300 300  
... ... @@ -301,225 +301,352 @@
301 301  
302 302  ==== 2.3.2.2  MOD~=2 (Distance Mode) ====
303 303  
319 +
304 304  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.
305 305  
306 -|**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
307 -|**Value**|BAT|(((
308 -Temperature(DS18B20)
309 -)))|ADC|Digital in & Digital Interrupt|(((
310 -Distance measure by:
311 -1) LIDAR-Lite V3HP
312 -Or
313 -2) Ultrasonic Sensor
314 -)))|Reserved
322 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
323 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:30px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:140px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**
324 +|Value|BAT|(% style="width:196px" %)(((
325 +Temperature(DS18B20)(PC13)
326 +)))|(% style="width:87px" %)(((
327 +ADC(PA4)
328 +)))|(% style="width:189px" %)(((
329 +Digital in(PB15) & Digital Interrupt(PA8)
330 +)))|(% style="width:208px" %)(((
331 +Distance measure by: 1) LIDAR-Lite V3HP
332 +Or 2) Ultrasonic Sensor
333 +)))|(% style="width:117px" %)Reserved
315 315  
316 316  [[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"]]
317 317  
318 -**Connection of LIDAR-Lite V3HP:**
319 319  
320 -[[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/1656324581381-162.png?rev=1.1||alt="1656324581381-162.png"]]
338 +(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**
321 321  
322 -**Connection to Ultrasonic Sensor:**
340 +[[image:image-20230512173758-5.png||height="563" width="712"]]
323 323  
324 -[[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/1656324598488-204.png?rev=1.1||alt="1656324598488-204.png"]]
325 325  
343 +(% style="color:blue" %)**Connection to Ultrasonic Sensor:**
344 +
345 +(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.**
346 +
347 +[[image:image-20230512173903-6.png||height="596" width="715"]]
348 +
349 +
326 326  For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
327 327  
328 -|**Size(bytes)**|**2**|**2**|**1**|**2**|**2**|**2**
329 -|**Value**|BAT|(((
330 -Temperature(DS18B20)
331 -)))|Digital in & Digital Interrupt|ADC|(((
352 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
353 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:120px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2**
354 +|Value|BAT|(% style="width:183px" %)(((
355 +Temperature(DS18B20)(PC13)
356 +)))|(% style="width:173px" %)(((
357 +Digital in(PB15) & Digital Interrupt(PA8)
358 +)))|(% style="width:84px" %)(((
359 +ADC(PA4)
360 +)))|(% style="width:323px" %)(((
332 332  Distance measure by:1)TF-Mini plus LiDAR
333 -Or 
334 -2) TF-Luna LiDAR
335 -)))|Distance signal  strength
362 +Or 2) TF-Luna LiDAR
363 +)))|(% style="width:188px" %)Distance signal  strength
336 336  
337 337  [[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"]]
338 338  
367 +
339 339  **Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
340 340  
341 -Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
370 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
342 342  
343 -[[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/1656376795715-436.png?rev=1.1||alt="1656376795715-436.png"]]
372 +[[image:image-20230512180609-7.png||height="555" width="802"]]
344 344  
374 +
345 345  **Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
346 346  
347 -Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
377 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
348 348  
349 -[[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/1656376865561-355.png?rev=1.1||alt="1656376865561-355.png"]]
379 +[[image:image-20230610170047-1.png||height="452" width="799"]]
350 350  
351 -Please use firmware version > 1.6.5 when use MOD=2, in this firmware version, user can use LSn50 v1 to power the ultrasonic sensor directly and with low power consumption.
352 352  
353 -
354 354  ==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
355 355  
384 +
356 356  This mode has total 12 bytes. Include 3 x ADC + 1x I2C
357 357  
358 -|=(((
387 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
388 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
359 359  **Size(bytes)**
360 -)))|=**2**|=**2**|=**2**|=**1**|=2|=2|=1
361 -|**Value**|ADC(Pin PA0)|ADC2(PA1)|ADC3 (PA4)|(((
362 -Digital in(PA12)&Digital Interrupt1(PB14)
363 -)))|Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)|Humidity(SHT20 or SHT31)|Bat
390 +)))|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)1
391 +|Value|(% style="width:68px" %)(((
392 +ADC1(PA4)
393 +)))|(% style="width:75px" %)(((
394 +ADC2(PA5)
395 +)))|(((
396 +ADC3(PA8)
397 +)))|(((
398 +Digital Interrupt(PB15)
399 +)))|(% style="width:304px" %)(((
400 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
401 +)))|(% style="width:163px" %)(((
402 +Humidity(SHT20 or SHT31)
403 +)))|(% style="width:53px" %)Bat
364 364  
365 -[[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/1656377431497-975.png?rev=1.1||alt="1656377431497-975.png"]]
405 +[[image:image-20230513110214-6.png]]
366 366  
367 367  
368 368  ==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
369 369  
370 -This mode is supported in firmware version since v1.6.1. Software set to AT+MOD=4
371 371  
372 -Hardware connection is as below,
373 -
374 -**( Note:**
375 -
376 -* In hardware version v1.x and v2.0 , R3 & R4 should change from 10k to 4.7k ohm to support the other 2 x DS18B20 probes.
377 -* In hardware version v2.1 no need to change R3 , R4, by default, they are 4.7k ohm already.
378 -
379 -See [[here>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H1.6A0HardwareChangelog]] for hardware changelog. **) **
380 -
381 -[[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/1656377461619-156.png?rev=1.1||alt="1656377461619-156.png"]]
382 -
383 383  This mode has total 11 bytes. As shown below:
384 384  
385 -|**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
386 -|**Value**|BAT|(((
387 -Temperature1
388 -(DS18B20)
389 -(PB3)
390 -)))|ADC|Digital in & Digital Interrupt|Temperature2
391 -(DS18B20)
392 -(PA9)|Temperature3
393 -(DS18B20)
394 -(PA10)
413 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
414 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**
415 +|Value|BAT|(% style="width:186px" %)(((
416 +Temperature1(DS18B20)(PC13)
417 +)))|(% style="width:82px" %)(((
418 +ADC(PA4)
419 +)))|(% style="width:210px" %)(((
420 +Digital in(PB15) & Digital Interrupt(PA8) 
421 +)))|(% style="width:191px" %)Temperature2(DS18B20)
422 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8)
395 395  
396 396  [[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"]]
397 397  
398 -(% class="wikigeneratedid" %)
399 -=== ===
400 400  
401 -==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
427 +[[image:image-20230513134006-1.png||height="559" width="736"]]
402 402  
403 -This mode is supported in firmware version since v1.6.2. Please use v1.6.5 firmware version so user no need to use extra LDO for connection.
404 404  
430 +==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
405 405  
406 -[[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/1656378224664-860.png?rev=1.1||alt="1656378224664-860.png"]]
407 407  
433 +[[image:image-20230512164658-2.png||height="532" width="729"]]
434 +
408 408  Each HX711 need to be calibrated before used. User need to do below two steps:
409 409  
410 -1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram.
411 -1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor.
437 +1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram.
438 +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.
412 412  1. (((
413 -Remove the limit of plus or minus 5Kg in mode 5, and expand from 2 bytes to 4 bytes, the unit is g.(Since v1.8.0)
440 +Weight has 4 bytes, the unit is g.
441 +
442 +
443 +
414 414  )))
415 415  
416 416  For example:
417 417  
418 -**AT+WEIGAP =403.0**
448 +(% style="color:blue" %)**AT+GETSENSORVALUE =0**
419 419  
420 420  Response:  Weight is 401 g
421 421  
422 422  Check the response of this command and adjust the value to match the real value for thing.
423 423  
424 -|=(((
454 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
455 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
425 425  **Size(bytes)**
426 -)))|=**2**|=**2**|=**2**|=**1**|=**4**|=2
427 -|**Value**|[[Bat>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.1BatteryInfo]]|[[Temperature(DS18B20)>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.2Temperature28DS18B2029]]|[[ADC>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.4AnalogueDigitalConverter28ADC29]]|[[Digital Input and Digitak Interrupt>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.3DigitalInput]]|Weight|Reserved
457 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 150px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 200px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**4**
458 +|Value|BAT|(% style="width:193px" %)(((
459 +Temperature(DS18B20)(PC13)
460 +)))|(% style="width:85px" %)(((
461 +ADC(PA4)
462 +)))|(% style="width:186px" %)(((
463 +Digital in(PB15) & Digital Interrupt(PA8)
464 +)))|(% style="width:100px" %)Weight
428 428  
429 429  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820120036-2.png?width=1003&height=469&rev=1.1||alt="image-20220820120036-2.png" height="469" width="1003"]]
430 430  
431 -(% class="wikigeneratedid" %)
432 -=== ===
433 433  
434 434  ==== 2.3.2.6  MOD~=6 (Counting Mode) ====
435 435  
471 +
436 436  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.
437 437  
438 438  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.
439 439  
440 -[[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/1656378351863-572.png?rev=1.1||alt="1656378351863-572.png"]]
476 +[[image:image-20230512181814-9.png||height="543" width="697"]]
441 441  
442 -**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 LSN50 to avoid this happen.
443 443  
444 -|=**Size(bytes)**|=**2**|=**2**|=**2**|=**1**|=**4**
445 -|**Value**|[[BAT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.1BatteryInfo]]|(((
446 -[[Temperature(DS18B20)>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.2Temperature28DS18B2029]]
447 -)))|[[ADC>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.4AnalogueDigitalConverter28ADC29]]|[[Digital in>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.3DigitalInput]]|Count
479 +(% 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.**
448 448  
481 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
482 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**Size(bytes)**|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**4**
483 +|Value|BAT|(% style="width:256px" %)(((
484 +Temperature(DS18B20)(PC13)
485 +)))|(% style="width:108px" %)(((
486 +ADC(PA4)
487 +)))|(% style="width:126px" %)(((
488 +Digital in(PB15)
489 +)))|(% style="width:145px" %)(((
490 +Count(PA8)
491 +)))
492 +
449 449  [[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"]]
450 450  
451 451  
452 452  ==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
453 453  
454 -[[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-20220820140109-3.png?rev=1.1||alt="image-20220820140109-3.png"]]
455 455  
456 -|=(((
499 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
500 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
457 457  **Size(bytes)**
458 -)))|=**2**|=**2**|=**2**|=**1**|=**1**|=1|=2
459 -|**Value**|BAT|Temperature(DS18B20)|ADC|(((
460 -Digital in(PA12)&Digital Interrupt1(PB14)
461 -)))|Digital Interrupt2(PB15)|Digital Interrupt3(PA4)|Reserved
502 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)1|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2
503 +|Value|BAT|(% style="width:188px" %)(((
504 +Temperature(DS18B20)
505 +(PC13)
506 +)))|(% style="width:83px" %)(((
507 +ADC(PA5)
508 +)))|(% style="width:184px" %)(((
509 +Digital Interrupt1(PA8)
510 +)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
462 462  
512 +[[image:image-20230513111203-7.png||height="324" width="975"]]
463 463  
514 +
464 464  ==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
465 465  
466 -|=(((
517 +
518 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
519 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
467 467  **Size(bytes)**
468 -)))|=**2**|=**2**|=**2**|=**1**|=**2**|=2
469 -|**Value**|BAT|Temperature(DS18B20)|(((
470 -ADC1(PA0)
471 -)))|(((
472 -Digital in
473 -& Digital Interrupt(PB14)
474 -)))|(((
475 -ADC2(PA1)
476 -)))|(((
477 -ADC3(PA4)
521 +)))|=(% style="width: 30px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 120px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)2
522 +|Value|BAT|(% style="width:207px" %)(((
523 +Temperature(DS18B20)
524 +(PC13)
525 +)))|(% style="width:94px" %)(((
526 +ADC1(PA4)
527 +)))|(% style="width:198px" %)(((
528 +Digital Interrupt(PB15)
529 +)))|(% style="width:84px" %)(((
530 +ADC2(PA5)
531 +)))|(% style="width:82px" %)(((
532 +ADC3(PA8)
478 478  )))
479 479  
480 -[[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-20220823164903-2.png?rev=1.1||alt="image-20220823164903-2.png"]]
535 +[[image:image-20230513111231-8.png||height="335" width="900"]]
481 481  
482 -(% class="wikigeneratedid" %)
483 -=== ===
484 484  
485 485  ==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
486 486  
487 -|=(((
540 +
541 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
542 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
488 488  **Size(bytes)**
489 -)))|=**2**|=**2**|=**2**|=**1**|=**2**|=4|=4
490 -|**Value**|BAT|(((
491 -Temperature1(PB3)
544 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4
545 +|Value|BAT|(((
546 +Temperature
547 +(DS18B20)(PC13)
492 492  )))|(((
493 -Temperature2(PA9)
549 +Temperature2
550 +(DS18B20)(PB9)
494 494  )))|(((
495 -Digital in
496 -& Digital Interrupt(PA4)
497 -)))|(((
498 -Temperature3(PA10)
499 -)))|(((
500 -Count1(PB14)
501 -)))|(((
502 -Count2(PB15)
552 +Digital Interrupt
553 +(PB15)
554 +)))|(% style="width:193px" %)(((
555 +Temperature3
556 +(DS18B20)(PB8)
557 +)))|(% style="width:78px" %)(((
558 +Count1(PA8)
559 +)))|(% style="width:78px" %)(((
560 +Count2(PA4)
503 503  )))
504 504  
505 -[[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-20220823165322-3.png?rev=1.1||alt="image-20220823165322-3.png"]]
563 +[[image:image-20230513111255-9.png||height="341" width="899"]]
506 506  
507 -**The newly added AT command is issued correspondingly:**
565 +(% style="color:blue" %)**The newly added AT command is issued correspondingly:**
508 508  
509 -**~ AT+INTMOD1** ** PB14**  pin:  Corresponding downlink:  **06 00 00 xx**
567 +(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)**06 00 00 xx**
510 510  
511 -**~ AT+INTMOD2**  **PB15** pin:  Corresponding downlink:**  06 00 01 xx**
569 +(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%)  pin:  Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx**
512 512  
513 -**~ AT+INTMOD3**  **PA4**  pin:  Corresponding downlink:  ** 06 00 02 xx**
571 +(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)** 06 00 02 xx**
514 514  
515 -**AT+SETCNT=aa,bb** 
516 516  
517 -When AA is 1, set the count of PB14 pin to BB Corresponding downlink:09 01 bb bb bb bb
574 +(% style="color:blue" %)**AT+SETCNT=aa,bb** 
518 518  
519 -When AA is 2, set the count of PB15 pin to BB Corresponding downlink:09 02 bb bb bb bb
576 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
520 520  
521 -=== 2.3.10  ​Decode payload in The Things Network ===
578 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
522 522  
580 +
581 +==== 2.3.2.10  MOD~=10 (PWM input capture and output mode,Since firmware v1.2) ====
582 +
583 +(% style="color:red" %)**Note: Firmware not release, contact Dragino for testing.**
584 +
585 +In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output.
586 +
587 +[[It should be noted when using PWM mode.>>||anchor="H2.3.3.12A0PWMMOD"]]
588 +
589 +
590 +===== 2.3.2.10.a  Uplink, PWM input capture =====
591 +
592 +
593 +[[image:image-20230817172209-2.png||height="439" width="683"]]
594 +
595 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:690px" %)
596 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:135px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**2**
597 +|Value|Bat|(% style="width:191px" %)(((
598 +Temperature(DS18B20)(PC13)
599 +)))|(% style="width:78px" %)(((
600 +ADC(PA4)
601 +)))|(% style="width:135px" %)(((
602 +PWM_Setting
603 +
604 +&Digital Interrupt(PA8)
605 +)))|(% style="width:70px" %)(((
606 +Pulse period
607 +)))|(% style="width:89px" %)(((
608 +Duration of high level
609 +)))
610 +
611 +[[image:image-20230817170702-1.png||height="161" width="1044"]]
612 +
613 +
614 +When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle.
615 +
616 +**Frequency:**
617 +
618 +(% class="MsoNormal" %)
619 +(% 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);
620 +
621 +(% class="MsoNormal" %)
622 +(% 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);
623 +
624 +
625 +(% class="MsoNormal" %)
626 +**Duty cycle:**
627 +
628 +Duty cycle= Duration of high level/ Pulse period*100 ~(%).
629 +
630 +[[image:image-20230818092200-1.png||height="344" width="627"]]
631 +
632 +===== 2.3.2.10.b  Uplink, PWM output =====
633 +
634 +[[image:image-20230817172209-2.png||height="439" width="683"]]
635 +
636 +
637 +
638 +
639 +
640 +
641 +===== 2.3.2.10.c  Downlink, PWM output =====
642 +
643 +
644 +[[image:image-20230817173800-3.png||height="412" width="685"]]
645 +
646 +Downlink:  (% style="color:#037691" %)**0B xx xx xx yy zz zz**
647 +
648 + xx xx xx is the output frequency, the unit is HZ.
649 +
650 + yy is the duty cycle of the output, the unit is %.
651 +
652 + zz zz is the time delay of the output, the unit is ms.
653 +
654 +
655 +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.
656 +
657 +The oscilloscope displays as follows:
658 +
659 +[[image:image-20230817173858-5.png||height="694" width="921"]]
660 +
661 +
662 +=== 2.3.3  ​Decode payload ===
663 +
664 +
523 523  While using TTN V3 network, you can add the payload format to decode the payload.
524 524  
525 525  [[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"]]
... ... @@ -526,41 +526,33 @@
526 526  
527 527  The payload decoder function for TTN V3 are here:
528 528  
529 -LSN50 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
671 +SN50v3-LB TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
530 530  
531 531  
532 -Sensor Data is uplink via FPORT=2
674 +==== 2.3.3.1 Battery Info ====
533 533  
534 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
535 -|=(% style="width: 90px;background-color:#D9E2F3" %)(((
536 -**Size(bytes)**
537 -)))|=(% 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
538 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
539 -[[Battery>>||anchor="HBattery:"]]
540 -)))|(% style="width:130px" %)(((
541 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
542 -)))|(% style="width:91px" %)(((
543 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
544 -)))|(% style="width:103px" %)(((
545 -[[Temperature>>||anchor="HTemperature:"]]
546 -)))|(% style="width:80px" %)(((
547 -[[Humidity>>||anchor="HHumidity:"]]
548 -)))
549 549  
550 -==== (% style="color:#4472c4" %)**Battery**(%%) ====
677 +Check the battery voltage for SN50v3-LB.
551 551  
552 -Sensor Battery Level.
553 -
554 554  Ex1: 0x0B45 = 2885mV
555 555  
556 556  Ex2: 0x0B49 = 2889mV
557 557  
558 558  
684 +==== 2.3.3.2  Temperature (DS18B20) ====
559 559  
560 -==== (% style="color:#4472c4" %)**Temperature**(%%) ====
561 561  
562 -**Example**:
687 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
563 563  
689 +More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]]
690 +
691 +(% style="color:blue" %)**Connection:**
692 +
693 +[[image:image-20230512180718-8.png||height="538" width="647"]]
694 +
695 +
696 +(% style="color:blue" %)**Example**:
697 +
564 564  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
565 565  
566 566  If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
... ... @@ -568,195 +568,261 @@
568 568  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
569 569  
570 570  
571 -==== (% style="color:#4472c4" %)**Humidity**(%%) ====
705 +==== 2.3.3.3 Digital Input ====
572 572  
573 573  
574 -Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
708 +The digital input for pin PB15,
575 575  
710 +* When PB15 is high, the bit 1 of payload byte 6 is 1.
711 +* When PB15 is low, the bit 1 of payload byte 6 is 0.
576 576  
577 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
713 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
714 +(((
715 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
578 578  
717 +(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.**
579 579  
580 -**Example:**
719 +
720 +)))
581 581  
582 -If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
722 +==== 2.3.3.4  Analogue Digital Converter (ADC) ====
583 583  
584 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
585 585  
586 -If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
725 +The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv.
587 587  
588 -If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settingssee [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
727 +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.
589 589  
729 +[[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"]]
590 590  
591 -== 2.4 Payload Decoder file ==
592 592  
732 +(% 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.**
593 593  
594 -In TTN, use can add a custom payload so it shows friendly reading
595 595  
596 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
735 +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.
597 597  
598 -[[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]]
737 +[[image:image-20230811113449-1.png||height="370" width="608"]]
599 599  
739 +==== 2.3.3.5 Digital Interrupt ====
600 600  
601 -== 2.5 Datalog Feature ==
602 602  
742 +Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3-LB will send a packet to the server.
603 603  
604 -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.
744 +(% style="color:blue" %)** Interrupt connection method:**
605 605  
746 +[[image:image-20230513105351-5.png||height="147" width="485"]]
606 606  
607 -=== 2.5.1 Ways to get datalog via LoRaWAN ===
608 608  
749 +(% style="color:blue" %)**Example to use with door sensor :**
609 609  
610 -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.
751 +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.
611 611  
612 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
613 -* 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.
753 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379210849-860.png?rev=1.1||alt="1656379210849-860.png"]]
614 614  
615 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
755 +When the two pieces are close to each other, the 2 wire output will be short or open (depending on the type), while if the two pieces are away from each other, the 2 wire output will be the opposite status. So we can use SN50v3-LB interrupt interface to detect the status for the door or window.
616 616  
617 -[[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"]]
618 618  
619 -=== 2.5.2 Unix TimeStamp ===
758 +(% style="color:blue" %)**Below is the installation example:**
620 620  
760 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows:
621 621  
622 -S31x-LB uses Unix TimeStamp format based on
762 +* (((
763 +One pin to SN50v3-LB's PA8 pin
764 +)))
765 +* (((
766 +The other pin to SN50v3-LB's VDD pin
767 +)))
623 623  
624 -[[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"]]
769 +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.
625 625  
626 -User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
771 +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.
627 627  
628 -Below is the converter example
773 +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.
629 629  
630 -[[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"]]
775 +[[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"]]
631 631  
632 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
777 +The above photos shows the two parts of the magnetic switch fitted to a door.
633 633  
779 +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.
634 634  
635 -=== 2.5.3 Set Device Time ===
781 +The command is:
636 636  
783 +(% 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]]**. **)
637 637  
638 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
785 +Below shows some screen captures in TTN V3:
639 639  
640 -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).
787 +[[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"]]
641 641  
642 -(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
643 643  
790 +In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
644 644  
645 -=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
792 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
646 646  
647 647  
648 -The Datalog uplinks will use below payload format.
795 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
649 649  
650 -**Retrieval data payload:**
651 651  
652 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
653 -|=(% style="width: 80px;background-color:#D9E2F3" %)(((
654 -**Size(bytes)**
655 -)))|=(% 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**
656 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
657 -[[Temp_Black>>||anchor="HTemperatureBlack:"]]
658 -)))|(% 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"]]
798 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
659 659  
660 -**Poll message flag & Ext:**
800 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
661 661  
662 -[[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"]]
802 +(% style="color:red" %)**Notice: Different I2C sensors have different I2C commands set and initiate process, if user want to use other I2C sensors, User need to re-write the source code to support those sensors. SHT20/ SHT31 code in SN50v3-LB will be a good reference.**
663 663  
664 -**No ACK Message**:  1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature)
665 665  
666 -**Poll Message Flag**: 1: This message is a poll message reply.
805 +Below is the connection to SHT20/ SHT31. The connection is as below:
667 667  
668 -* Poll Message Flag is set to 1.
807 +[[image:image-20230610170152-2.png||height="501" width="846"]]
669 669  
670 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
671 671  
672 -For example, in US915 band, the max payload for different DR is:
810 +The device will be able to get the I2C sensor data now and upload to IoT Server.
673 673  
674 -**a) DR0:** max is 11 bytes so one entry of data
812 +[[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"]]
675 675  
676 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
814 +Convert the read byte to decimal and divide it by ten.
677 677  
678 -**c) DR2:** total payload includes 11 entries of data
816 +**Example:**
679 679  
680 -**d) DR3: **total payload includes 22 entries of data.
818 +Temperature:  Read:0116(H) = 278(D Value 278 /10=27.8℃;
681 681  
682 -If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
820 +Humidity:    Read:0248(H)=584(D)  Value 584 / 10=58.4, So 58.4%
683 683  
822 +If you want to use other I2C device, please refer the SHT20 part source code as reference.
684 684  
824 +
825 +==== 2.3.3.7  ​Distance Reading ====
826 +
827 +
828 +Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]].
829 +
830 +
831 +==== 2.3.3.8 Ultrasonic Sensor ====
832 +
833 +
834 +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]]
835 +
836 +The SN50v3-LB detects the pulse width of the sensor and converts it to mm output. The accuracy will be within 1 centimeter. The usable range (the distance between the ultrasonic probe and the measured object) is between 24cm and 600cm.
837 +
838 +The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor.
839 +
840 +The picture below shows the connection:
841 +
842 +[[image:image-20230512173903-6.png||height="596" width="715"]]
843 +
844 +
845 +Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT).
846 +
847 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
848 +
685 685  **Example:**
686 686  
687 -If S31x-LB has below data inside Flash:
851 +Distance:  Read: 0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
688 688  
689 -[[image:1682646494051-944.png]]
690 690  
691 -If user sends below downlink command: 3160065F9760066DA705
854 +==== 2.3.3.9  Battery Output - BAT pin ====
692 692  
693 -Where : Start time: 60065F97 = time 21/1/19 04:27:03
694 694  
695 - Stop time: 60066DA7= time 21/1/19 05:27:03
857 +The BAT pin of SN50v3-LB is connected to the Battery directly. If users want to use BAT pin to power an external sensor. User need to make sure the external sensor is of low power consumption. Because the BAT pin is always open. If the external sensor is of high power consumption. the battery of SN50v3-LB will run out very soon.
696 696  
697 697  
698 -**S31x-LB will uplink this payload.**
860 +==== 2.3.3.1 +5V Output ====
699 699  
700 -[[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"]]
701 701  
702 -(((
703 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
704 -)))
863 +SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 
705 705  
706 -(((
707 -Where the first 11 bytes is for the first entry:
708 -)))
865 +The 5V output time can be controlled by AT Command.
709 709  
710 -(((
711 -7FFF089801464160065F97
712 -)))
867 +(% style="color:blue" %)**AT+5VT=1000**
713 713  
714 -(((
715 -**Ext sensor data**=0x7FFF/100=327.67
716 -)))
869 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
717 717  
718 -(((
719 -**Temp**=0x088E/100=22.00
720 -)))
871 +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.
721 721  
722 -(((
723 -**Hum**=0x014B/10=32.6
873 +
874 +==== 2.3.3.11  BH1750 Illumination Sensor ====
875 +
876 +
877 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
878 +
879 +[[image:image-20230512172447-4.png||height="416" width="712"]]
880 +
881 +
882 +[[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"]]
883 +
884 +
885 +==== 2.3.3.12  PWM MOD ====
886 +
887 +
888 +* (((
889 +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.
724 724  )))
891 +* (((
892 +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:
893 +)))
725 725  
726 -(((
727 -**poll message flag & Ext**=0x41,means reply data,Ext=1
895 + [[image:image-20230817183249-3.png||height="320" width="417"]]
896 +
897 +* (((
898 +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.
728 728  )))
900 +* (((
901 +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.
902 +)))
903 +* (((
904 +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.
729 729  
730 -(((
731 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
906 +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.
907 +
908 +a) If real-time control output is required, the SN50v3-LB is already operating in class C and an external power supply must be used.
909 +
910 +b) If the output duration is more than 30 seconds, better to use external power source. 
911 +
912 +
913 +
732 732  )))
733 733  
916 +==== 2.3.3.13  Working MOD ====
734 734  
735 -(% 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="单击并拖动以调整大小" %)的
736 736  
737 -== 2.6 Temperature Alarm Feature ==
919 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
738 738  
921 +User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
739 739  
740 -S31x-LB work flow with Alarm feature.
923 +Case 7^^th^^ Byte >> 2 & 0x1f:
741 741  
925 +* 0: MOD1
926 +* 1: MOD2
927 +* 2: MOD3
928 +* 3: MOD4
929 +* 4: MOD5
930 +* 5: MOD6
931 +* 6: MOD7
932 +* 7: MOD8
933 +* 8: MOD9
934 +* 9: MOD10
742 742  
743 -[[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"]]
936 +== 2.4 Payload Decoder file ==
744 744  
745 745  
746 -== 2.7 Frequency Plans ==
939 +In TTN, use can add a custom payload so it shows friendly reading
747 747  
941 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
748 748  
749 -The S31x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
943 +[[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]]
750 750  
945 +
946 +== 2.5 Frequency Plans ==
947 +
948 +
949 +The SN50v3-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
950 +
751 751  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
752 752  
753 753  
754 -= 3. Configure S31x-LB =
954 += 3. Configure SN50v3-LB =
755 755  
756 756  == 3.1 Configure Methods ==
757 757  
758 758  
759 -S31x-LB supports below configure method:
959 +SN50v3-LB supports below configure method:
760 760  
761 761  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
762 762  * 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]].
... ... @@ -775,10 +775,10 @@
775 775  [[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/]]
776 776  
777 777  
778 -== 3.3 Commands special design for S31x-LB ==
978 +== 3.3 Commands special design for SN50v3-LB ==
779 779  
780 780  
781 -These commands only valid for S31x-LB, as below:
981 +These commands only valid for SN50v3-LB, as below:
782 782  
783 783  
784 784  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -789,7 +789,7 @@
789 789  (% style="color:blue" %)**AT Command: AT+TDC**
790 790  
791 791  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
792 -|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
992 +|=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
793 793  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
794 794  30000
795 795  OK
... ... @@ -812,118 +812,250 @@
812 812  === 3.3.2 Get Device Status ===
813 813  
814 814  
815 -Send a LoRaWAN downlink to ask device send Alarm settings.
1015 +Send a LoRaWAN downlink to ask the device to send its status.
816 816  
817 -(% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
1017 +(% style="color:blue" %)**Downlink Payload: 0x26 01**
818 818  
819 -Sensor will upload Device Status via FPORT=5. See payload section for detail.
1019 +Sensor will upload Device Status via **FPORT=5**. See payload section for detail.
820 820  
821 821  
822 -=== 3.3.3 Set Temperature Alarm Threshold ===
1022 +=== 3.3.3 Set Interrupt Mode ===
823 823  
824 -* (% style="color:blue" %)**AT Command:**
825 825  
826 -(% style="color:#037691" %)**AT+SHTEMP=min,max**
1025 +Feature, Set Interrupt mode for GPIO_EXIT.
827 827  
828 -* When min=0, and max≠0, Alarm higher than max
829 -* When min≠0, and max=0, Alarm lower than min
830 -* When min≠0 and max≠0, Alarm higher than max or lower than min
1027 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
831 831  
832 -Example:
1029 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1030 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1031 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
1032 +0
1033 +OK
1034 +the mode is 0 =Disable Interrupt
1035 +)))
1036 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
1037 +Set Transmit Interval
1038 +0. (Disable Interrupt),
1039 +~1. (Trigger by rising and falling edge)
1040 +2. (Trigger by falling edge)
1041 +3. (Trigger by rising edge)
1042 +)))|(% style="width:157px" %)OK
1043 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
1044 +Set Transmit Interval
1045 +trigger by rising edge.
1046 +)))|(% style="width:157px" %)OK
1047 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
833 833  
834 - AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
1049 +(% style="color:blue" %)**Downlink Command: 0x06**
835 835  
836 -* (% style="color:blue" %)**Downlink Payload:**
1051 +Format: Command Code (0x06) followed by 3 bytes.
837 837  
838 -(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
1053 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
839 839  
840 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
1055 +* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
1056 +* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
1057 +* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
1058 +* Example 4: Downlink Payload: 06000201  **~-~-->**  AT+INTMOD3=1
841 841  
1060 +=== 3.3.4 Set Power Output Duration ===
842 842  
843 -=== 3.3.4 Set Humidity Alarm Threshold ===
844 844  
845 -* (% style="color:blue" %)**AT Command:**
1063 +Control the output duration 5V . Before each sampling, device will
846 846  
847 -(% style="color:#037691" %)**AT+SHHUM=min,max**
1065 +~1. first enable the power output to external sensor,
848 848  
849 -* When min=0, and max≠0, Alarm higher than max
850 -* When min≠0, and max=0, Alarm lower than min
851 -* When min≠0 and max≠0, Alarm higher than max or lower than min
1067 +2. keep it on as per duration, read sensor value and construct uplink payload
852 852  
853 -Example:
1069 +3. final, close the power output.
854 854  
855 - AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
1071 +(% style="color:blue" %)**AT Command: AT+5VT**
856 856  
857 -* (% style="color:blue" %)**Downlink Payload:**
1073 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1074 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1075 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
1076 +500(default)
1077 +OK
1078 +)))
1079 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1080 +Close after a delay of 1000 milliseconds.
1081 +)))|(% style="width:157px" %)OK
858 858  
859 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
1083 +(% style="color:blue" %)**Downlink Command: 0x07**
860 860  
861 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
1085 +Format: Command Code (0x07) followed by 2 bytes.
862 862  
1087 +The first and second bytes are the time to turn on.
863 863  
864 -=== 3.3.5 Set Alarm Interval ===
1089 +* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1090 +* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
865 865  
866 -The shortest time of two Alarm packet. (unit: min)
1092 +=== 3.3.5 Set Weighing parameters ===
867 867  
868 -* (% style="color:blue" %)**AT Command:**
869 869  
870 -(% style="color:#037691" %)**AT+ATDC=30** (%%) ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes.
1095 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
871 871  
872 -* (% style="color:blue" %)**Downlink Payload:**
1097 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
873 873  
874 -(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
1099 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1100 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1101 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1102 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1103 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
875 875  
1105 +(% style="color:blue" %)**Downlink Command: 0x08**
876 876  
877 -=== 3.3.6 Get Alarm settings ===
1107 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
878 878  
1109 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
879 879  
880 -Send a LoRaWAN downlink to ask device send Alarm settings.
1111 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
881 881  
882 -* (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
1113 +* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1114 +* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1115 +* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
883 883  
884 -**Example:**
1117 +=== 3.3.6 Set Digital pulse count value ===
885 885  
886 -[[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"]]
887 887  
1120 +Feature: Set the pulse count value.
888 888  
889 -**Explain:**
1122 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
890 890  
891 -* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
1124 +(% style="color:blue" %)**AT Command: AT+SETCNT**
892 892  
893 -=== 3.3.7 Set Interrupt Mode ===
1126 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1127 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1128 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1129 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
894 894  
1131 +(% style="color:blue" %)**Downlink Command: 0x09**
895 895  
896 -Feature, Set Interrupt mode for GPIO_EXIT.
1133 +Format: Command Code (0x09) followed by 5 bytes.
897 897  
898 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1135 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
899 899  
1137 +* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1138 +* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1139 +
1140 +=== 3.3.7 Set Workmode ===
1141 +
1142 +
1143 +Feature: Switch working mode.
1144 +
1145 +(% style="color:blue" %)**AT Command: AT+MOD**
1146 +
900 900  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
901 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
902 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
903 -0
1148 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1149 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
904 904  OK
905 -the mode is 0 =Disable Interrupt
906 906  )))
907 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
908 -Set Transmit Interval
909 -0. (Disable Interrupt),
910 -~1. (Trigger by rising and falling edge)
911 -2. (Trigger by falling edge)
912 -3. (Trigger by rising edge)
913 -)))|(% style="width:157px" %)OK
1152 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1153 +OK
1154 +Attention:Take effect after ATZ
1155 +)))
914 914  
915 -(% style="color:blue" %)**Downlink Command: 0x06**
1157 +(% style="color:blue" %)**Downlink Command: 0x0A**
916 916  
917 -Format: Command Code (0x06) followed by 3 bytes.
1159 +Format: Command Code (0x0A) followed by 1 bytes.
918 918  
919 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1161 +* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1162 +* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
920 920  
921 -* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
922 -* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1164 +(% id="H3.3.8PWMsetting" %)
1165 +=== 3.3.8 PWM setting ===
923 923  
924 -= 4. Battery & Power Consumption =
925 925  
1168 +(% class="mark" %)Feature: Set the time acquisition unit for PWM input capture.
926 926  
1170 +(% style="color:blue" %)**AT Command: AT+PWMSET**
1171 +
1172 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1173 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 223px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 130px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Response**
1174 +|(% style="width:154px" %)AT+PWMSET=?|(% style="width:223px" %)0|(% style="width:130px" %)(((
1175 +0(default)
1176 +
1177 +OK
1178 +)))
1179 +|(% 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" %)(((
1180 +OK
1181 +
1182 +)))
1183 +|(% 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
1184 +
1185 +(% style="color:blue" %)**Downlink Command: 0x0C**
1186 +
1187 +Format: Command Code (0x0C) followed by 1 bytes.
1188 +
1189 +* Example 1: Downlink Payload: 0C00  **~-~-->**  AT+PWMSET=0
1190 +* Example 2: Downlink Payload: 0C01  **~-~-->**  AT+PWMSET=1
1191 +
1192 +
1193 +
1194 +(% class="mark" %)Feature: Set the time acquisition unit for PWM output.
1195 +
1196 +(% style="color:blue" %)**AT Command: AT+PWMOUT**
1197 +
1198 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1199 +|=(% style="width: 183px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 193px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 137px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Response**
1200 +|(% style="width:183px" %)AT+PWMOUT=?|(% style="width:193px" %)0|(% style="width:137px" %)(((
1201 +0,0,0(default)
1202 +
1203 +OK
1204 +)))
1205 +|(% style="width:183px" %)AT+PWMOUT=0,0,0|(% style="width:193px" %)The default is PWM input detection|(% style="width:137px" %)(((
1206 +OK
1207 +
1208 +)))
1209 +|(% style="width:183px" %)AT+PWMOUT=5,1000,50|(% style="width:193px" %)(((
1210 +The PWM output time is 5ms, the output frequency is 1000HZ, and the output duty cycle is 50%.
1211 +
1212 +
1213 +)))|(% style="width:137px" %)(((
1214 +OK
1215 +)))
1216 +
1217 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1218 +|=(% style="width: 155px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 112px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 242px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**parameters**
1219 +|(% colspan="1" rowspan="3" style="width:155px" %)(((
1220 +AT+PWMOUT=a,b,c
1221 +
1222 +
1223 +)))|(% colspan="1" rowspan="3" style="width:112px" %)(((
1224 +Set PWM output time, output frequency and output duty cycle.(((
1225 +
1226 +)))
1227 +
1228 +(((
1229 +
1230 +)))
1231 +)))|(% style="width:242px" %)(((
1232 +a: Output time (unit: seconds)
1233 +
1234 +The value ranges from 0 to 65535.
1235 +
1236 +When a=65535, PWM will always output.
1237 +)))
1238 +|(% style="width:242px" %)(((
1239 +b: Output frequency (unit: HZ)
1240 +)))
1241 +|(% style="width:242px" %)(((
1242 +c: Output duty cycle (unit: %)
1243 +
1244 +The value ranges from 0 to 100.
1245 +)))
1246 +
1247 +(% style="color:blue" %)**Downlink Command: 0x0B01**
1248 +
1249 +Format: Command Code (0x0B01) followed by 6 bytes.
1250 +
1251 +Downlink payload:0B01 bb cc aa **~-~--> **AT+PWMOUT=a,b,c
1252 +
1253 +* Example 1: Downlink Payload: 0B01 03E8 0032 0005 **~-~-->**  AT+PWMSET=5,1000,50
1254 +* Example 2: Downlink Payload: 0B01 07D0 003C 000A **~-~-->**  AT+PWMSET=10,2000,60
1255 +
1256 += 4. Battery & Power Cons =
1257 +
1258 +
927 927  SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
928 928  
929 929  [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
... ... @@ -933,24 +933,43 @@
933 933  
934 934  
935 935  (% class="wikigeneratedid" %)
936 -User can change firmware SN50v3-LB to:
1268 +**User can change firmware SN50v3-LB to:**
937 937  
938 938  * Change Frequency band/ region.
939 939  * Update with new features.
940 940  * Fix bugs.
941 941  
942 -Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**
1274 +**Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]**
943 943  
1276 +**Methods to Update Firmware:**
944 944  
945 -Methods to Update Firmware:
1278 +* (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/]]**
1279 +* 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]]**.
946 946  
947 -* (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/]]
948 -* 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]]**.
949 -
950 950  = 6. FAQ =
951 951  
1283 +== 6.1 Where can i find source code of SN50v3-LB? ==
952 952  
953 953  
1286 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1287 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
1288 +
1289 +== 6.2 How to generate PWM Output in SN50v3-LB? ==
1290 +
1291 +
1292 +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]]**.
1293 +
1294 +
1295 +== 6.3 How to put several sensors to a SN50v3-LB? ==
1296 +
1297 +
1298 +When we want to put several sensors to A SN50v3-LB, the waterproof at the grand connector will become an issue. User can try to exchange the grand connector to below type.
1299 +
1300 +[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]].
1301 +
1302 +[[image:image-20230810121434-1.png||height="242" width="656"]]
1303 +
1304 +
954 954  = 7. Order Info =
955 955  
956 956  
... ... @@ -976,6 +976,7 @@
976 976  
977 977  = 8. ​Packing Info =
978 978  
1330 +
979 979  (% style="color:#037691" %)**Package Includes**:
980 980  
981 981  * SN50v3-LB LoRaWAN Generic Node
... ... @@ -991,4 +991,5 @@
991 991  
992 992  
993 993  * 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.
994 -* 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]]
1346 +
1347 +* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.cc>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.cc]]
image-20230512163509-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20230512164658-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512170701-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.5 MB
Content
image-20230512172447-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512173758-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.1 MB
Content
image-20230512173903-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180609-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180718-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512181814-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.2 MB
Content
image-20230513084523-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +611.3 KB
Content
image-20230513102034-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +607.1 KB
Content
image-20230513103633-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +595.5 KB
Content
image-20230513105207-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +384.7 KB
Content
image-20230513105351-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +37.6 KB
Content
image-20230513110214-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +172.7 KB
Content
image-20230513111203-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +79.9 KB
Content
image-20230513111231-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +64.9 KB
Content
image-20230513111255-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +70.4 KB
Content
image-20230513134006-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.9 MB
Content
image-20230515135611-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +948.0 KB
Content
image-20230610162852-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +695.7 KB
Content
image-20230610163213-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +695.4 KB
Content
image-20230610170047-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +444.9 KB
Content
image-20230610170152-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +359.5 KB
Content
image-20230810121434-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +137.3 KB
Content
image-20230811113449-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +973.1 KB
Content
image-20230817170702-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +39.6 KB
Content
image-20230817172209-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.3 MB
Content
image-20230817173800-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.1 MB
Content
image-20230817173830-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +508.5 KB
Content
image-20230817173858-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.6 MB
Content
image-20230817183137-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +137.1 KB
Content
image-20230817183218-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +137.1 KB
Content
image-20230817183249-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +948.6 KB
Content
image-20230818092200-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +98.9 KB
Content
image-20231213102404-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +4.2 MB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0