Version 49.1 by Saxer Lin on 2023/06/10 16:32

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