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