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