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