Wiki source code of SN50v3-LB User Manual

Version 12.1 by Edwin Chen on 2023/05/11 23:06

Show last authors
1 [[image:image-20230511201248-1.png||height="403" width="489"]]
2
3
4
5 **Table of Contents:**
6
7 {{toc/}}
8
9
10
11
12
13
14 = 1. Introduction =
15
16 == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
17
18 (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
19
20
21 (% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
22
23
24 (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors.
25
26
27 (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining.
28
29
30 SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements.
31
32
33 == 1.2 ​Features ==
34
35 * LoRaWAN 1.0.3 Class A
36 * Ultra-low power consumption
37 * Open-Source hardware/software
38 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
39 * Support Bluetooth v5.1 and LoRaWAN remote configure
40 * Support wireless OTA update firmware
41 * Uplink on periodically
42 * Downlink to change configure
43 * 8500mAh Battery for long term use
44
45 == 1.3 Specification ==
46
47 (% style="color:#037691" %)**Common DC Characteristics:**
48
49 * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
50 * Operating Temperature: -40 ~~ 85°C
51
52 (% style="color:#037691" %)**I/O Interface:**
53
54 * Battery output (2.6v ~~ 3.6v depends on battery)
55 * +5v controllable output
56 * 3 x Interrupt or Digital IN/OUT pins
57 * 3 x one-wire interfaces
58 * 1 x UART Interface
59 * 1 x I2C Interface
60
61 (% style="color:#037691" %)**LoRa Spec:**
62
63 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
64 * Max +22 dBm constant RF output vs.
65 * RX sensitivity: down to -139 dBm.
66 * Excellent blocking immunity
67
68 (% style="color:#037691" %)**Battery:**
69
70 * Li/SOCI2 un-chargeable battery
71 * Capacity: 8500mAh
72 * Self-Discharge: <1% / Year @ 25°C
73 * Max continuously current: 130mA
74 * Max boost current: 2A, 1 second
75
76 (% style="color:#037691" %)**Power Consumption**
77
78 * Sleep Mode: 5uA @ 3.3v
79 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
80
81 == 1.4 Sleep mode and working mode ==
82
83 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
84
85 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
86
87
88 == 1.5 Button & LEDs ==
89
90
91 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
92
93
94 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
95 |=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
96 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
97 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
98 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
99 )))
100 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
101 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
102 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
103 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
104 )))
105 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode.
106
107 == 1.6 BLE connection ==
108
109
110 SN50v3-LB supports BLE remote configure.
111
112
113 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
114
115 * Press button to send an uplink
116 * Press button to active device.
117 * Device Power on or reset.
118
119 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
120
121
122 == 1.7 Pin Definitions ==
123
124
125 [[image:image-20230511203450-2.png||height="443" width="785"]]
126
127
128 == 1.8 Mechanical ==
129
130
131 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
132
133 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
134
135 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
136
137
138 == Hole Option ==
139
140 SN50v3-LB has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
141
142 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627104757-1.png?rev=1.1||alt="image-20220627104757-1.png"]]
143
144 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656298089706-973.png?rev=1.1||alt="1656298089706-973.png"]]
145
146
147 = 2. Configure SN50v3-LB to connect to LoRaWAN network =
148
149 == 2.1 How it works ==
150
151
152 The SN50v3-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
153
154
155 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
156
157
158 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
159
160 The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
161
162
163 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
164
165 Each SN50v3-LB is shipped with a sticker with the default device EUI as below:
166
167 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/WebHome/image-20230426084152-1.png?width=502&height=233&rev=1.1||alt="图片-20230426084152-1.png" height="233" width="502"]]
168
169
170 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
171
172
173 (% style="color:blue" %)**Register the device**
174
175 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
176
177
178 (% style="color:blue" %)**Add APP EUI and DEV EUI**
179
180 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
181
182
183 (% style="color:blue" %)**Add APP EUI in the application**
184
185
186 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
187
188
189 (% style="color:blue" %)**Add APP KEY**
190
191 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
192
193
194 (% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB
195
196
197 Press the button for 5 seconds to activate the SN50v3-LB.
198
199 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
200
201 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
202
203
204 == 2.3 ​Uplink Payload ==
205
206 === 2.3.1 Device Status, FPORT~=5 ===
207
208
209 Users can use the downlink command(**0x26 01**) to ask SN50v3 to send device configure detail, include device configure status. SN50v3 will uplink a payload via FPort=5 to server.
210
211 The Payload format is as below.
212
213
214 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
215 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
216 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
217 |(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
218
219 Example parse in TTNv3
220
221
222 (% style="color:#037691" %)**Sensor Model**(%%): For SN50v3, this value is 0x1C
223
224 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
225
226 (% style="color:#037691" %)**Frequency Band**:
227
228 *0x01: EU868
229
230 *0x02: US915
231
232 *0x03: IN865
233
234 *0x04: AU915
235
236 *0x05: KZ865
237
238 *0x06: RU864
239
240 *0x07: AS923
241
242 *0x08: AS923-1
243
244 *0x09: AS923-2
245
246 *0x0a: AS923-3
247
248 *0x0b: CN470
249
250 *0x0c: EU433
251
252 *0x0d: KR920
253
254 *0x0e: MA869
255
256
257 (% style="color:#037691" %)**Sub-Band**:
258
259 AU915 and US915:value 0x00 ~~ 0x08
260
261 CN470: value 0x0B ~~ 0x0C
262
263 Other Bands: Always 0x00
264
265
266 (% style="color:#037691" %)**Battery Info**:
267
268 Check the battery voltage.
269
270 Ex1: 0x0B45 = 2885mV
271
272 Ex2: 0x0B49 = 2889mV
273
274
275 === 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
276
277
278 SN50v3 has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command AT+MOD to set SN50v3 to different working modes.
279
280 For example:
281
282 **AT+MOD=2  ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
283
284
285 (% style="color:red" %) **Important Notice:** (%%)
286
287 1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in **DR0**. Server sides will see NULL payload while SN50v3 transmit in DR0 with 12 bytes payload.
288
289 2. All modes share the same Payload Explanation from HERE.
290
291 3. By default, the device will send an uplink message every 20 minutes.
292
293
294 === 2.3.1  MOD~=1 (Default Mode) ===
295
296 In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
297
298 |**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
299 |**Value**|Bat|Temperature(DS18B20)|ADC|Digital in & Digital Interrupt|Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor|Humidity(SHT20)
300
301 [[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"]]
302
303 === 2.3.2 MOD~=2 (Distance Mode) ===
304
305 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.
306
307 |**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
308 |**Value**|BAT|(((
309 Temperature(DS18B20)
310 )))|ADC|Digital in & Digital Interrupt|(((
311 Distance measure by:
312 1) LIDAR-Lite V3HP
313 Or
314 2) Ultrasonic Sensor
315 )))|Reserved
316
317 [[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"]]
318
319 **Connection of LIDAR-Lite V3HP:**
320
321 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324581381-162.png?rev=1.1||alt="1656324581381-162.png"]]
322
323 **Connection to Ultrasonic Sensor:**
324
325 [[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/1656324598488-204.png?rev=1.1||alt="1656324598488-204.png"]]
326
327 For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
328
329 |**Size(bytes)**|**2**|**2**|**1**|**2**|**2**|**2**
330 |**Value**|BAT|(((
331 Temperature(DS18B20)
332 )))|Digital in & Digital Interrupt|ADC|(((
333 Distance measure by:1)TF-Mini plus LiDAR
334 Or 
335 2) TF-Luna LiDAR
336 )))|Distance signal  strength
337
338 [[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"]]
339
340 **Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
341
342 Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
343
344 [[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/1656376795715-436.png?rev=1.1||alt="1656376795715-436.png"]]
345
346 **Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
347
348 Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
349
350 [[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/1656376865561-355.png?rev=1.1||alt="1656376865561-355.png"]]
351
352 Please use firmware version > 1.6.5 when use MOD=2, in this firmware version, user can use LSn50 v1 to power the ultrasonic sensor directly and with low power consumption.
353
354 === 2.3.3 MOD~=3 (3 ADC + I2C) ===
355
356 This mode has total 12 bytes. Include 3 x ADC + 1x I2C
357
358 |=(((
359 **Size(bytes)**
360 )))|=**2**|=**2**|=**2**|=**1**|=2|=2|=1
361 |**Value**|ADC(Pin PA0)|ADC2(PA1)|ADC3 (PA4)|(((
362 Digital in(PA12)&Digital Interrupt1(PB14)
363 )))|Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)|Humidity(SHT20 or SHT31)|Bat
364
365 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377431497-975.png?rev=1.1||alt="1656377431497-975.png"]]
366
367 === 2.3.4 MOD~=4 (3 x DS18B20) ===
368
369 This mode is supported in firmware version since v1.6.1. Software set to AT+MOD=4
370
371 Hardware connection is as below,
372
373 **( Note:**
374
375 * In hardware version v1.x and v2.0 , R3 & R4 should change from 10k to 4.7k ohm to support the other 2 x DS18B20 probes.
376 * In hardware version v2.1 no need to change R3 , R4, by default, they are 4.7k ohm already.
377
378 See [[here>>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/#H1.6A0HardwareChangelog]] for hardware changelog. **) **
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/1656377461619-156.png?rev=1.1||alt="1656377461619-156.png"]]
381
382 This mode has total 11 bytes. As shown below:
383
384 |**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
385 |**Value**|BAT|(((
386 Temperature1
387 (DS18B20)
388 (PB3)
389 )))|ADC|Digital in & Digital Interrupt|Temperature2
390 (DS18B20)
391 (PA9)|Temperature3
392 (DS18B20)
393 (PA10)
394
395 [[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"]]
396
397 === 2.3.5 MOD~=5(Weight Measurement by HX711) ===
398
399 This mode is supported in firmware version since v1.6.2. Please use v1.6.5 firmware version so user no need to use extra LDO for connection.
400
401
402 [[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/1656378224664-860.png?rev=1.1||alt="1656378224664-860.png"]]
403
404 Each HX711 need to be calibrated before used. User need to do below two steps:
405
406 1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram.
407 1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor.
408 1. (((
409 Remove the limit of plus or minus 5Kg in mode 5, and expand from 2 bytes to 4 bytes, the unit is g.(Since v1.8.0)
410 )))
411
412 For example:
413
414 **AT+WEIGAP =403.0**
415
416 Response:  Weight is 401 g
417
418 Check the response of this command and adjust the value to match the real value for thing.
419
420 |=(((
421 **Size(bytes)**
422 )))|=**2**|=**2**|=**2**|=**1**|=**4**|=2
423 |**Value**|[[Bat>>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.1BatteryInfo]]|[[Temperature(DS18B20)>>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.2Temperature28DS18B2029]]|[[ADC>>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.4AnalogueDigitalConverter28ADC29]]|[[Digital Input and Digitak Interrupt>>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.3DigitalInput]]|Weight|Reserved
424
425 [[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"]]
426
427 === 2.3.6 MOD~=6 (Counting Mode, Since firmware v1.6.5) ===
428
429 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.
430
431 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.
432
433 [[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/1656378351863-572.png?rev=1.1||alt="1656378351863-572.png"]]
434
435 **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 LSN50 to avoid this happen.
436
437 |=**Size(bytes)**|=**2**|=**2**|=**2**|=**1**|=**4**
438 |**Value**|[[BAT>>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.1BatteryInfo]]|(((
439 [[Temperature(DS18B20)>>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.2Temperature28DS18B2029]]
440 )))|[[ADC>>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.4AnalogueDigitalConverter28ADC29]]|[[Digital in>>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.3DigitalInput]]|Count
441
442 [[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"]]
443
444 === 2.3.7  MOD~=7 Three interrupt contact modes (the hardware version needs to support three interrupt versions, Since firmware v1.8.0) ===
445
446 [[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-20220820140109-3.png?rev=1.1||alt="image-20220820140109-3.png"]]
447
448 |=(((
449 **Size(bytes)**
450 )))|=**2**|=**2**|=**2**|=**1**|=**1**|=1|=2
451 |**Value**|BAT|Temperature(DS18B20)|ADC|(((
452 Digital in(PA12)&Digital Interrupt1(PB14)
453 )))|Digital Interrupt2(PB15)|Digital Interrupt3(PA4)|Reserved
454
455 === 2.3.8  MOD~=8 (3ADC+1DS18B20, Since firmware v1.8.0) ===
456
457 |=(((
458 **Size(bytes)**
459 )))|=**2**|=**2**|=**2**|=**1**|=**2**|=2
460 |**Value**|BAT|Temperature(DS18B20)|(((
461 ADC1(PA0)
462 )))|(((
463 Digital in
464 & Digital Interrupt(PB14)
465 )))|(((
466 ADC2(PA1)
467 )))|(((
468 ADC3(PA4)
469 )))
470
471 [[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-20220823164903-2.png?rev=1.1||alt="image-20220823164903-2.png"]]
472
473 === 2.3.9  MOD~=9 3DS18B20+ two Interrupt count mode (the hardware version needs to support 3 interrupt versions, Since firmware v1.8.0) ===
474
475 |=(((
476 **Size(bytes)**
477 )))|=**2**|=**2**|=**2**|=**1**|=**2**|=4|=4
478 |**Value**|BAT|(((
479 Temperature1(PB3)
480 )))|(((
481 Temperature2(PA9)
482 )))|(((
483 Digital in
484 & Digital Interrupt(PA4)
485 )))|(((
486 Temperature3(PA10)
487 )))|(((
488 Count1(PB14)
489 )))|(((
490 Count2(PB15)
491 )))
492
493 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823165322-3.png?rev=1.1||alt="image-20220823165322-3.png"]]
494
495 **The newly added AT command is issued correspondingly:**
496
497 **~ AT+INTMOD1** ** PB14**  pin:  Corresponding downlink:  **06 00 00 xx**
498
499 **~ AT+INTMOD2**  **PB15** pin:  Corresponding downlink:**  06 00 01 xx**
500
501 **~ AT+INTMOD3**  **PA4**  pin:  Corresponding downlink:  ** 06 00 02 xx**
502
503 **AT+SETCNT=aa,bb** 
504
505 When AA is 1, set the count of PB14 pin to BB Corresponding downlink:09 01 bb bb bb bb
506
507 When AA is 2, set the count of PB15 pin to BB Corresponding downlink:09 02 bb bb bb bb
508
509 === 2.3.10  ​Decode payload in The Things Network ===
510
511 While using TTN V3 network, you can add the payload format to decode the payload.
512
513 [[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"]]
514
515 The payload decoder function for TTN V3 are here:
516
517 LSN50 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
518
519
520 Sensor Data is uplink via FPORT=2
521
522 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
523 |=(% style="width: 90px;background-color:#D9E2F3" %)(((
524 **Size(bytes)**
525 )))|=(% style="width: 80px;background-color:#D9E2F3" %)2|=(% style="width: 90px;background-color:#D9E2F3" %)4|=(% style="width:80px;background-color:#D9E2F3" %)1|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2
526 |(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
527 [[Battery>>||anchor="HBattery:"]]
528 )))|(% style="width:130px" %)(((
529 [[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
530 )))|(% style="width:91px" %)(((
531 [[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
532 )))|(% style="width:103px" %)(((
533 [[Temperature>>||anchor="HTemperature:"]]
534 )))|(% style="width:80px" %)(((
535 [[Humidity>>||anchor="HHumidity:"]]
536 )))
537
538 ==== (% style="color:#4472c4" %)**Battery**(%%) ====
539
540 Sensor Battery Level.
541
542 Ex1: 0x0B45 = 2885mV
543
544 Ex2: 0x0B49 = 2889mV
545
546
547
548 ==== (% style="color:#4472c4" %)**Temperature**(%%) ====
549
550 **Example**:
551
552 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
553
554 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
555
556 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
557
558
559 ==== (% style="color:#4472c4" %)**Humidity**(%%) ====
560
561
562 Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
563
564
565 ==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
566
567
568 **Example:**
569
570 If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
571
572 If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
573
574 If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
575
576 If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
577
578
579 == 2.4 Payload Decoder file ==
580
581
582 In TTN, use can add a custom payload so it shows friendly reading
583
584 In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
585
586 [[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]]
587
588
589 == 2.5 Datalog Feature ==
590
591
592 Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes.
593
594
595 === 2.5.1 Ways to get datalog via LoRaWAN ===
596
597
598 Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
599
600 * a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
601 * b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages.
602
603 Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
604
605 [[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-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]]
606
607 === 2.5.2 Unix TimeStamp ===
608
609
610 S31x-LB uses Unix TimeStamp format based on
611
612 [[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-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
613
614 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
615
616 Below is the converter example
617
618 [[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-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
619
620 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
621
622
623 === 2.5.3 Set Device Time ===
624
625
626 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
627
628 Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
629
630 (% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
631
632
633 === 2.5.4 Datalog Uplink payload (FPORT~=3) ===
634
635
636 The Datalog uplinks will use below payload format.
637
638 **Retrieval data payload:**
639
640 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
641 |=(% style="width: 80px;background-color:#D9E2F3" %)(((
642 **Size(bytes)**
643 )))|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 120px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 85px; background-color: rgb(217, 226, 243);" %)**4**
644 |(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
645 [[Temp_Black>>||anchor="HTemperatureBlack:"]]
646 )))|(% style="width:51px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:89px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]]
647
648 **Poll message flag & Ext:**
649
650 [[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-20221006192726-1.png?width=754&height=112&rev=1.1||alt="图片-20221006192726-1.png" height="112" width="754"]]
651
652 **No ACK Message**:  1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature)
653
654 **Poll Message Flag**: 1: This message is a poll message reply.
655
656 * Poll Message Flag is set to 1.
657
658 * Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
659
660 For example, in US915 band, the max payload for different DR is:
661
662 **a) DR0:** max is 11 bytes so one entry of data
663
664 **b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
665
666 **c) DR2:** total payload includes 11 entries of data
667
668 **d) DR3: **total payload includes 22 entries of data.
669
670 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
671
672
673 **Example:**
674
675 If S31x-LB has below data inside Flash:
676
677 [[image:1682646494051-944.png]]
678
679 If user sends below downlink command: 3160065F9760066DA705
680
681 Where : Start time: 60065F97 = time 21/1/19 04:27:03
682
683 Stop time: 60066DA7= time 21/1/19 05:27:03
684
685
686 **S31x-LB will uplink this payload.**
687
688 [[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-20220523001219-13.png?width=727&height=421&rev=1.1||alt="图片-20220523001219-13.png" height="421" width="727"]]
689
690 (((
691 __**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
692 )))
693
694 (((
695 Where the first 11 bytes is for the first entry:
696 )))
697
698 (((
699 7FFF089801464160065F97
700 )))
701
702 (((
703 **Ext sensor data**=0x7FFF/100=327.67
704 )))
705
706 (((
707 **Temp**=0x088E/100=22.00
708 )))
709
710 (((
711 **Hum**=0x014B/10=32.6
712 )))
713
714 (((
715 **poll message flag & Ext**=0x41,means reply data,Ext=1
716 )))
717
718 (((
719 **Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
720 )))
721
722
723 (% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的
724
725 == 2.6 Temperature Alarm Feature ==
726
727
728 S31x-LB work flow with Alarm feature.
729
730
731 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="图片-20220623090437-1.png"]]
732
733
734 == 2.7 Frequency Plans ==
735
736
737 The S31x-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.
738
739 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
740
741
742 = 3. Configure S31x-LB =
743
744 == 3.1 Configure Methods ==
745
746
747 S31x-LB supports below configure method:
748
749 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
750 * 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]].
751 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
752
753 == 3.2 General Commands ==
754
755
756 These commands are to configure:
757
758 * General system settings like: uplink interval.
759 * LoRaWAN protocol & radio related command.
760
761 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
762
763 [[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/]]
764
765
766 == 3.3 Commands special design for S31x-LB ==
767
768
769 These commands only valid for S31x-LB, as below:
770
771
772 === 3.3.1 Set Transmit Interval Time ===
773
774
775 Feature: Change LoRaWAN End Node Transmit Interval.
776
777 (% style="color:blue" %)**AT Command: AT+TDC**
778
779 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
780 |=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
781 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
782 30000
783 OK
784 the interval is 30000ms = 30s
785 )))
786 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
787 OK
788 Set transmit interval to 60000ms = 60 seconds
789 )))
790
791 (% style="color:blue" %)**Downlink Command: 0x01**
792
793 Format: Command Code (0x01) followed by 3 bytes time value.
794
795 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
796
797 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
798 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
799
800 === 3.3.2 Get Device Status ===
801
802
803 Send a LoRaWAN downlink to ask device send Alarm settings.
804
805 (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
806
807 Sensor will upload Device Status via FPORT=5. See payload section for detail.
808
809
810 === 3.3.3 Set Temperature Alarm Threshold ===
811
812 * (% style="color:blue" %)**AT Command:**
813
814 (% style="color:#037691" %)**AT+SHTEMP=min,max**
815
816 * When min=0, and max≠0, Alarm higher than max
817 * When min≠0, and max=0, Alarm lower than min
818 * When min≠0 and max≠0, Alarm higher than max or lower than min
819
820 Example:
821
822 AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
823
824 * (% style="color:blue" %)**Downlink Payload:**
825
826 (% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
827
828 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
829
830
831 === 3.3.4 Set Humidity Alarm Threshold ===
832
833 * (% style="color:blue" %)**AT Command:**
834
835 (% style="color:#037691" %)**AT+SHHUM=min,max**
836
837 * When min=0, and max≠0, Alarm higher than max
838 * When min≠0, and max=0, Alarm lower than min
839 * When min≠0 and max≠0, Alarm higher than max or lower than min
840
841 Example:
842
843 AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
844
845 * (% style="color:blue" %)**Downlink Payload:**
846
847 (% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
848
849 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
850
851
852 === 3.3.5 Set Alarm Interval ===
853
854 The shortest time of two Alarm packet. (unit: min)
855
856 * (% style="color:blue" %)**AT Command:**
857
858 (% style="color:#037691" %)**AT+ATDC=30** (%%) ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes.
859
860 * (% style="color:blue" %)**Downlink Payload:**
861
862 (% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
863
864
865 === 3.3.6 Get Alarm settings ===
866
867
868 Send a LoRaWAN downlink to ask device send Alarm settings.
869
870 * (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
871
872 **Example:**
873
874 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]]
875
876
877 **Explain:**
878
879 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
880
881 === 3.3.7 Set Interrupt Mode ===
882
883
884 Feature, Set Interrupt mode for GPIO_EXIT.
885
886 (% style="color:blue" %)**AT Command: AT+INTMOD**
887
888 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
889 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
890 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
891 0
892 OK
893 the mode is 0 =Disable Interrupt
894 )))
895 |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
896 Set Transmit Interval
897 0. (Disable Interrupt),
898 ~1. (Trigger by rising and falling edge)
899 2. (Trigger by falling edge)
900 3. (Trigger by rising edge)
901 )))|(% style="width:157px" %)OK
902
903 (% style="color:blue" %)**Downlink Command: 0x06**
904
905 Format: Command Code (0x06) followed by 3 bytes.
906
907 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
908
909 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
910 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
911
912 = 4. Battery & Power Consumption =
913
914
915 SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
916
917 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
918
919
920 = 5. OTA Firmware update =
921
922
923 (% class="wikigeneratedid" %)
924 User can change firmware SN50v3-LB to:
925
926 * Change Frequency band/ region.
927 * Update with new features.
928 * Fix bugs.
929
930 Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**
931
932
933 Methods to Update Firmware:
934
935 * (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/]]
936 * 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]]**.
937
938 = 6. FAQ =
939
940
941
942 = 7. Order Info =
943
944
945 Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY**
946
947 (% style="color:red" %)**XX**(%%): The default frequency band
948
949 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
950 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
951 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
952 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
953 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
954 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
955 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
956 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
957
958 (% style="color:red" %)**YY: ** (%%)Hole Option
959
960 * (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
961 * (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
962 * (% style="color:red" %)**20**(%%): With M20 waterproof cable hole
963 * (% style="color:red" %)**NH**(%%): No Hole
964
965 = 8. ​Packing Info =
966
967 (% style="color:#037691" %)**Package Includes**:
968
969 * SN50v3-LB LoRaWAN Generic Node
970
971 (% style="color:#037691" %)**Dimension and weight**:
972
973 * Device Size: cm
974 * Device Weight: g
975 * Package Size / pcs : cm
976 * Weight / pcs : g
977
978 = 9. Support =
979
980
981 * 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.
982 * 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]]