Version 43.23 by Xiaoling on 2023/05/16 14:26

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