Version 74.6 by Xiaoling on 2023/09/26 08:50

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20230515135611-1.jpeg||height="589" width="589"]]
3
4
5
6 **Table of Contents:**
7
8 {{toc/}}
9
10
11
12
13
14
15 = 1. Introduction =
16
17 == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
18
19
20 (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
21
22 (% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, and so on.
23
24 (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors.
25
26 (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining.
27
28 SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements.
29
30 == 1.2 ​Features ==
31
32
33 * LoRaWAN 1.0.3 Class A
34 * Ultra-low power consumption
35 * Open-Source hardware/software
36 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
37 * Support Bluetooth v5.1 and LoRaWAN remote configure
38 * Support wireless OTA update firmware
39 * Uplink on periodically
40 * Downlink to change configure
41 * 8500mAh Battery for long term use
42
43
44 == 1.3 Specification ==
45
46
47 (% style="color:#037691" %)**Common DC Characteristics:**
48
49 * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
50 * Operating Temperature: -40 ~~ 85°C
51
52 (% style="color:#037691" %)**I/O Interface:**
53
54 * Battery output (2.6v ~~ 3.6v depends on battery)
55 * +5v controllable output
56 * 3 x Interrupt or Digital IN/OUT pins
57 * 3 x one-wire interfaces
58 * 1 x UART Interface
59 * 1 x I2C Interface
60
61 (% style="color:#037691" %)**LoRa Spec:**
62
63 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
64 * Max +22 dBm constant RF output vs.
65 * RX sensitivity: down to -139 dBm.
66 * Excellent blocking immunity
67
68 (% style="color:#037691" %)**Battery:**
69
70 * Li/SOCI2 un-chargeable battery
71 * Capacity: 8500mAh
72 * Self-Discharge: <1% / Year @ 25°C
73 * Max continuously current: 130mA
74 * Max boost current: 2A, 1 second
75
76 (% style="color:#037691" %)**Power Consumption**
77
78 * Sleep Mode: 5uA @ 3.3v
79 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
80
81
82 == 1.4 Sleep mode and working mode ==
83
84
85 (% 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.
86
87 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
88
89
90 == 1.5 Button & LEDs ==
91
92
93 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
94
95
96 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
97 |=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
98 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
99 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
100 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
101 )))
102 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
103 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
104 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
105 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
106 )))
107 |(% 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.
108
109
110 == 1.6 BLE connection ==
111
112
113 SN50v3-LB supports BLE remote configure.
114
115
116 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
117
118 * Press button to send an uplink
119 * Press button to active device.
120 * Device Power on or reset.
121
122 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
123
124
125 == 1.7 Pin Definitions ==
126
127
128 [[image:image-20230610163213-1.png||height="404" width="699"]]
129
130
131 == 1.8 Mechanical ==
132
133
134 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
135
136 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
137
138 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
139
140
141 == 1.9 Hole Option ==
142
143
144 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:
145
146 [[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"]]
147
148 [[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"]]
149
150
151 = 2. Configure SN50v3-LB to connect to LoRaWAN network =
152
153 == 2.1 How it works ==
154
155
156 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.
157
158
159 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
160
161
162 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.
163
164 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
166
167 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
168
169 Each SN50v3-LB is shipped with a sticker with the default device EUI as below:
170
171 [[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"]]
172
173
174 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
175
176
177 (% style="color:blue" %)**Register the device**
178
179 [[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/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
180
181
182 (% style="color:blue" %)**Add APP EUI and DEV EUI**
183
184 [[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-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
185
186
187 (% style="color:blue" %)**Add APP EUI in the application**
188
189
190 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
191
192
193 (% style="color:blue" %)**Add APP KEY**
194
195 [[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"]]
196
197
198 (% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB
199
200
201 Press the button for 5 seconds to activate the SN50v3-LB.
202
203 (% 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.
204
205 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
206
207
208 == 2.3 ​Uplink Payload ==
209
210 === 2.3.1 Device Status, FPORT~=5 ===
211
212
213 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.
214
215 The Payload format is as below.
216
217
218 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
219 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
220 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
221 |(% 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
223 Example parse in TTNv3
224
225
226 (% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB, this value is 0x1C
227
228 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
229
230 (% style="color:#037691" %)**Frequency Band**:
231
232 0x01: EU868
233
234 0x02: US915
235
236 0x03: IN865
237
238 0x04: AU915
239
240 0x05: KZ865
241
242 0x06: RU864
243
244 0x07: AS923
245
246 0x08: AS923-1
247
248 0x09: AS923-2
249
250 0x0a: AS923-3
251
252 0x0b: CN470
253
254 0x0c: EU433
255
256 0x0d: KR920
257
258 0x0e: MA869
259
260
261 (% style="color:#037691" %)**Sub-Band**:
262
263 AU915 and US915:value 0x00 ~~ 0x08
264
265 CN470: value 0x0B ~~ 0x0C
266
267 Other Bands: Always 0x00
268
269
270 (% style="color:#037691" %)**Battery Info**:
271
272 Check the battery voltage.
273
274 Ex1: 0x0B45 = 2885mV
275
276 Ex2: 0x0B49 = 2889mV
277
278
279 === 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
280
281
282 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.
283
284 For example:
285
286 (% 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.
287
288
289 (% style="color:red" %) **Important Notice:**
290
291 ~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.
292
293 2. All modes share the same Payload Explanation from HERE.
294
295 3. By default, the device will send an uplink message every 20 minutes.
296
297
298 ==== 2.3.2.1  MOD~=1 (Default Mode) ====
299
300
301 In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
302
303 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
304 |(% 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**
305 |Value|Bat|(% style="width:191px" %)(((
306 Temperature(DS18B20)(PC13)
307 )))|(% style="width:78px" %)(((
308 ADC(PA4)
309 )))|(% style="width:216px" %)(((
310 Digital in(PB15)&Digital Interrupt(PA8)
311 )))|(% style="width:308px" %)(((
312 Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
313 )))|(% style="width:154px" %)(((
314 Humidity(SHT20 or SHT31)
315 )))
316
317 [[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"]]
318
319
320 ==== 2.3.2.2  MOD~=2 (Distance Mode) ====
321
322
323 This mode is target to measure the distance. The payload of this mode is totally 11 bytes. The 8^^th^^ and 9^^th^^ bytes is for the distance.
324
325 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
326 |(% 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**
327 |Value|BAT|(% style="width:196px" %)(((
328 Temperature(DS18B20)(PC13)
329 )))|(% style="width:87px" %)(((
330 ADC(PA4)
331 )))|(% style="width:189px" %)(((
332 Digital in(PB15) & Digital Interrupt(PA8)
333 )))|(% style="width:208px" %)(((
334 Distance measure by: 1) LIDAR-Lite V3HP
335 Or 2) Ultrasonic Sensor
336 )))|(% style="width:117px" %)Reserved
337
338 [[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"]]
339
340
341 (% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**
342
343 [[image:image-20230512173758-5.png||height="563" width="712"]]
344
345
346 (% style="color:blue" %)**Connection to Ultrasonic Sensor:**
347
348 (% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.**
349
350 [[image:image-20230512173903-6.png||height="596" width="715"]]
351
352
353 For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
354
355 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
356 |(% 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**
357 |Value|BAT|(% style="width:183px" %)(((
358 Temperature(DS18B20)(PC13)
359 )))|(% style="width:173px" %)(((
360 Digital in(PB15) & Digital Interrupt(PA8)
361 )))|(% style="width:84px" %)(((
362 ADC(PA4)
363 )))|(% style="width:323px" %)(((
364 Distance measure by:1)TF-Mini plus LiDAR
365 Or 2) TF-Luna LiDAR
366 )))|(% style="width:188px" %)Distance signal  strength
367
368 [[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"]]
369
370
371 **Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
372
373 (% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
374
375 [[image:image-20230512180609-7.png||height="555" width="802"]]
376
377
378 **Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
379
380 (% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
381
382 [[image:image-20230610170047-1.png||height="452" width="799"]]
383
384
385 ==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
386
387
388 This mode has total 12 bytes. Include 3 x ADC + 1x I2C
389
390 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
391 |=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
392 **Size(bytes)**
393 )))|=(% 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
394 |Value|(% style="width:68px" %)(((
395 ADC1(PA4)
396 )))|(% style="width:75px" %)(((
397 ADC2(PA5)
398 )))|(((
399 ADC3(PA8)
400 )))|(((
401 Digital Interrupt(PB15)
402 )))|(% style="width:304px" %)(((
403 Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
404 )))|(% style="width:163px" %)(((
405 Humidity(SHT20 or SHT31)
406 )))|(% style="width:53px" %)Bat
407
408 [[image:image-20230513110214-6.png]]
409
410
411 ==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
412
413
414 This mode has total 11 bytes. As shown below:
415
416 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
417 |(% 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**
418 |Value|BAT|(% style="width:186px" %)(((
419 Temperature1(DS18B20)(PC13)
420 )))|(% style="width:82px" %)(((
421 ADC(PA4)
422 )))|(% style="width:210px" %)(((
423 Digital in(PB15) & Digital Interrupt(PA8) 
424 )))|(% style="width:191px" %)Temperature2(DS18B20)
425 (PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8)
426
427 [[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"]]
428
429
430 [[image:image-20230513134006-1.png||height="559" width="736"]]
431
432
433 ==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
434
435
436 [[image:image-20230512164658-2.png||height="532" width="729"]]
437
438 Each HX711 need to be calibrated before used. User need to do below two steps:
439
440 1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram.
441 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.
442 1. (((
443 Weight has 4 bytes, the unit is g.
444
445
446
447 )))
448
449 For example:
450
451 (% style="color:blue" %)**AT+GETSENSORVALUE =0**
452
453 Response:  Weight is 401 g
454
455 Check the response of this command and adjust the value to match the real value for thing.
456
457 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
458 |=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
459 **Size(bytes)**
460 )))|=(% 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**
461 |Value|BAT|(% style="width:193px" %)(((
462 Temperature(DS18B20)(PC13)
463 )))|(% style="width:85px" %)(((
464 ADC(PA4)
465 )))|(% style="width:186px" %)(((
466 Digital in(PB15) & Digital Interrupt(PA8)
467 )))|(% style="width:100px" %)Weight
468
469 [[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"]]
470
471
472 ==== 2.3.2.6  MOD~=6 (Counting Mode) ====
473
474
475 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.
476
477 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.
478
479 [[image:image-20230512181814-9.png||height="543" width="697"]]
480
481
482 (% 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.**
483
484 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
485 |=(% 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**
486 |Value|BAT|(% style="width:256px" %)(((
487 Temperature(DS18B20)(PC13)
488 )))|(% style="width:108px" %)(((
489 ADC(PA4)
490 )))|(% style="width:126px" %)(((
491 Digital in(PB15)
492 )))|(% style="width:145px" %)(((
493 Count(PA8)
494 )))
495
496 [[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"]]
497
498
499 ==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
500
501
502 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
503 |=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
504 **Size(bytes)**
505 )))|=(% 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
506 |Value|BAT|(% style="width:188px" %)(((
507 Temperature(DS18B20)
508 (PC13)
509 )))|(% style="width:83px" %)(((
510 ADC(PA5)
511 )))|(% style="width:184px" %)(((
512 Digital Interrupt1(PA8)
513 )))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
514
515 [[image:image-20230513111203-7.png||height="324" width="975"]]
516
517
518 ==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
519
520
521 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
522 |=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
523 **Size(bytes)**
524 )))|=(% 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
525 |Value|BAT|(% style="width:207px" %)(((
526 Temperature(DS18B20)
527 (PC13)
528 )))|(% style="width:94px" %)(((
529 ADC1(PA4)
530 )))|(% style="width:198px" %)(((
531 Digital Interrupt(PB15)
532 )))|(% style="width:84px" %)(((
533 ADC2(PA5)
534 )))|(% style="width:82px" %)(((
535 ADC3(PA8)
536 )))
537
538 [[image:image-20230513111231-8.png||height="335" width="900"]]
539
540
541 ==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
542
543
544 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
545 |=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
546 **Size(bytes)**
547 )))|=(% 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
548 |Value|BAT|(((
549 Temperature
550 (DS18B20)(PC13)
551 )))|(((
552 Temperature2
553 (DS18B20)(PB9)
554 )))|(((
555 Digital Interrupt
556 (PB15)
557 )))|(% style="width:193px" %)(((
558 Temperature3
559 (DS18B20)(PB8)
560 )))|(% style="width:78px" %)(((
561 Count1(PA8)
562 )))|(% style="width:78px" %)(((
563 Count2(PA4)
564 )))
565
566 [[image:image-20230513111255-9.png||height="341" width="899"]]
567
568 (% style="color:blue" %)**The newly added AT command is issued correspondingly:**
569
570 (% style="color:#037691" %)** AT+INTMOD1 PA8**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)**06 00 00 xx**
571
572 (% style="color:#037691" %)** AT+INTMOD2 PA4**(%%)  pin:  Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx**
573
574 (% style="color:#037691" %)** AT+INTMOD3 PB15**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)** 06 00 02 xx**
575
576
577 (% style="color:blue" %)**AT+SETCNT=aa,bb** 
578
579 When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
580
581 When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
582
583
584 ==== 2.3.2.10  MOD~=10 (PWM input capture and output mode,Since firmware v1.2) ====
585
586
587 In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output.
588
589 [[It should be noted when using PWM mode.>>||anchor="H2.3.3.12A0PWMMOD"]]
590
591
592 ===== 2.3.2.10.a  Uplink, PWM input capture =====
593
594
595 [[image:image-20230817172209-2.png||height="439" width="683"]]
596
597 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:690px" %)
598 |(% 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**
599 |Value|Bat|(% style="width:191px" %)(((
600 Temperature(DS18B20)(PC13)
601 )))|(% style="width:78px" %)(((
602 ADC(PA4)
603 )))|(% style="width:135px" %)(((
604 PWM_Setting
605
606 &Digital Interrupt(PA8)
607 )))|(% style="width:70px" %)(((
608 Pulse period
609 )))|(% style="width:89px" %)(((
610 Duration of high level
611 )))
612
613 [[image:image-20230817170702-1.png||height="161" width="1044"]]
614
615
616 When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle.
617
618 **Frequency:**
619
620 (% class="MsoNormal" %)
621 (% 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);
622
623 (% class="MsoNormal" %)
624 (% 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);
625
626
627 (% class="MsoNormal" %)
628 **Duty cycle:**
629
630 Duty cycle= Duration of high level/ Pulse period*100 ~(%).
631
632 [[image:image-20230818092200-1.png||height="344" width="627"]]
633
634
635 ===== 2.3.2.10.b  Downlink, PWM output =====
636
637
638 [[image:image-20230817173800-3.png||height="412" width="685"]]
639
640 Downlink:  (% style="color:#037691" %)**0B xx xx xx yy zz zz**
641
642 xx xx xx is the output frequency, the unit is HZ.
643
644 yy is the duty cycle of the output, the unit is %.
645
646 zz zz is the time delay of the output, the unit is ms.
647
648
649 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.
650
651 The oscilloscope displays as follows:
652
653 [[image:image-20230817173858-5.png||height="694" width="921"]]
654
655
656 === 2.3.3  ​Decode payload ===
657
658
659 While using TTN V3 network, you can add the payload format to decode the payload.
660
661 [[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"]]
662
663 The payload decoder function for TTN V3 are here:
664
665 SN50v3-LB TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
666
667
668 ==== 2.3.3.1 Battery Info ====
669
670
671 Check the battery voltage for SN50v3-LB.
672
673 Ex1: 0x0B45 = 2885mV
674
675 Ex2: 0x0B49 = 2889mV
676
677
678 ==== 2.3.3.2  Temperature (DS18B20) ====
679
680
681 If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
682
683 More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]]
684
685 (% style="color:blue" %)**Connection:**
686
687 [[image:image-20230512180718-8.png||height="538" width="647"]]
688
689
690 (% style="color:blue" %)**Example**:
691
692 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
693
694 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
695
696 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
697
698
699 ==== 2.3.3.3 Digital Input ====
700
701
702 The digital input for pin PB15,
703
704 * When PB15 is high, the bit 1 of payload byte 6 is 1.
705 * When PB15 is low, the bit 1 of payload byte 6 is 0.
706
707 (% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
708 (((
709 When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
710
711 (% style="color:red" %)**Note: The maximum voltage input supports 3.6V.**
712
713
714 )))
715
716 ==== 2.3.3.4  Analogue Digital Converter (ADC) ====
717
718
719 The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv.
720
721 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.
722
723 [[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"]]
724
725
726 (% 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.**
727
728
729 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.
730
731 [[image:image-20230811113449-1.png||height="370" width="608"]]
732
733 ==== 2.3.3.5 Digital Interrupt ====
734
735
736 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.
737
738 (% style="color:blue" %)** Interrupt connection method:**
739
740 [[image:image-20230513105351-5.png||height="147" width="485"]]
741
742
743 (% style="color:blue" %)**Example to use with door sensor :**
744
745 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.
746
747 [[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"]]
748
749 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.
750
751
752 (% style="color:blue" %)**Below is the installation example:**
753
754 Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows:
755
756 * (((
757 One pin to SN50v3-LB's PA8 pin
758 )))
759 * (((
760 The other pin to SN50v3-LB's VDD pin
761 )))
762
763 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.
764
765 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.
766
767 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.
768
769 [[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"]]
770
771 The above photos shows the two parts of the magnetic switch fitted to a door.
772
773 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.
774
775 The command is:
776
777 (% 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]]**. **)
778
779 Below shows some screen captures in TTN V3:
780
781 [[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"]]
782
783
784 In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
785
786 door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
787
788
789 ==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
790
791
792 The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
793
794 We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
795
796 (% 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.**
797
798
799 Below is the connection to SHT20/ SHT31. The connection is as below:
800
801 [[image:image-20230610170152-2.png||height="501" width="846"]]
802
803
804 The device will be able to get the I2C sensor data now and upload to IoT Server.
805
806 [[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"]]
807
808 Convert the read byte to decimal and divide it by ten.
809
810 **Example:**
811
812 Temperature:  Read:0116(H) = 278(D)  Value:  278 /10=27.8℃;
813
814 Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
815
816 If you want to use other I2C device, please refer the SHT20 part source code as reference.
817
818
819 ==== 2.3.3.7  ​Distance Reading ====
820
821
822 Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]].
823
824
825 ==== 2.3.3.8 Ultrasonic Sensor ====
826
827
828 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]]
829
830 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.
831
832 The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor.
833
834 The picture below shows the connection:
835
836 [[image:image-20230512173903-6.png||height="596" width="715"]]
837
838
839 Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT).
840
841 The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
842
843 **Example:**
844
845 Distance:  Read: 0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
846
847
848 ==== 2.3.3.9  Battery Output - BAT pin ====
849
850
851 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.
852
853
854 ==== 2.3.3.10  +5V Output ====
855
856
857 SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 
858
859 The 5V output time can be controlled by AT Command.
860
861 (% style="color:blue" %)**AT+5VT=1000**
862
863 Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
864
865 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.
866
867
868 ==== 2.3.3.11  BH1750 Illumination Sensor ====
869
870
871 MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
872
873 [[image:image-20230512172447-4.png||height="416" width="712"]]
874
875
876 [[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"]]
877
878
879 ==== 2.3.3.12  PWM MOD ====
880
881
882 * (((
883 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.
884 )))
885 * (((
886 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:
887 )))
888
889 [[image:image-20230817183249-3.png||height="320" width="417"]]
890
891 * (((
892 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.
893 )))
894 * (((
895 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.
896
897
898
899 )))
900
901 ==== 2.3.3.13  Working MOD ====
902
903
904 The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
905
906 User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
907
908 Case 7^^th^^ Byte >> 2 & 0x1f:
909
910 * 0: MOD1
911 * 1: MOD2
912 * 2: MOD3
913 * 3: MOD4
914 * 4: MOD5
915 * 5: MOD6
916 * 6: MOD7
917 * 7: MOD8
918 * 8: MOD9
919 * 9: MOD10
920
921
922 == 2.4 Payload Decoder file ==
923
924
925 In TTN, use can add a custom payload so it shows friendly reading
926
927 In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
928
929 [[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]]
930
931
932 == 2.5 Frequency Plans ==
933
934
935 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.
936
937 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
938
939
940 = 3. Configure SN50v3-LB =
941
942 == 3.1 Configure Methods ==
943
944
945 SN50v3-LB supports below configure method:
946
947 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
948 * 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]].
949 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
950
951
952 == 3.2 General Commands ==
953
954
955 These commands are to configure:
956
957 * General system settings like: uplink interval.
958 * LoRaWAN protocol & radio related command.
959
960 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
961
962 [[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/]]
963
964
965 == 3.3 Commands special design for SN50v3-LB ==
966
967
968 These commands only valid for SN50v3-LB, as below:
969
970
971 === 3.3.1 Set Transmit Interval Time ===
972
973
974 Feature: Change LoRaWAN End Node Transmit Interval.
975
976 (% style="color:blue" %)**AT Command: AT+TDC**
977
978 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
979 |=(% 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**
980 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
981 30000
982 OK
983 the interval is 30000ms = 30s
984 )))
985 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
986 OK
987 Set transmit interval to 60000ms = 60 seconds
988 )))
989
990 (% style="color:blue" %)**Downlink Command: 0x01**
991
992 Format: Command Code (0x01) followed by 3 bytes time value.
993
994 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
995
996 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
997 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
998
999
1000 === 3.3.2 Get Device Status ===
1001
1002
1003 Send a LoRaWAN downlink to ask the device to send its status.
1004
1005 (% style="color:blue" %)**Downlink Payload: 0x26 01**
1006
1007 Sensor will upload Device Status via **FPORT=5**. See payload section for detail.
1008
1009
1010 === 3.3.3 Set Interrupt Mode ===
1011
1012
1013 Feature, Set Interrupt mode for GPIO_EXIT.
1014
1015 (% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
1016
1017 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1018 |=(% 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**
1019 |(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
1020 0
1021 OK
1022 the mode is 0 =Disable Interrupt
1023 )))
1024 |(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
1025 Set Transmit Interval
1026 0. (Disable Interrupt),
1027 ~1. (Trigger by rising and falling edge)
1028 2. (Trigger by falling edge)
1029 3. (Trigger by rising edge)
1030 )))|(% style="width:157px" %)OK
1031 |(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
1032 Set Transmit Interval
1033 trigger by rising edge.
1034 )))|(% style="width:157px" %)OK
1035 |(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
1036
1037 (% style="color:blue" %)**Downlink Command: 0x06**
1038
1039 Format: Command Code (0x06) followed by 3 bytes.
1040
1041 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1042
1043 * Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
1044 * Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
1045 * Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
1046 * Example 4: Downlink Payload: 06000201  **~-~-->**  AT+INTMOD3=1
1047
1048
1049 === 3.3.4 Set Power Output Duration ===
1050
1051
1052 Control the output duration 5V . Before each sampling, device will
1053
1054 ~1. first enable the power output to external sensor,
1055
1056 2. keep it on as per duration, read sensor value and construct uplink payload
1057
1058 3. final, close the power output.
1059
1060 (% style="color:blue" %)**AT Command: AT+5VT**
1061
1062 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1063 |=(% 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**
1064 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
1065 500(default)
1066 OK
1067 )))
1068 |(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1069 Close after a delay of 1000 milliseconds.
1070 )))|(% style="width:157px" %)OK
1071
1072 (% style="color:blue" %)**Downlink Command: 0x07**
1073
1074 Format: Command Code (0x07) followed by 2 bytes.
1075
1076 The first and second bytes are the time to turn on.
1077
1078 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1079 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
1080
1081
1082 === 3.3.5 Set Weighing parameters ===
1083
1084
1085 Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
1086
1087 (% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
1088
1089 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1090 |=(% 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**
1091 |(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1092 |(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1093 |(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
1094
1095 (% style="color:blue" %)**Downlink Command: 0x08**
1096
1097 Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
1098
1099 Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
1100
1101 The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
1102
1103 * Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1104 * Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1105 * Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
1106
1107
1108 === 3.3.6 Set Digital pulse count value ===
1109
1110
1111 Feature: Set the pulse count value.
1112
1113 Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
1114
1115 (% style="color:blue" %)**AT Command: AT+SETCNT**
1116
1117 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1118 |=(% 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**
1119 |(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1120 |(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
1121
1122 (% style="color:blue" %)**Downlink Command: 0x09**
1123
1124 Format: Command Code (0x09) followed by 5 bytes.
1125
1126 The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
1127
1128 * Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1129 * Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1130
1131
1132 === 3.3.7 Set Workmode ===
1133
1134
1135 Feature: Switch working mode.
1136
1137 (% style="color:blue" %)**AT Command: AT+MOD**
1138
1139 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1140 |=(% 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**
1141 |(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
1142 OK
1143 )))
1144 |(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1145 OK
1146 Attention:Take effect after ATZ
1147 )))
1148
1149 (% style="color:blue" %)**Downlink Command: 0x0A**
1150
1151 Format: Command Code (0x0A) followed by 1 bytes.
1152
1153 * Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1154 * Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
1155
1156
1157 === 3.3.8 PWM setting ===
1158
1159
1160 Feature: Set the time acquisition unit for PWM input capture.
1161
1162 (% style="color:blue" %)**AT Command: AT+PWMSET**
1163
1164 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1165 |=(% 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**
1166 |(% style="width:154px" %)AT+PWMSET=?|(% style="width:196px" %)0|(% style="width:157px" %)(((
1167 0(default)
1168
1169 OK
1170 )))
1171 |(% style="width:154px" %)AT+PWMSET=0|(% style="width:196px" %)The unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ.   |(% style="width:157px" %)(((
1172 OK
1173
1174 )))
1175 |(% style="width:154px" %)AT+PWMSET=1|(% style="width:196px" %)The unit of PWM capture time is millisecond.  The capture frequency range is between 5HZ and 250HZ. |(% style="width:157px" %)OK
1176
1177 (% style="color:blue" %)**Downlink Command: 0x0C**
1178
1179 Format: Command Code (0x0C) followed by 1 bytes.
1180
1181 * Example 1: Downlink Payload: 0C00  **~-~-->**  AT+PWMSET=0
1182 * Example 2: Downlink Payload: 0C01  **~-~-->**  AT+PWMSET=1
1183
1184
1185 = 4. Battery & Power Consumption =
1186
1187
1188 SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1189
1190 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1191
1192
1193 = 5. OTA Firmware update =
1194
1195
1196 (% class="wikigeneratedid" %)
1197 **User can change firmware SN50v3-LB to:**
1198
1199 * Change Frequency band/ region.
1200 * Update with new features.
1201 * Fix bugs.
1202
1203 **Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]**
1204
1205 **Methods to Update Firmware:**
1206
1207 * (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/]]**
1208 * 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]]**.
1209
1210
1211 = 6. FAQ =
1212
1213 == 6.1 Where can i find source code of SN50v3-LB? ==
1214
1215
1216 * **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1217 * **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
1218
1219
1220 == 6.2 How to generate PWM Output in SN50v3-LB? ==
1221
1222
1223 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]]**.
1224
1225
1226 == 6.3 How to put several sensors to a SN50v3-LB? ==
1227
1228
1229 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.
1230
1231 [[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]].
1232
1233 [[image:image-20230810121434-1.png||height="242" width="656"]]
1234
1235
1236 = 7. Order Info =
1237
1238
1239 Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY**
1240
1241 (% style="color:red" %)**XX**(%%): The default frequency band
1242
1243 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1244 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1245 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1246 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1247 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1248 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1249 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1250 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1251
1252 (% style="color:red" %)**YY: ** (%%)Hole Option
1253
1254 * (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
1255 * (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
1256 * (% style="color:red" %)**20**(%%): With M20 waterproof cable hole
1257 * (% style="color:red" %)**NH**(%%): No Hole
1258
1259
1260 = 8. ​Packing Info =
1261
1262
1263 (% style="color:#037691" %)**Package Includes**:
1264
1265 * SN50v3-LB LoRaWAN Generic Node
1266
1267 (% style="color:#037691" %)**Dimension and weight**:
1268
1269 * Device Size: cm
1270 * Device Weight: g
1271 * Package Size / pcs : cm
1272 * Weight / pcs : g
1273
1274
1275 = 9. Support =
1276
1277
1278 * 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.
1279
1280 * 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]]