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