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