Version 452.5 by Xiaoling on 2023/06/05 18:21

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