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, 0 added, 3 removed)
Details
- Page properties
-
- Content
-
... ... @@ -4,13 +4,9 @@ 4 4 5 5 = **1. Overview** = 6 6 7 -((( 8 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 10 11 -((( 12 12 [[Point to Point Software for LT-22222-L>>https://github.com/dragino/LT-22222-L]]. 13 -))) 14 14 15 15 == == 16 16 ... ... @@ -17,17 +17,13 @@ 17 17 = **2. Features for this firmware** = 18 18 19 19 20 -== **2.1 Point To Point** ==16 +== **2.1 Overview** == 21 21 22 - === **2.1.1 Overview** ===18 +[[image:image-20220602111219-1.png]] 23 23 24 24 25 - [[image:image-20220602111219-1.png||height="472"width="972"]]21 +== **2.2. Configure** == 26 26 27 - 28 -=== **2.2.2 Configure** === 29 - 30 - 31 31 (% border="1" style="background-color:#f7faff; color:black; width:500px" %) 32 32 |=**A's configuration**|=**B's configuration** 33 33 |AT+GROUPMOD=0|AT+GROUPMOD=0 ... ... @@ -40,456 +40,52 @@ 40 40 |AT+DI2TODO2=2 |AT+DI2TODO2=2 41 41 |AT+DI2TORO2=2|AT+DI2TORO2=2 42 42 35 +(% style="color:#037691" %)**A's configuration: ** **B's configuration:** 43 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 117 ((( 118 - IftheTXgroupdoesnotreceivealltheACKrepliesfromtheRXgroup,itwillretransmitupto4times,eachtimeintervalis30seconds,andtheretransmissionUplinkCounterwillnotincrease.38 +AT+GROUPMOD=0 AT+GROUPMOD=0 119 119 ))) 120 120 121 - 122 - 123 - 124 -== **2.3 AT command** == 125 - 126 - 127 127 ((( 128 - (% style="color:#037691"%)**ATZ**(%%)**:**TrigaresetoftheMCU42 +AT+TXCHS=868700000 AT+TXCHS=869000000 129 129 ))) 130 130 131 131 ((( 132 - (% style="color:#037691" %)**AT+FDR** (%%)**:**ResetParameterstoFactoryDefault,KeysReserve46 +AT+RXCHS=869000000 AT+RXCHS=868700000 133 133 ))) 134 134 135 135 ((( 136 - (% style="color:#037691" %)**AT+FCU** (%%)**:**GetorSettheFrameCounterUplink50 +AT+TRIG1=2,50 AT+TRIG1=2,50 137 137 ))) 138 138 139 139 ((( 140 - (% style="color:#037691" %)**AT+FCD** (%%)**:**GetorSettheFrameCounterDownlink54 +AT+TRIG2=2,50 AT+TRIG2=2,50 141 141 ))) 142 142 143 143 ((( 144 - (% style="color:#037691" %)**AT+TXP** (%%)**:**GetorSetthetransmitpower,themaximumis20dBm(defaultis14dBm)58 +AT+DI1TODO1=2 AT+DI1TODO1=2 145 145 ))) 146 146 147 147 ((( 148 - (% style="color:#037691" %)**AT+SYNC** (%%)**:**GetorSettheSyncword[1:0x34,0:0x12](defaultis1)62 +AT+DI1TORO1=2 AT+DI1TORO1=2 149 149 ))) 150 150 151 151 ((( 152 - (% style="color:#037691" %)**AT+PMB** (%%)**:**GetorSetthepreamble(default:8)66 +AT+DI2TODO2=2 AT+DI2TODO2=2 153 153 ))) 154 154 155 155 ((( 156 - (% style="color:#037691" %)**AT+TXCHS**(%%)**:**GetorSetthetransmitfrequencyofTX(default:868700000)70 +AT+DI2TORO2=2 AT+DI2TORO2=2 157 157 ))) 158 158 159 -((( 160 -(% style="color:#037691" %)**AT+TXSF **(%%)**:** Get or Set the spreading factor of TX (7 to 12) (default:12) 161 -))) 162 162 163 -((( 164 -(% style="color:#037691" %)**AT+RXCHS **(%%)**:** Get or Set the transmit frequency of RX (default:869000000) 165 -))) 74 +== **2.3. Serial port display** == 166 166 167 -((( 168 -(% style="color:#037691" %)**AT+RXSF **(%%)**:** Get or Set the spreading factor of RX (7 to 12) (default:12) 169 -))) 76 +[[image:image-20220602111219-2.png]] 170 170 171 -((( 172 -(% style="color:#037691" %)**AT+BW **(%%)**: **Get or Set the bandwidth [0:125khz,1:250khz,2:500khz] (default:0) 173 -))) 174 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 -))) 79 +[[image:image-20220602111219-3.png]] 178 178 179 -((( 180 -(% style="color:#037691" %)**AT+TDC **(%%)**:** Get or set the application data transmission interval in ms(default 10 minutes) 181 -))) 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. 182 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 -((( 226 226 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,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -287.9 KB - Content
- image-20220602144747-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -36.9 KB - Content
- image-20220602144747-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -21.9 KB - Content