Show last authors
1 **Contents: **
2
3 {{toc/}}
4
5
6
7
8 = **1. Overview** =
9
10 (((
11 Shipped LT-22222-L is base on LoRaWAN protocol. We also develop a open source Point to Point LoRa protocol for LT-22222-L. The source code and hex file can be found at:
12 )))
13
14 (((
15 [[Point to Point Software for LT-22222-L>>https://github.com/dragino/LT-22222-L]].
16 )))
17
18
19 = **2. Features for this firmware** =
20
21 == **2.1  Point To Point** ==
22
23 === **2.1.1 Overview** ===
24
25
26 [[image:image-20220602111219-1.png||height="472" width="972"]]
27
28
29 === **2.2.2 Configure** ===
30
31
32 (% border="1" style="background-color:#f7faff; color:black; width:500px" %)
33 |=**A's configuration**|=**B's configuration**
34 |AT+GROUPMOD=0|AT+GROUPMOD=0
35 |AT+TXCHS=868700000|AT+TXCHS=869000000
36 |AT+RXCHS=869000000|AT+RXCHS=868700000
37 |AT+TRIG1=2,50|AT+TRIG1=2,50
38 |AT+TRIG2=2,50|AT+TRIG2=2,50
39 |AT+DI1TODO1=2|AT+DI1TODO1=2
40 |AT+DI1TORO1=2|AT+DI1TORO1=2
41 |AT+DI2TODO2=2 |AT+DI2TODO2=2
42 |AT+DI2TORO2=2|AT+DI2TORO2=2
43
44 === **2.2.3 Serial port display** ===
45
46
47 (% class="wikigeneratedid" %)
48 [[image:image-20220602111219-2.png]]
49
50
51 (% class="wikigeneratedid" %)
52 [[image:image-20220602111219-3.png]]
53
54 (% class="wikigeneratedid" %)
55 If the sender does not get the ACK reply from the receiver, it will retransmit up to 4 times, each interval is 6 seconds, and the UplinkCounter of the retransmission will not increase.
56
57
58 == **2.2  Point To Mult-Point ** ==
59
60 === **2.2.1 Overview** ===
61
62
63 [[image:1654152390874-192.png]]
64
65
66 === **2.2.2  Configure** ===
67
68
69 (% style="color:#4f81bd" %)**Configuration of the TX group:**
70
71 AT+GROUPMOD=0,2
72
73 AT+TXCHS=868700000
74
75 AT+RXCHS=869000000
76
77 AT+TRIG1=2,50
78
79 AT+TRIG2=2,50
80
81 AT+DI1TODO1=1
82
83 AT+DI1TORO1=1
84
85 AT+DI2TODO2=1
86
87 AT+DI2TORO2=1
88
89
90 (% style="color:#4f81bd" %)**Configuration for RX group number 1:**
91
92 AT+GROUPMOD=1,1
93
94 AT+TXCHS=869000000
95
96 AT+RXCHS=868700000
97
98
99 (% style="color:#4f81bd" %)**Configuration for RX group number 2:**
100
101 AT+GROUPMOD=1,2
102
103 AT+TXCHS=869000000
104
105 AT+RXCHS=868700000
106
107
108 === **2.2.3 Serial port display** ===
109
110
111 [[image:image-20220602144747-1.png]]
112
113
114 [[image:image-20220602144747-2.png]]
115
116 (((
117 If the TX group does not receive all the ACK replies from the RX group, it will retransmit up to 4 times, each time interval is 30 seconds, and the retransmission UplinkCounter will not increase.
118 )))
119
120
121 == **2.3 AT command** ==
122
123
124 (((
125 (% style="color:#037691" %)**ATZ** (%%)**: ** Trig a reset of the MCU
126 )))
127
128 (((
129 (% style="color:#037691" %)**AT+FDR** (%%)**:**  Reset Parameters to Factory Default, Keys Reserve
130 )))
131
132 (((
133 (% style="color:#037691" %)**AT+FCU** (%%)**:**  Get or Set the Frame Counter Uplink
134 )))
135
136 (((
137 (% style="color:#037691" %)**AT+FCD** (%%)**:**  Get or Set the Frame Counter Downlink
138 )))
139
140 (((
141 (% style="color:#037691" %)**AT+TXP** (%%)**:**  Get or Set the transmit power, the maximum is 20dBm (default is 14dBm)
142 )))
143
144 (((
145 (% style="color:#037691" %)**AT+SYNC** (%%)**:**  Get or Set the Sync word [1:0x34,0:0x12] (default is 1)
146 )))
147
148 (((
149 (% style="color:#037691" %)**AT+PMB** (%%)**:    **Get or Set the preamble (default:8)
150 )))
151
152 (((
153 (% style="color:#037691" %)**AT+TXCHS **(%%)**:** Get or Set the transmit frequency of TX (default:868700000)
154 )))
155
156 (((
157 (% style="color:#037691" %)**AT+TXSF **(%%)**:**  Get or Set the spreading factor of TX (7 to 12) (default:12)
158 )))
159
160 (((
161 (% style="color:#037691" %)**AT+RXCHS **(%%)**:** Get or Set the transmit frequency of RX (default:869000000)
162 )))
163
164 (((
165 (% style="color:#037691" %)**AT+RXSF **(%%)**:**  Get or Set the spreading factor of RX (7 to 12) (default:12)
166 )))
167
168 (((
169 (% style="color:#037691" %)**AT+BW **(%%)**:       **Get or Set the bandwidth [0:125khz,1:250khz,2:500khz] (default:0)
170 )))
171
172 (((
173 (% style="color:#037691" %)**AT+CR **(%%)**:        **Get or Set the coding rate [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8] (default:1)
174 )))
175
176 (((
177 (% style="color:#037691" %)**AT+TDC **(%%)**:**  Get or set the application data transmission interval in ms(default 10 minutes)
178 )))
179
180 (((
181 (% style="color:#037691" %)**AT+VER **(%%)**:**  Get firmware version number
182 )))
183
184 (((
185 (% style="color:#037691" %)**AT+SEND **(%%)**:   **Set Custom sent hex data
186 )))
187
188 (((
189 (% style="color:#037691" %)**AT+GROUPMOD **(%%)**: **Set or Get the grouping mode of the device (default: 0)
190 )))
191
192 (((
193 (((
194 (% style="color:#037691" %)**AT+GROUPID **(%%)**:      **Set or Get the password for matching between TX group and RX group, which can be composed of numbers or characters (default: 12345678)
195 )))
196 )))
197
198 (((
199 (% style="color:#037691" %)**AT+TRIG1 **(%%)**:**  Set or Get the DI1 pin interrupt trigger mode (default 0,0)
200 )))
201
202 (((
203 (% style="color:#037691" %)**AT+TRIG2 **(%%)**:            **Set or Get the DI2 pin interrupt trigger mode (default 0,0)
204 )))
205
206 (((
207 (% style="color:#037691" %)**AT+DI1TODO1 **(%%)**:    **Set or get the mode in which DI1 maps to DO1 (default 0)
208 )))
209
210 (((
211 (% style="color:#037691" %)**AT+DI1TORO1 **(%%)**:    **Set or get the mode in which DI1 maps to RO1(default 0)
212 )))
213
214 (((
215 (% style="color:#037691" %)**AT+DI2TODO2 **(%%)**:**  Set or get the mode in which DI2 maps to DO2(default 0)
216 )))
217
218 (((
219 (% style="color:#037691" %)**AT+DI2TORO2 **(%%)**:    **Set or get the mode in which DI2 maps to RO2(default 0)
220 )))
221
222 (((
223
224 )))
225
226 (((
227
228 )))
229
230 (((
231 (% style="color:#4f81bd" %)**Example 1:**
232 )))
233
234 (((
235 **AT+SEND=01020304 **will send a payload of 01020304
236 )))
237
238 (((
239
240 )))
241
242 (((
243 (% style="color:#4f81bd" %)**Example 2: **
244 )))
245
246 (((
247 **AT+TRIGx=a    **Trigger directly without triggering time
248 )))
249
250 (((
251 **AT+TRIGx=a,b**
252 )))
253
254 (((
255 a=0: falling edge;
256 )))
257
258 (((
259 a=1: rising edge;
260 )))
261
262 (((
263 a=2: falling edge or rising edge;
264 )))
265
266 (((
267 b:  triggering time in milliseconds.
268 )))
269
270 (((
271 AT+TRIGx=2,50  Falling edge or rising edge trigger, and the trigger time exceeds 50ms.
272 )))
273
274 (((
275
276 )))
277
278 (((
279 (% style="color:#4f81bd" %)**Example 3: **
280 )))
281
282 (((
283 **AT+DI1TODO1= maps value**
284 )))
285
286 (((
287 **AT+DI1TORO1= maps value**
288 )))
289
290 (((
291 **AT+DI2TODO2= maps value**
292 )))
293
294 (((
295 **AT+DI2TORO2= maps value**
296 )))
297
298 (((
299
300 )))
301
302 (% border="1" style="background-color:#f7faff; color:black; width:706px" %)
303 |=(% style="width: 102px;" %)(((
304 Maps value
305 )))|=(% style="width: 331px;" %)(((
306 DIx to DOx
307 )))|=(% style="width: 268px;" %)(((
308 DIx to ROx
309 )))
310 |(% style="width:102px" %)(((
311 0
312 )))|(% style="width:331px" %)(((
313 No Action
314 )))|(% style="width:268px" %)(((
315 No Action
316 )))
317 |(% style="width:102px" %)(((
318 1
319 )))|(% style="width:331px" %)(((
320 If DIx is high, control DOx to output low level, If DIx is low, control DOx to output high level
321 )))|(% style="width:268px" %)(((
322 (((
323 If DIx is high, control ROx to close,
324 )))
325
326 (((
327 if DIx is low, control ROx to open
328 )))
329 )))
330 |(% style="width:102px" %)(((
331 2
332 )))|(% style="width:331px" %)(((
333 If DIx is high, control DOx to output high level, If DIx is low, control DOx to output low level
334 )))|(% style="width:268px" %)(((
335 (((
336 If DIx is high, control ROx to open,
337 )))
338
339 (((
340 if DIx is low, control ROx to close
341 )))
342 )))
343 |(% style="width:102px" %)(((
344 3
345 )))|(% style="width:331px" %)(((
346 DOx state flip
347 )))|(% style="width:268px" %)(((
348 ROx state flip
349 )))
350
351 (((
352 (% style="color:#4f81bd" %)**Example 4: **
353 )))
354
355 (((
356 **AT+GROUPMOD=0**  Set to point to point mode
357 )))
358
359 (((
360 **AT+GROUPMOD=0,aa**  Set the TX group that controls the number of aa (The maximum value of aa is 8)
361 )))
362
363 (((
364 (((
365 **AT+GROUPMOD=1,bb**  Set to the RX group controlled by the TX group, numbered bb(The maximum value of aa is 8)
366 )))
367 )))
368
369 (((
370 **AT+GROUPMOD=0,2**  Set to control the TX group of the two RX groups
371 )))
372
373 (((
374 **AT+GROUPMOD=1,1**  Set the RX group numbered 1
375 )))
376
377 (((
378 **AT+GROUPMOD=1,2**  Set the RX group numbered 2
379 )))
380
381
382 == **2.4 Data Format** ==
383
384 (((
385 8 bytes of GROUPID + 9 bytes of payload + 4 bytes of checksum
386 )))
387
388 (((
389
390 )))
391
392 (((
393 (% style="color:#4f81bd" %)**Payload:**
394 )))
395
396 (% border="1" style="background-color:#f7faff; color:black; width:938px" %)
397 |=(% style="width: 123px;" %)(((
398 **Size (bytes)**
399 )))|=(% style="width: 107px;" %)(((
400 1
401 )))|=(% style="width: 107px;" %)(((
402 1
403 )))|=(% style="width: 107px;" %)(((
404 1
405 )))|=(% style="width: 107px;" %)(((
406 1
407 )))|=(% style="width: 107px;" %)(((
408 1
409 )))|=(% style="width: 107px;" %)(((
410 1
411 )))|=(% style="width: 107px;" %)(((
412 1
413 )))|=(% style="width: 107px;" %)(((
414 1
415 )))|=(% style="width: 107px;" %)(((
416 1
417 )))
418 |(% style="width:123px" %)(((
419 **Value**
420 )))|(% style="width:38px" %)(((
421 address
422 )))|(% style="width:70px" %)(((
423 request
424 )))|(% style="width:52px" %)(((
425 ACK
426 )))|(% style="width:127px" %)(((
427 (((
428 DI1&
429 )))
430
431 (((
432 DI1 level
433 )))
434 )))|(% style="width:101px" %)(((
435 DI1TODO1
436 )))|(% style="width:91px" %)(((
437 DI1TORO1
438 )))|(% style="width:111px" %)(((
439 (((
440 DI2&
441 )))
442
443 (((
444 DI2 level
445 )))
446 )))|(% style="width:105px" %)(((
447 DI2TODO2
448 )))|(% style="width:106px" %)(((
449 DI2TORO2
450 )))
451
452 (((
453 (% style="color:#037691" %)**The first byte**(%%)**:**  00 is the broadcast address, 01-08 is the RX group number.
454 )))
455
456 (((
457 (% style="color:#037691" %)**The second byte**(%%)**:**  send mapping request when not 0, not request when it is 0.
458 )))
459
460 (((
461 (% style="color:#037691" %)**The third byte**(%%)**:**  ACK returned to the sender after the mapping is completed.
462 )))
463
464 (((
465 (((
466 (% style="color:#037691" %)**The fourth byte**(%%)**:**  the high four bits are 1 to represent DI1, and the low four bits are the level of DI1 when the interrupt is triggered.
467 )))
468 )))
469
470 (((
471 (% style="color:#037691" %)**The Fifth byte**(%%)**:       **DI1TODO1 when the interrupt is triggered, 0 when the interrupt is not triggered.
472 )))
473
474 (((
475 (% style="color:#037691" %)**The Sixth byte**(%%)**:**  0 does not trigger interrupt when DI1TORO1 interrupt is triggered.
476 )))
477
478 (((
479 (((
480 (% style="color:#037691" %)**The seventh byte**(%%)**:**  the high four bits are 2 to represent DI2, and the low four bits are the level of DI2 when the interrupt is triggered.
481 )))
482 )))
483
484 (((
485 (% style="color:#037691" %)**The 8th byte**(%%)**:          **DI2TODO2 when the interrupt is triggered, 0 when the interrupt is not triggered.
486 )))
487
488 (((
489 (% style="color:#037691" %)**The 9th byte**(%%)**:**  DI2TORO2 when an interrupt is triggered, 0 when an interrupt is not triggered.
490 )))
491
492
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0