Version 58.1 by Saxer Lin on 2023/08/11 11:34

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