Wiki source code of LA66 LoRaWAN Module

Version 87.2 by Xiaoling on 2022/07/13 09:34

Hide last authors
Xiaoling 87.2 1
2
Edwin Chen 1.1 3 {{box cssClass="floatinginfobox" title="**Contents**"}}
4 {{toc/}}
5 {{/box}}
6
Xiaoling 87.2 7 {{toc/}}
Edwin Chen 1.1 8
Edwin Chen 6.1 9
Xiaoling 87.2 10
11 = 1.  LA66 LoRaWAN Module =
12
13
14 == 1.1  What is LA66 LoRaWAN Module ==
15
16
Edwin Chen 65.1 17 (% style="color:blue" %)**Dragino LA66**(%%) is a small wireless LoRaWAN module that offers a very compelling mix of long-range, low power consumption, and secure data transmission. It is designed to facilitate developers to quickly deploy industrial-level LoRaWAN 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 create and connect your things everywhere.
Edwin Chen 1.1 18
Edwin Chen 65.1 19 (% style="color:blue" %)**LA66**(%%) is a ready-to-use module that includes the (% style="color:blue" %)**LoRaWAN v1.0.4 protocol**(%%). The LoRaWAN stack used in LA66 is used in more than 1 million LoRaWAN End Devices deployed world widely. This mature LoRaWAN stack greatly reduces the risk to make stable LoRaWAN Sensors to support different LoRaWAN servers and different countries' standards. External MCU can use AT command to call LA66 and start to transmit data via the LoRaWAN protocol.
Edwin Chen 1.1 20
Edwin Chen 65.1 21 Each LA66 module includes a (% style="color:blue" %)**world-unique OTAA key**(%%) for LoRaWAN registration.
Edwin Chen 1.1 22
Edwin Chen 65.1 23 Besides the support of the LoRaWAN protocol, LA66 also supports (% style="color:blue" %)**open-source peer-to-peer LoRa Protocol**(%%) for the none-LoRaWAN application.
Edwin Chen 1.1 24
Edwin Chen 65.1 25 LA66 is equipped with (% style="color:blue" %)**TCXO crystal**(%%) which ensures the module can achieve stable performance in extreme temperatures.
Edwin Chen 1.1 26
Edwin Chen 67.1 27
Xiaoling 87.2 28 == 1.2  Features ==
Edwin Chen 64.1 29
Edwin Chen 68.1 30 * Support LoRaWAN v1.0.4 protocol
31 * Support peer-to-peer protocol
32 * TCXO crystal to ensure RF performance on low temperature
33 * SMD Antenna pad and i-pex antenna connector
34 * Available in different frequency LoRaWAN frequency bands.
35 * World-wide unique OTAA keys.
Edwin Chen 69.1 36 * AT Command via UART-TTL interface
37 * Firmware upgradable via UART interface
38 * Ultra-long RF range
Edwin Chen 64.1 39
Edwin Chen 1.1 40
Xiaoling 87.2 41 == 1.3  Specification ==
42
Edwin Chen 68.1 43 * CPU: 32-bit 48 MHz
44 * Flash: 256KB
45 * RAM: 64KB
Edwin Chen 66.1 46 * Input Power Range: 1.8v ~~ 3.7v
47 * Power Consumption: < 4uA.
48 * Frequency Range: 150 MHz ~~ 960 MHz
49 * Maximum Power +22 dBm constant RF output
50 * High sensitivity: -148 dBm
51 * Temperature:
52 ** Storage: -55 ~~ +125℃
53 ** Operating: -40 ~~ +85℃
54 * Humidity:
55 ** Storage: 5 ~~ 95% (Non-Condensing)
56 ** Operating: 10 ~~ 95% (Non-Condensing)
57 * LoRa Tx Current: <90 mA at +17 dBm, 108 mA at +22 dBm
58 * LoRa Rx current: <9 mA
59 * I/O Voltage: 3.3v
Edwin Chen 1.1 60
61
Xiaoling 87.2 62 == 1.4  AT Command ==
63
Edwin Chen 66.1 64 AT Command is valid over Main TXD and Main RXD. Serial Baud Rate is 9600. AT commands can be found in AT Command documents.
Edwin Chen 1.1 65
Edwin Chen 3.1 66
Xiaoling 87.2 67 == 1.5  Dimension ==
Edwin Chen 3.1 68
Edwin Chen 66.1 69 [[image:image-20220517072526-1.png]]
Edwin Chen 3.1 70
71
Edwin Chen 5.1 72
Xiaoling 87.2 73 == 1.6  Pin Mapping ==
74
75
Xiaoling 10.2 76 [[image:image-20220523101537-1.png]]
Edwin Chen 5.1 77
78
Xiaoling 87.2 79
80 == 1.7  Land Pattern ==
81
Edwin Chen 5.1 82 [[image:image-20220517072821-2.png]]
83
84
85
Xiaoling 87.2 86 = 2.  LA66 LoRaWAN Shield =
Edwin Chen 6.1 87
88
Xiaoling 87.2 89 == 2.1  Overview ==
90
Edwin Chen 71.1 91 LA66 LoRaWAN Shield is the Arduino shield base on LA66. Users can use LA66 LoRaWAN Shield to rapidly add LoRaWAN or peer-to-peer LoRa wireless function to  Arduino projects.
92
93
Xiaoling 87.2 94 == 2.2  Features ==
Edwin Chen 71.1 95
96 * Arduino Shield base on LA66 LoRaWAN module
97 * Support LoRaWAN v1.0.4 protocol
98 * Support peer-to-peer protocol
99 * TCXO crystal to ensure RF performance on low temperature
100 * SMA connector
101 * Available in different frequency LoRaWAN frequency bands.
102 * World-wide unique OTAA keys.
103 * AT Command via UART-TTL interface
104 * Firmware upgradable via UART interface
105 * Ultra-long RF range
106
107
Xiaoling 87.2 108 == 2.3  Specification ==
109
Edwin Chen 71.1 110 * CPU: 32-bit 48 MHz
111 * Flash: 256KB
112 * RAM: 64KB
113 * Input Power Range: 1.8v ~~ 3.7v
114 * Power Consumption: < 4uA.
115 * Frequency Range: 150 MHz ~~ 960 MHz
116 * Maximum Power +22 dBm constant RF output
117 * High sensitivity: -148 dBm
118 * Temperature:
119 ** Storage: -55 ~~ +125℃
120 ** Operating: -40 ~~ +85℃
121 * Humidity:
122 ** Storage: 5 ~~ 95% (Non-Condensing)
123 ** Operating: 10 ~~ 95% (Non-Condensing)
124 * LoRa Tx Current: <90 mA at +17 dBm, 108 mA at +22 dBm
125 * LoRa Rx current: <9 mA
126 * I/O Voltage: 3.3v
127
Edwin Chen 6.1 128
Xiaoling 87.2 129 == 2.4  Pin Mapping & LED ==
Edwin Chen 11.1 130
131
132
Xiaoling 87.2 133 == 2.5  Example: Use AT Command to communicate with LA66 module via Arduino UNO. ==
Edwin Chen 11.1 134
135
Xiaoling 87.2 136
137 == 2.6  Example: Join TTN network and send an uplink message, get downlink message. ==
138
139
140
141 == 2.7  Example: Log Temperature Sensor(DHT11) and send data to TTN, show it in DataCake. ==
142
143
144
145 == 2.8  Upgrade Firmware of LA66 LoRaWAN Shield ==
146
147
148 === 2.8.1  Items needed for update ===
149
Edwin Chen 74.1 150 1. LA66 LoRaWAN Shield
151 1. Arduino
152 1. USB TO TTL Adapter
Edwin Chen 13.1 153
Edwin Chen 75.1 154 [[image:image-20220602100052-2.png||height="385" width="600"]]
Herong Lu 20.1 155
156
Xiaoling 87.2 157 === 2.8.2  Connection ===
Herong Lu 20.1 158
Xiaoling 87.2 159
Edwin Chen 75.1 160 [[image:image-20220602101311-3.png||height="276" width="600"]]
Herong Lu 20.1 161
162
Xiaoling 87.2 163 (% style="color:blue" %)**LA66 LoRaWAN Shield**(%%)  **<->** (% style="color:blue" %)**USB TTL**
164
165
166 (% style="background-color:yellow" %)**GND  <-> GND
167 TXD  <->  TXD
168 RXD  <->  RXD**
169
170
Edwin Chen 77.1 171 Put a jumper cap on JP6 of LA66 LoRaWAN Shield. ( the jumper is to power on LA66 module)
Herong Lu 20.1 172
Edwin Chen 75.1 173 Connect USB TTL Adapter to PC after connecting the wires
Herong Lu 20.1 174
175
Edwin Chen 75.1 176 [[image:image-20220602102240-4.png||height="304" width="600"]]
Herong Lu 20.1 177
178
Xiaoling 87.2 179 === 2.8.3  Upgrade steps ===
Herong Lu 20.1 180
181
Xiaoling 87.2 182 ==== 1.  Switch SW1 to put in ISP position ====
183
184
Edwin Chen 75.1 185 [[image:image-20220602102824-5.png||height="306" width="600"]]
Herong Lu 32.1 186
187
Xiaoling 87.2 188 ==== 2.  Press the RST switch once ====
Herong Lu 32.1 189
Edwin Chen 75.1 190 [[image:image-20220602104701-12.png||height="285" width="600"]]
Herong Lu 32.1 191
Edwin Chen 75.1 192
Xiaoling 87.2 193 ==== 3.  Open the Upgrade tool (Tremo Programmer) in PC and Upgrade ====
Edwin Chen 75.1 194
Herong Lu 39.1 195
Xiaoling 87.2 196 (% style="color:blue" %)**1. Software download link:  [[https:~~/~~/www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/Utility/LSN50N/>>https://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/Utility/LSN50N/]]**
197
198
Herong Lu 32.1 199 [[image:image-20220602103227-6.png]]
200
Xiaoling 87.2 201
Herong Lu 32.1 202 [[image:image-20220602103357-7.png]]
203
204
Xiaoling 87.2 205
Edwin Chen 76.1 206 (% class="wikigeneratedid" id="HSelecttheCOMportcorrespondingtoUSBTTL" %)
Xiaoling 87.2 207 (% style="color:blue" %)**2. Select the COM port corresponding to USB TTL**
Edwin Chen 76.1 208
Xiaoling 87.2 209
Herong Lu 32.1 210 [[image:image-20220602103844-8.png]]
211
212
Xiaoling 87.2 213
Edwin Chen 76.1 214 (% class="wikigeneratedid" id="HSelectthebinfiletoburn" %)
Xiaoling 87.2 215 (% style="color:blue" %)**3. Select the bin file to burn**
Edwin Chen 76.1 216
Xiaoling 87.2 217
Herong Lu 32.1 218 [[image:image-20220602104144-9.png]]
219
Xiaoling 87.2 220
Herong Lu 32.1 221 [[image:image-20220602104251-10.png]]
222
Xiaoling 87.2 223
Herong Lu 32.1 224 [[image:image-20220602104402-11.png]]
225
226
Xiaoling 87.2 227
Edwin Chen 76.1 228 (% class="wikigeneratedid" id="HClicktostartthedownload" %)
Xiaoling 87.2 229 (% style="color:blue" %)**4. Click to start the download**
Edwin Chen 76.1 230
Herong Lu 32.1 231 [[image:image-20220602104923-13.png]]
232
233
Edwin Chen 76.1 234 (% class="wikigeneratedid" id="HThefollowingfigureappearstoprovethattheburningisinprogress" %)
Xiaoling 87.2 235 (% style="color:blue" %)**5. Check update process**
Edwin Chen 76.1 236
Xiaoling 87.2 237
Herong Lu 32.1 238 [[image:image-20220602104948-14.png]]
239
240
Xiaoling 87.2 241
Edwin Chen 76.1 242 (% class="wikigeneratedid" id="HThefollowingpictureappearstoprovethattheburningissuccessful" %)
Xiaoling 87.2 243 (% style="color:blue" %)**The following picture shows that the burning is successful**
Edwin Chen 76.1 244
Herong Lu 32.1 245 [[image:image-20220602105251-15.png]]
246
Edwin Chen 72.1 247
248
Xiaoling 87.2 249 = 3.  LA66 USB LoRaWAN Adapter =
Edwin Chen 6.1 250
Edwin Chen 7.1 251
Xiaoling 87.2 252 == 3.1  Overview ==
253
Edwin Chen 73.1 254 LA66 USB LoRaWAN Adapter is designed to fast turn USB devices to support LoRaWAN wireless features. It combines a CP2101 USB TTL Chip and LA66 LoRaWAN module which can easy to add LoRaWAN wireless feature to PC / Mobile phone or an embedded device that has USB Interface.
Herong Lu 52.1 255
Edwin Chen 73.1 256
Xiaoling 87.2 257 == 3.2  Features ==
Edwin Chen 73.1 258
259 * LoRaWAN USB adapter base on LA66 LoRaWAN module
260 * Ultra-long RF range
261 * Support LoRaWAN v1.0.4 protocol
262 * Support peer-to-peer protocol
263 * TCXO crystal to ensure RF performance on low temperature
264 * Spring RF antenna
265 * Available in different frequency LoRaWAN frequency bands.
266 * World-wide unique OTAA keys.
267 * AT Command via UART-TTL interface
268 * Firmware upgradable via UART interface
269
270 == Specification ==
271
272 * CPU: 32-bit 48 MHz
273 * Flash: 256KB
274 * RAM: 64KB
275 * Input Power Range: 5v
276 * Frequency Range: 150 MHz ~~ 960 MHz
277 * Maximum Power +22 dBm constant RF output
278 * High sensitivity: -148 dBm
279 * Temperature:
280 ** Storage: -55 ~~ +125℃
281 ** Operating: -40 ~~ +85℃
282 * Humidity:
283 ** Storage: 5 ~~ 95% (Non-Condensing)
284 ** Operating: 10 ~~ 95% (Non-Condensing)
285 * LoRa Tx Current: <90 mA at +17 dBm, 108 mA at +22 dBm
286 * LoRa Rx current: <9 mA
287
Edwin Chen 14.1 288 == Pin Mapping & LED ==
Edwin Chen 7.1 289
Edwin Chen 11.1 290 == Example Send & Get Messages via LoRaWAN in PC ==
Edwin Chen 7.1 291
Edwin Chen 78.2 292 Assume user already input the LA66 USB LoRaWAN Adapter OTAA Keys in TTN and there is already TTN network coverage.
Herong Lu 58.1 293
Edwin Chen 78.2 294 ~1. Connect the LA66 USB LoRaWAN adapter to PC
Herong Lu 58.1 295
Edwin Chen 78.2 296 [[image:image-20220602171217-1.png||height="538" width="800"]]
297
Herong Lu 58.1 298 Open the serial port tool
299
300 [[image:image-20220602161617-8.png]]
301
Edwin Chen 78.2 302 [[image:image-20220602161718-9.png||height="457" width="800"]]
Herong Lu 58.1 303
304
Edwin Chen 78.2 305 2. Press the reset switch RST on the LA66 USB LoRaWAN Adapter to reset it.
Herong Lu 58.1 306
Edwin Chen 78.2 307 The following picture appears to prove that the LA66 USB LoRaWAN Adapter successfully Join the LoRaWAN network
Herong Lu 58.1 308
Edwin Chen 78.2 309 [[image:image-20220602161935-10.png||height="498" width="800"]]
Herong Lu 58.1 310
Edwin Chen 78.2 311
312 3. See Uplink Command
313
314 Command format: AT+SENDB=<confirn_status>,<Fport>,<data_len>,<data>
315
Herong Lu 58.1 316 example: AT+SENDB=01,02,8,05820802581ea0a5
317
Edwin Chen 78.2 318 [[image:image-20220602162157-11.png||height="497" width="800"]]
Herong Lu 58.1 319
320
Edwin Chen 78.2 321 4. Check to see if TTN received the message
Herong Lu 58.1 322
Edwin Chen 78.2 323 [[image:image-20220602162331-12.png||height="420" width="800"]]
324
325
326
Edwin Chen 85.1 327 == Example:Send PC's CPU/RAM usage to TTN via python ==
Edwin Chen 81.1 328
Edwin Chen 82.1 329 (% class="wikigeneratedid" id="HUsepythonasanexampleFF1A" %)
Edwin Chen 87.1 330 **Use python as an example:**[[https:~~/~~/github.com/dragino/LA66/blob/main/Send_information_to_TTN_WindosPC.py>>https://github.com/dragino/LA66/blob/main/Send_information_to_TTN_WindosPC.py]]
Edwin Chen 81.1 331
Edwin Chen 82.1 332 (% class="wikigeneratedid" id="HPreconditions:" %)
333 **Preconditions:**
Edwin Chen 81.1 334
335 1.LA66 USB LoRaWAN Adapter works fine
336
337 2.LA66 USB LoRaWAN Adapter  is registered with TTN
338
Edwin Chen 82.1 339 (% class="wikigeneratedid" id="HStepsforusage" %)
340 **Steps for usage**
Edwin Chen 81.1 341
342 1.Press the reset switch RESET on the LA66 USB LoRaWAN Adapter
343
344 2.Run the python script in PC and see the TTN
345
346 [[image:image-20220602115852-3.png||height="450" width="1187"]]
347
348
349
Edwin Chen 11.1 350 == Example Send & Get Messages via LoRaWAN in RPi ==
351
Edwin Chen 79.1 352 Assume user already input the LA66 USB LoRaWAN Adapter OTAA Keys in TTN and there is already TTN network coverage.
Edwin Chen 12.1 353
Edwin Chen 79.1 354 ~1. Connect the LA66 USB LoRaWAN Adapter to the Raspberry Pi
355
Edwin Chen 78.2 356 [[image:image-20220602171233-2.png||height="538" width="800"]]
Herong Lu 43.1 357
Herong Lu 52.1 358
Edwin Chen 79.1 359 2. Install Minicom in RPi.
Herong Lu 52.1 360
Edwin Chen 79.1 361 (% id="cke_bm_509388S" style="display:none" %) (%%)Enter the following command in the RPi terminal
Herong Lu 52.1 362
Edwin Chen 79.1 363 (% class="mark" %)apt update
Herong Lu 52.1 364
Edwin Chen 79.1 365 (% class="mark" %)apt install minicom
Herong Lu 52.1 366
367
Edwin Chen 79.1 368 Use minicom to connect to the RPI's terminal
Herong Lu 52.1 369
Edwin Chen 79.1 370 [[image:image-20220602153146-3.png||height="439" width="500"]]
Herong Lu 52.1 371
372
Edwin Chen 79.1 373 3. Press the reset switch RST on the LA66 USB LoRaWAN Adapter.
374 The following picture appears to prove that the LA66 USB LoRaWAN Adapter successfully entered the network
Edwin Chen 8.1 375
Edwin Chen 79.1 376 [[image:image-20220602154928-5.png||height="436" width="500"]]
Herong Lu 46.1 377
378
Edwin Chen 79.1 379 4. Send Uplink message
Herong Lu 46.1 380
Edwin Chen 79.1 381 Format: AT+SENDB=<confirn_status>,<Fport>,<data_len>,<data>
Herong Lu 46.1 382
Edwin Chen 79.1 383 example: AT+SENDB=01,02,8,05820802581ea0a5
Herong Lu 46.1 384
Edwin Chen 79.1 385 [[image:image-20220602160339-6.png||height="517" width="600"]]
386
387 Check to see if TTN received the message
388
389 [[image:image-20220602160627-7.png||height="369" width="800"]]
390
391
392
Edwin Chen 11.1 393 == Example: LA66 USB Module got a message from LA66 LoRa Shield and send the sensor data to NodeRed. ==
394
Edwin Chen 13.1 395
396 == Upgrade Firmware of LA66 USB LoRaWAN Adapter ==
Herong Lu 63.1 397
Edwin Chen 73.1 398
399
Edwin Chen 86.1 400 = Order Info =
Edwin Chen 73.1 401
Edwin Chen 86.1 402 Part Number:
Edwin Chen 73.1 403
Edwin Chen 86.1 404 **LA66-XXX**, **LA66-LoRaWAN-Shield-XXX** or **LA66-USB-LoRaWAN-Adapter-XXX**
Edwin Chen 73.1 405
Edwin Chen 86.1 406 **XXX**: The default frequency band
407
Edwin Chen 73.1 408 * **AS923**: LoRaWAN AS923 band
409 * **AU915**: LoRaWAN AU915 band
410 * **EU433**: LoRaWAN EU433 band
411 * **EU868**: LoRaWAN EU868 band
412 * **KR920**: LoRaWAN KR920 band
413 * **US915**: LoRaWAN US915 band
414 * **IN865**: LoRaWAN IN865 band
415 * **CN470**: LoRaWAN CN470 band
416 * **PP**: Peer to Peer LoRa Protocol
417
Edwin Chen 78.1 418 = Reference =
419
420 * Hardware Design File for LA66 LoRaWAN Shield, LA66 USB LoRaWAN Adapter : [[Download>>https://www.dropbox.com/sh/a3wbmdcvqjxaqw5/AADZfvAiykJTK624RgMquH86a?dl=0]]
421
Edwin Chen 79.1 422