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)
Details
- Page properties
-
- Content
-
... ... @@ -4,9 +4,13 @@ 4 4 5 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,13 +13,16 @@ 13 13 = **2. Features for this firmware** = 14 14 15 15 16 -== **2.1 Overview** ==20 +== **2.1 Point To Point** == 17 17 18 -[[image:image-20220602111219-1.png]] 19 19 23 +[[image:image-20220602111219-1.png||height="472" width="972"]] 20 20 21 -== **2.2. Configure** == 22 22 26 +(% class="wikigeneratedid" id="H2.2.Configure" %) 27 +(% style="color:blue" %)**Configure:** 28 + 29 + 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,170 @@ 32 32 |AT+DI2TODO2=2 |AT+DI2TODO2=2 33 33 |AT+DI2TORO2=2|AT+DI2TORO2=2 34 34 35 - (% style="color:#037691"%)**A'sconfiguration:** **B's configuration:**42 +== **2.2 Point To Mult-Point ** == 36 36 37 -((( 38 -AT+GROUPMOD=0 AT+GROUPMOD=0 39 -))) 40 40 41 -((( 42 -AT+TXCHS=868700000 AT+TXCHS=869000000 43 -))) 45 +[[image:image-20220602111219-2.png]] 44 44 45 -((( 46 -AT+RXCHS=869000000 AT+RXCHS=868700000 47 -))) 48 48 49 -((( 50 -AT+TRIG1=2,50 AT+TRIG1=2,50 51 -))) 48 +[[image:image-20220602111219-3.png]] 52 52 53 -((( 54 -AT+TRIG2=2,50 AT+TRIG2=2,50 55 -))) 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. 56 56 57 -((( 58 -AT+DI1TODO1=2 AT+DI1TODO1=2 59 -))) 60 60 61 -((( 62 -AT+DI1TORO1=2 AT+DI1TORO1=2 63 -))) 53 +== **2.3 AT command** == 64 64 65 -((( 66 -AT+DI2TODO2=2 AT+DI2TODO2=2 55 + 56 +(% style="color:#037691" %)**ATZ** (%%)**: ** Trig a reset of the MCU 57 + 58 +(% style="color:#037691" %)**AT+FDR** (%%)**:** Reset Parameters to Factory Default, Keys Reserve 59 + 60 +(% style="color:#037691" %)**AT+FCU** (%%)**:** Get or Set the Frame Counter Uplink 61 + 62 +(% style="color:#037691" %)**AT+FCD** (%%)**:** Get or Set the Frame Counter Downlink 63 + 64 +(% style="color:#037691" %)**AT+TXP** (%%)**:** Get or Set the transmit power, the maximum is 20dBm (default is 14dBm) 65 + 66 +(% style="color:#037691" %)**AT+SYNC** (%%)**:** Get or Set the Sync word [1:0x34,0:0x12] (default is 1) 67 + 68 +(% style="color:#037691" %)**AT+PMB** (%%)**: **Get or Set the preamble (default:8) 69 + 70 +(% style="color:#037691" %)**AT+TXCHS **(%%)**:** Get or Set the transmit frequency of TX (default:868700000) 71 + 72 +(% style="color:#037691" %)**AT+TXSF **(%%)**:** Get or Set the spreading factor of TX (7 to 12) (default:12) 73 + 74 +(% style="color:#037691" %)**AT+RXCHS **(%%)**:** Get or Set the transmit frequency of RX (default:869000000) 75 + 76 +(% style="color:#037691" %)**AT+RXSF **(%%)**:** Get or Set the spreading factor of RX (7 to 12) (default:12) 77 + 78 +(% style="color:#037691" %)**AT+BW **(%%)**: **Get or Set the bandwidth [0:125khz,1:250khz,2:500khz] (default:0) 79 + 80 +(% 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) 81 + 82 +(% style="color:#037691" %)**AT+TDC **(%%)**:** Get or set the application data transmission interval in ms(default 10 minutes) 83 + 84 +(% style="color:#037691" %)**AT+VER **(%%)**:** Get firmware version number 85 + 86 +(% style="color:#037691" %)**AT+SEND **(%%)**: **Set Custom sent hex data 87 + 88 +(% style="color:#037691" %)**AT+GROUPMOD **(%%)**: **Set or Get the grouping mode of the device (default: 0) 89 + 90 +(% 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) 91 + 92 +(% style="color:#037691" %)**AT+TRIG1 **(%%)**:** Set or Get the DI1 pin interrupt trigger mode (default 0,0) 93 + 94 +(% style="color:#037691" %)**AT+TRIG2 **(%%)**: **Set or Get the DI2 pin interrupt trigger mode (default 0,0) 95 + 96 +(% style="color:#037691" %)**AT+DI1TODO1 **(%%)**: **Set or get the mode in which DI1 maps to DO1 (default 0) 97 + 98 +(% style="color:#037691" %)**AT+DI1TORO1 **(%%)**: **Set or get the mode in which DI1 maps to RO1(default 0) 99 + 100 +(% style="color:#037691" %)**AT+DI2TODO2 **(%%)**:** Set or get the mode in which DI2 maps to DO2(default 0) 101 + 102 +(% style="color:#037691" %)**AT+DI2TORO2 **(%%)**: **Set or get the mode in which DI2 maps to RO2(default 0) 103 + 104 + 105 + 106 +(% style="color:#4f81bd" %)**Example 1:** 107 + 108 +**AT+SEND=01020304 **will send a payload of 01020304 109 + 110 + 111 +(% style="color:#4f81bd" %)**Example 2: ** 112 + 113 +**AT+TRIGx=a **Trigger directly without triggering time 114 + 115 +**AT+TRIGx=a,b** 116 + 117 +a=0: falling edge; 118 + 119 +a=1: rising edge; 120 + 121 +a=2: falling edge or rising edge; 122 + 123 +b: triggering time in milliseconds. 124 + 125 +AT+TRIGx=2,50 Falling edge or rising edge trigger, and the trigger time exceeds 50ms. 126 + 127 + 128 +(% style="color:#4f81bd" %)**Example 3: ** 129 + 130 +**AT+DI1TODO1= maps value** 131 + 132 +**AT+DI1TORO1= maps value** 133 + 134 +**AT+DI2TODO2= maps value** 135 + 136 +**AT+DI2TORO2= maps value** 137 + 138 + 139 +(% border="1" style="background-color:#f7faff; color:black; width:706px" %) 140 +|=(% style="width: 102px;" %)Maps value|=(% style="width: 331px;" %)DIx to DOx|=(% style="width: 268px;" %)DIx to ROx 141 +|(% style="width:102px" %)0|(% style="width:331px" %)No Action|(% style="width:268px" %)No Action 142 +|(% style="width:102px" %)1|(% style="width:331px" %)If DIx is high, control DOx to output low level, If DIx is low, control DOx to output high level|(% style="width:268px" %)((( 143 +If DIx is high, control ROx to close, 144 + 145 +if DIx is low, control ROx to open 67 67 ))) 147 +|(% style="width:102px" %)2|(% style="width:331px" %)If DIx is high, control DOx to output high level, If DIx is low, control DOx to output low level|(% style="width:268px" %)((( 148 +If DIx is high, control ROx to open, 68 68 69 -((( 70 -AT+DI2TORO2=2 AT+DI2TORO2=2 150 +if DIx is low, control ROx to close 71 71 ))) 152 +|(% style="width:102px" %)3|(% style="width:331px" %)DOx state flip|(% style="width:268px" %)ROx state flip 72 72 73 73 74 - ==**2.3. Serialportdisplay**==155 +(% style="color:#4f81bd" %)**Example 4: ** 75 75 76 - [[image:image-20220602111219-2.png]]157 +**AT+GROUPMOD=0** Set to point to point mode 77 77 159 +**AT+GROUPMOD=0,aa** Set the TX group that controls the number of aa (The maximum value of aa is 8) 78 78 79 - [[image:image-20220602111219-3.png]]161 +**AT+GROUPMOD=1,bb** Set to the RX group controlled by the TX group, numbered bb(The maximum value of aa is 8) 80 80 81 - If the sender does not get theACK reply from the receiver,itwillretransmitupto4 times, each intervalis 6 seconds, andtheUplinkCounterof theretransmissionwill notincrease.163 +**AT+GROUPMOD=0,2** Set to control the TX group of the two RX groups 82 82 165 +**AT+GROUPMOD=1,1** Set the RX group numbered 1 166 + 167 +**AT+GROUPMOD=1,2** Set the RX group numbered 2 168 + 169 + 170 + 171 +== **2.4 Data Format** == 172 + 173 +8 bytes of GROUPID + 9 bytes of payload + 4 bytes of checksum 174 + 175 + 176 +**Payload:** 177 + 178 +(% border="1" style="background-color:#f7faff; color:black; width:938px" %) 179 +|=(% style="width: 123px;" %)**Size (bytes)**|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1|=(% style="width: 107px;" %)1 180 +|(% style="width:123px" %)**Value**|(% style="width:38px" %)address|(% style="width:70px" %)request|(% style="width:52px" %)ACK|(% style="width:127px" %)((( 181 +DI1& 182 + 183 +DI1 level 184 +)))|(% style="width:101px" %)DI1TODO1|(% style="width:91px" %)DI1TORO1|(% style="width:111px" %)((( 185 +DI2& 186 + 187 +DI2 level 188 +)))|(% style="width:105px" %)DI2TODO2|(% style="width:106px" %)DI2TORO2 189 + 190 +(% style="color:#037691" %)**The first byte**(%%)**:** 00 is the broadcast address, 01-08 is the RX group number. 191 + 192 +(% style="color:#037691" %)**The second byte**(%%)**:** send mapping request when not 0, not request when it is 0. 193 + 194 +(% style="color:#037691" %)**The third byte**(%%)**:** ACK returned to the sender after the mapping is completed. 195 + 196 +(% 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. 197 + 198 +(% style="color:#037691" %)**The Fifth byte**(%%)**: **DI1TODO1 when the interrupt is triggered, 0 when the interrupt is not triggered. 199 + 200 +(% style="color:#037691" %)**The Sixth byte**(%%)**:** 0 does not trigger interrupt when DI1TORO1 interrupt is triggered. 201 + 202 +(% 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. 203 + 204 +(% style="color:#037691" %)**The 8th byte**(%%)**: **DI2TODO2 when the interrupt is triggered, 0 when the interrupt is not triggered. 205 + 206 +(% style="color:#037691" %)**The 9th byte**(%%)**:** DI2TORO2 when an interrupt is triggered, 0 when an interrupt is not triggered. 207 + 83 83