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