Version 75.7 by Xiaoling on 2023/11/02 15:29

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