Wiki source code of SN50v3-LB User Manual

Version 41.1 by Xiaoling on 2023/05/15 13:56

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