<
From version < 6.1 >
edited by Edwin Chen
on 2023/05/11 20:24
To version < 66.1 >
edited by Saxer Lin
on 2023/08/17 18:31
>
Change comment: Uploaded new attachment "image-20230817183137-1.png", 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.Saxer
Content
... ... @@ -1,4 +1,5 @@
1 -[[image:image-20230511201248-1.png||height="403" width="489"]]
1 +(% style="text-align:center" %)
2 +[[image:image-20230515135611-1.jpeg||height="589" width="589"]]
2 2  
3 3  
4 4  
... ... @@ -15,23 +15,21 @@
15 15  
16 16  == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
17 17  
19 +
18 18  (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
19 19  
20 -
21 21  (% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
22 22  
23 -
24 24  (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors.
25 25  
26 -
27 27  (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining.
28 28  
29 -
30 30  SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements.
31 31  
32 32  
33 33  == 1.2 ​Features ==
34 34  
33 +
35 35  * LoRaWAN 1.0.3 Class A
36 36  * Ultra-low power consumption
37 37  * Open-Source hardware/software
... ... @@ -42,8 +42,10 @@
42 42  * Downlink to change configure
43 43  * 8500mAh Battery for long term use
44 44  
44 +
45 45  == 1.3 Specification ==
46 46  
47 +
47 47  (% style="color:#037691" %)**Common DC Characteristics:**
48 48  
49 49  * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
... ... @@ -78,8 +78,10 @@
78 78  * Sleep Mode: 5uA @ 3.3v
79 79  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
80 80  
82 +
81 81  == 1.4 Sleep mode and working mode ==
82 82  
85 +
83 83  (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
84 84  
85 85  (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
... ... @@ -104,6 +104,7 @@
104 104  )))
105 105  |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode.
106 106  
110 +
107 107  == 1.6 BLE connection ==
108 108  
109 109  
... ... @@ -122,39 +122,22 @@
122 122  == 1.7 Pin Definitions ==
123 123  
124 124  
125 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
126 -|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 218px;background-color:#D9E2F3;color:#0070C0" %)Probe Info
127 -|(% style="width:102px" %)S31-LB|(% style="width:190px" %)[[image:S31.jpg]]|(% style="width:297px" %)(((
128 -1 x SHT31 Probe
129 +[[image:image-20230610163213-1.png||height="404" width="699"]]
129 129  
130 -Cable Length : 2 meters
131 131  
132 -
133 -)))
134 -|(% style="width:102px" %)S31B-LB|(% style="width:190px" %)[[image:S31B.jpg]]|(% style="width:297px" %)(((
135 -1 x SHT31 Probe
136 -
137 -Installed in device.
138 -)))
139 -
140 -(% style="display:none" %)
141 -
142 -
143 -
144 144  == 1.8 Mechanical ==
145 145  
146 146  
147 147  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
148 148  
149 -
150 150  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
151 151  
152 -
153 153  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
154 154  
155 155  
156 -== Hole Option ==
142 +== 1.9 Hole Option ==
157 157  
144 +
158 158  SN50v3-LB has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
159 159  
160 160  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627104757-1.png?rev=1.1||alt="image-20220627104757-1.png"]]
... ... @@ -162,12 +162,12 @@
162 162  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656298089706-973.png?rev=1.1||alt="1656298089706-973.png"]]
163 163  
164 164  
165 -= 2. Configure S31x-LB to connect to LoRaWAN network =
152 += 2. Configure SN50v3-LB to connect to LoRaWAN network =
166 166  
167 167  == 2.1 How it works ==
168 168  
169 169  
170 -The S31x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
157 +The SN50v3-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the SN50v3-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
171 171  
172 172  
173 173  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -175,14 +175,14 @@
175 175  
176 176  Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
177 177  
178 -The 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.
165 +The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
179 179  
180 180  
181 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
168 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
182 182  
183 -Each S31x-LB is shipped with a sticker with the default device EUI as below:
170 +Each SN50v3-LB is shipped with a sticker with the default device EUI as below:
184 184  
185 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
172 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/WebHome/image-20230426084152-1.png?width=502&height=233&rev=1.1||alt="图片-20230426084152-1.png" height="233" width="502"]]
186 186  
187 187  
188 188  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
... ... @@ -209,10 +209,10 @@
209 209  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
210 210  
211 211  
212 -(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
199 +(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB
213 213  
214 214  
215 -Press the button for 5 seconds to activate the S31x-LB.
202 +Press the button for 5 seconds to activate the SN50v3-LB.
216 216  
217 217  (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
218 218  
... ... @@ -224,7 +224,7 @@
224 224  === 2.3.1 Device Status, FPORT~=5 ===
225 225  
226 226  
227 -Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server.
214 +Users can use the downlink command(**0x26 01**) to ask SN50v3-LB to send device configure detail, include device configure status. SN50v3-LB will uplink a payload via FPort=5 to server.
228 228  
229 229  The Payload format is as below.
230 230  
... ... @@ -232,46 +232,44 @@
232 232  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
233 233  |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
234 234  |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
235 -|(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
222 +|(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
236 236  
237 237  Example parse in TTNv3
238 238  
239 -[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]]
240 240  
227 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB, this value is 0x1C
241 241  
242 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
243 -
244 244  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
245 245  
246 246  (% style="color:#037691" %)**Frequency Band**:
247 247  
248 -*0x01: EU868
233 +0x01: EU868
249 249  
250 -*0x02: US915
235 +0x02: US915
251 251  
252 -*0x03: IN865
237 +0x03: IN865
253 253  
254 -*0x04: AU915
239 +0x04: AU915
255 255  
256 -*0x05: KZ865
241 +0x05: KZ865
257 257  
258 -*0x06: RU864
243 +0x06: RU864
259 259  
260 -*0x07: AS923
245 +0x07: AS923
261 261  
262 -*0x08: AS923-1
247 +0x08: AS923-1
263 263  
264 -*0x09: AS923-2
249 +0x09: AS923-2
265 265  
266 -*0x0a: AS923-3
251 +0x0a: AS923-3
267 267  
268 -*0x0b: CN470
253 +0x0b: CN470
269 269  
270 -*0x0c: EU433
255 +0x0c: EU433
271 271  
272 -*0x0d: KR920
257 +0x0d: KR920
273 273  
274 -*0x0e: MA869
259 +0x0e: MA869
275 275  
276 276  
277 277  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -292,41 +292,402 @@
292 292  Ex2: 0x0B49 = 2889mV
293 293  
294 294  
295 -=== 2.3.2  Sensor Data. FPORT~=2 ===
280 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
296 296  
297 297  
298 -Sensor Data is uplink via FPORT=2
283 +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.
299 299  
300 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
301 -|=(% style="width: 90px;background-color:#D9E2F3" %)(((
285 +For example:
286 +
287 + (% style="color:blue" %)**AT+MOD=2  ** (%%) ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
288 +
289 +
290 +(% style="color:red" %) **Important Notice:**
291 +
292 +~1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in (% style="color:blue" %)**DR0**(%%). Server sides will see NULL payload while SN50v3-LB transmit in DR0 with 12 bytes payload.
293 +
294 +2. All modes share the same Payload Explanation from HERE.
295 +
296 +3. By default, the device will send an uplink message every 20 minutes.
297 +
298 +
299 +==== 2.3.2.1  MOD~=1 (Default Mode) ====
300 +
301 +
302 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
303 +
304 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
305 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:130px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2**
306 +|Value|Bat|(% style="width:191px" %)(((
307 +Temperature(DS18B20)(PC13)
308 +)))|(% style="width:78px" %)(((
309 +ADC(PA4)
310 +)))|(% style="width:216px" %)(((
311 +Digital in(PB15)&Digital Interrupt(PA8)
312 +)))|(% style="width:308px" %)(((
313 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
314 +)))|(% style="width:154px" %)(((
315 +Humidity(SHT20 or SHT31)
316 +)))
317 +
318 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627150949-6.png?rev=1.1||alt="image-20220627150949-6.png"]]
319 +
320 +
321 +==== 2.3.2.2  MOD~=2 (Distance Mode) ====
322 +
323 +
324 +This mode is target to measure the distance. The payload of this mode is totally 11 bytes. The 8^^th^^ and 9^^th^^ bytes is for the distance.
325 +
326 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
327 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:30px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:140px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**
328 +|Value|BAT|(% style="width:196px" %)(((
329 +Temperature(DS18B20)(PC13)
330 +)))|(% style="width:87px" %)(((
331 +ADC(PA4)
332 +)))|(% style="width:189px" %)(((
333 +Digital in(PB15) & Digital Interrupt(PA8)
334 +)))|(% style="width:208px" %)(((
335 +Distance measure by: 1) LIDAR-Lite V3HP
336 +Or 2) Ultrasonic Sensor
337 +)))|(% style="width:117px" %)Reserved
338 +
339 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324539647-568.png?rev=1.1||alt="1656324539647-568.png"]]
340 +
341 +
342 +(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**
343 +
344 +[[image:image-20230512173758-5.png||height="563" width="712"]]
345 +
346 +
347 +(% style="color:blue" %)**Connection to Ultrasonic Sensor:**
348 +
349 +(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.**
350 +
351 +[[image:image-20230512173903-6.png||height="596" width="715"]]
352 +
353 +
354 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
355 +
356 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
357 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:120px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2**
358 +|Value|BAT|(% style="width:183px" %)(((
359 +Temperature(DS18B20)(PC13)
360 +)))|(% style="width:173px" %)(((
361 +Digital in(PB15) & Digital Interrupt(PA8)
362 +)))|(% style="width:84px" %)(((
363 +ADC(PA4)
364 +)))|(% style="width:323px" %)(((
365 +Distance measure by:1)TF-Mini plus LiDAR
366 +Or 2) TF-Luna LiDAR
367 +)))|(% style="width:188px" %)Distance signal  strength
368 +
369 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656376779088-686.png?rev=1.1||alt="1656376779088-686.png"]]
370 +
371 +
372 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
373 +
374 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
375 +
376 +[[image:image-20230512180609-7.png||height="555" width="802"]]
377 +
378 +
379 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
380 +
381 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
382 +
383 +[[image:image-20230610170047-1.png||height="452" width="799"]]
384 +
385 +
386 +==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
387 +
388 +
389 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C
390 +
391 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
392 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
302 302  **Size(bytes)**
303 -)))|=(% style="width: 80px;background-color:#D9E2F3" %)2|=(% style="width: 90px;background-color:#D9E2F3" %)4|=(% style="width:80px;background-color:#D9E2F3" %)1|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2
304 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
305 -[[Battery>>||anchor="HBattery:"]]
306 -)))|(% style="width:130px" %)(((
307 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
308 -)))|(% style="width:91px" %)(((
309 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
310 -)))|(% style="width:103px" %)(((
311 -[[Temperature>>||anchor="HTemperature:"]]
312 -)))|(% style="width:80px" %)(((
313 -[[Humidity>>||anchor="HHumidity:"]]
394 +)))|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)1
395 +|Value|(% style="width:68px" %)(((
396 +ADC1(PA4)
397 +)))|(% style="width:75px" %)(((
398 +ADC2(PA5)
399 +)))|(((
400 +ADC3(PA8)
401 +)))|(((
402 +Digital Interrupt(PB15)
403 +)))|(% style="width:304px" %)(((
404 +Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
405 +)))|(% style="width:163px" %)(((
406 +Humidity(SHT20 or SHT31)
407 +)))|(% style="width:53px" %)Bat
408 +
409 +[[image:image-20230513110214-6.png]]
410 +
411 +
412 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
413 +
414 +
415 +This mode has total 11 bytes. As shown below:
416 +
417 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
418 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**
419 +|Value|BAT|(% style="width:186px" %)(((
420 +Temperature1(DS18B20)(PC13)
421 +)))|(% style="width:82px" %)(((
422 +ADC(PA4)
423 +)))|(% style="width:210px" %)(((
424 +Digital in(PB15) & Digital Interrupt(PA8) 
425 +)))|(% style="width:191px" %)Temperature2(DS18B20)
426 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8)
427 +
428 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377606181-607.png?rev=1.1||alt="1656377606181-607.png"]]
429 +
430 +
431 +[[image:image-20230513134006-1.png||height="559" width="736"]]
432 +
433 +
434 +==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
435 +
436 +
437 +[[image:image-20230512164658-2.png||height="532" width="729"]]
438 +
439 +Each HX711 need to be calibrated before used. User need to do below two steps:
440 +
441 +1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram.
442 +1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run (% style="color:blue" %)**AT+WEIGAP**(%%) to adjust the Calibration Factor.
443 +1. (((
444 +Weight has 4 bytes, the unit is g.
445 +
446 +
447 +
314 314  )))
315 315  
316 -==== (% style="color:#4472c4" %)**Battery**(%%) ====
450 +For example:
317 317  
318 -Sensor Battery Level.
452 +(% style="color:blue" %)**AT+GETSENSORVALUE =0**
319 319  
454 +Response:  Weight is 401 g
455 +
456 +Check the response of this command and adjust the value to match the real value for thing.
457 +
458 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
459 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
460 +**Size(bytes)**
461 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 150px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 200px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**4**
462 +|Value|BAT|(% style="width:193px" %)(((
463 +Temperature(DS18B20)(PC13)
464 +)))|(% style="width:85px" %)(((
465 +ADC(PA4)
466 +)))|(% style="width:186px" %)(((
467 +Digital in(PB15) & Digital Interrupt(PA8)
468 +)))|(% style="width:100px" %)Weight
469 +
470 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820120036-2.png?width=1003&height=469&rev=1.1||alt="image-20220820120036-2.png" height="469" width="1003"]]
471 +
472 +
473 +==== 2.3.2.6  MOD~=6 (Counting Mode) ====
474 +
475 +
476 +In this mode, the device will work in counting mode. It counts the interrupt on the interrupt pins and sends the count on TDC time.
477 +
478 +Connection is as below. The PIR sensor is a count sensor, it will generate interrupt when people come close or go away. User can replace the PIR sensor with other counting sensors.
479 +
480 +[[image:image-20230512181814-9.png||height="543" width="697"]]
481 +
482 +
483 +(% style="color:red" %)**Note:** **LoRaWAN wireless transmission will infect the PIR sensor. Which cause the counting value increase +1 for every uplink. User can change PIR sensor or put sensor away of the SN50_v3 to avoid this happen.**
484 +
485 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
486 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**Size(bytes)**|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**4**
487 +|Value|BAT|(% style="width:256px" %)(((
488 +Temperature(DS18B20)(PC13)
489 +)))|(% style="width:108px" %)(((
490 +ADC(PA4)
491 +)))|(% style="width:126px" %)(((
492 +Digital in(PB15)
493 +)))|(% style="width:145px" %)(((
494 +Count(PA8)
495 +)))
496 +
497 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378441509-171.png?rev=1.1||alt="1656378441509-171.png"]]
498 +
499 +
500 +==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
501 +
502 +
503 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
504 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
505 +**Size(bytes)**
506 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)1|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2
507 +|Value|BAT|(% style="width:188px" %)(((
508 +Temperature(DS18B20)
509 +(PC13)
510 +)))|(% style="width:83px" %)(((
511 +ADC(PA5)
512 +)))|(% style="width:184px" %)(((
513 +Digital Interrupt1(PA8)
514 +)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
515 +
516 +[[image:image-20230513111203-7.png||height="324" width="975"]]
517 +
518 +
519 +==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
520 +
521 +
522 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
523 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
524 +**Size(bytes)**
525 +)))|=(% style="width: 30px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 120px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)2
526 +|Value|BAT|(% style="width:207px" %)(((
527 +Temperature(DS18B20)
528 +(PC13)
529 +)))|(% style="width:94px" %)(((
530 +ADC1(PA4)
531 +)))|(% style="width:198px" %)(((
532 +Digital Interrupt(PB15)
533 +)))|(% style="width:84px" %)(((
534 +ADC2(PA5)
535 +)))|(% style="width:82px" %)(((
536 +ADC3(PA8)
537 +)))
538 +
539 +[[image:image-20230513111231-8.png||height="335" width="900"]]
540 +
541 +
542 +==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
543 +
544 +
545 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
546 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
547 +**Size(bytes)**
548 +)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4
549 +|Value|BAT|(((
550 +Temperature
551 +(DS18B20)(PC13)
552 +)))|(((
553 +Temperature2
554 +(DS18B20)(PB9)
555 +)))|(((
556 +Digital Interrupt
557 +(PB15)
558 +)))|(% style="width:193px" %)(((
559 +Temperature3
560 +(DS18B20)(PB8)
561 +)))|(% style="width:78px" %)(((
562 +Count1(PA8)
563 +)))|(% style="width:78px" %)(((
564 +Count2(PA4)
565 +)))
566 +
567 +[[image:image-20230513111255-9.png||height="341" width="899"]]
568 +
569 +(% style="color:blue" %)**The newly added AT command is issued correspondingly:**
570 +
571 +(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)**06 00 00 xx**
572 +
573 +(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%)  pin:  Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx**
574 +
575 +(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)** 06 00 02 xx**
576 +
577 +
578 +(% style="color:blue" %)**AT+SETCNT=aa,bb** 
579 +
580 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
581 +
582 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
583 +
584 +
585 +==== 2.3.2.10  MOD~=10 (PWM input capture and output mode,Since firmware v1.2) ====
586 +
587 +In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output.
588 +
589 +
590 +===== 2.3.2.10.a  Uplink, PWM input capture =====
591 +
592 +[[image:image-20230817172209-2.png||height="439" width="683"]]
593 +
594 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:690px" %)
595 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:135px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**2**
596 +|Value|Bat|(% style="width:191px" %)(((
597 +Temperature(DS18B20)(PC13)
598 +)))|(% style="width:78px" %)(((
599 +ADC(PA4)
600 +)))|(% style="width:135px" %)(((
601 +PWM_Setting
602 +
603 +&Digital Interrupt(PA8)
604 +)))|(% style="width:70px" %)(((
605 +Pulse period
606 +)))|(% style="width:89px" %)(((
607 +Duration of high level
608 +)))
609 +
610 +[[image:image-20230817170702-1.png||height="161" width="1044"]]
611 +
612 +
613 +(% style="color:blue" %)**AT+PWMSET=AA(Default is 0)  ==> Corresponding downlink: 0B AA**
614 +
615 +When AA is 0, the unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ. 
616 +
617 +When AA is 1, the unit of PWM capture time is millisecond.  The capture frequency range is between 5HZ and 250HZ. 
618 +
619 +
620 +===== 2.3.2.10.b  Downlink, PWM output =====
621 +
622 +[[image:image-20230817173800-3.png||height="412" width="685"]]
623 +
624 +Downlink:  (% style="color:#037691" %)**0B xx xx xx yy zz zz**
625 +
626 + xx xx xx is the output frequency, the unit is HZ.
627 +
628 + yy is the duty cycle of the output, the unit is %.
629 +
630 + zz zz is the time delay of the output, the unit is ms.
631 +
632 +
633 +For example, send a downlink command: 0B 00 61 A8 32 13 88, the frequency is 25KHZ, the duty cycle is 50, and the output time is 5 seconds.
634 +
635 +The oscilloscope displays as follows:
636 +
637 +[[image:image-20230817173858-5.png||height="694" width="921"]]
638 +
639 +
640 +=== 2.3.3  ​Decode payload ===
641 +
642 +
643 +While using TTN V3 network, you can add the payload format to decode the payload.
644 +
645 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]]
646 +
647 +The payload decoder function for TTN V3 are here:
648 +
649 +SN50v3-LB TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
650 +
651 +
652 +==== 2.3.3.1 Battery Info ====
653 +
654 +
655 +Check the battery voltage for SN50v3-LB.
656 +
320 320  Ex1: 0x0B45 = 2885mV
321 321  
322 322  Ex2: 0x0B49 = 2889mV
323 323  
324 324  
662 +==== 2.3.3.2  Temperature (DS18B20) ====
325 325  
326 -==== (% style="color:#4472c4" %)**Temperature**(%%) ====
327 327  
328 -**Example**:
665 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
329 329  
667 +More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]]
668 +
669 +(% style="color:blue" %)**Connection:**
670 +
671 +[[image:image-20230512180718-8.png||height="538" width="647"]]
672 +
673 +
674 +(% style="color:blue" %)**Example**:
675 +
330 330  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
331 331  
332 332  If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
... ... @@ -334,200 +334,240 @@
334 334  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
335 335  
336 336  
337 -==== (% style="color:#4472c4" %)**Humidity**(%%) ====
683 +==== 2.3.3.3 Digital Input ====
338 338  
339 339  
340 -Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
686 +The digital input for pin PB15,
341 341  
688 +* When PB15 is high, the bit 1 of payload byte 6 is 1.
689 +* When PB15 is low, the bit 1 of payload byte 6 is 0.
342 342  
343 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
691 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
692 +(((
693 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
344 344  
695 +(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.**
345 345  
346 -**Example:**
697 +
698 +)))
347 347  
348 -If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
700 +==== 2.3.3.4  Analogue Digital Converter (ADC) ====
349 349  
350 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
351 351  
352 -If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
703 +The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv.
353 353  
354 -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. 
705 +When the measured output voltage of the sensor is not within the range of 0.1V and 1.1V, the output voltage terminal of the sensor shall be divided The example in the following figure is to reduce the output voltage of the sensor by three times If it is necessary to reduce more times, calculate according to the formula in the figure and connect the corresponding resistance in series.
355 355  
707 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220628150112-1.png?width=285&height=241&rev=1.1||alt="image-20220628150112-1.png" height="241" width="285"]]
356 356  
357 -== 2.4 Payload Decoder file ==
358 358  
710 +(% style="color:red" %)**Note: If the ADC type sensor needs to be powered by SN50_v3, it is recommended to use +5V to control its switch.Only sensors with low power consumption can be powered with VDD.**
359 359  
360 -In TTN, use can add a custom payload so it shows friendly reading
361 361  
362 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
713 +The position of PA5 on the hardware after **LSN50 v3.3** is changed to the position shown in the figure below, and the collected voltage becomes one-sixth of the original.
363 363  
364 -[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B >>https://github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B]]
715 +[[image:image-20230811113449-1.png||height="370" width="608"]]
365 365  
717 +==== 2.3.3.5 Digital Interrupt ====
366 366  
367 -== 2.5 Datalog Feature ==
368 368  
720 +Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3-LB will send a packet to the server.
369 369  
370 -Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes.
722 +(% style="color:blue" %)** Interrupt connection method:**
371 371  
724 +[[image:image-20230513105351-5.png||height="147" width="485"]]
372 372  
373 -=== 2.5.1 Ways to get datalog via LoRaWAN ===
374 374  
727 +(% style="color:blue" %)**Example to use with door sensor :**
375 375  
376 -Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
729 +The door sensor is shown at right. It is a two wire magnetic contact switch used for detecting the open/close status of doors or windows.
377 377  
378 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
379 -* b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages.
731 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379210849-860.png?rev=1.1||alt="1656379210849-860.png"]]
380 380  
381 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
733 +When the two pieces are close to each other, the 2 wire output will be short or open (depending on the type), while if the two pieces are away from each other, the 2 wire output will be the opposite status. So we can use SN50v3-LB interrupt interface to detect the status for the door or window.
382 382  
383 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]]
384 384  
385 -=== 2.5.2 Unix TimeStamp ===
736 +(% style="color:blue" %)**Below is the installation example:**
386 386  
738 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows:
387 387  
388 -S31x-LB uses Unix TimeStamp format based on
740 +* (((
741 +One pin to SN50v3-LB's PA8 pin
742 +)))
743 +* (((
744 +The other pin to SN50v3-LB's VDD pin
745 +)))
389 389  
390 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
747 +Install the other piece to the door. Find a place where the two pieces will be close to each other when the door is closed. For this particular magnetic sensor, when the door is closed, the output will be short, and PA8 will be at the VCC voltage.
391 391  
392 -User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
749 +Door sensors have two types: (% style="color:blue" %)** NC (Normal close)**(%%) and (% style="color:blue" %)**NO (normal open)**(%%). The connection for both type sensors are the same. But the decoding for payload are reverse, user need to modify this in the IoT Server decoder.
393 393  
394 -Below is the converter example
751 +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.
395 395  
396 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
753 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379283019-229.png?rev=1.1||alt="1656379283019-229.png"]]
397 397  
398 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
755 +The above photos shows the two parts of the magnetic switch fitted to a door.
399 399  
757 +The software by default uses the falling edge on the signal line as an interrupt. We need to modify it to accept both the rising edge (0v ~-~-> VCC , door close) and the falling edge (VCC ~-~-> 0v , door open) as the interrupt.
400 400  
401 -=== 2.5.3 Set Device Time ===
759 +The command is:
402 402  
761 +(% style="color:blue" %)**AT+INTMOD1=1   ** (%%) ~/~/  (more info about INMOD please refer** **[[**AT Command Manual**>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/&file=DRAGINO_LSN50_AT_Commands_v1.5.1.pdf]]**. **)
403 403  
404 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
763 +Below shows some screen captures in TTN V3:
405 405  
406 -Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
765 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379339508-835.png?rev=1.1||alt="1656379339508-835.png"]]
407 407  
408 -(% 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.**
409 409  
768 +In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
410 410  
411 -=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
770 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
412 412  
413 413  
414 -The Datalog uplinks will use below payload format.
773 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
415 415  
416 -**Retrieval data payload:**
417 417  
418 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
419 -|=(% style="width: 80px;background-color:#D9E2F3" %)(((
420 -**Size(bytes)**
421 -)))|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 120px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 85px; background-color: rgb(217, 226, 243);" %)**4**
422 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
423 -[[Temp_Black>>||anchor="HTemperatureBlack:"]]
424 -)))|(% style="width:51px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:89px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]]
776 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
425 425  
426 -**Poll message flag & Ext:**
778 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
427 427  
428 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20221006192726-1.png?width=754&height=112&rev=1.1||alt="图片-20221006192726-1.png" height="112" width="754"]]
780 +(% style="color:red" %)**Notice: Different I2C sensors have different I2C commands set and initiate process, if user want to use other I2C sensors, User need to re-write the source code to support those sensors. SHT20/ SHT31 code in SN50v3-LB will be a good reference.**
429 429  
430 -**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)
431 431  
432 -**Poll Message Flag**: 1: This message is a poll message reply.
783 +Below is the connection to SHT20/ SHT31. The connection is as below:
433 433  
434 -* Poll Message Flag is set to 1.
785 +[[image:image-20230610170152-2.png||height="501" width="846"]]
435 435  
436 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
437 437  
438 -For example, in US915 band, the max payload for different DR is:
788 +The device will be able to get the I2C sensor data now and upload to IoT Server.
439 439  
440 -**a) DR0:** max is 11 bytes so one entry of data
790 +[[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"]]
441 441  
442 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
792 +Convert the read byte to decimal and divide it by ten.
443 443  
444 -**c) DR2:** total payload includes 11 entries of data
794 +**Example:**
445 445  
446 -**d) DR3: **total payload includes 22 entries of data.
796 +Temperature:  Read:0116(H) = 278(D Value 278 /10=27.8℃;
447 447  
448 -If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
798 +Humidity:    Read:0248(H)=584(D)  Value 584 / 10=58.4, So 58.4%
449 449  
800 +If you want to use other I2C device, please refer the SHT20 part source code as reference.
450 450  
802 +
803 +==== 2.3.3.7  ​Distance Reading ====
804 +
805 +
806 +Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]].
807 +
808 +
809 +==== 2.3.3.8 Ultrasonic Sensor ====
810 +
811 +
812 +This Fundamental Principles of this sensor can be found at this link: [[https:~~/~~/wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU~~_~~__SEN0208>>url:https://wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU___SEN0208]]
813 +
814 +The SN50v3-LB detects the pulse width of the sensor and converts it to mm output. The accuracy will be within 1 centimeter. The usable range (the distance between the ultrasonic probe and the measured object) is between 24cm and 600cm.
815 +
816 +The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor.
817 +
818 +The picture below shows the connection:
819 +
820 +[[image:image-20230512173903-6.png||height="596" width="715"]]
821 +
822 +
823 +Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT).
824 +
825 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
826 +
451 451  **Example:**
452 452  
453 -If S31x-LB has below data inside Flash:
829 +Distance:  Read: 0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
454 454  
455 -[[image:1682646494051-944.png]]
456 456  
457 -If user sends below downlink command: 3160065F9760066DA705
832 +==== 2.3.3.9  Battery Output - BAT pin ====
458 458  
459 -Where : Start time: 60065F97 = time 21/1/19 04:27:03
460 460  
461 - Stop time: 60066DA7= time 21/1/19 05:27:03
835 +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.
462 462  
463 463  
464 -**S31x-LB will uplink this payload.**
838 +==== 2.3.3.1 +5V Output ====
465 465  
466 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-13.png?width=727&height=421&rev=1.1||alt="图片-20220523001219-13.png" height="421" width="727"]]
467 467  
468 -(((
469 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
470 -)))
841 +SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 
471 471  
472 -(((
473 -Where the first 11 bytes is for the first entry:
474 -)))
843 +The 5V output time can be controlled by AT Command.
475 475  
476 -(((
477 -7FFF089801464160065F97
478 -)))
845 +(% style="color:blue" %)**AT+5VT=1000**
479 479  
480 -(((
481 -**Ext sensor data**=0x7FFF/100=327.67
482 -)))
847 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
483 483  
484 -(((
485 -**Temp**=0x088E/100=22.00
486 -)))
849 +By default the **AT+5VT=500**. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
487 487  
488 -(((
489 -**Hum**=0x014B/10=32.6
490 -)))
491 491  
492 -(((
493 -**poll message flag & Ext**=0x41,means reply data,Ext=1
494 -)))
852 +==== 2.3.3.11  BH1750 Illumination Sensor ====
495 495  
496 -(((
497 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
498 -)))
499 499  
855 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
500 500  
501 -(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的
857 +[[image:image-20230512172447-4.png||height="416" width="712"]]
502 502  
503 -== 2.6 Temperature Alarm Feature ==
504 504  
860 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628110012-12.png?rev=1.1||alt="image-20220628110012-12.png" height="361" width="953"]]
505 505  
506 -S31x-LB work flow with Alarm feature.
507 507  
863 +==== 2.3.3.12  PWM MOD ====
508 508  
509 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="图片-20220623090437-1.png"]]
510 510  
866 +==== 2.3.3.13  Working MOD ====
511 511  
512 -== 2.7 Frequency Plans ==
513 513  
869 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
514 514  
515 -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.
871 +User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
516 516  
873 +Case 7^^th^^ Byte >> 2 & 0x1f:
874 +
875 +* 0: MOD1
876 +* 1: MOD2
877 +* 2: MOD3
878 +* 3: MOD4
879 +* 4: MOD5
880 +* 5: MOD6
881 +* 6: MOD7
882 +* 7: MOD8
883 +* 8: MOD9
884 +* 9: MOD10
885 +
886 +
887 +== 2.4 Payload Decoder file ==
888 +
889 +
890 +In TTN, use can add a custom payload so it shows friendly reading
891 +
892 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
893 +
894 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB]]
895 +
896 +
897 +== 2.5 Frequency Plans ==
898 +
899 +
900 +The SN50v3-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
901 +
517 517  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
518 518  
519 519  
520 -= 3. Configure S31x-LB =
905 += 3. Configure SN50v3-LB =
521 521  
522 522  == 3.1 Configure Methods ==
523 523  
524 524  
525 -S31x-LB supports below configure method:
910 +SN50v3-LB supports below configure method:
526 526  
527 527  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
528 528  * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
529 529  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
530 530  
916 +
531 531  == 3.2 General Commands ==
532 532  
533 533  
... ... @@ -541,10 +541,10 @@
541 541  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
542 542  
543 543  
544 -== 3.3 Commands special design for S31x-LB ==
930 +== 3.3 Commands special design for SN50v3-LB ==
545 545  
546 546  
547 -These commands only valid for S31x-LB, as below:
933 +These commands only valid for SN50v3-LB, as below:
548 548  
549 549  
550 550  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -555,7 +555,7 @@
555 555  (% style="color:blue" %)**AT Command: AT+TDC**
556 556  
557 557  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
558 -|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
944 +|=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
559 559  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
560 560  30000
561 561  OK
... ... @@ -575,122 +575,168 @@
575 575  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
576 576  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
577 577  
964 +
578 578  === 3.3.2 Get Device Status ===
579 579  
580 580  
581 -Send a LoRaWAN downlink to ask device send Alarm settings.
968 +Send a LoRaWAN downlink to ask the device to send its status.
582 582  
583 -(% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
970 +(% style="color:blue" %)**Downlink Payload: 0x26 01**
584 584  
585 -Sensor will upload Device Status via FPORT=5. See payload section for detail.
972 +Sensor will upload Device Status via **FPORT=5**. See payload section for detail.
586 586  
587 587  
588 -=== 3.3.3 Set Temperature Alarm Threshold ===
975 +=== 3.3.3 Set Interrupt Mode ===
589 589  
590 -* (% style="color:blue" %)**AT Command:**
591 591  
592 -(% style="color:#037691" %)**AT+SHTEMP=min,max**
978 +Feature, Set Interrupt mode for GPIO_EXIT.
593 593  
594 -* When min=0, and max≠0, Alarm higher than max
595 -* When min≠0, and max=0, Alarm lower than min
596 -* When min≠0 and max≠0, Alarm higher than max or lower than min
980 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
597 597  
598 -Example:
982 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
983 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
984 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
985 +0
986 +OK
987 +the mode is 0 =Disable Interrupt
988 +)))
989 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
990 +Set Transmit Interval
991 +0. (Disable Interrupt),
992 +~1. (Trigger by rising and falling edge)
993 +2. (Trigger by falling edge)
994 +3. (Trigger by rising edge)
995 +)))|(% style="width:157px" %)OK
996 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
997 +Set Transmit Interval
998 +trigger by rising edge.
999 +)))|(% style="width:157px" %)OK
1000 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
599 599  
600 - AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
1002 +(% style="color:blue" %)**Downlink Command: 0x06**
601 601  
602 -* (% style="color:blue" %)**Downlink Payload:**
1004 +Format: Command Code (0x06) followed by 3 bytes.
603 603  
604 -(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
1006 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
605 605  
606 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
1008 +* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
1009 +* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
1010 +* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
1011 +* Example 4: Downlink Payload: 06000201  **~-~-->**  AT+INTMOD3=1
607 607  
608 608  
609 -=== 3.3.4 Set Humidity Alarm Threshold ===
1014 +=== 3.3.4 Set Power Output Duration ===
610 610  
611 -* (% style="color:blue" %)**AT Command:**
612 612  
613 -(% style="color:#037691" %)**AT+SHHUM=min,max**
1017 +Control the output duration 5V . Before each sampling, device will
614 614  
615 -* When min=0, and max≠0, Alarm higher than max
616 -* When min≠0, and max=0, Alarm lower than min
617 -* When min≠0 and max≠0, Alarm higher than max or lower than min
1019 +~1. first enable the power output to external sensor,
618 618  
619 -Example:
1021 +2. keep it on as per duration, read sensor value and construct uplink payload
620 620  
621 - AT+SHHUM=70, ~/~/ Alarm when humidity lower than 70%.
1023 +3. final, close the power output.
622 622  
623 -* (% style="color:blue" %)**Downlink Payload:**
1025 +(% style="color:blue" %)**AT Command: AT+5VT**
624 624  
625 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
1027 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1028 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1029 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
1030 +500(default)
1031 +OK
1032 +)))
1033 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1034 +Close after a delay of 1000 milliseconds.
1035 +)))|(% style="width:157px" %)OK
626 626  
627 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
1037 +(% style="color:blue" %)**Downlink Command: 0x07**
628 628  
1039 +Format: Command Code (0x07) followed by 2 bytes.
629 629  
630 -=== 3.3.5 Set Alarm Interval ===
1041 +The first and second bytes are the time to turn on.
631 631  
632 -The shortest time of two Alarm packet. (unit: min)
1043 +* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1044 +* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
633 633  
634 -* (% style="color:blue" %)**AT Command:**
635 635  
636 -(% 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.
1047 +=== 3.3.5 Set Weighing parameters ===
637 637  
638 -* (% style="color:blue" %)**Downlink Payload:**
639 639  
640 -(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
1050 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
641 641  
1052 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
642 642  
643 -=== 3.3.6 Get Alarm settings ===
1054 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1055 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1056 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1057 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1058 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
644 644  
1060 +(% style="color:blue" %)**Downlink Command: 0x08**
645 645  
646 -Send a LoRaWAN downlink to ask device send Alarm settings.
1062 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
647 647  
648 -* (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
1064 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
649 649  
650 -**Example:**
1066 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
651 651  
652 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]]
1068 +* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1069 +* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1070 +* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
653 653  
654 654  
655 -**Explain:**
1073 +=== 3.3.6 Set Digital pulse count value ===
656 656  
657 -* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
658 658  
659 -=== 3.3.7 Set Interrupt Mode ===
1076 +Feature: Set the pulse count value.
660 660  
1078 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
661 661  
662 -Feature, Set Interrupt mode for GPIO_EXIT.
1080 +(% style="color:blue" %)**AT Command: AT+SETCNT**
663 663  
664 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1082 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1083 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1084 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1085 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
665 665  
1087 +(% style="color:blue" %)**Downlink Command: 0x09**
1088 +
1089 +Format: Command Code (0x09) followed by 5 bytes.
1090 +
1091 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
1092 +
1093 +* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1094 +* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1095 +
1096 +
1097 +=== 3.3.7 Set Workmode ===
1098 +
1099 +
1100 +Feature: Switch working mode.
1101 +
1102 +(% style="color:blue" %)**AT Command: AT+MOD**
1103 +
666 666  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
667 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
668 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
669 -0
1105 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1106 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
670 670  OK
671 -the mode is 0 =Disable Interrupt
672 672  )))
673 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
674 -Set Transmit Interval
675 -0. (Disable Interrupt),
676 -~1. (Trigger by rising and falling edge)
677 -2. (Trigger by falling edge)
678 -3. (Trigger by rising edge)
679 -)))|(% style="width:157px" %)OK
1109 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1110 +OK
1111 +Attention:Take effect after ATZ
1112 +)))
680 680  
681 -(% style="color:blue" %)**Downlink Command: 0x06**
1114 +(% style="color:blue" %)**Downlink Command: 0x0A**
682 682  
683 -Format: Command Code (0x06) followed by 3 bytes.
1116 +Format: Command Code (0x0A) followed by 1 bytes.
684 684  
685 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1118 +* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1119 +* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
686 686  
687 -* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
688 -* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
689 689  
690 690  = 4. Battery & Power Consumption =
691 691  
692 692  
693 -S31x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1125 +SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
694 694  
695 695  [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
696 696  
... ... @@ -699,67 +699,87 @@
699 699  
700 700  
701 701  (% class="wikigeneratedid" %)
702 -User can change firmware S31x-LB to:
1134 +**User can change firmware SN50v3-LB to:**
703 703  
704 704  * Change Frequency band/ region.
705 705  * Update with new features.
706 706  * Fix bugs.
707 707  
708 -Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**
1140 +**Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]**
709 709  
1142 +**Methods to Update Firmware:**
710 710  
711 -Methods to Update Firmware:
1144 +* (Recommanded way) OTA firmware update via wireless: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
1145 +* Update through UART TTL interface: **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
712 712  
713 -* (Recommanded way) OTA firmware update via wireless:   [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
714 -* Update through UART TTL interface.**[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
715 715  
716 716  = 6. FAQ =
717 717  
1150 +== 6.1 Where can i find source code of SN50v3-LB? ==
718 718  
719 719  
1153 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1154 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
1155 +
1156 +
1157 +== 6.2 How to generate PWM Output in SN50v3-LB? ==
1158 +
1159 +
1160 +See this document: **[[Generate PWM Output on SN50v3>>https://www.dropbox.com/scl/fi/r3trcet2knujg40w0mgyn/Generate-PWM-Output-on-SN50v3.pdf?rlkey=rxsgmrhhrv62iiiwjq9sv10bn&dl=0]]**.
1161 +
1162 +
1163 +== 6.3 How to put several sensors to a SN50v3-LB? ==
1164 +
1165 +
1166 +When we want to put several sensors to A SN50v3-LB, the waterproof at the grand connector will become an issue. User can try to exchange the grand connector to below type.
1167 +
1168 +[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]].
1169 +
1170 +[[image:image-20230810121434-1.png||height="242" width="656"]]
1171 +
1172 +
720 720  = 7. Order Info =
721 721  
722 722  
723 -Part Number: (% style="color:blue" %)**S31-LB-XX  / S31B-LB-XX**
1176 +Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY**
724 724  
725 725  (% style="color:red" %)**XX**(%%): The default frequency band
726 726  
727 727  * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
728 -
729 729  * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
730 -
731 731  * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
732 -
733 733  * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
734 -
735 735  * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
736 -
737 737  * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
738 -
739 739  * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
740 -
741 741  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
742 742  
743 -= =
1189 +(% style="color:red" %)**YY: ** (%%)Hole Option
744 744  
1191 +* (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
1192 +* (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
1193 +* (% style="color:red" %)**20**(%%): With M20 waterproof cable hole
1194 +* (% style="color:red" %)**NH**(%%): No Hole
1195 +
1196 +
745 745  = 8. ​Packing Info =
746 746  
1199 +
747 747  (% style="color:#037691" %)**Package Includes**:
748 748  
749 -* S31x-LB LoRaWAN Temperature & Humidity Sensor
1202 +* SN50v3-LB LoRaWAN Generic Node
750 750  
751 751  (% style="color:#037691" %)**Dimension and weight**:
752 752  
753 753  * Device Size: cm
754 -
755 755  * Device Weight: g
756 -
757 757  * Package Size / pcs : cm
758 -
759 759  * Weight / pcs : g
760 760  
1211 +
761 761  = 9. Support =
762 762  
763 763  
764 764  * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
765 -* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
1216 +
1217 +* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.cc>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.cc]]
image-20230511203450-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +679.1 KB
Content
image-20230512163509-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20230512164658-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512170701-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.5 MB
Content
image-20230512172447-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512173758-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.1 MB
Content
image-20230512173903-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180609-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180718-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512181814-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.2 MB
Content
image-20230513084523-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +611.3 KB
Content
image-20230513102034-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +607.1 KB
Content
image-20230513103633-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +595.5 KB
Content
image-20230513105207-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +384.7 KB
Content
image-20230513105351-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +37.6 KB
Content
image-20230513110214-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +172.7 KB
Content
image-20230513111203-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +79.9 KB
Content
image-20230513111231-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +64.9 KB
Content
image-20230513111255-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +70.4 KB
Content
image-20230513134006-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.9 MB
Content
image-20230515135611-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +948.0 KB
Content
image-20230610162852-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +695.7 KB
Content
image-20230610163213-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +695.4 KB
Content
image-20230610170047-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +444.9 KB
Content
image-20230610170152-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +359.5 KB
Content
image-20230810121434-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +137.3 KB
Content
image-20230811113449-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +973.1 KB
Content
image-20230817170702-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +39.6 KB
Content
image-20230817172209-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.3 MB
Content
image-20230817173800-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.1 MB
Content
image-20230817173830-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +508.5 KB
Content
image-20230817173858-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.6 MB
Content
image-20230817183137-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +137.1 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0