Version 431.1 by Bei Jinggeng on 2022/08/25 15:27

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