Wiki source code of SN50v3-LB User Manual

Version 39.1 by Saxer Lin on 2023/05/13 13:40

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