Changes for page Point to Point Communication of LT-22222-L
Last modified by Edwin Chen on 2022/11/22 09:38
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Bei1 +XWiki.Xiaoling - Content
-
... ... @@ -1,4 +1,4 @@ 1 -**Contents: ** 1 +**Table of Contents: ** 2 2 3 3 {{toc/}} 4 4 ... ... @@ -5,9 +5,11 @@ 5 5 6 6 7 7 8 -= **1. Overview**=8 += 1. Overview = 9 9 10 10 ((( 11 + 12 + 11 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 12 ))) 13 13 ... ... @@ -16,34 +16,36 @@ 16 16 ))) 17 17 18 18 19 -= **2. Features for this firmware**=21 += 2. Features for this firmware = 20 20 21 -== **2.1 Point To Point**==23 +== 2.1 Point To Point == 22 22 23 -=== **2.1.1 Overview**===25 +=== 2.1.1 Overview === 24 24 25 25 26 26 [[image:image-20220602111219-1.png||height="472" width="972"]] 27 27 28 28 29 -=== **2.2.2 Configure**===31 +=== 2.2.2 Configure === 30 30 31 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 34 +(% border="1" style="background-color:#f7faff; color:black; width:360px" %) 35 +|=(% style="width: 179px;" %)**A's configuration**|=(% style="width: 177px;" %)**B's configuration** 36 +|(% style="width:179px" %)AT+GROUPMOD=0|(% style="width:177px" %)AT+GROUPMOD=0 37 +|(% style="width:179px" %)AT+TXCHS=868700000|(% style="width:177px" %)AT+TXCHS=869000000 38 +|(% style="width:179px" %)AT+RXCHS=869000000|(% style="width:177px" %)AT+RXCHS=868700000 39 +|(% style="width:179px" %)AT+TRIG1=2,50|(% style="width:177px" %)AT+TRIG1=2,50 40 +|(% style="width:179px" %)AT+TRIG2=2,50|(% style="width:177px" %)AT+TRIG2=2,50 41 +|(% style="width:179px" %)AT+DI1TODO1=2|(% style="width:177px" %)AT+DI1TODO1=2 42 +|(% style="width:179px" %)AT+DI1TORO1=2|(% style="width:177px" %)AT+DI1TORO1=2 43 +|(% style="width:179px" %)AT+DI2TODO2=2 |(% style="width:177px" %)AT+DI2TODO2=2 44 +|(% style="width:179px" %)AT+DI2TORO2=2|(% style="width:177px" %)AT+DI2TORO2=2 43 43 44 -=== **2.2.3 Serial port display** === 45 45 46 46 48 +=== 2.2.3 Serial port display === 49 + 50 + 47 47 (% class="wikigeneratedid" %) 48 48 [[image:image-20220602111219-2.png]] 49 49 ... ... @@ -51,22 +51,23 @@ 51 51 (% class="wikigeneratedid" %) 52 52 [[image:image-20220602111219-3.png]] 53 53 58 + 54 54 (% class="wikigeneratedid" %) 55 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 56 57 57 58 -== **2.2 Point To Mult-Point**==63 +== 2.2 Point To Mult-Point == 59 59 60 -=== **2.2.1 Overview**===65 +=== 2.2.1 Overview === 61 61 62 62 63 63 [[image:1654152390874-192.png]] 64 64 65 65 66 -=== **2.2.2 Configure**===71 +=== 2.2.2 Configure === 67 67 68 68 69 -(% style="color: #4f81bd" %)**Configuration of the TX group:**74 +(% style="color:blue" %)**Configuration of the TX group:** 70 70 71 71 AT+GROUPMOD=0,2 72 72 ... ... @@ -87,7 +87,7 @@ 87 87 AT+DI2TORO2=1 88 88 89 89 90 -(% style="color: #4f81bd" %)**Configuration for RX group number 1:**95 +(% style="color:blue" %)**Configuration for RX group number 1:** 91 91 92 92 AT+GROUPMOD=1,1 93 93 ... ... @@ -96,7 +96,7 @@ 96 96 AT+RXCHS=868700000 97 97 98 98 99 -(% style="color: #4f81bd" %)**Configuration for RX group number 2:**104 +(% style="color:blue" %)**Configuration for RX group number 2:** 100 100 101 101 AT+GROUPMOD=1,2 102 102 ... ... @@ -105,7 +105,7 @@ 105 105 AT+RXCHS=868700000 106 106 107 107 108 -=== **2.2.3 Serial port display**===113 +=== 2.2.3 Serial port display === 109 109 110 110 111 111 [[image:image-20220602144747-1.png]] ... ... @@ -113,12 +113,13 @@ 113 113 114 114 [[image:image-20220602144747-2.png]] 115 115 121 + 116 116 ((( 117 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 118 ))) 119 119 120 120 121 -== **2.3 AT command**==127 +== 2.3 AT command == 122 122 123 123 124 124 ((( ... ... @@ -219,28 +219,18 @@ 219 219 (% style="color:#037691" %)**AT+DI2TORO2 **(%%)**: **Set or get the mode in which DI2 maps to RO2(default 0) 220 220 ))) 221 221 222 -((( 223 - 224 -))) 225 225 226 226 ((( 227 - 230 +(% style="color:blue" %)**Example 1:** 228 228 ))) 229 229 230 230 ((( 231 -(% style="color:#4f81bd" %)**Example 1:** 232 -))) 233 - 234 -((( 235 235 **AT+SEND=01020304 **will send a payload of 01020304 236 236 ))) 237 237 238 -((( 239 - 240 -))) 241 241 242 242 ((( 243 -(% style="color: #4f81bd" %)**Example 2: **239 +(% style="color:blue" %)**Example 2: ** 244 244 ))) 245 245 246 246 ((( ... ... @@ -252,31 +252,28 @@ 252 252 ))) 253 253 254 254 ((( 255 -a=0: falling edge; 251 +**a=0:** falling edge; 256 256 ))) 257 257 258 258 ((( 259 -a=1: rising edge; 255 +**a=1: **rising edge; 260 260 ))) 261 261 262 262 ((( 263 -a=2: falling edge or rising edge; 259 +**a=2:** falling edge or rising edge; 264 264 ))) 265 265 266 266 ((( 267 -b: triggering time in milliseconds. 263 +**b:** triggering time in milliseconds. 268 268 ))) 269 269 270 270 ((( 271 -AT+TRIGx=2,50 Falling edge or rising edge trigger, and the trigger time exceeds 50ms. 267 +**AT+TRIGx=2,50** Falling edge or rising edge trigger, and the trigger time exceeds 50ms. 272 272 ))) 273 273 274 -((( 275 - 276 -))) 277 277 278 278 ((( 279 -(% style="color: #4f81bd" %)**Example 3: **272 +(% style="color:blue" %)**Example 3: ** 280 280 ))) 281 281 282 282 ((( ... ... @@ -299,12 +299,12 @@ 299 299 300 300 ))) 301 301 302 -(% border="1" style="background-color:#f7faff; color:black; width: 706px" %)295 +(% border="1" style="background-color:#f7faff; color:black; width:690px" %) 303 303 |=(% style="width: 102px;" %)((( 304 304 Maps value 305 305 )))|=(% style="width: 331px;" %)((( 306 306 DIx to DOx 307 -)))|=(% style="width: 2 68px;" %)(((300 +)))|=(% style="width: 251px;" %)((( 308 308 DIx to ROx 309 309 ))) 310 310 |(% style="width:102px" %)((( ... ... @@ -311,7 +311,7 @@ 311 311 0 312 312 )))|(% style="width:331px" %)((( 313 313 No Action 314 -)))|(% style="width:2 68px" %)(((307 +)))|(% style="width:251px" %)((( 315 315 No Action 316 316 ))) 317 317 |(% style="width:102px" %)((( ... ... @@ -318,7 +318,7 @@ 318 318 1 319 319 )))|(% style="width:331px" %)((( 320 320 If DIx is high, control DOx to output low level, If DIx is low, control DOx to output high level 321 -)))|(% style="width:2 68px" %)(((314 +)))|(% style="width:251px" %)((( 322 322 ((( 323 323 If DIx is high, control ROx to close, 324 324 ))) ... ... @@ -331,7 +331,7 @@ 331 331 2 332 332 )))|(% style="width:331px" %)((( 333 333 If DIx is high, control DOx to output high level, If DIx is low, control DOx to output low level 334 -)))|(% style="width:2 68px" %)(((327 +)))|(% style="width:251px" %)((( 335 335 ((( 336 336 If DIx is high, control ROx to open, 337 337 ))) ... ... @@ -344,12 +344,14 @@ 344 344 3 345 345 )))|(% style="width:331px" %)((( 346 346 DOx state flip 347 -)))|(% style="width:2 68px" %)(((340 +)))|(% style="width:251px" %)((( 348 348 ROx state flip 349 349 ))) 350 350 351 351 ((( 352 -(% style="color:#4f81bd" %)**Example 4: ** 345 + 346 + 347 +(% style="color:blue" %)**Example 4: ** 353 353 ))) 354 354 355 355 ((( ... ... @@ -361,10 +361,8 @@ 361 361 ))) 362 362 363 363 ((( 364 -((( 365 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 366 ))) 367 -))) 368 368 369 369 ((( 370 370 **AT+GROUPMOD=0,2** Set to control the TX group of the two RX groups ... ... @@ -376,45 +376,47 @@ 376 376 377 377 ((( 378 378 **AT+GROUPMOD=1,2** Set the RX group numbered 2 372 +))) 379 379 380 380 381 381 === 2.3.1 TRIG command is configured in the transmit LT. (LT1)(Since firmware 1.3) === 382 -))) 383 383 384 -**AT+TRIGx=a **Trigger transmit directly without triggering time 385 385 386 -**AT+TRIGx=a ,b**Trigger transmit with triggering timethreshold378 +**AT+TRIGx=a **Trigger transmit directly without triggering time 387 387 388 -**AT+TRIGx=a,b ,c**Trigger transmit with triggering time threshold, and continue to transmit every xx seconds if DI status no change.380 +**AT+TRIGx=a,b** Trigger transmit with triggering time threshold 389 389 382 +**AT+TRIGx=a,b,c **Trigger transmit with triggering time threshold, and continue to transmit every xx seconds if DI status no change. 390 390 391 -a=0: falling edge; 392 392 393 -a= 1:rising edge;385 +**a=0:** falling edge; 394 394 395 -a= 2:falling edge orrising edge;387 +**a=1:** rising edge; 396 396 397 - b:triggeringtimeinmilliseconds.389 +**a=2:** falling edge or rising edge; 398 398 399 - c:ansmitinterval391 +**b:** triggering time in milliseconds. 400 400 393 +**c:** transmit interval 401 401 402 -**Use Case 1**: Once the DI1 port status change ( either from low to high or high to low, LT1 sends a trigger to LT-2) 403 403 404 -Co mmand:396 +(% style="color:blue" %)**Use Case 1**(%%): Once the DI1 port status change ( either from low to high or high to low, LT1 sends a trigger to LT-2) 405 405 406 - AT+TRIG1=2,50 Falling edgeor rising edge trigger,andthe trigger time should exceed 50ms.398 +**Command:** 407 407 400 +**AT+TRIG1=2,50** Falling edge or rising edge trigger, and the trigger time should exceed 50ms. 408 408 409 -**Use Case 2: **Sync LT2 RO / DO status with LT1 every minute. 410 410 411 - Command:403 +(% style="color:blue" %)**Use Case 2: **(%%)Sync LT2 RO / DO status with LT1 every minute. 412 412 413 - AT+TRIG2=2,50,60 Once there is falling edgeor rising edge on DI2 of LT1, LT1 will transmit trigger to LT2andLT2 can sync the status of RO/DO.405 +**Command:** 414 414 407 +**AT+TRIG2=2,50,60** Once there is falling edge or rising edge on DI2 of LT1, LT1 will transmit trigger to LT2 and LT2 can sync the status of RO/DO. 415 415 409 + 416 416 === 2.3.2 RO/DO is configured in the receiver LT (LT2)(Since firmware 1.3) === 417 417 412 + 418 418 AT+DI1TODO1= maps value[,latch time] 419 419 420 420 AT+DI1TORO1= maps value[,latch time] ... ... @@ -424,30 +424,30 @@ 424 424 AT+DI2TORO2= maps value[,latch time] 425 425 426 426 427 -(% border="1" style="background-color:#f7faff; color:black; width:7 06px" %)428 -| **Maps value**|DIx to DOx|DIx to ROx 429 -|0|No Action|No Action 430 -|1|If DIx is high, control DOx to output low level, If DIx is low, control DOx to output high level|((( 422 +(% border="1" style="background-color:#f7faff; color:black; width:774px" %) 423 +|(% style="width:105px" %) **Maps value**|(% style="width:415px" %)**DIx to DOx**|(% style="width:249px" %)**DIx to ROx** 424 +|(% style="width:105px" %)0|(% style="width:415px" %)No Action|(% style="width:249px" %)No Action 425 +|(% style="width:105px" %)1|(% style="width:415px" %)If DIx is high, control DOx to output low level, If DIx is low, control DOx to output high level|(% style="width:249px" %)((( 431 431 If DIx is high, control ROx to close, 432 432 433 433 if DIx is low, control ROx to open 434 434 ))) 435 -|2|If DIx is high, control DOx to output high level, If DIx is low, control DOx to output low level|((( 430 +|(% style="width:105px" %)2|(% style="width:415px" %)If DIx is high, control DOx to output high level, If DIx is low, control DOx to output low level|(% style="width:249px" %)((( 436 436 If DIx is high, control ROx to open, 437 437 438 438 if DIx is low, control ROx to close 439 439 ))) 440 -|3|DOx state flip|ROx state flip 435 +|(% style="width:105px" %)3|(% style="width:415px" %)DOx state flip|(% style="width:249px" %)ROx state flip 441 441 442 442 latch time, if latch time is defined, DO or RO will go back to the original status after latch time, if there is a new trigger comes, the LT2 will use the new latch time settings and ignore the old one. 443 443 444 444 445 -**Case1**: 440 +(% style="color:blue" %)**Case1**: 446 446 447 447 AT+DI1TODO1=1 ~/~/ LT2 DO1 will follow LT1 DI1 trigger command, if DI1 of LT1 is trigger high, DO1 of LT2 will output low, if DI1 of LT1 is trigger low, DO2 of LT2 will output high. 448 448 449 449 450 -**Case2**: 445 +(% style="color:blue" %)**Case2**: 451 451 452 452 AT+DI1TODO1=1,60 ~/~/ LT2 DO1 will follow LT1 DI1 trigger command, DO1 will keep the status 60 seconds and then go back to original state. 453 453 ... ... @@ -454,13 +454,14 @@ 454 454 455 455 === 2.3.3 Save the RO/DO status during power off(Since firmware 1.3) === 456 456 452 + 457 457 Enable/Disbale retain Digital Output/Relay Output after power off / Power On 458 458 459 -AT+DOROSAVE=0 ~/~/ Disable Retain after power off/on 455 +AT+DOROSAVE=0 ~/~/ Disable Retain after power off/on 460 460 461 -AT+DOROSAVE=1 ~/~/ Enable Retain after power off/on 457 +AT+DOROSAVE=1 ~/~/ Enable Retain after power off/on 462 462 463 -AT+DOROSAVE=2,a,b,c,d ~/~/ set DO/RO port to default state after power on. 459 +AT+DOROSAVE=2,a,b,c,d ~/~/ set DO/RO port to default state after power on. 464 464 465 465 a: for DO1 466 466 ... ... @@ -470,89 +470,82 @@ 470 470 471 471 d: for RO2. 472 472 473 -Example: 474 474 475 - AT+DOROSAVE=2,0,0,0,1 ~/~/ Set DO1/DO2 to Low, RO1 to openafterpower on , set RO2 to closeafter power on.470 +**Example:** 476 476 472 +AT+DOROSAVE=2,0,0,0,1 ~/~/ Set DO1/DO2 to Low, RO1 to open after power on , set RO2 to close after power on. 477 477 474 + 478 478 === 2.3.4 Control Sleep status.(Since firmware 1.3) === 479 479 477 + 480 480 DI2 can be used to set LT into sleep mode. 481 481 482 -AT+DI2SLEEP=1 ~/~/Enable DI2 as Sleep pin 480 +AT+DI2SLEEP=1 ~/~/ Enable DI2 as Sleep pin 483 483 484 -AT+DI2SLEEP=0 ~/~/Disable DI2 as Sleep pin 482 +AT+DI2SLEEP=0 ~/~/ Disable DI2 as Sleep pin 485 485 486 486 When DI2 is enabled as sleep pin, a falling trigger (with 500ms pulse) will set LT into sleep mode. A raising trigger will wake up it again. 487 487 488 488 489 -== **2.4 Data Format**==487 +== 2.4 Data Format == 490 490 489 + 491 491 ((( 492 492 8 bytes of GROUPID + 9 bytes of payload + 4 bytes of checksum 493 493 ))) 494 494 495 495 ((( 496 - 495 +(% style="color:blue" %)**Payload:** 497 497 ))) 498 498 499 -((( 500 -(% style="color:#4f81bd" %)**Payload:** 501 -))) 502 - 503 -(% border="1" style="background-color:#f7faff; color:black; width:938px" %) 504 -|=(% style="width: 123px;" %)((( 498 +(% border="1" style="background-color:#f7faff; color:black; width:825px" %) 499 +|=(% style="width: 102px;" %)((( 505 505 **Size (bytes)** 506 -)))|=(% style="width: 107px;" %)(((501 +)))|=(% style="width: 74px;" %)((( 507 507 1 508 -)))|=(% style="width: 107px;" %)(((503 +)))|=(% style="width: 72px;" %)((( 509 509 1 510 -)))|=(% style="width: 107px;" %)(((505 +)))|=(% style="width: 47px;" %)((( 511 511 1 512 -)))|=(% style="width: 107px;" %)(((507 +)))|=(% style="width: 83px;" %)((( 513 513 1 514 -)))|=(% style="width: 107px;" %)(((509 +)))|=(% style="width: 90px;" %)((( 515 515 1 516 -)))|=(% style="width: 107px;" %)(((511 +)))|=(% style="width: 92px;" %)((( 517 517 1 518 -)))|=(% style="width: 107px;" %)(((513 +)))|=(% style="width: 78px;" %)((( 519 519 1 520 -)))|=(% style="width: 1 07px;" %)(((515 +)))|=(% style="width: 91px;" %)((( 521 521 1 522 -)))|=(% style="width: 1 07px;" %)(((517 +)))|=(% style="width: 91px;" %)((( 523 523 1 524 524 ))) 525 -|(% style="width:12 3px" %)(((520 +|(% style="width:102px" %)((( 526 526 **Value** 527 -)))|(% style="width: 38px" %)(((522 +)))|(% style="width:74px" %)((( 528 528 address 529 -)))|(% style="width:7 0px" %)(((524 +)))|(% style="width:72px" %)((( 530 530 request 531 -)))|(% style="width: 52px" %)(((526 +)))|(% style="width:47px" %)((( 532 532 ACK 533 -)))|(% style="width: 127px" %)(((528 +)))|(% style="width:83px" %)((( 534 534 ((( 535 535 DI1& 536 -))) 537 - 538 -((( 539 539 DI1 level 540 540 ))) 541 -)))|(% style="width: 101px" %)(((533 +)))|(% style="width:90px" %)((( 542 542 DI1TODO1 543 -)))|(% style="width:9 1px" %)(((535 +)))|(% style="width:92px" %)((( 544 544 DI1TORO1 545 -)))|(% style="width: 111px" %)(((537 +)))|(% style="width:78px" %)((( 546 546 ((( 547 547 DI2& 540 +DI2 leve 548 548 ))) 549 - 550 -((( 551 -DI2 level 552 -))) 553 -)))|(% style="width:105px" %)((( 542 +)))|(% style="width:91px" %)((( 554 554 DI2TODO2 555 -)))|(% style="width:1 06px" %)(((544 +)))|(% style="width:91px" %)((( 556 556 DI2TORO2 557 557 ))) 558 558 ... ... @@ -599,62 +599,56 @@ 599 599 ((( 600 600 601 601 602 -(% style="color: #4f81bd" %)**Payload:(Since firmware 1.3)The receiver replies to the sent packet**591 +(% style="color:blue" %)**Payload:(Since firmware 1.3)The receiver replies to the sent packet** 603 603 ))) 604 604 605 -(% border="1" style="background-color:#f7faff; color:black; width: 938px" %)606 -|=(% style="width: 123px;" %)(((607 -**Size 608 -)))|=(% style="width: 107px;" %)(((594 +(% border="1" style="background-color:#f7faff; color:black; width:822px" %) 595 +|=(% style="width: 97px;" %)((( 596 +**Size(bytes)** 597 +)))|=(% style="width: 71px;" %)((( 609 609 1 610 -)))|=(% style="width: 107px;" %)(((599 +)))|=(% style="width: 70px;" %)((( 611 611 1 612 -)))|=(% style="width: 107px;" %)(((601 +)))|=(% style="width: 48px;" %)((( 613 613 1 614 -)))|=(% style="width: 107px;" %)(((603 +)))|=(% style="width: 85px;" %)((( 615 615 1 616 -)))|=(% style="width: 107px;" %)(((605 +)))|=(% style="width: 90px;" %)((( 617 617 1 618 -)))|=(% style="width: 107px;" %)(((607 +)))|=(% style="width: 88px;" %)((( 619 619 1 620 -)))|=(% style="width: 107px;" %)(((609 +)))|=(% style="width: 86px;" %)((( 621 621 1 622 -)))|=(% style="width: 107px;" %)(((611 +)))|=(% style="width: 92px;" %)((( 623 623 1 624 -)))|=(% style="width: 107px;" %)(((613 +)))|=(% style="width: 92px;" %)((( 625 625 1 626 626 ))) 627 -|(% style="width: 123px" %)(((616 +|(% style="width:97px" %)((( 628 628 **Value** 629 -)))|(% style="width: 38px" %)(((618 +)))|(% style="width:71px" %)((( 630 630 address 631 631 )))|(% style="width:70px" %)((( 632 632 request 633 -)))|(% style="width: 52px" %)(((622 +)))|(% style="width:48px" %)((( 634 634 ACK 635 -)))|(% style="width: 127px" %)(((624 +)))|(% style="width:85px" %)((( 636 636 ((( 637 637 DO1& 638 -))) 639 - 640 -((( 641 641 DO1 level 642 642 ))) 643 -)))|(% style="width: 101px" %)(((629 +)))|(% style="width:90px" %)((( 644 644 DI1TODO1 645 -)))|(% style="width: 91px" %)(((631 +)))|(% style="width:88px" %)((( 646 646 DI1TORO1 647 -)))|(% style="width: 111px" %)(((633 +)))|(% style="width:86px" %)((( 648 648 ((( 649 649 RO2& 650 -))) 651 - 652 -((( 653 653 RO2 level 654 654 ))) 655 -)))|(% style="width: 105px" %)(((638 +)))|(% style="width:92px" %)((( 656 656 DI2TODO2 657 -)))|(% style="width: 106px" %)(((640 +)))|(% style="width:92px" %)((( 658 658 DI2TORO2 659 659 ))) 660 660