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, 2 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,14 +2,424 @@ 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 + 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 +((( 15 15 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 +
- image-20220602111219-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +43.3 KB - Content
- image-20220602111219-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.9 KB - Content