Version 437.9 by Xiaoling on 2022/10/13 17:53

Show last authors
1 (% style="display:none" %) (%%) ​​​(% style="display:none" %)
2
3 (% style="text-align:center" %)
4 [[image:image-20220627094803-5.png||height="366" width="804"]]
5
6
7 (% style="display:none" %) (%%)
8
9
10
11
12
13
14
15 **Table of Contents:**
16
17 (% _mstaria-label="285168" aria-label="macro:toc widget" contenteditable="false" role="region" tabindex="-1" %)
18 (((
19 (% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
20 )))
21
22 {{toc/}}
23
24
25
26
27
28
29
30
31
32
33 = 1.  Introduction =
34
35
36 == 1.1 ​ What is LSN50 LoRa Sensor Node ==
37
38
39 (((
40 (((
41 LSN50 is a Long Range LoRaWAN Sensor Node. It is designed for (% style="color:#4472c4" %)**outdoor data logging **(%%)and powered by (% style="color:#4472c4" %)**Li/SOCl2 battery**(%%) for long term use and secure data transmission. It is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It helps 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.
42 )))
43
44 (((
45 It is based on SX1276/SX1278 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 minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
46 )))
47
48 (((
49 (% style="color:#4472c4" %)**LSN50**(%%) uses STM32l0x chip from ST, STML0x is the (% style="color:#4472c4" %)**ultra-low-power**(%%) STM32L072xx microcontrollers incorporate the connectivity power of the universal serial bus (USB 2.0 crystal-less) with the high-performance ARM® Cortex®-M0+ 32-bit RISC core operating at a 32 MHz frequency, a memory protection unit (MPU), high-speed embedded memories (192 Kbytes of Flash program memory, 6 Kbytes of data EEPROM and 20 Kbytes of RAM) plus an extensive range of enhanced I/Os and peripherals.
50 )))
51
52 (((
53 LSN50 is an (% style="color:#4472c4" %)**open source product**(%%), it is based on the STM32Cube HAL drivers and lots of libraries can be found in ST site for rapid development.
54 )))
55 )))
56
57
58 [[image:1656294562709-486.png]]
59
60
61
62 == 1.2  Specifications ==
63
64
65 (% style="color:#037691" %)**Micro Controller:**
66
67 * STM32L072CZT6 MCU
68 * MCU: STM32L072CZT6
69 * Flash: 192KB
70 * RAM: 20KB
71 * EEPROM: 6KB
72 * Clock Speed: 32Mhz
73
74
75 (% style="color:#037691" %)**Common DC Characteristics:**
76
77 * Supply Voltage: 2.1v ~~ 3.6v
78 * Operating Temperature: -40 ~~ 85°C
79 * I/O pins: Refer to STM32L072 datasheet
80
81 (% style="color:#037691" %)**LoRa Spec:**
82
83 * Frequency Range,
84 ** Band 1 (HF): 862 ~~ 1020 Mhz
85 * or
86 ** Band 2 (LF): 410 ~~ 528 Mhz
87 * 168 dB maximum link budget.
88 * +20 dBm - 100 mW constant RF output vs.
89 * +14 dBm high efficiency PA.
90 * Programmable bit rate up to 300 kbps.
91 * High sensitivity: down to -148 dBm.
92 * Bullet-proof front end: IIP3 = -12.5 dBm.
93 * Excellent blocking immunity.
94 * Low RX current of 10.3 mA, 200 nA register retention.
95 * Fully integrated synthesizer with a resolution of 61 Hz .
96 * FSK, GFSK, MSK, GMSK, LoRaTM and OOK modulation.
97 * Built-in bit synchronizer for clock recovery.
98 * Preamble detection.
99 * 127 dB Dynamic Range RSSI.
100 * Automatic RF Sense and CAD with ultra-fast AFC.
101 * Packet engine up to 256 bytes with CRC.
102 * LoRaWAN 1.0.2 Specification
103
104
105 (% style="color:#037691" %)**Battery:**
106
107 * Li/SOCI2 un-chargeable battery
108 * Capacity: 4000mAh
109 * Self Discharge: <1% / Year @ 25°C
110 * Max continuously current: 130mA
111 * Max boost current: 2A, 1 second
112
113
114 (% style="color:#037691" %)**Power Consumption**
115
116 * STOP Mode: 2.7uA @ 3.3v
117 * LoRa Transmit Mode: 125mA @ 20dBm 44mA @ 14dBm
118
119
120
121 == ​1.3  Features ==
122
123
124 * LoRaWAN 1.0.3 Class A, Class C
125 * STM32L072CZT6 MCU
126 * SX1276/78 Wireless Chip
127 * Pre-load bootloader on USART1/USART2
128 * MDK-ARM Version 5.24a IDE
129 * I2C, LPUSART1, USB, SPI2
130 * 3x12bit ADC, 1x12bit DAC
131 * 20xDigital I/Os
132 * LoRa™ Modem
133 * Preamble detection
134 * Baud rate configurable
135 * CN470/EU433/KR920/US915/IN865
136 * EU868/AS923/AU915/MA869
137 * Open-source hardware / software
138 * Available Band:433/868/915/920 Mhz
139 * IP66 Waterproof Enclosure
140 * Ultra-Low Power consumption
141 * AT Commands to change parameters
142 * 4000mAh or 8500mAh Battery for long term use。
143
144
145
146 == 1.4 ​ Applications ==
147
148
149 * Smart Buildings & Home Automation
150 * Logistics and Supply Chain Management
151 * Smart Metering
152 * Smart Agriculture
153 * Smart Cities
154 * Smart Factory
155
156
157
158 == 1.5  Pin Definitions and Switch ==
159
160
161 (% class="wikigeneratedid" %)
162 [[image:1656295519542-152.png||height="413" width="728"]]
163
164
165 (% class="wikigeneratedid" %)
166 [[image:1656295532863-613.png||height="371" width="721"]]
167
168
169 (% class="wikigeneratedid" %)
170 [[image:image-20220627101527-1.png]]
171
172
173
174 === 1.5.1 Jumper JP2 ===
175
176
177 Power on Device when put this jumper.
178
179
180
181 === 1.5.2 BOOT MODE / SW1 ===
182
183
184 (((
185 ~1. ISP:  upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
186 )))
187
188 (((
189 2. Flash:  work mode, device starts to work and send out console output for further debug
190 )))
191
192
193
194 === 1.5.3 Reset Button ===
195
196
197 Press to reboot the device.
198
199
200
201 === 1.5.4 LED ===
202
203
204 It will flash:
205
206 1. When boot the device in flash mode
207 1. Send an uplink packet
208
209
210
211 === 1.6  Hardware Change log ===
212
213
214 (% style="color:red" %)**Note: Hardware version is marked in the PCB.**
215
216
217 (% style="color:#4472c4" %)**LSN50 v2.1:**
218
219 1. Change R14 to 1M ohm
220 1. Change R3, R4 to 4.7Kohm. So no need to modify them for 3 DS18B20 connection.
221 1. Add ESD to each I/O
222
223 (% style="color:#4472c4" %)**LSN50 v2.0:**
224
225 * Change to a new enclosure. Improve with external antenna, IP68, ear hook.
226
227 (% style="color:#4472c4" %)**LSN50 v1.3**:
228
229 * Add P-MOS to control 5V output
230
231 (% style="color:#4472c4" %)**LSN50 v1.2**:
232
233 * Add LED. Turn on for every LoRa transmit
234 * Add pin PA4, PB13, NRST
235 * Add 5V Output, on/off control by PB5(Low to Enable, High to Disable)
236
237
238
239 == 1.7  Hole Option ==
240
241
242 The LSN50 provides different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
243
244 [[image:image-20220627104757-1.png]]
245
246
247 [[image:1656298089706-973.png]]
248
249
250
251 = 2.  Use LSN50 with LoRaWAN firmware =
252
253
254 == 2.1  How it works ==
255
256
257 (((
258 (((
259 The LSN50 is pre-loaded with a firmware and is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you just need to input the OTAA keys in the LoRaWAN IoT server and power on the LSN50. It will automatically join the network via OTAA.
260 )))
261
262 (((
263
264 )))
265
266 (((
267 The diagram below shows the working flow in default firmware (ver 1.8.0): 
268
269
270 )))
271
272 [[image:image-20220823174408-9.png||height="890" width="657"]]
273
274
275
276 (((
277 In case you can't set the OTAA keys in the LoRaWAN OTAA server, and you have to use the keys from the server, you can [[use AT Commands>>||anchor="H3.A0UsingtheATCommands"]] to set the keys in the LSN50.
278 )))
279 )))
280
281
282
283 == 2.2  ​Quick guide to connect to LoRaWAN server (OTAA) ==
284
285
286 (((
287 Following is an example for how to join the [[TTN V3 LoRaWAN Network>>url:http://www.thethingsnetwork.org/]]. Below is the network structure; we use the [[LG308>>url:http://www.dragino.com/products/lora/item/140-lg308.html]] as a LoRaWAN gateway in this example. 
288
289
290 (% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:1655891470063-521.png]](% title="Click and drag to resize" %)​[[image:1656298385089-555.png]]
291
292
293 )))
294
295 (% _mstmutation="1" title="Click and drag to resize" %)​(%%)The LG308 is already set to connected to [[TTN V3 network >>url:https://www.thethingsnetwork.org/||_mstmutation="1"]], so what we need to now is configure the TTN V3 server.(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)​(%%)​
296
297 (((
298
299
300 (% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from LSN50.
301
302 Each LSN50is shipped with a sticker with the default device EUI as below:
303 )))
304
305 (((
306
307 )))
308
309 (% _mstaria-label="1059162" aria-label="image-20220607170145-1.jpeg image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220607170145-1.jpeg||data-widget="image"]](% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)​(%%)​
310
311
312 (((
313 (((
314 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
315 )))
316
317 (((
318 **Register the device:**
319 )))
320 )))
321
322 (% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% title="Click and drag to resize" %)​(% _mstaria-label="795587" aria-label="1654935135620-998.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654935135620-998.png||data-widget="image"]](% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](%%)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% title="Click and drag to resize" %)​​
323
324 (% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% title="Click and drag to resize" %)​
325
326
327 **Add APP EUI and DEV EUI:**
328
329
330 (% _mstaria-label="1002404" aria-label="image-20220611161308-4.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220611161308-4.png||data-widget="image" height="551" width="753"]](% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
331
332
333
334 **Add APP EUI in the application:**
335
336
337 (% _mstaria-label="1002768" aria-label="image-20220611161308-5.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220611161308-5.png||data-widget="image" height="601" width="742"]](% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
338
339
340 **Add APP KEY**
341
342 (% _mstaria-label="1003132" aria-label="image-20220611161308-6.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220611161308-6.png||data-widget="image" height="485" width="744"]](% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
343
344 (% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​
345
346 (% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)​(%%)​
347
348 (% style="color:blue" %)**Step 2**(%%)**:** Power on LSN50
349
350
351 Put a Jumper on JP2 to power on the device.(% style="display:none" %)
352
353 [[image:image-20220627145643-5.png]](% style="display:none" %)
354
355 (% style="display:none" %)
356
357
358 (% style="display:none" %) (%%)
359
360 **For LSn50v2:**
361
362 [[image:1656313034748-905.png]](% style="display:none" %)
363
364
365 (% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(%%)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]][[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)​(%%)​
366
367 (((
368 (((
369 (% style="color:blue" %)**Step 3**(%%)**:**  The LSN50 will auto join to the TTN V3 network. After join success, it will start to upload messages to TTN V3 and you can see the messages in the panel.
370
371
372 )))
373 )))
374
375 (% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% title="Click and drag to resize" %)​[[image:1656312908855-552.png]](% style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
376
377 ​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% _mstaria-label="548795" aria-label="Data URI image image widget" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="Click and drag to resize" %)​(% title="Click and drag to resize" %)​​
378
379
380 == 2.3  ​Working Mode & Uplink Payload ==
381
382
383 (((
384 LSN50 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 LSN50 to different working modes.
385 )))
386
387 (((
388 For example:
389 )))
390
391 (((
392 (% _mstmutation="1" style="color:red" %)**AT+MOD=2  **(%%) ~/~/ will set the LSN50 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
393 )))
394
395 (((
396
397 )))
398
399 (((
400 (% style="color:red" %)**NOTE:**
401 )))
402
403 (((
404 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 LSn50 transmit in DR0 with 12 bytes payload.
405 1. All modes share the same Payload Explanation from HERE.
406 1. By default, the device will send an uplink message every 5 minutes.
407 )))
408
409
410
411
412
413 === 2.3.1  MOD~=1 (Default Mode) ===
414
415
416 (((
417 In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
418
419
420 [[image:image-20220627171207-27.png]]
421
422
423 [[image:image-20220627150949-6.png]]
424
425
426 )))
427
428
429 === 2.3.2 MOD~=2 (Distance Mode) ===
430
431
432 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.
433
434 [[image:image-20220627180835-31.png]]
435
436
437 [[image:1656324539647-568.png]]
438
439
440
441 (% style="color:red" %)**Connection of LIDAR-Lite V3HP:**
442
443
444 [[image:1656324581381-162.png]]
445
446
447
448 (% style="color:red" %)**Connection to Ultrasonic Sensor:**
449
450
451 [[image:1656324598488-204.png]]
452
453
454
455 For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
456
457
458 [[image:image-20220628083801-1.png]]
459
460
461 [[image:1656376779088-686.png]]
462
463
464
465 (% style="color:red" %)**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
466
467
468 Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
469
470
471 [[image:1656376795715-436.png]]
472
473
474
475 (% style="color:red" %)**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
476
477
478 Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
479
480
481 [[image:1656376865561-355.png]]
482
483
484 (((
485 Please use firmware version > 1.6.5 when use MOD=2, in this firmware version, user can use LSn50 v1 to power the ultrasonic sensor directly and with low power consumption.
486 )))
487
488
489
490 === 2.3.3 MOD~=3 (3 ADC + I2C) ===
491
492
493 This mode has total 12 bytes. Include 3 x ADC + 1x I2C
494
495 [[image:image-20220628085009-2.png]]
496
497
498 [[image:1656377431497-975.png]]
499
500
501
502 === 2.3.4 MOD~=4 (3 x DS18B20) ===
503
504
505 This mode is supported in firmware version since v1.6.1. Software set to AT+MOD=4
506
507 Hardware connection is as below,
508
509 (% style="color:red" %)**( Note:**
510
511 * In hardware version v1.x and v2.0 , R3 & R4 should change from 10k to 4.7k ohm to support the other 2 x DS18B20 probes.
512 * In hardware version v2.1 no need to change R3 , R4, by default, they are 4.7k ohm already.
513
514 See [[here>>||anchor="H1.6A0HardwareChangelog" _mstmutation="1"]] for hardware changelog. (% style="color:red" %)**) **
515
516 [[image:1656377461619-156.png]]
517
518
519 This mode has total 11 bytes. As shown below:
520
521 [[image:image-20220628085248-3.png]]
522
523
524 [[image:1656377606181-607.png]]
525
526
527
528 === 2.3.5 MOD~=5(Weight Measurement by HX711) ===
529
530
531 (((
532 This mode is supported in firmware version since v1.6.2. Please use v1.6.5 firmware version so user no need to use extra LDO for connection.
533
534
535 )))
536
537 [[image:1656378224664-860.png]]
538
539
540 Each HX711 need to be calibrated before used. User need to do below two steps:
541
542 1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram.
543 1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor.
544 1. (((
545 Remove the limit of plus or minus 5Kg in mode 5, and expand from 2 bytes to 4 bytes, the unit is g.(Since v1.8.0)
546 )))
547
548 For example:
549
550 (% style="color:#4472c4" %)**AT+WEIGAP =403.0**
551
552 Response:  Weight is 401 g
553
554
555 Check the response of this command and adjust the value to match the real value for thing.
556
557
558 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:410px" %)
559 |**Size(bytes)**|2|2|2|1|4
560 |**Value**|Bat|Temperature(DS18B20)|ADC|Digital Input and Digitak Interrupt|Weight
561
562 [[image:image-20220820120036-2.png||height="469" width="1003"]]
563
564
565
566 === 2.3.6 MOD~=6 (Counting Mode, Since firmware v1.6.5) ===
567
568
569 (((
570 (((
571 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.
572 )))
573 )))
574
575 (((
576 (((
577 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.
578 )))
579 )))
580
581
582 [[image:1656378351863-572.png]]
583
584
585 (((
586 (% 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 LSN50 to avoid this happen.
587 )))
588
589 (((
590
591 )))
592
593 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:410px" %)
594 |=(% style="width: 60px;" %)**Size(bytes)**|=(% style="width: 44px;" %)**2**|=(% style="width: 110px;" %)**2**|=(% style="width: 51px;" %)**2**|=(% style="width: 70px;" %)**1**|=(% style="width: 50px;" %)**4**
595 |(% style="width:80px" %)**Value**|(% style="width:44px" %)[[BAT>>||anchor="H2.4.1BatteryInfo"]]|(% style="width:172px" %)(((
596 [[Temperature(DS18B20)>>||anchor="H2.4.2Temperature28DS18B2029"]]
597 )))|(% style="width:51px" %)[[ADC>>||anchor="H2.4.4AnalogueDigitalConverter28ADC29"]]|(% style="width:206px" %)[[Digital in>>||anchor="H2.4.3DigitalInput"]]|(% style="width:72px" %)Count
598
599 [[image:1656378441509-171.png]]
600
601
602
603 === 2.3.7  MOD~=7 Three interrupt contact modes (the hardware version needs to support three interrupt versions, Since firmware v1.8.0) ===
604
605
606 [[image:image-20220820140109-3.png]]
607
608
609 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:410px" %)
610 |(((
611 **Size(bytes)**
612 )))|2|2|2|1|1|1|2
613 |(((
614 **Value**
615 )))|(((
616 BAT
617 )))|(((
618 Temperature
619
620 (DS18B20)
621 )))|(((
622 ADC
623 )))|(((
624 Digital in&Digital Interrupt1(PB14)
625 )))|(((
626 Digital Interrupt2(PB15)
627 )))|(((
628 Digital Interrupt3(PA4)
629 )))|(((
630 Reserved
631 )))
632
633
634
635 === 2.3.8  MOD~=8 (3ADC+1DS18B20, Since firmware v1.8.0) ===
636
637
638 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:410px" %)
639 |(((
640 **Size(bytes)**
641 )))|2|2|2|(% style="width:26px" %)1|(% style="width:28px" %)2|2
642 |(((
643 **Value**
644 )))|(((
645 BAT
646 )))|(((
647 Temperature
648
649 (DS18B20)
650 )))|(((
651 ADC1
652
653 (PA0)
654 )))|(% style="width:26px" %)(((
655 Digital in&Digital Interrupt(PB14)
656 )))|(% style="width:28px" %)(((
657 ADC2
658
659 (PA1)
660 )))|(((
661 ADC3
662
663 (PA4)
664 )))
665
666 [[image:image-20220823164903-2.png]]
667
668
669
670 === 2.3.9  MOD~=9 3DS18B20+ two Interrupt count mode (the hardware version needs to support 3 interrupt versions, Since firmware v1.8.0) ===
671
672
673 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:410px" %)
674 |(((
675 **Size(bytes)**
676 )))|2|2|2|1|2|4|4
677 |(((
678 **Value**
679 )))|(((
680 BAT
681 )))|(((
682 Temperature1
683
684 (PB3)
685 )))|(((
686 Temperature2
687
688 (PA9)
689 )))|(((
690 Digital in&Digital Interrupt(PA4)
691 )))|(((
692 Temperature3
693
694 (PA10)
695 )))|(((
696 Count1
697
698 (PB14)
699 )))|(((
700 Count2
701
702 (PB15)
703 )))
704
705
706 (% class="wikigeneratedid" id="H" %)
707 [[image:image-20220823165322-3.png]]
708
709
710 (% style="color:blue" %)**The newly added AT command is issued correspondingly:**
711
712 (% style="color:#4472c4" %)** AT+INTMOD1**(%%) (% style="background-color:yellow" %)** PB14**(%%)  pin:  Corresponding downlink:  (% style="background-color:yellow" %)**06 00 00 xx**
713
714 (% style="color:#4472c4" %)** AT+INTMOD2**(%%)  (% style="background-color:yellow" %)**PB15**(%%) pin:  Corresponding downlink:**  (% style="background-color:yellow" %)06 00 01 xx(%%)**
715
716 (% style="color:#4472c4" %)** AT+INTMOD3** (%%) (% style="background-color:yellow" %)**PA4** (%%) pin:  Corresponding downlink:  ** (% style="background-color:yellow" %)06 00 02 xx(%%)**
717
718
719 (% style="color:blue" %)**AT+SETCNT=aa,bb** 
720
721 When AA is 1, set the count of PB14 pin to BB Corresponding downlink:09 01 bb bb bb bb
722
723 When AA is 2, set the count of PB15 pin to BB Corresponding downlink:09 02 bb bb bb bb
724
725
726
727 === 2.3.10  ​Decode payload in The Things Network ===
728
729
730 While using TTN V3 network, you can add the payload format to decode the payload.
731
732
733 [[image:1656378466788-734.png]]
734
735
736 (((
737 The payload decoder function for TTN V3 are here:
738 )))
739
740 (((
741 LSN50 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
742 )))
743
744
745
746 == 2.4 Payload Explanation and Sensor Interface ==
747
748
749 === 2.4.1 Battery Info ===
750
751
752 (((
753 Check the battery voltage for LSN50.
754 )))
755
756 (((
757 Ex1: 0x0B45 = 2885mV
758 )))
759
760 (((
761 Ex2: 0x0B49 = 2889mV
762 )))
763
764
765
766 === 2.4.2 Temperature (DS18B20) ===
767
768
769 If there is a DS18B20 connected to PB3 pin. The temperature will be uploaded in the payload.
770
771 More DS18B20 can check the [[3 DS18B20 mode>>||anchor="2.3.4MOD3D4283xDS18B2029"]]
772
773
774 (% style="color:#4472c4" %)**Connection:**
775
776 [[image:1656378573379-646.png]]
777
778
779 (% style="color:#4472c4" %)**Example**:
780
781 If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
782
783 If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
784
785
786
787 === 2.4.3 Digital Input ===
788
789
790 The digital input for pin PA12,
791
792 * When PA12 is high, the bit 1 of payload byte 6 is 1.
793 * When PA12 is low, the bit 1 of payload byte 6 is 0.
794
795
796
797 === 2.4.4 Analogue Digital Converter (ADC) ===
798
799
800 (((
801 The ADC pins in LSN50 can measure range from 0~~3.3v, it use reference voltage from STM32. If user need to measure a voltage >3.3v, please use resistors to divide this voltage to lower than 3.3v, otherwise, it may destroy the ADC pin.
802 )))
803
804
805 (((
806 The ADC monitors the voltage on the PA0 line, in mV.
807 )))
808
809 (((
810 Ex: 0x021F = 543mv,
811 )))
812
813
814 (((
815 (% style="color:#4472c4" %)** Example1:** (%%) Reading an Oil Sensor (Read a resistance value):
816
817
818 )))
819
820 [[image:image-20220627172409-28.png]]
821
822
823 In the LSN50, we can use PB4 and PA0 pin to calculate the resistance for the oil sensor.
824
825
826 (% style="color:blue" %)**Steps:**
827
828 1. Solder a 10K resistor between PA0 and VCC.
829 1. Screw oil sensor's two pins to PA0 and PB4.
830
831 The equipment circuit is as below:
832
833
834 [[image:image-20220627172500-29.png]]
835
836
837 According to above diagram:
838
839 [[image:image-20220628091043-4.png]]
840
841 So
842
843 [[image:image-20220628091344-6.png]]
844
845
846 [[image:image-20220628091621-8.png]] is the reading of ADC. So if ADC=0x05DC=0.9 v and VCC (BAT) is 2.9v
847
848
849 The [[image:image-20220628091702-9.png]] 4.5K ohm
850
851 Since the Bouy is linear resistance from 10 ~~ 70cm.
852
853
854 The position of Bouy is [[image:image-20220628091824-10.png]] , from the bottom of Bouy.
855
856
857
858 === 2.4.5 Digital Interrupt ===
859
860
861 Digital Interrupt refers to pin PB14, and there are different trigger methods. When there is a trigger, the LSN50 will send a packet to the server.
862
863
864 (((
865 (% style="color:#4472c4" %)** Interrupt connection method:**
866 )))
867
868 [[image:1656379178634-321.png]]
869
870
871 (((
872 (% style="color:#4472c4" %)**Example to use with door sensor :**(%%)
873 (% style="color:#4472c4" %)**(Requires firmware > 1.5.1)**
874 )))
875
876
877 (((
878 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.
879 )))
880
881 [[image:1656379210849-860.png]]
882
883
884 (((
885 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 LSN50 interrupt interface to detect the status for the door or window.
886 )))
887
888
889 (((
890 (% style="color:#4472c4" %)** Below is the installation example:**
891 )))
892
893 (((
894 Fix one piece of the magnetic sensor to the door and connect the two pins to LSN50 as follows:
895 )))
896
897 * (((
898 One pin to LSN50's PB14 pin
899 )))
900 * (((
901 The other pin to LSN50's VCC pin
902 )))
903
904 (((
905 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 PB14 will be at the VCC voltage.
906 )))
907
908
909 (((
910 Door sensors have two types: ** (% style="color:#4472c4" %)NC (Normal close)(%%)** and (% style="color:#4472c4" %)**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.
911 )))
912
913 (((
914 When door sensor is shorted, there will extra power consumption in the circuit, the extra current is 3v3/R14 = 3v2/1Mohm = 0.3uA which can be ignored.
915 )))
916
917
918 [[image:1656379283019-229.png]]
919
920
921 (((
922 The above photos shows the two parts of the magnetic switch fitted to a door.
923 )))
924
925
926 (((
927 (((
928 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.
929 )))
930 )))
931
932
933 (((
934 The command is:
935 )))
936
937 (((
938 (% _mstmutation="1" style="color:blue" %)**AT+INTMOD=1 **(% _mstmutation="1" %)** **(%%)~/~/(more info about INMOD please refer(% _mstmutation="1" %)** **(%%)[[**AT Command Manual**>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/&file=DRAGINO_LSN50_AT_Commands_v1.5.1.pdf||_mstmutation="1"]](% _mstmutation="1" %)**. **(%%))
939 )))
940
941
942 (((
943 Below shows some screen captures in TTN V3:
944 )))
945
946
947 [[image:1656379339508-835.png]]
948
949
950 In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
951
952 (% style="background-color:#dcdcdc" %)door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
953
954
955 (% style="color:red" %)**Notice for hardware version LSN50 v1 < v1.3**(%%) (produced before 2018-Nov).
956
957 In this hardware version, there is no R14 resistance solder. When use the latest firmware, it should set AT+INTMOD=0 to close the interrupt. If user need to use Interrupt in this hardware version, user need to solder R14 with 10M resistor and C1 (0.1uF) on board.
958
959 [[image:1656379563303-771.png]]
960
961
962
963 === 2.4.6 I2C Interface (SHT20) ===
964
965
966 (((
967 The PB6(SDA) and PB7(SCK) are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
968 )))
969
970 (((
971 We have made an example to show how to use the I2C interface to connect to the SHT20 Temperature and Humidity Sensor. This is supported in the stock firmware since v1.5 with (% style="color:#4472c4" %)**AT+MOD=1 (default value).**
972 )))
973
974 (((
975 Below is the connection to SHT20/ SHT31. The connection is as below:
976 )))
977
978
979 [[image:image-20220902163605-2.png]]
980
981
982 The device will be able to get the I2C sensor data now and upload to IoT Server.
983
984
985 [[image:1656379664142-345.png]]
986
987 Convert the read byte to decimal and divide it by ten.
988
989
990 (% style="color:blue" %)**Example:**
991
992 Temperature:  Read:0116(H) = 278(D)  Value:  278 /10=27.8℃;
993
994 Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
995
996
997 If you want to use other I2C device, please refer the SHT20 part source code as reference.
998
999
1000
1001 === 2.4.7 ​Distance Reading ===
1002
1003
1004 Refer [[Ultrasonic Sensor section>>||anchor="H2.4.8UltrasonicSensor"]].
1005
1006
1007
1008 === 2.4.8 Ultrasonic Sensor ===
1009
1010
1011 (((
1012 The LSN50 v1.5 firmware supports ultrasonic sensor (with AT+MOD=2) such as SEN0208 from DF-Robot. 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]]
1013 )))
1014
1015
1016 (((
1017 The LSN50 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.
1018 )))
1019
1020
1021 (((
1022 The picture below shows the connection:
1023 )))
1024
1025 [[image:1656380061365-178.png]]
1026
1027
1028
1029 Connect to the LSN50 and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT).
1030
1031 The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
1032
1033
1034 (% style="color:blue" %)**Example:**
1035
1036 Distance:  Read:0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
1037
1038
1039 [[image:1656384895430-327.png]]
1040
1041
1042 [[image:1656384913616-455.png]]
1043
1044
1045 You can see the serial output in ULT mode as below:
1046
1047 [[image:1656384939855-223.png]]
1048
1049
1050 In TTN V3 server:
1051
1052
1053 [[image:1656384961830-307.png]]
1054
1055
1056 [[image:1656384973646-598.png]]
1057
1058
1059
1060 === 2.4.9 +5V Output ===
1061
1062
1063 Since v1.2 hardware version, a +5v output is added in the hardware. The +5V output will be valid for every sampling.  LSN50 will enable +5V output before all sampling and disable the +5v after all sampling. 
1064
1065
1066 (((
1067 Since firmware (% style="color:red" %)**v1.6.3**(%%), The 5V output time can be controlled by AT Command.
1068 )))
1069
1070 (((
1071 (% style="color:#4472c4" %)**AT+5VT=1000**
1072 )))
1073
1074 (((
1075 Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
1076 )))
1077
1078
1079 (((
1080 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.
1081 )))
1082
1083
1084
1085 === 2.4.10 Weigh Sensor HX711 ===
1086
1087
1088 Since v1.6.2 firmware, LSN50 support Weigh Sensor HX711.
1089
1090
1091
1092 === 2.4.11  BH1750 Illumination Sensor ===
1093
1094
1095 Since v1.7.0 firmware, MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
1096
1097
1098 [[image:image-20220628110012-11.jpeg]]
1099
1100
1101 [[image:image-20220628110012-12.png]]
1102
1103
1104
1105 === 2.4.12 Working MOD ===
1106
1107
1108 (((
1109 The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
1110 )))
1111
1112 (((
1113 User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
1114 )))
1115
1116 (((
1117 Case 7^^th^^ Byte >> 2 & 0x1f:
1118 )))
1119
1120 * 0: MOD1
1121 * 1: MOD2
1122 * 2: MOD3
1123 * 3: MOD4
1124 * 4:MOD5
1125 * 5:MOD6
1126
1127
1128
1129 == 2.5 Configure LSN50 via AT or Downlink ==
1130
1131
1132 (((
1133 User can configure LSN50 via [[AT Commands >>||anchor="H3.A0UsingtheATCommands"]]or LoRaWAN Downlink Commands
1134 )))
1135
1136 (((
1137 There are two kinds of Commands:
1138 )))
1139
1140 * (% _mstmutation="1" style="color:#4472c4" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.7.0, user can find what common commands it supports:  [[End Device AT Commands>>doc:Main.End Device AT Commands and Downlink Command.WebHome||_mstmutation="1"]]
1141
1142 * (% style="color:#4472c4" %)**Sensor Related Commands**(%%): These commands are special designed for LSN50.  User can see these commands below:
1143
1144
1145 === 2.5.1 Common Commands: ===
1146
1147
1148 They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.7.0, user can find what common commands it supports: [[End Device AT Commands>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
1149
1150
1151
1152 === 2.5.2 Sensor related commands: ===
1153
1154
1155 (% style="color:#4472c4" %)**Set work mode:**
1156
1157 * (% style="color:#037691" %)**AT Command:**
1158
1159 (((
1160 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+MOD=2 **(%%) ~/~/ Set work MOD =2. (1:IIC mode,2:Distance mode,3:3ADC mode, 4:3DS18B20 mode,5:weight mode)
1161 )))
1162
1163 (((
1164 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+MOD=?** (%%) ~/~/  Get current work MOD
1165 )))
1166
1167
1168 * (% style="color:#037691" %)**Downlink Payload:**
1169
1170 (% style="background-color:#dcdcdc" %)**0x0A aa** (%%) ~/~/ Same as AT+MOD=aa
1171
1172
1173
1174 (% style="color:#4472c4" %)**Set the trigger interrupt mode:**
1175
1176 * (% style="color:#037691" %)**AT Command:**
1177
1178 (((
1179 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+INTMOD=2**  (%%) ~/~/ Set INTMOD =2. (0:Disable,1:falling or rising,2:falling,3:rising)
1180 )))
1181
1182 (((
1183 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+INTMOD=?**  (%%) ~/~/  Get current INTMOD
1184 )))
1185
1186
1187 * (% style="color:#037691" %)**Downlink Payload:**
1188
1189 (% style="background-color:#dcdcdc" %)**0x06 000003**      (%%) ~/~/ Set AT+INTMOD=3
1190
1191
1192
1193 (% style="color:#4472c4" %)**Set the 5V power open time during sampling:**
1194
1195 * (% style="color:#037691" %)**AT Command:**
1196
1197 (((
1198 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+5VT=1000** (%%) ~/~/ Set 5v open time to 1000ms
1199 )))
1200
1201 (((
1202 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+5VT=?**    (%%) ~/~/  Check current 5v open duration
1203 )))
1204
1205
1206 * (% style="color:#037691" %)**Downlink Payload:**
1207
1208 (% style="background-color:#dcdcdc" %)**0x07 aa bb**    (%%) ~/~/ Equal AT+5VT=0x(aa bb)
1209
1210
1211
1212 (% style="color:#4472c4" %)**Set the weight to 0g (Zero Calibration)**
1213
1214 * (% style="color:#037691" %)**AT Command:**
1215
1216 (% style="background-color:#dcdcdc" %)**AT+WEIGRE** ** **(%%)** **~/~/ Set the weight to 0g
1217
1218
1219 * (% style="color:#037691" %)**Downlink Payload:**
1220
1221 (% style="background-color:#dcdcdc" %)**0x08 01** (%%) ~/~/ Set the weight to 0g
1222
1223
1224
1225 (% style="color:#4472c4" %)**Get or Set the GAP Value (calibrate factor) of measurement**
1226
1227 * (% style="color:#037691" %)**AT Command:**
1228
1229 (((
1230 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+WEIGAP=403.0**  (%%) ~/~/ Set GAP Value =403.0 (response: Weight: xx g)
1231 )))
1232
1233 (((
1234 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+WEIGAP=?**  (%%) ~/~/  Get current GAP Value
1235 )))
1236
1237
1238 * (% style="color:#037691" %)**Downlink Payload:**
1239
1240 (% style="background-color:#dcdcdc" %)**0x08 02 aa bb** (%%) ~/~/ Equal to AT+WEIGAP=0x(aa bb)/10
1241
1242
1243
1244 (% style="color:#4472c4" %)**Encrypt upload**
1245
1246 * (% style="color:#037691" %)**AT Command:**
1247
1248 (((
1249 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+DECRYPT=1**  (%%) ~/~/ The payload is uploaded without encryption
1250 )))
1251
1252 (((
1253 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+DECRYPT=0**  (%%) ~/~/  Encrypt when uploading payload (default)
1254 )))
1255
1256
1257
1258 (% style="color:#4472c4" %)**Get data**
1259
1260 * (% style="color:#037691" %)**AT Command:**
1261
1262 (((
1263 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+GETSENSORVALUE=0** (%%) ~/~/ The serial port gets the reading of the current sensor
1264 )))
1265
1266 (((
1267 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+GETSENSORVALUE=1** (%%) ~/~/  The serial port gets the current sensor reading and uploads it.
1268
1269
1270
1271 (% style="color:#4472c4" %)**Resets the downlink packet count**
1272
1273 * (% style="color:#037691" %)**AT Command:**
1274
1275 (((
1276 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+DISFCNTCHECK=0**(% _mstmutation="1" %)**     **(%%) ~/~/(% _mstmutation="1" %)** **(%%)When the downlink packet count sent by the server is less than the node downlink packet count or exceeds 16384, the node will no longer receive downlink packets (default)
1277 )))
1278
1279 (((
1280 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+DISFCNTCHECK=1** (%%) ~/~/  When the downlink packet count sent by the server is less than the node downlink packet count or exceeds 16384, the node resets the downlink packet count and keeps it consistent with the server downlink packet count
1281 )))
1282
1283
1284
1285 (% style="color:#4472c4" %)**When the limit bytes are exceeded, upload in batches**
1286
1287 * (% style="color:#037691" %)**AT Command:**
1288
1289 (((
1290 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+DISMACANS=0**(%%)  ~/~/ When the MACANS of the reply server plus the payload exceeds the maximum number of bytes of 11 bytes (DR0 of US915, DR2 of AS923, DR2 of AU195), the node will send a packet with a payload of 00 and a port of 4. (default)
1291 )))
1292
1293 (((
1294 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+DISMACANS=1** (%%) ~/~/ When the MACANS of the reply server plus the payload exceeds the maximum number of bytes of the DR, the node will ignore the MACANS and not reply, and only upload the payload part.
1295 )))
1296
1297 * (% style="color:#037691" %)**Downlink Payload:**
1298
1299 (% class="wikigeneratedid" %)
1300 (% style="background-color:#dcdcdc" %)**0x21 00 01 ** (%%) ~/~/ Set  the DISMACANS=1
1301
1302
1303
1304 (% style="color:#4472c4" %)**Copy downlink to uplink**
1305
1306 * (% style="color:#037691" %)**AT Command:**
1307
1308 (((
1309 (% _mstmutation="1" style="background-color:#dcdcdc" %)**AT+RPL=5**(%%)  ~/~/ After receiving the package from the server, it will immediately upload the content of the package to the server, the port number is 100.
1310 )))
1311
1312 (% class="wikigeneratedid" %)
1313 Example:(% style="background-color:#dcdcdc" %)**aa xx xx xx xx** (%%) ~/~/ aa indicates whether the configuration has changed, 00 is yes, 01 is no; xx xx xx xx are the bytes sent.
1314
1315
1316 (% class="wikigeneratedid" %)
1317 [[image:image-20220823173747-6.png||height="165" width="1124"]]
1318
1319
1320 For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77.
1321
1322
1323
1324 [[image:image-20220823173833-7.png||height="149" width="1124"]]
1325
1326
1327 For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned.
1328
1329
1330
1331 (% style="color:#4472c4" %)**Query version number and frequency band 、TDC**
1332
1333 * (((
1334 (% style="color:#037691" %)**Downlink: 26 01  **(%%) ~/~/ Downlink 26 01 can query device upload frequency, frequency band, software version number, TDC time.
1335 )))
1336
1337 Example:
1338
1339
1340 [[image:image-20220823173929-8.png||height="76" width="1205"]]
1341
1342
1343
1344 == 2.6 Show Data in Datacake IoT Server ==
1345
1346
1347 (((
1348 Datacake provides a human friendly interface to show the sensor data, once we have data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
1349 )))
1350
1351 (((
1352
1353 )))
1354
1355 (((
1356 (% style="color:blue" %)**Step 1**(%%)**:** Be sure that your device is programmed and properly connected to the network at this time.
1357 )))
1358
1359 (((
1360 (% style="color:blue" %)**Step 2**(%%)**:** To configure the Application to forward data to Datacake you will need to add integration. To add the Datacake integration, perform the following steps:
1361 )))
1362
1363
1364 [[image:1656385623971-339.png]]
1365
1366
1367 [[image:1656385646347-395.png]]
1368
1369
1370 [[image:1656385662459-942.png]]
1371
1372
1373 (% style="color:blue" %)**Step 3**(%%)**: **Create an account or log in Datacake.
1374
1375
1376 (% style="color:blue" %)**Step 4**(%%)**:** Search the LSN50 and add DevEUI.
1377
1378
1379 [[image:1656385688973-317.png]]
1380
1381
1382
1383 == 2.7 ​Firmware Change Log ==
1384
1385
1386 (((
1387 **Firmware download: ** [[https:~~/~~/www.dropbox.com/sh/9k0a6sn8a94dc03/AAD54woDmnmAMUMY2WfKfjxoa?dl=0>>https://www.dropbox.com/sh/9k0a6sn8a94dc03/AAD54woDmnmAMUMY2WfKfjxoa?dl=0]]
1388 )))
1389
1390 (((
1391 **Firmware Change Log: **[[https:~~/~~/www.dropbox.com/sh/9k0a6sn8a94dc03/AAD54woDmnmAMUMY2WfKfjxoa?dl=0>>https://www.dropbox.com/sh/9k0a6sn8a94dc03/AAD54woDmnmAMUMY2WfKfjxoa?dl=0]]
1392
1393
1394
1395 )))
1396
1397 == 2.8 Use VDD or +5V to Power External Sensor ==
1398
1399
1400 (((
1401 User can use VDD or +5V to power external sensor.
1402 )))
1403
1404 (((
1405 (% style="color:red" %)**Note:**
1406 )))
1407
1408 1. (((
1409 VDD is 2.5~~3.3v from the battery + diode, the VDD is always on, so when use VDD to power external sensor, make sure the sensor has a low power consumption in sleep mode ( less 50 uA) to get a long battery life.
1410 )))
1411 1. (((
1412 +5V output is only ON when sampling. And MCU will turn off it after sampling. So if sensor can support 5v, +5V out is the best choice. [[See here for more info>>||anchor="H2.4.92B5VOutput"]].
1413 )))
1414
1415 (((
1416 (% style="color:red" %)**Note: Always test the actually current pass by the JP2 jumper when connect to a new type of sensor.**
1417 )))
1418
1419
1420
1421 == 2.9  Battery Analysis ==
1422
1423
1424 === 2.9.1  Battery Type ===
1425
1426
1427 (((
1428 The LSN50 battery is a combination of a 4000mAh or 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is non-rechargeable battery type with a low discharge rate (<2% per year). This type of battery is commonly used in IoT devices such as water meter.
1429 )))
1430
1431 (((
1432 The battery is designed to last for more than 5 years for the LSN50.
1433 )))
1434
1435
1436 (((
1437 The battery related documents as below:
1438 )))
1439
1440 * [[Battery Dimension>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]],
1441 * [[Lithium-Thionyl Chloride Battery datasheet>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/||_mstmutation="1"]], [[Tech Spec>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/||_mstmutation="1"]]
1442 * [[Lithium-ion Battery-Capacitor datasheet>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]], [[Tech Spec>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]]
1443
1444 [[image:image-20220627175349-30.png]]
1445
1446
1447
1448 === 2.9.2 ​Power consumption Analyze ===
1449
1450
1451 When connect to different sensors, it is good to test the power consumption with the sensor working. User can remove the ON/OFF Jumper of LSN50, and connect a multimeter between the two pins of this header and measure the current to know the whole system power consumption. Because the sleep mode will have as low as 10uA, at least 4.5 digit multimeter is required to measure this level of current.
1452
1453 (((
1454 A victor VC86E is recommended.
1455 )))
1456
1457 [[image:1656323400306-359.png]]
1458
1459
1460 (((
1461 In a minimum system with DS18B20 and Oil Sensor and default firmware, the power consumption includes:
1462 )))
1463
1464 (((
1465
1466 )))
1467
1468 (((
1469 ~1. Deep Sleep (Stop mode) for STM32. ~~ 5uA
1470 )))
1471
1472 (((
1473 2. Sampling current while reading DS18B20 and Oil Sensor
1474 )))
1475
1476 * (((
1477 Oil Sensor sampling time: 200us, current: 0.3mA
1478 )))
1479 * (((
1480 DS18B20 sampling time: 750ms, current: 0.64mA
1481 )))
1482 * (((
1483 Above power should add 8mA CPU power in working mode.
1484 )))
1485
1486 (((
1487 3. LoRaWAN transmit and receive time consumption. The LoRa TX / RX time and power can be found in the [[LoRa calculator tool>>url:https://www.semtech.com/uploads/documents/SX1272LoRaCalculatorSetup1_1.zip]].
1488 )))
1489
1490
1491 (((
1492 In a typical LoRaWAN data transmit. The energy profile is as below:
1493 )))
1494
1495
1496 [[image:1656323450362-299.png]]
1497
1498
1499 (((
1500 In the LoRaWAN protocol, the device will transfer in different LoRa Radio, and have different energy profile in LoRa part. We can calculate the battery life in two cases:
1501 )))
1502
1503 1. Lower power LoRa radio. Device has a good signal to gateway
1504 1. Higher power LoRa radio. Device has a poor signal to gateway
1505
1506 (% style="color:blue" %)**Low Power Case**:
1507
1508 * Radio Parameter: SF7, 125kHz, 20dbm
1509 * Transmit interval: 15 minutes.
1510 * Payload: 8 Bytes.
1511
1512 (% style="color:blue" %)**High Power Case**:
1513
1514 * Radio Parameter: SF10, 125kHz, 20dbm
1515 * Transmit interval: 15 minutes.
1516 * Payload: 8 Bytes.
1517
1518 To simplify the calculation, we can:
1519
1520 * Combine oil sensor and DS18B20 sampling energy together to (% style="color:#4472c4" %)**751ms@8.64ma**
1521
1522 * Combine the two RX windows together.
1523
1524 There is a [[power consumption tool>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/&file=Battery_Calculator_v1.0.xlsx]] for easy analysis. Below is the analysis result.
1525
1526
1527 [[image:1656323531520-949.png]]
1528
1529
1530 [[image:1656323549994-233.png]]
1531
1532
1533 (% style="color:red" %)**Note:  Ignore the 18 year result, because the battery has a max 2% discharge per year.**
1534
1535
1536
1537 === 2.9.3 ​Battery Note ===
1538
1539
1540 (((
1541 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased.
1542 )))
1543
1544
1545
1546 === 2.9.4 Replace the battery ===
1547
1548
1549 (((
1550 You can change the battery in the LSN50.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won’t be voltage drop between battery and main board.
1551 )))
1552
1553 (((
1554 The default battery pack of LSN50 includes a ER18505 plus super capacitor. If user can't find this pack locally, they can find ER18505 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes).
1555 )))
1556
1557
1558
1559 = 3.  Using the AT Commands =
1560
1561
1562 == 3.1  Access AT Commands ==
1563
1564
1565 LSN50 supports AT Command set in the stock firmware. You can use a USB to TTL adapter to connect to LSN50 for using AT command, as below.
1566
1567
1568 (% style="color:#4472c4" %)**LSN50 v1 UART connection photo**
1569
1570 [[image:image-20220627165424-24.png||height="495" width="486"]]
1571
1572
1573
1574 (% style="color:#4472c4" %)**LSN50 v2 UART connection photo**
1575
1576 [[image:image-20220627165424-25.png||height="437" width="894"]]
1577
1578
1579
1580 (((
1581 In the PC, you need to set the serial baud rate to (% style="color:green" %)**9600**(%%) to access the serial console for LSN50. LSN50 will output system info once power on as below:
1582 )))
1583
1584
1585 [[image:image-20220627165531-26.png||height="624" width="893"]](% style="display:none" %)
1586
1587
1588
1589 == 3.2  Common AT Command Sequence ==
1590
1591
1592 === 3.2.1  Multi-channel ABP mode (Use with SX1301/LG308) ===
1593
1594
1595 (((
1596 (% style="color:#037691" %)**If device has not joined network via OTAA:**
1597 )))
1598
1599 (((
1600 (% style="background-color:#dcdcdc" %)AT+FDR
1601 )))
1602
1603 (((
1604 (% style="background-color:#dcdcdc" %)AT+NJM=0
1605 )))
1606
1607 (((
1608 (% style="background-color:#dcdcdc" %)ATZ
1609 )))
1610
1611
1612 (((
1613 (% style="color:#037691" %)**If device already joined network:**
1614 )))
1615
1616 (((
1617 (% style="background-color:#dcdcdc" %)AT+NJM=0
1618 )))
1619
1620 (((
1621 (% style="background-color:#dcdcdc" %)ATZ
1622 )))
1623
1624
1625
1626 === 3.2.2  Single-channel ABP mode (Use with LG01/LG02) ===
1627
1628
1629 See [[Sect 6.7>>||anchor="H6.7A0HowtoconfiguretheEUIkeysinLSN503F"]]
1630
1631
1632
1633 = 4.  Upload Firmware =
1634
1635
1636 (% style="color:red" %)**Notes**:
1637
1638 * Since image v1.3, the firmware will show version info during boot. If your device doesn't show version info, you may have a very old image version.
1639 * Always run AT+FDR to reset parameters to factory default after an update image.
1640 If the update is from image >= v1.3 to another image version >=v1.3, then the keys will be kept after running AT+FDR.
1641 Otherwise (e.g. from v1.2 to v1.3), AT+FDR may erase the keys.
1642
1643
1644 == 4.1  Upload Firmware via Serial Port ==
1645
1646
1647 The LSN50's AT Command port can be used for firmware upgrade. The hardware connection for upgrade firmware is as below:
1648
1649
1650 [[image:image-20220627163506-18.png||height="426" width="418"]]
1651
1652
1653 (% style="color:blue" %)**Step1**(%%)**:** Download [[flash loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]].
1654
1655
1656 (% style="color:blue" %)**Step2**(%%)**:** Download the [[LSN50 Image files>>url:https://www.dropbox.com/sh/g99v0fxcltn9r1y/AADnMzn1IN0LssOQNHlvooTta/LSN50%20%26%20LSN50-v2/Firmware/LSN50.hex?dl=0&subfolder_nav_tracking=1]].
1657
1658
1659 (% style="color:blue" %)**Step3**(%%)**: **Open flashloader; choose the correct COM port to update
1660
1661
1662 [[image:image-20220627163821-19.png]]
1663
1664
1665 [[image:image-20220627163930-20.png||height="450" width="751"]]
1666
1667
1668 [[image:image-20220627164030-21.png||height="459" width="750"]]
1669
1670
1671 (((
1672 (% style="color:blue" %)**Step4**(%%)**: **Switch SW1 back to flash state and push the RESET button.
1673 )))
1674
1675 (((
1676 The LSN50 will then run the new firmware.
1677 )))
1678
1679
1680
1681 == 4.2  Upload Firmware via ST-Link V2 ==
1682
1683
1684 You can use ST-LINK to upgrade firmware into LSN50. The hardware connection for upgrade firmware is as below:
1685
1686
1687 [[image:1656319349131-664.png]]
1688
1689
1690 (% style="color:blue" %)**Connection:**
1691
1692 * (% style="background-color:yellow" %)**ST-LINK v2 GND  <~-~-> LSN50 GND**
1693 * (% style="background-color:yellow" %)**ST-LINK v2 SWCLK <~-~-> LSN50 PA14**
1694 * (% style="background-color:yellow" %)**ST-LINK v2 SWDIO <~-~-> LSN50 PA13**
1695 * (% style="background-color:yellow" %)**ST-LINK v2 RST  <~-~->  LSN50 NRST**
1696
1697 (% style="color:blue" %)**Step1:**(%%) Install [[ST-LINK driver>>url:https://www.stmicroelectronics.com.cn/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html]] first and then install [[ST-LINK Utility>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html]]
1698
1699
1700 (% style="color:blue" %)**Step2**(%%): Download the [[LSN50 Image files>>url:https://github.com/dragino/LoRa_STM32/tree/master/LSN50.hex]].
1701
1702
1703 (% style="color:blue" %)**Step3:**(%%)** **Open ST-LINK utility, (% style="color:blue" %)**file ~-~-> open file**(%%) to select the image to be upgraded.
1704
1705
1706 (% style="color:blue" %)**Step4:**(%%)** **Click the “(% style="color:blue" %)**Program Verify**”(%%) button on ST-LINK.
1707
1708
1709 [[image:image-20220627164303-22.png]]
1710
1711
1712 (((
1713 (% style="color:blue" %)**Step5:**(%%)** **The led on the ST-LINK adapter will now blinking, and the ST-Link utility will pop up a download window. Click the start button to download the image to LSN50.
1714 )))
1715
1716 (((
1717 (% style="color:red" %)**NOTE: If this step fails, ST-LINK can't establish connection to LSN50, please try to swap SWDIO & SWCLK pin. Some ST-LINK v2 devices are incorrectly marked.**
1718 )))
1719
1720
1721
1722 [[image:image-20220627164303-23.png]]
1723
1724
1725
1726 = 5.  Developer Guide =
1727
1728
1729 * (((
1730 Software Source Code Download : [[https:~~/~~/github.com/dragino/LoRa_STM32/tree/master/STM32CubeExpansion_LRWAN>>https://github.com/dragino/LoRa_STM32/tree/master/STM32CubeExpansion_LRWAN]]
1731 )))
1732 * (((
1733 Hardware Source Code Download: [[https:~~/~~/github.com/dragino/Lora/tree/master/LSN50>>https://github.com/dragino/Lora/tree/master/LSN50]]
1734 )))
1735
1736 (((
1737 LSN50 is an open source project, developer can use compile their firmware for customized applications. User can get the source code from:
1738 )))
1739
1740 * (((
1741 Software Source Code: [[https:~~/~~/github.com/dragino/LoRa_STM32/tree/master/STM32CubeExpansion_LRWAN>>url:https://github.com/dragino/LoRa_STM32/tree/master/STM32CubeExpansion_LRWAN||_mstmutation="1"]]
1742 )))
1743 * (((
1744 Hardware Design files:  [[https:~~/~~/github.com/dragino/Lora/tree/master/LSN50>>url:https://github.com/dragino/Lora/tree/master/LSN50]]
1745 )))
1746 * (((
1747 Compile instruction:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Compile%20Instruction%20~~-~~-%20STM32/>>http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Compile%20Instruction%20--%20STM32/]]
1748 )))
1749
1750 (((
1751 Use Keil to open project file:
1752 )))
1753
1754 (((
1755 STM32CubeExpansion_LRWAN/Projects/Multi/Applications/LoRa/DRAGINO-LRWAN(AT)/MDK-ARM/STM32L072CZ-Nucleo/Lora.uvprojx
1756 )))
1757
1758 (((
1759
1760 )))
1761
1762 (((
1763 In Keil, you can see what frequency band the code support.
1764 )))
1765
1766 [[image:image-20220627162417-15.png]]
1767
1768
1769 **~1. If you want to change frequency, modify the Preprocessor Symbols.**
1770
1771
1772 For example, change EU868 to US915
1773
1774 [[image:1656318662202-530.png]]
1775
1776
1777 **2. Compile and build**
1778
1779 [[image:image-20220627163212-17.png]]
1780
1781
1782
1783 = 6.  FAQ =
1784
1785
1786 == 6.1  Why there is 433/868/915 version? ==
1787
1788
1789 (((
1790 Different countries have different rules for the ISM band for LoRa. Although the LoRa chip can support a wide range of Frequencies, we provide different versions of the hardware for best tune of the LoRa hardware part.
1791 )))
1792
1793
1794
1795 == 6.2 What is the frequency range of LT LoRa part? ==
1796
1797
1798 Different LT version supports different frequency range, below is the table for the working frequency and recommend bands for each model:
1799
1800 [[image:image-20220627155456-9.png]]
1801
1802
1803
1804 == 6.3  How to change the LoRa Frequency Bands/Region? ==
1805
1806
1807 You can follow the instructions for [[how to upgrade image>>||anchor="H2.7200BFirmwareChangeLog"]].
1808 When downloading the images, choose the required image file for download.
1809
1810
1811
1812 == 6.4  Can I use Private LoRa protocol? ==
1813
1814
1815 (((
1816 (((
1817 The stock firmware is based on LoRaWAN protocol. You can use a private LoRa protocol in LSN50. This section describes an example for base LoRa transfer. It is a reference/demo and we do not provide further software development support on this topic.
1818 )))
1819
1820 (((
1821 In this demo, we will show the communication between LoRa Shield and LSN50, both of them using the basic LoRa library. LSN50 will send a message to a LoRa Shield and the LoRa Shield will print it to the console.
1822 )))
1823
1824
1825 )))
1826
1827 (% style="color:#4472c4" %)**LoRa Shield + UNO**:
1828
1829 Use the [[LoRa Library>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/LoRa_Raw_Example/Arduino/&file=LoRa.zip]] and upload the [[LoRa Receive>>http://www.dragino.com/downloads/downloads/LSN50-LoRaST/LoRa_Raw_Example/Arduino/LoRaReceiver.ino]] Sketch to Arduino.
1830
1831
1832 Refs:  [[https:~~/~~/www.dropbox.com/sh/u9s41qdx5yujwcb/AAAT5r4QkMaeOogWrzJt7Wn4a?dl=0>>https://www.dropbox.com/sh/u9s41qdx5yujwcb/AAAT5r4QkMaeOogWrzJt7Wn4a?dl=0]]
1833
1834
1835 Open the serial monitor to Arduino. The device acts as a LoRa Receiver and listen on the frequency 868.3Mhz by default.
1836
1837
1838 (% style="color:#4472c4" %)**LSN50**:
1839
1840 Use the <[[LoRa RAW code>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/LoRa_Raw_Example/LSN50/&file=lora_send.zip]]> . The project file is in: MDK-ARM\STM32L072CZ-Nucleo\ Lora.uvprojx
1841
1842 Compile it and Upload it to LSN50, the LSN50 will transfer on the frequency 868.3Mhz.
1843
1844 In the Arduino Console, it will see the received packets as below.
1845
1846
1847 [[image:image-20220627160116-10.png]]
1848
1849
1850
1851 == 6.5  How to set up LSN50 to work in 8 channel mode ==
1852
1853
1854 (((
1855 By default, the frequency bands US915, AU915, CN470 work in 72 frequencies. Many gateways are 8 channel gateways, and in this case, the OTAA join time and uplink schedule is long and unpredictable while the end node is hopping in 72 frequencies.
1856 )))
1857
1858 (((
1859 You can configure the end node to work in 8 channel mode by using the AT+CHE command. The 500kHz channels are always included for OTAA.
1860 )))
1861
1862 (((
1863
1864 )))
1865
1866 (((
1867 For example, in (% style="color:blue" %)**US915**(%%) band, the frequency table is as below. By default, the end node will use all channels (0~~71) for OTAA Join process. After the OTAA Join, the end node will use these all channels (0~~71) to send uplink packets.
1868 )))
1869
1870 [[image:image-20220627160940-13.png]]
1871
1872
1873 (((
1874 When you use the TTN V3 network, the US915 frequency bands use are:
1875 )))
1876
1877 * (((
1878 903.9 - SF7BW125 to SF10BW125
1879 )))
1880 * (((
1881 904.1 - SF7BW125 to SF10BW125
1882 )))
1883 * (((
1884 904.3 - SF7BW125 to SF10BW125
1885 )))
1886 * (((
1887 904.5 - SF7BW125 to SF10BW125
1888 )))
1889 * (((
1890 904.7 - SF7BW125 to SF10BW125
1891 )))
1892 * (((
1893 904.9 - SF7BW125 to SF10BW125
1894 )))
1895 * (((
1896 905.1 - SF7BW125 to SF10BW125
1897 )))
1898 * (((
1899 905.3 - SF7BW125 to SF10BW125
1900 )))
1901 * (((
1902 904.6 - SF8BW500
1903 )))
1904
1905 (((
1906 Because the end node is now hopping in 72 frequency, it makes it difficult for the devices to Join the TTN V3 network and uplink data. To solve this issue, you can access the device via the AT commands and run:
1907 )))
1908
1909 (((
1910 (% style="color:blue" %)**AT+CHE=2**
1911 )))
1912
1913 (((
1914 (% style="color:blue" %)**ATZ**
1915 )))
1916
1917
1918 (((
1919 to set the end node to work in 8 channel mode. The device will work in Channel 8-15 & 64-71 for OTAA, and channel 8-15 for Uplink.
1920 )))
1921
1922 (((
1923 The (% style="color:blue" %)**AU915**(%%) band is similar. Below are the AU915 Uplink Channels.
1924 )))
1925
1926 [[image:image-20220627161124-14.png]]
1927
1928
1929
1930 == 6.6  How to set up LSN50 to work with Single Channel Gateway such as LG01/LG02? ==
1931
1932
1933 (((
1934 In this case, users need to set LSN50 to work in ABP mode and transmit in only one frequency.
1935 )))
1936
1937 (((
1938 Assume we have a LG02 working in the frequency 868400000 now, below is the steps.
1939 )))
1940
1941
1942 (((
1943 (% style="color:blue" %)**Step1: **(%%)Log in TTN V3, Create an ABP device in the application and input the network session key (NETSKEY), app session key (APPSKEY) from the device.
1944 )))
1945
1946
1947 [[image:image-20220627160542-11.png]]
1948
1949
1950 (((
1951 (% style="color:red" %)**Note: You need to make sure the above three keys match in the device and in TTN V3. You can change them either in TTN V3 or in the Device to make them match. In TTN V3, NETSKEY and APPSKEY can be configured in the setting page, but the Device Addr is generated by TTN V3.**
1952 )))
1953
1954
1955 (((
1956 (% style="color:red" %)**You can also change the Device ADDR in TTN V3 by using the [[The Things Network CLI>>url:https://www.thethingsnetwork.org/docs/network/cli/quick-start.html]].**
1957 )))
1958
1959
1960
1961 (((
1962 (% style="color:blue" %)**Step2:  **(%%)Run AT commands to make the LSN50 work in Single frequency and ABP mode. Below are the AT commands:
1963 )))
1964
1965
1966 (((
1967 (% style="background-color:#dcdcdc" %)AT+FDR(%%)  Reset Parameters to Factory Default, Keys Reserve
1968 )))
1969
1970 (((
1971 (% style="background-color:#dcdcdc" %)AT+NJM=0(%%)  Set to ABP mode
1972 )))
1973
1974 (((
1975 (% style="background-color:#dcdcdc" %)AT+ADR=0(%%)  Set the Adaptive Data Rate Off
1976 )))
1977
1978 (((
1979 (% style="background-color:#dcdcdc" %)AT+DR=5(%%)  Set Data Rate (Set AT+DR=3 for 915 band)
1980 )))
1981
1982 (((
1983 (% style="background-color:#dcdcdc" %)AT+TDC=300000(%%)  Set transmit interval to 5 minutes
1984 )))
1985
1986 (((
1987 (% style="background-color:#dcdcdc" %)AT+CHS=868400000(%%)  Set transmit frequency to 868.4Mhz
1988 )))
1989
1990 (((
1991 (% style="background-color:#dcdcdc" %)AT+DADDR=26 01 1A F1(%%)  Set Device Address to 26 01 1A F1
1992 )))
1993
1994 (((
1995 (% style="background-color:#dcdcdc" %)ATZ(%%)  Reset MCU
1996 )))
1997
1998
1999 (((
2000 As shown  below:
2001 )))
2002
2003 [[image:image-20220627160542-12.png]]
2004
2005
2006
2007 == 6.7  How to configure the EUI keys in LSN50? ==
2008
2009
2010 (((
2011 The early version of LSN50 firmware doesn't have pre-configured keys.
2012 It is recommended that you update the image to the latest version before configure the keys. Refer [[upgrade_image>>||anchor="H2.7200BFirmwareChangeLog"]] to update the firmware to the latest version.
2013 )))
2014
2015 (((
2016 Run AT commands to set the keys to desired keys; refer [[AT Command manual>>https://www.dragino.com/downloads/downloads/LSN50-LoRaST/DRAGINO_LSN50_AT_Commands_v1.6.3.pdf]].
2017 )))
2018
2019
2020
2021 = 7.  Trouble Shooting =
2022
2023
2024 == 7.1  Connection problem when uploading firmware. ==
2025
2026
2027 (((
2028 (% style="color:red" %)**Issue**(%%): While using USB to TTL to upload firmware via UART interface. It works for several times but most of times it fails.
2029 )))
2030
2031 (((
2032
2033 )))
2034
2035 (((
2036 (% style="color:green" %)**Checklist**:
2037 )))
2038
2039 (((
2040 ~1. Double check if follow up exactly the steps as manual.
2041 )))
2042
2043 (((
2044 2. Check if hardware works fine: a) check if AT command works, b) check if ISP / flash switch works: PA12 will have different output level while set the ISP/Flash Switch in different position. c) check if reset button works.
2045 )))
2046
2047 (((
2048 3. If you use Windows10 system. Please change the flash loader to run in Windows7 compatibility mode.
2049 )))
2050
2051
2052 [[image:image-20220627153421-8.png]]
2053
2054
2055 (((
2056 4. We have seen cases where the FT232 USB TTL adapter has a reliability issue with the PC USB chipset (Intel). In this case, even though points 1 and 2 above work, it still has a reliability issue for uploading. If this happens, change to a different PC or change the USB to TTL adapter to solve the issue.
2057 )))
2058
2059
2060
2061 == 7.2  Why I can't join TTN V3 in US915 / AU915 bands? ==
2062
2063
2064 It is due to channel mapping. Please see the [[Eight Channel Mode>>doc:Main.End Device AT Commands and Downlink Command.WebHome||anchor="H7.19EightChannelMode"]] section above for details.
2065
2066
2067
2068 == 7.3  AT Command input doesn't work ==
2069
2070
2071 In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:red" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:red" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
2072
2073
2074
2075 = 8.  Order Info =
2076
2077
2078 Part Number: (% style="color:blue" %)**LSN50-XX-YY  **(%%)**or  (% style="color:blue" %)LSN50-v2-XX-YY-ZZ(%%)**
2079
2080 (% style="color:blue" %)**XX**(%%): The default frequency band
2081
2082 * (% style="color:red" %)**AS923 **(%%)**:** LoRaWAN AS923 band
2083 * (% style="color:red" %)**AU915 **(%%)**:** LoRaWAN AU915 band
2084 * (% style="color:red" %)**EU433 **(%%)**:** LoRaWAN EU433 band
2085 * (% style="color:red" %)**EU868 **(%%)**:** LoRaWAN EU868 band
2086 * (% style="color:red" %)**KR920 **(%%)**:** LoRaWAN KR920 band
2087 * (% style="color:red" %)**US915 **(%%)**:** LoRaWAN US915 band
2088 * (% style="color:red" %)**IN865 **(%%)**:**  LoRaWAN IN865 band
2089 * (% style="color:red" %)**CN470 **(%%)**:** LoRaWAN CN470 band
2090
2091 (% style="color:blue" %)**YY**(%%)**: **Hole Option
2092
2093 * (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
2094 * (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
2095 * (% style="color:red" %)**20**(%%): With M20 waterproof cable hole (LSN50 v2 doesn't have this version)
2096 * (% style="color:red" %)**NH**(%%): No Hole
2097
2098 (% style="color:blue" %)**ZZ**(%%)**: **Battery Option ( Only valid for v2 model)
2099
2100 * (% style="color:red" %)**4**(%%): with 4000mAh battery
2101 * (% style="color:red" %)**8**(%%): with 8500mAg battery
2102
2103
2104
2105 = 9. ​ Packing Info =
2106
2107
2108 (% style="color:blue" %)**For LSN50**(%%)**:**
2109
2110 **Package Includes**:
2111
2112 * LSN50 LoRa Sensor Node x 1
2113
2114 **Dimension and weight**:
2115
2116 * Device Size: 8 x 6.5 x 5 cm
2117 * Device Weight: 137g
2118 * Package Size / pcs : 9 x 7 x 6cm
2119 * Weight / pcs : 160g
2120
2121
2122 (% style="color:blue" %)**For LSN50 v2**(%%)**:**
2123
2124 **Package Includes**:
2125
2126 * LSN50 v2 LoRa Sensor Node x 1
2127 * External antenna x 1
2128 * Spring Antenna (evaluate purpose)
2129
2130 **Dimension and weight**:
2131
2132 * Device Size: 9.7 x 6.5 x 4.7 cm
2133 * Device Weight: 150g
2134 * Package Size / pcs : 14.0 x 8x 5 cm
2135 * Weight / pcs : 180g
2136
2137
2138
2139 = 10.  ​Support =
2140
2141
2142 * 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.
2143 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]].
2144
2145
2146
2147 = 11.  References =
2148
2149
2150 * [[Product Page>>url:http://www.dragino.com/products/lora/item/128-lsn50.html]]
2151 * [[Data Sheet, Document Base>>https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
2152 * [[Image Download>>url:https://github.com/dragino/LoRa_STM32/tree/master/LSN50.hex]]
2153
2154
2155 )))