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, 4 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,14 +2,494 @@ 2 2 {{toc/}} 3 3 {{/box}} 4 4 5 -= Overview = 5 += **1. Overview** = 6 6 7 +((( 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: 9 +))) 8 8 11 +((( 9 9 [[Point to Point Software for LT-22222-L>>https://github.com/dragino/LT-22222-L]]. 13 +))) 10 10 11 11 == == 12 12 13 -= Features for this firmware :=17 += **2. Features for this firmware** = 14 14 19 + 20 +== **2.1 Point To Point** == 21 + 22 +=== **2.1.1 Overview** === 23 + 24 + 25 +[[image:image-20220602111219-1.png||height="472" width="972"]] 26 + 27 + 28 +=== **2.2.2 Configure** === 29 + 30 + 31 +(% border="1" style="background-color:#f7faff; color:black; width:500px" %) 32 +|=**A's configuration**|=**B's configuration** 33 +|AT+GROUPMOD=0|AT+GROUPMOD=0 34 +|AT+TXCHS=868700000|AT+TXCHS=869000000 35 +|AT+RXCHS=869000000|AT+RXCHS=868700000 36 +|AT+TRIG1=2,50|AT+TRIG1=2,50 37 +|AT+TRIG2=2,50|AT+TRIG2=2,50 38 +|AT+DI1TODO1=2|AT+DI1TODO1=2 39 +|AT+DI1TORO1=2|AT+DI1TORO1=2 40 +|AT+DI2TODO2=2 |AT+DI2TODO2=2 41 +|AT+DI2TORO2=2|AT+DI2TORO2=2 42 + 43 + 44 + 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 + 117 +((( 118 +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. 119 +))) 120 + 121 + 122 + 123 + 124 +== **2.3 AT command** == 125 + 126 + 127 +((( 128 +(% style="color:#037691" %)**ATZ** (%%)**: ** Trig a reset of the MCU 129 +))) 130 + 131 +((( 132 +(% style="color:#037691" %)**AT+FDR** (%%)**:** Reset Parameters to Factory Default, Keys Reserve 133 +))) 134 + 135 +((( 136 +(% style="color:#037691" %)**AT+FCU** (%%)**:** Get or Set the Frame Counter Uplink 137 +))) 138 + 139 +((( 140 +(% style="color:#037691" %)**AT+FCD** (%%)**:** Get or Set the Frame Counter Downlink 141 +))) 142 + 143 +((( 144 +(% style="color:#037691" %)**AT+TXP** (%%)**:** Get or Set the transmit power, the maximum is 20dBm (default is 14dBm) 145 +))) 146 + 147 +((( 148 +(% style="color:#037691" %)**AT+SYNC** (%%)**:** Get or Set the Sync word [1:0x34,0:0x12] (default is 1) 149 +))) 150 + 151 +((( 152 +(% style="color:#037691" %)**AT+PMB** (%%)**: **Get or Set the preamble (default:8) 153 +))) 154 + 155 +((( 156 +(% style="color:#037691" %)**AT+TXCHS **(%%)**:** Get or Set the transmit frequency of TX (default:868700000) 157 +))) 158 + 159 +((( 160 +(% style="color:#037691" %)**AT+TXSF **(%%)**:** Get or Set the spreading factor of TX (7 to 12) (default:12) 161 +))) 162 + 163 +((( 164 +(% style="color:#037691" %)**AT+RXCHS **(%%)**:** Get or Set the transmit frequency of RX (default:869000000) 165 +))) 166 + 167 +((( 168 +(% style="color:#037691" %)**AT+RXSF **(%%)**:** Get or Set the spreading factor of RX (7 to 12) (default:12) 169 +))) 170 + 171 +((( 172 +(% style="color:#037691" %)**AT+BW **(%%)**: **Get or Set the bandwidth [0:125khz,1:250khz,2:500khz] (default:0) 173 +))) 174 + 175 +((( 176 +(% 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) 177 +))) 178 + 179 +((( 180 +(% style="color:#037691" %)**AT+TDC **(%%)**:** Get or set the application data transmission interval in ms(default 10 minutes) 181 +))) 182 + 183 +((( 184 +(% style="color:#037691" %)**AT+VER **(%%)**:** Get firmware version number 185 +))) 186 + 187 +((( 188 +(% style="color:#037691" %)**AT+SEND **(%%)**: **Set Custom sent hex data 189 +))) 190 + 191 +((( 192 +(% style="color:#037691" %)**AT+GROUPMOD **(%%)**: **Set or Get the grouping mode of the device (default: 0) 193 +))) 194 + 195 +((( 196 +((( 197 +(% 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) 198 +))) 199 +))) 200 + 201 +((( 202 +(% style="color:#037691" %)**AT+TRIG1 **(%%)**:** Set or Get the DI1 pin interrupt trigger mode (default 0,0) 203 +))) 204 + 205 +((( 206 +(% style="color:#037691" %)**AT+TRIG2 **(%%)**: **Set or Get the DI2 pin interrupt trigger mode (default 0,0) 207 +))) 208 + 209 +((( 210 +(% style="color:#037691" %)**AT+DI1TODO1 **(%%)**: **Set or get the mode in which DI1 maps to DO1 (default 0) 211 +))) 212 + 213 +((( 214 +(% style="color:#037691" %)**AT+DI1TORO1 **(%%)**: **Set or get the mode in which DI1 maps to RO1(default 0) 215 +))) 216 + 217 +((( 218 +(% style="color:#037691" %)**AT+DI2TODO2 **(%%)**:** Set or get the mode in which DI2 maps to DO2(default 0) 219 +))) 220 + 221 +((( 222 +(% style="color:#037691" %)**AT+DI2TORO2 **(%%)**: **Set or get the mode in which DI2 maps to RO2(default 0) 223 +))) 224 + 225 +((( 15 15 227 +))) 228 + 229 +((( 230 + 231 +))) 232 + 233 +((( 234 +(% style="color:#4f81bd" %)**Example 1:** 235 +))) 236 + 237 +((( 238 +**AT+SEND=01020304 **will send a payload of 01020304 239 +))) 240 + 241 +((( 242 + 243 +))) 244 + 245 +((( 246 +(% style="color:#4f81bd" %)**Example 2: ** 247 +))) 248 + 249 +((( 250 +**AT+TRIGx=a **Trigger directly without triggering time 251 +))) 252 + 253 +((( 254 +**AT+TRIGx=a,b** 255 +))) 256 + 257 +((( 258 +a=0: falling edge; 259 +))) 260 + 261 +((( 262 +a=1: rising edge; 263 +))) 264 + 265 +((( 266 +a=2: falling edge or rising edge; 267 +))) 268 + 269 +((( 270 +b: triggering time in milliseconds. 271 +))) 272 + 273 +((( 274 +AT+TRIGx=2,50 Falling edge or rising edge trigger, and the trigger time exceeds 50ms. 275 +))) 276 + 277 +((( 278 + 279 +))) 280 + 281 +((( 282 +(% style="color:#4f81bd" %)**Example 3: ** 283 +))) 284 + 285 +((( 286 +**AT+DI1TODO1= maps value** 287 +))) 288 + 289 +((( 290 +**AT+DI1TORO1= maps value** 291 +))) 292 + 293 +((( 294 +**AT+DI2TODO2= maps value** 295 +))) 296 + 297 +((( 298 +**AT+DI2TORO2= maps value** 299 +))) 300 + 301 +((( 302 + 303 +))) 304 + 305 +(% border="1" style="background-color:#f7faff; color:black; width:706px" %) 306 +|=(% style="width: 102px;" %)((( 307 +Maps value 308 +)))|=(% style="width: 331px;" %)((( 309 +DIx to DOx 310 +)))|=(% style="width: 268px;" %)((( 311 +DIx to ROx 312 +))) 313 +|(% style="width:102px" %)((( 314 +0 315 +)))|(% style="width:331px" %)((( 316 +No Action 317 +)))|(% style="width:268px" %)((( 318 +No Action 319 +))) 320 +|(% style="width:102px" %)((( 321 +1 322 +)))|(% style="width:331px" %)((( 323 +If DIx is high, control DOx to output low level, If DIx is low, control DOx to output high level 324 +)))|(% style="width:268px" %)((( 325 +((( 326 +If DIx is high, control ROx to close, 327 +))) 328 + 329 +((( 330 +if DIx is low, control ROx to open 331 +))) 332 +))) 333 +|(% style="width:102px" %)((( 334 +2 335 +)))|(% style="width:331px" %)((( 336 +If DIx is high, control DOx to output high level, If DIx is low, control DOx to output low level 337 +)))|(% style="width:268px" %)((( 338 +((( 339 +If DIx is high, control ROx to open, 340 +))) 341 + 342 +((( 343 +if DIx is low, control ROx to close 344 +))) 345 +))) 346 +|(% style="width:102px" %)((( 347 +3 348 +)))|(% style="width:331px" %)((( 349 +DOx state flip 350 +)))|(% style="width:268px" %)((( 351 +ROx state flip 352 +))) 353 + 354 +((( 355 +(% style="color:#4f81bd" %)**Example 4: ** 356 +))) 357 + 358 +((( 359 +**AT+GROUPMOD=0** Set to point to point mode 360 +))) 361 + 362 +((( 363 +**AT+GROUPMOD=0,aa** Set the TX group that controls the number of aa (The maximum value of aa is 8) 364 +))) 365 + 366 +((( 367 +((( 368 +**AT+GROUPMOD=1,bb** Set to the RX group controlled by the TX group, numbered bb(The maximum value of aa is 8) 369 +))) 370 +))) 371 + 372 +((( 373 +**AT+GROUPMOD=0,2** Set to control the TX group of the two RX groups 374 +))) 375 + 376 +((( 377 +**AT+GROUPMOD=1,1** Set the RX group numbered 1 378 +))) 379 + 380 +((( 381 +**AT+GROUPMOD=1,2** Set the RX group numbered 2 382 +))) 383 + 384 + 385 +== **2.4 Data Format** == 386 + 387 +((( 388 +8 bytes of GROUPID + 9 bytes of payload + 4 bytes of checksum 389 +))) 390 + 391 +((( 392 + 393 +))) 394 + 395 +((( 396 +(% style="color:#4f81bd" %)**Payload:** 397 +))) 398 + 399 +(% border="1" style="background-color:#f7faff; color:black; width:938px" %) 400 +|=(% style="width: 123px;" %)((( 401 +**Size (bytes)** 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 +)))|=(% style="width: 107px;" %)((( 419 +1 420 +))) 421 +|(% style="width:123px" %)((( 422 +**Value** 423 +)))|(% style="width:38px" %)((( 424 +address 425 +)))|(% style="width:70px" %)((( 426 +request 427 +)))|(% style="width:52px" %)((( 428 +ACK 429 +)))|(% style="width:127px" %)((( 430 +((( 431 +DI1& 432 +))) 433 + 434 +((( 435 +DI1 level 436 +))) 437 +)))|(% style="width:101px" %)((( 438 +DI1TODO1 439 +)))|(% style="width:91px" %)((( 440 +DI1TORO1 441 +)))|(% style="width:111px" %)((( 442 +((( 443 +DI2& 444 +))) 445 + 446 +((( 447 +DI2 level 448 +))) 449 +)))|(% style="width:105px" %)((( 450 +DI2TODO2 451 +)))|(% style="width:106px" %)((( 452 +DI2TORO2 453 +))) 454 + 455 +((( 456 +(% style="color:#037691" %)**The first byte**(%%)**:** 00 is the broadcast address, 01-08 is the RX group number. 457 +))) 458 + 459 +((( 460 +(% style="color:#037691" %)**The second byte**(%%)**:** send mapping request when not 0, not request when it is 0. 461 +))) 462 + 463 +((( 464 +(% style="color:#037691" %)**The third byte**(%%)**:** ACK returned to the sender after the mapping is completed. 465 +))) 466 + 467 +((( 468 +((( 469 +(% 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. 470 +))) 471 +))) 472 + 473 +((( 474 +(% style="color:#037691" %)**The Fifth byte**(%%)**: **DI1TODO1 when the interrupt is triggered, 0 when the interrupt is not triggered. 475 +))) 476 + 477 +((( 478 +(% style="color:#037691" %)**The Sixth byte**(%%)**:** 0 does not trigger interrupt when DI1TORO1 interrupt is triggered. 479 +))) 480 + 481 +((( 482 +((( 483 +(% 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. 484 +))) 485 +))) 486 + 487 +((( 488 +(% style="color:#037691" %)**The 8th byte**(%%)**: **DI2TODO2 when the interrupt is triggered, 0 when the interrupt is not triggered. 489 +))) 490 + 491 +((( 492 +(% style="color:#037691" %)**The 9th byte**(%%)**:** DI2TORO2 when an interrupt is triggered, 0 when an interrupt is not triggered. 493 +))) 494 + 495 +
- 1654152390874-192.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +287.9 KB - Content
- image-20220602111219-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.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