Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20220523163353-1.jpeg||height="604" width="500"]]
3
4
5
6
7
8
9
10 **Table of Contents:**
11
12 {{toc/}}
13
14
15
16
17
18
19
20 = 1. Introduction =
21
22 == 1.1 What is the LT-22222-L I/O Controller? ==
23
24 (((
25 (((
26 {{info}}
27 **This manual is also applicable to the LT-33222-L.**
28 {{/info}}
29
30 The Dragino (% style="color:blue" %)**LT-22222-L I/O Controller**(%%) is an advanced LoRaWAN device designed to provide seamless wireless long-range connectivity with various I/O options, including analog current and voltage inputs, digital inputs and outputs, and relay outputs.
31
32 The LT-22222-L I/O Controller simplifies and enhances I/O monitoring and controlling. It is ideal for professional applications in wireless sensor networks, including irrigation systems, smart metering, smart cities, building automation, and more. These controllers are designed for easy, cost-effective deployment using LoRa wireless technology.
33 )))
34 )))
35
36 (((
37 With the LT-22222-L I/O Controller, users can transmit data over ultra-long distances with low power consumption using LoRa, a spread-spectrum modulation technique derived from chirp spread spectrum (CSS) technology that operates on license-free ISM bands.
38 )))
39
40 (((
41 You can connect the LT-22222-L I/O Controller to a LoRaWAN network service provider in several ways:
42
43 * If there is public LoRaWAN network coverage in the area where you plan to install the device (e.g., The Things Network), you can select a network and register the LT-22222-L I/O controller with it.
44 * If there is no public LoRaWAN coverage in your area, you can set up a LoRaWAN gateway, or multiple gateways, and connect them to a LoRaWAN network server to create adequate coverage. Then, register the LT-22222-L I/O controller with this network.
45 * Setup your own private LoRaWAN network.
46
47 {{info}}
48 You can use a LoRaWAN gateway, such as the [[Dragino LG308>>https://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], to expand or create LoRaWAN coverage in your area.
49 {{/info}}
50 )))
51
52 (((
53 [[image:1653295757274-912.png]]
54
55
56 )))
57
58 == 1.2 Specifications ==
59
60 (% style="color:#037691" %)**Hardware System:**
61
62 * STM32L072xxxx MCU
63 * SX1276/78 Wireless Chip 
64 * Power Consumption:
65 ** Idle: 4mA@12V
66 ** 20dB Transmit: 34mA@12V
67 * Operating Temperature: -40 ~~ 85 Degrees, No Dew
68
69 (% style="color:#037691" %)**Interface for Model: LT22222-L:**
70
71 * 2 x Digital dual direction Input (Detect High/Low signal, Max: 50V, or 220V with optional external resistor)
72 * 2 x Digital Output (NPN output. Max pull-up voltage 36V,450mA)
73 * 2 x Relay Output (5A@250VAC / 30VDC)
74 * 2 x 0~~20mA Analog Input (res:0.01mA)
75 * 2 x 0~~30V Analog Input (res:0.01V)
76 * Power Input 7~~ 24V DC. 
77
78 (% style="color:#037691" %)**LoRa Spec:**
79
80 * Frequency Range:
81 ** Band 1 (HF): 862 ~~ 1020 MHz
82 ** Band 2 (LF): 410 ~~ 528 MHz
83 * 168 dB maximum link budget.
84 * +20 dBm - 100 mW constant RF output vs.
85 * +14 dBm high-efficiency PA.
86 * Programmable bit rate up to 300 kbps.
87 * High sensitivity: down to -148 dBm.
88 * Bullet-proof front end: IIP3 = -12.5 dBm.
89 * Excellent blocking immunity.
90 * Low RX current of 10.3 mA, 200 nA register retention.
91 * Fully integrated synthesizer with a resolution of 61 Hz.
92 * FSK, GFSK, MSK, GMSK, LoRaTM and OOK modulation.
93 * Built-in bit synchronizer for clock recovery.
94 * Preamble detection.
95 * 127 dB Dynamic Range RSSI.
96 * Automatic RF Sense and CAD with ultra-fast AFC.
97 * Packet engine up to 256 bytes with CRC.
98
99 == 1.3 Features ==
100
101 * LoRaWAN Class A & Class C modes
102 * Optional Customized LoRa Protocol
103 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/RU864/IN865/MA869
104 * AT Commands to change parameters
105 * Remotely configure parameters via LoRaWAN Downlink
106 * Firmware upgradable via program port
107 * Counting
108
109 == 1.4 Applications ==
110
111 * Smart buildings & home automation
112 * Logistics and supply chain management
113 * Smart metering
114 * Smart agriculture
115 * Smart cities
116 * Smart factory
117
118 == 2. Assembling the device ==
119
120 == 2.1 Connecting the antenna ==
121
122 Connect the LoRa antenna to the antenna connector, **ANT**,** **located on the top right side of the device, next to the upper screw terminal block. Secure the antenna by tightening it clockwise.
123
124 {{warning}}
125 Warning! Do not power on the device without connecting the antenna.
126 {{/warning}}
127
128 == 2.2 Terminals ==
129
130 The  LT-22222-L has two screw terminal blocks. The upper screw treminal block has 6 terminals and the lower screw terminal block has 10 terminals.
131
132 Upper screw terminal block (from left to right):
133
134 (% style="width:634px" %)
135 |=(% style="width: 295px;" %)Terminal|=(% style="width: 338px;" %)Function
136 |(% style="width:295px" %)GND|(% style="width:338px" %)Ground
137 |(% style="width:295px" %)VIN|(% style="width:338px" %)Input Voltage
138 |(% style="width:295px" %)AVI2|(% style="width:338px" %)Analog Voltage Input Terminal 2
139 |(% style="width:295px" %)AVI1|(% style="width:338px" %)Analog Voltage Input Terminal 1
140 |(% style="width:295px" %)ACI2|(% style="width:338px" %)Analog Current Input Terminal 2
141 |(% style="width:295px" %)ACI1|(% style="width:338px" %)Analog Current Input Terminal 1
142
143 Lower screw terminal block (from left to right):
144
145 (% style="width:633px" %)
146 |=(% style="width: 296px;" %)Terminal|=(% style="width: 334px;" %)Function
147 |(% style="width:296px" %)RO1-2|(% style="width:334px" %)Relay Output 1
148 |(% style="width:296px" %)RO1-1|(% style="width:334px" %)Relay Output 1
149 |(% style="width:296px" %)RO2-2|(% style="width:334px" %)Relay Output 2
150 |(% style="width:296px" %)RO2-1|(% style="width:334px" %)Relay Output 2
151 |(% style="width:296px" %)DI2+|(% style="width:334px" %)Digital Input 2
152 |(% style="width:296px" %)DI2-|(% style="width:334px" %)Digital Input 2
153 |(% style="width:296px" %)DI1+|(% style="width:334px" %)Digital Input 1
154 |(% style="width:296px" %)DI1-|(% style="width:334px" %)Digital Input 1
155 |(% style="width:296px" %)DO2|(% style="width:334px" %)Digital Output 2
156 |(% style="width:296px" %)DO1|(% style="width:334px" %)Digital Output 1
157
158 == 2.3 Powering the device ==
159
160 The LT-22222-L I/O Controller can be powered by a **7–24V DC** power source. Connect your power supply’s positive wire to the VIN and the negative wire to the GND screw terminals. The power indicator **(PWR) LED** will turn on when the device is properly powered.
161
162 Once powered, the **TX LED** will **fast-blink 5 times** which means the LT-22222-L will enter the **work mode** and start to **join** The Things Stack. The **TX LED** will be on for **5 seconds** after joining the network. When there is a **downlink** message from the server, the **RX LED** will be on for **1 second**. When the device is sending an uplink message to the server, the **TX LED** will be on for **1 second**. See also LED status.
163
164 {{warning}}
165 We recommend that you power on the LT-22222-L after configuring its registration information with a LoRaWAN network server. Otherwise, the device will continuously send join-request messages to attempt to join a LoRaWAN network but will fail.
166 {{/warning}}
167
168
169 [[image:1653297104069-180.png]]
170
171
172 = 3. Registering with a LoRaWAN Network Server =
173
174 By default, the LT-22222-L is configured to operate in LoRaWAN Class C mode. It supports OTAA (Over-the-Air Activation), the most secure method for activating a device with a LoRaWAN network server. The LT-22222-L comes with device registration information that allows you to register it with a LoRaWAN network, enabling the device to perform OTAA activation with the network server upon initial power-up and after any subsequent reboots.
175
176 After powering on, the **TX LED** will **fast-blink 5 times** which means the LT-22222-L will enter the **work mode** and start to **join** the LoRaWAN network. The **TX LED** will be on for **5 seconds** after joining the network. When there is a **downlink** message from the server, the **RX LED** will be on for **1 second**. When the device is sending an uplink message to the server, the **TX LED** will be on for **1 second**. See also LED status.
177
178 In case you can't set the root key and other identifiers in the network server and must use them from the server, you can use [[AT Commands>>||anchor="H4.UseATCommand"]] to configure them on the device.
179
180 The network diagram below shows how the LT-22222-L is connected to a typical LoRaWAN network.
181
182 [[image:image-20220523172350-1.png||height="266" width="864"]]
183
184 === 3.2.1 Prerequisites ===
185
186 Make sure you have the device registration information such as DevEUI, AppEUI, and AppKey with you. The registration information can be found on a sticker that can be found inside the package. Please keep the **registration information** sticker in a safe place for future reference.
187
188 [[image:image-20230425173427-2.png||height="246" width="530"]]
189
190 The following subsections explain how to register the LT-22222-L with different LoRaWAN network server providers.
191
192 === 3.2.2 The Things Stack Sandbox (TTSS) ===
193
194 The Things Stack Sandbox was formally called The Things Stack Community Edition.
195
196 * Log in to your [[The Things Stack Sandbox>>https://eu1.cloud.thethings.network]] account.
197 * Create an application with The Things Stack if you do not have one yet.
198 * Go to your application page and click on the **End devices** in the left menu.
199 * On the End devices page, click on **+ Register end device**. Two registration options are available:
200
201 ==== 3.2.2.1 Using the LoRaWAN Device Repository ====
202
203 * On the **Register end device** page:
204 ** Select the option **Select the end device in the LoRaWAN Device Repository **under **Input method**.
205 ** Select the **End device brand**, **Model**, **Hardware version**, **Firmware version**, and **Profile (Region)** from the respective dropdown lists.
206 *** **End device brand**: Dragino Technology Co., Limited
207 *** **Model**: LT22222-L I/O Controller
208 *** **Hardware ver**: Unknown
209 *** **Firmware ver**: 1.6.0
210 *** **Profile (Region)**: Select the region that matches your device.
211 ** Select the **Frequency plan** that matches your device from the **Frequency plan** dropdown list.
212
213 [[image:lt-22222-l-dev-repo-reg-p1.png||height="625" width="1000"]]
214
215
216 * Register end device page continued...
217 ** Enter the **AppEUI** in the **JoinEUI** field and click the **Confirm** button. If The Things Stack accepts the JoinEUI you provided, it will display the message 'This end device can be registered on the network'.
218 ** In the **DevEUI** field, enter the **DevEUI**.
219 ** In the **AppKey** field, enter the **AppKey.**
220 ** In the **End device ID** field, enter a unique name for your LT-22222-N within this application.
221 ** Under **After registration**, select the **View registered end device** option.
222
223 [[image:lt-22222-l-dev-repo-reg-p2.png||height="625" width="1000"]]
224
225 ==== ====
226
227 ==== 3.2.2.2 Adding device manually ====
228
229 * On the **Register end device** page:
230 ** Select the option **Enter end device specifies manually** under **Input method**.
231 ** Select the **Frequency plan** that matches your device from the **Frequency plan** dropdown list.
232 ** Select the **LoRaWAN version** as **LoRaWAN Specification 1.0.3**
233 ** Select the **Regional Parameters version** as** RP001 Regional Parameters 1.0.3 revision A**
234 ** Click **Show advanced activation, LoRaWAN class and cluster settings** link to expand the hidden section.
235 ** Select the option **Over the air activation (OTAA)** under the **Activation mode.**
236 ** Select **Class C (Continuous)** from the **Additional LoRaWAN class capabilities** dropdown list.
237
238 [[image:lt-22222-l-manually-p1.png||height="625" width="1000"]]
239
240
241 * Register end device page continued...
242 ** Enter the **AppEUI** in the **JoinEUI** field and click the **Confirm** button. If The Things Stack accepts the JoinEUI you provided, it will display the message 'This end device can be registered on the network'
243 ** In the **DevEUI** field, enter the **DevEUI**.
244 ** In the **AppKey** field, enter the **AppKey**.
245 ** In the **End device ID** field, enter a unique name for your LT-22222-N within this application.
246 ** Under **After registration**, select the **View registered end device** option.
247 ** Click the **Register end device** button.
248
249 [[image:lt-22222-l-manually-p2.png||height="625" width="1000"]]
250
251
252 You will be navigated to the **Device overview** page.
253
254
255 [[image:lt-22222-device-overview.png||height="625" width="1000"]]
256
257
258 ==== 3.2.2.3 Joining ====
259
260 On the Device overview page, click on **Live data** tab. The Live data panel for your device will display.
261
262 Now power on your LT-22222-L. It will begin joining The Things Stack. In the **Live data** panel, you can see the **join-request** and **join-accept** messages exchanged between the device and the network server. Once successfully joined, the device will send its first **uplink data message** to the application it belongs to (in this example, **dragino-docs**).
263
264
265 [[image:lt-22222-join-network.png||height="625" width="1000"]]
266
267
268 By default, you will receive an uplink data message from the device every 10 minutes.
269
270 Click on one of a **Forward uplink data messages **to see its payload content. The payload content is encapsulated within the decode_payload {} JSON object.
271
272 [[image:lt-22222-ul-payload-decoded.png]]
273
274
275 If you can't see the decoded payload, it is because you haven't added the uplink formatter code. To add the uplink formatter code, select **End devices** > **LT-22222-L** > **Payload formatters** > **Uplink**. Then  select **Use Device repository formatters** for the **Formatter type** dropdown. Click the **Save changes** button to apply the changes.
276
277 {{info}}
278 The Things Stack provides two levels of payload formatters: application level and device level. The device-level payload formatters **override **the application-level payload formatters.
279 {{/info}}
280
281 [[image:lt-22222-ul-payload-fmt.png||height="686" width="1000"]]
282
283
284 == 3.3 Working Modes and Uplink Payload formats ==
285
286
287 The LT-22222-L has 5 **working modes**. It also has an interrupt/trigger mode for different types of applications that can be used together with any working mode as an additional feature. The default mode is MOD1 and you can switch between these modes using AT commands.
288
289 * (% style="color:blue" %)**MOD1**(%%): (default mode/factory set): 2ACI + 2AVI + DI + DO + RO
290
291 * (% style="color:blue" %)**MOD2**(%%): Double DI Counting + DO + RO
292
293 * (% style="color:blue" %)**MOD3**(%%): Single DI Counting + 2 x ACI + DO + RO
294
295 * (% style="color:blue" %)**MOD4**(%%): Single DI Counting + 1 x Voltage Counting + DO + RO
296
297 * (% style="color:blue" %)**MOD5**(%%): Single DI Counting + 2 x AVI + 1 x ACI + DO + RO
298
299 * (% style="color:blue" %)**ADDMOD6**(%%): Trigger Mode, Optional, used together with MOD1 ~~ MOD5
300
301 The uplink messages are sent over LoRaWAN FPort=2. By default, an uplink message is sent every 10 minutes.
302
303 === 3.3.1 AT+MOD~=1, 2ACI+2AVI ===
304
305 (((
306 This is the default mode.
307
308 The uplink payload is 11 bytes long.
309
310 (% style="color:red" %)**Note:The maximum count depends on the bytes number of bytes.
311 The maximum count for four bytes is FFFFFFFF (hex) = 4294967295 (dec).
312 It starts counting again when it reaches the maximum value.**(% style="display:none" wfd-invisible="true" %)
313
314 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
315 |(% style="background-color:#4f81bd; color:white" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**
316 |Value|(((
317 AVI1 voltage
318 )))|(((
319 AVI2 voltage
320 )))|(((
321 ACI1 Current
322 )))|(((
323 ACI2 Current
324 )))|**DIDORO***|(((
325 Reserve
326 )))|MOD
327 )))
328
329 (((
330 (% style="color:#4f81bd" %)*** DIDORO**(%%) is a combination of RO1, RO2, DI3, DI2, DI1, DO3, DO2 and DO1, and its size is1 byte long as shown below.
331
332 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
333 |**bit 7**|**bit 6**|**bit 5**|**bit 4**|**bit 3**|**bit 2**|**bit 1**|**bit 0**
334 |RO1|RO2|--DI3--|DI2|DI1|--DO3--|DO2|DO1
335 )))
336
337 * RO is for the relay. ROx=1: CLOSED, ROx=0 always OPEN.
338 * DI is for digital input. DIx=1: HIGH or FLOATING, DIx=0: LOW.
339 * DO is for reverse digital output. DOx=1: LOW, DOx=0: HIGH or FLOATING.
340
341 (% style="color:red" %)**Note: DI3 and DO3 bits are not valid for LT-22222-L**
342
343 For example, if the payload is: [[image:image-20220523175847-2.png]]
344
345
346 **The interface values can be calculated as follows:  **
347
348 AVI1 channel voltage is 0x04AB/1000=1195(DEC)/1000=1.195V
349
350 AVI2 channel voltage is 0x04AC/1000=1.196V
351
352 ACI1 channel current is 0x1310/1000=4.880mA
353
354 ACI2 channel current is 0x1300/1000=4.864mA
355
356 The last byte 0xAA= **10101010**(b) means,
357
358 * [1] The RO1 relay channel is CLOSED, and the RO1 LED is ON.
359 * [0] The RO2 relay channel is OPEN, and the RO2 LED is OFF.
360 * **[1] DI3 - not used for LT-22222-L.**
361 * [0] DI2 channel input is LOW, and the DI2 LED is OFF.
362 * [1] DI1 channel input state:
363 ** DI1 is FLOATING when no sensor is connected between DI1+ and DI1-.
364 ** DI1 is HIGH when a sensor is connected between DI1- and DI1+ and the sensor is ACTIVE.
365 ** DI1 LED is ON in both cases.
366 * **[0] DO3 - not used for LT-22222-L.**
367 * [1] DO2 channel output is LOW, and the DO2 LED is ON.
368 * [0] DO1 channel output state:
369 ** DO1 is FLOATING when there is no load between DO1 and V+.
370 ** DO1 is HIGH and there is a load between DO1 and V+.
371 ** DO1 LED is OFF in both cases.
372
373 Reserve = 0
374
375 MOD = 1
376
377 === 3.3.2 AT+MOD~=2, (Double DI Counting) ===
378
379
380 (((
381 **For LT-22222-L**: In this mode, **DI1 and DI2** are used as counting pins.
382 )))
383
384 (((
385 The uplink payload is 11 bytes long.
386
387 (% style="color:red" %)**Note:The maximum count depends on the bytes it is.
388 The maximum count for four bytes is FFFFFFFF (hex) = 4294967295 (dec).
389 It starts counting again when it reaches the maximum value.**
390
391 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
392 |(% style="background-color:#4f81bd; color:white" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white" %)**4**|(% style="background-color:#4f81bd; color:white" %)**4**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**
393 |Value|COUNT1|COUNT2 |DIDORO*|(((
394 Reserve
395 )))|MOD
396 )))
397
398 (((
399 (% style="color:#4f81bd" %)***DIDORO**(%%) is a combination of RO1, RO2, FIRST, Reserve, Reserve, DO3, DO2 and DO1, and its size is 1 byte long as shown below.
400
401 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
402 |**bit 7**|**bit 6**|**bit 5**|**bit 4**|**bit 3**|**bit 2**|**bit 1**|**bit 0**
403 |RO1|RO2|FIRST|Reserve|Reserve|--DO3--|DO2|DO1
404
405 * RO is for the relay. ROx=1: CLOSED, ROx=0 always OPEN.
406 )))
407
408 * FIRST: Indicates that this is the first packet after joining the network.
409 * DO is for reverse digital output. DOx=1: LOW, DOx=0: HIGH or FLOATING.
410
411 (((
412 (% style="color:red" %)**Note: DO3 bit is not valid for LT-22222-L**
413
414
415 )))
416
417 (((
418 **To activate this mode, run the following AT commands:**
419 )))
420
421 (((
422 (% class="box infomessage" %)
423 (((
424 **AT+MOD=2**
425
426 **ATZ**
427 )))
428 )))
429
430 (((
431
432
433 (% style="color:#4f81bd" %)**AT Commands for counting:**
434 )))
435
436 (((
437 **For LT22222-L:**
438
439 (% style="color:blue" %)**AT+TRIG1=0,100**(%%)** (sets the DI1 port to trigger on a LOW level. The valid signal duration is 100ms) **
440
441 (% style="color:blue" %)**AT+TRIG1=1,100**(%%)** (sets the DI1 port to trigger on a HIGH level. The valid signal duration is 100ms) **
442
443 (% style="color:blue" %)**AT+TRIG2=0,100**(%%)** (sets the DI2 port to trigger on a LOW level. The valid signal duration is 100ms) **
444
445 (% style="color:blue" %)**AT+TRIG2=1,100**(%%)** (sets the DI2 port to trigger on a HIGH level. The valid signal duration is 100ms) **
446
447 (% style="color:blue" %)**AT+SETCNT=1,60**(%%)** (sets the COUNT1 value to 60)**
448
449 (% style="color:blue" %)**AT+SETCNT=2,60 **(%%)**(sets the COUNT2 value to 60)**
450 )))
451
452
453 === 3.3.3 AT+MOD~=3, Single DI Counting + 2 x ACI ===
454
455 (% style="color:red" %)**Note: The maximum count depends on the bytes it is.
456 The maximum count for four bytes is FFFFFFFF (hex) = 4294967295 (dec).
457 It starts counting again when it reaches the maximum value.**
458
459 **LT22222-L**: In this mode, the DI1 is used as a counting pin.
460
461 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
462 |(% style="background-color:#4f81bd; color:white" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white" %)**4**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**
463 |Value|COUNT1|(((
464 ACI1 Current
465 )))|(((
466 ACI2 Current
467 )))|DIDORO*|Reserve|MOD
468
469 (((
470 (% style="color:#4f81bd" %)***DIDORO**(%%) is a combination of RO1, RO2, DI3, DI2, DI1, DO3, DO2 and DO1, for a total of 1 byte, as shown below.
471
472 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
473 |**bit 7**|**bit 6**|**bit 5**|**bit 4**|**bit 3**|**bit 2**|**bit 1**|**bit 0**
474 |RO1|RO2|FIRST|Reserve|Reserve|--DO3--|DO2|DO1
475 )))
476
477 * RO is for the relay. ROx=1: closed, ROx=0 always open.
478 * FIRST: Indicates that this is the first packet after joining the network.
479 * DO is for reverse digital output. DOx=1: output low, DOx=0: high or floating.
480
481 (((
482 (% style="color:red" %)**Note: DO3 bit is not valid for LT-22222-L.**
483 )))
484
485
486 (((
487 **To activate this mode, run the following AT commands:**
488 )))
489
490 (((
491 (% class="box infomessage" %)
492 (((
493 **AT+MOD=3**
494
495 **ATZ**
496 )))
497 )))
498
499 (((
500 AT Commands for counting:
501
502 The AT Commands for counting are similar to the [[MOD2 Counting Command>>||anchor="H3.3.2AT2BMOD3D22C28DoubleDICounting29"]]s.
503 )))
504
505
506 === 3.3.4 AT+MOD~=4, Single DI Counting + 1 x Voltage Counting ===
507
508 (% style="color:red" %)**Note:The maximum count depends on the bytes it is.
509 The maximum count for four bytes is FFFFFFFF (hex) = 4294967295 (dec).
510 It starts counting again when it reaches the maximum value.**
511
512
513 (((
514 **LT22222-L**: In this mode, the DI1 is used as a counting pin.
515 )))
516
517 (((
518 The AVI1 is also used for counting. It monitors the voltage and checks it every **60 seconds**. If the voltage is higher or lower than VOLMAX mV, the AVI1 count increases by 1, allowing AVI1 counting to be used to measure a machine's working hours.
519
520 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
521 |(% style="background-color:#4f81bd; color:white" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white" %)**4**|(% style="background-color:#4f81bd; color:white" %)**4**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**
522 |Value|COUNT1|AVI1 Counting|DIDORO*|(((
523 Reserve
524 )))|MOD
525 )))
526
527 (((
528 (% style="color:#4f81bd" %)**DIDORO **(%%)is a combination of RO1, RO2, DI3, DI2, DI1, DO3, DO2 and DO1, for a total of 1 byte, as shown below.
529
530 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
531 |**bit 7**|**bit 6**|**bit 5**|**bit 4**|**bit 3**|**bit 2**|**bit 1**|**bit 0**
532 |RO1|RO2|FIRST|Reserve|Reserve|--DO3--|DO2|DO1
533 )))
534
535 * RO is for the relay. ROx=1: closed, ROx=0 always open.
536 * FIRST: Indicates that this is the first packet after joining the network.
537 * DO is for reverse digital output. DOx=1: output low, DOx=0: high or floating.
538
539 (((
540 (% style="color:red" %)**Note: DO3 bit is not valid for LT-22222-L.**
541
542
543 )))
544
545 (((
546 **To activate this mode, run the following AT commands:**
547 )))
548
549 (((
550 (% class="box infomessage" %)
551 (((
552 **AT+MOD=4**
553
554 **ATZ**
555 )))
556 )))
557
558 (((
559 Other AT Commands for counting are similar to the [[MOD2 Counting Command>>||anchor="H3.3.2AT2BMOD3D22C28DoubleDICounting29"]]s.
560 )))
561
562 (((
563 **In addition to that, below are the commands for AVI1 Counting:**
564
565 (% style="color:blue" %)**AT+SETCNT=3,60 **(%%)**(Sets AVI Count to 60)**
566
567 (% style="color:blue" %)**AT+VOLMAX=20000 **(%%)**(If AVI1 voltage higher than VOLMAX (20000mV =20v), counter increase 1)**
568
569 (% style="color:blue" %)**AT+VOLMAX=20000,0 **(%%)**(If AVI1 voltage lower than VOLMAX (20000mV =20v), counter increase 1)**
570
571 (% style="color:blue" %)**AT+VOLMAX=20000,1 **(%%)**(If AVI1 voltage higher than VOLMAX (20000mV =20v), counter increase 1)**
572 )))
573
574
575 === 3.3.5 AT+MOD~=5, Single DI Counting + 2 x AVI + 1 x ACI ===
576
577 (% style="color:red" %)**Note:The maximum count depends on the bytes it is.
578 The maximum count for four bytes is FFFFFFFF (hex) = 4294967295 (dec).
579 It starts counting again when it reaches the maximum value.**
580
581
582 **LT22222-L**: In this mode, the DI1 is used as a counting pin.
583
584 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
585 |(% style="background-color:#4f81bd; color:white" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**2**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**|(% style="background-color:#4f81bd; color:white" %)**1**
586 |Value|(((
587 AVI1 voltage
588 )))|(((
589 AVI2 voltage
590 )))|(((
591 ACI1 Current
592 )))|COUNT1|DIDORO*|(((
593 Reserve
594 )))|MOD
595
596 (((
597 (% style="color:#4f81bd" %)**DIDORO**(%%) is a combination of RO1, RO2, DI3, DI2, DI1, DO3, DO2 and DO1, for a total of 1 byte, as shown below.
598
599 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
600 |**bit 7**|**bit 6**|**bit 5**|**bit 4**|**bit 3**|**bit 2**|**bit 1**|**bit 0**
601 |RO1|RO2|FIRST|Reserve|Reserve|DO3|DO2|DO1
602 )))
603
604 * RO is for the relay. ROx=1: closed, ROx=0 always open.
605 * FIRST: Indicates that this is the first packet after joining the network.
606 * (((
607 DO is for reverse digital output. DOx=1: output low, DOx=0: high or floating.
608 )))
609
610 (((
611 (% style="color:red" %)**Note: DO3 bit is not valid for LT-22222-L.**
612 )))
613
614 (((
615 **To activate this mode, run the following AT commands:**
616 )))
617
618 (((
619 (% class="box infomessage" %)
620 (((
621 **AT+MOD=5**
622
623 **ATZ**
624 )))
625 )))
626
627 (((
628 Other AT Commands for counting are similar to the [[MOD2 Counting Command>>||anchor="H3.3.2AT2BMOD3D22C28DoubleDICounting29"]]s.
629 )))
630
631
632 === 3.3.6 AT+ADDMOD~=6 (Trigger Mode, Optional) ===
633
634
635 (% style="color:#4f81bd" %)**This mode is optional and intended for trigger purposes. It can operate __alongside__ with other modes.**
636
637 For example, if you configure the following commands:
638
639 * **AT+MOD=1 ** **~-~->**  Sets the default working mode
640 * **AT+ADDMOD6=1**   **~-~->**  Enables trigger mode
641
642 The LT-22222-L will continuously monitor AV1, AV2, AC1, and AC2 every 5 seconds. It will send uplink packets in two cases:
643
644 1. Periodic uplink: Based on TDC time. The payload is the same as in normal mode (MOD=1 as set above). These are (% style="color:#4f81bd" %)**unconfirmed**(%%) uplinks.
645 1. (((
646 Trigger uplink: sent when a trigger condition is met. In this case, LT will send two packets
647
648 * The first uplink uses the payload specified in trigger mode (MOD=6).
649 * The second packet uses the normal mode payload (MOD=1 as set above). Both are (% style="color:#4f81bd" %)**confirmed uplinks.**
650 )))
651
652 (% style="color:#037691" %)**AT Commands to set Trigger Conditions**:
653
654 (% style="color:#4f81bd" %)**Trigger based on voltage**:
655
656 Format: AT+AVLIM=<AV1_LIMIT_LOW>,< AV1_LIMIT_HIGH>,<AV2_LIMIT_LOW>,< AV2_LIMIT_HIGH>
657
658
659 **Example:**
660
661 AT+AVLIM=3000,6000,0,2000 (triggers an uplink if AVI1 voltage is lower than 3V or higher than 6V, or if AV2 voltage is higher than 2V)
662
663 AT+AVLIM=5000,0,0,0 (triggers an uplink if AVI1 voltage lower than 5V. Use 0 for parameters that are not in use)
664
665
666 (% style="color:#4f81bd" %)**Trigger based on current**:
667
668 Format: AT+ACLIM=<AC1_LIMIT_LOW>,< AC1_LIMIT_HIGH>,<AC2_LIMIT_LOW>,< AC2_LIMIT_HIGH>
669
670
671 **Example:**
672
673 AT+ACLIM=10000,15000,0,0 (triggers an uplink if AC1 current is lower than 10mA or higher than 15mA)
674
675
676 (% style="color:#4f81bd" %)**Trigger based on DI status**:
677
678 DI status triggers Flag.
679
680 Format: AT+DTRI=<DI1_TIRGGER_FlAG>,< DI2_TIRGGER_FlAG >
681
682
683 **Example:**
684
685 AT+ DTRI =1,0   (Enable DI1 trigger / disable DI2 trigger)
686
687
688 (% style="color:#037691" %)**LoRaWAN Downlink Commands for Setting the Trigger Conditions:**
689
690 Type Code: 0xAA. Downlink command same as AT Command **AT+AVLIM, AT+ACLIM**
691
692 Format: AA xx yy1 yy1 yy2 yy2 yy3 yy3 yy4 yy4
693
694 AA: Type Code for this downlink Command:
695
696 xx: **0**: Limit for AV1 and AV2; **1**: limit for AC1 and AC2; **2**: DI1and DI2 trigger enable/disable.
697
698 yy1 yy1: AC1 or AV1 LOW limit or DI1/DI2 trigger status.
699
700 yy2 yy2: AC1 or AV1 HIGH limit.
701
702 yy3 yy3: AC2 or AV2 LOW limit.
703
704 Yy4 yy4: AC2 or AV2 HIGH limit.
705
706
707 **Example 1**: AA 00 13 88 00 00 00 00 00 00
708
709 Same as AT+AVLIM=5000,0,0,0 (triggers an uplink if AVI1 voltage is lower than 5V. Use 0s for parameters that are not in use)
710
711
712 **Example 2**: AA 02 01 00
713
714 Same as AT+ DTRI =1,0 (Enable DI1 trigger / disable DI2 trigger)
715
716
717 (% style="color:#4f81bd" %)**Trigger Settings Payload Explanation:**
718
719 MOD6 Payload: total of 11 bytes
720
721 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
722 |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:69px" %)**1**|(% style="background-color:#4f81bd; color:white; width:69px" %)**1**|(% style="background-color:#4f81bd; color:white; width:109px" %)**1**|(% style="background-color:#4f81bd; color:white; width:49px" %)**6**|(% style="background-color:#4f81bd; color:white; width:109px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**1**
723 |Value|(((
724 TRI_A FLAG
725 )))|(((
726 TRI_A Status
727 )))|(((
728 TRI_DI FLAG+STA
729 )))|Reserve|Enable/Disable MOD6|(((
730 MOD(6)
731 )))
732
733 (% style="color:#4f81bd" %)**TRI FLAG1**(%%) is a combination to show if the trigger is set for this part. Totally 1 byte as below
734
735 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
736 |**bit 7**|**bit 6**|**bit 5**|**bit 4**|**bit 3**|**bit 2**|**bit 1**|**bit 0**
737 |(((
738 AV1_LOW
739 )))|(((
740 AV1_HIGH
741 )))|(((
742 AV2_LOW
743 )))|(((
744 AV2_HIGH
745 )))|(((
746 AC1_LOW
747 )))|(((
748 AC1_HIGH
749 )))|(((
750 AC2_LOW
751 )))|(((
752 AC2_HIGH
753 )))
754
755 * Each bit shows if the corresponding trigger has been configured.
756
757 **Example:**
758
759 10100000: Means the system has configure to use the trigger: AV1_LOW and AV2_LOW
760
761
762 (% style="color:#4f81bd" %)**TRI Status1**(%%) is a combination to show which condition is trigger. Totally 1 byte as below
763
764 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
765 |**bit 7**|**bit 6**|**bit 5**|**bit 4**|**bit 3**|**bit 2**|**bit 1**|**bit 0**
766 |(((
767 AV1_LOW
768 )))|(((
769 AV1_HIGH
770 )))|(((
771 AV2_LOW
772 )))|(((
773 AV2_HIGH
774 )))|(((
775 AC1_LOW
776 )))|(((
777 AC1_HIGH
778 )))|(((
779 AC2_LOW
780 )))|(((
781 AC2_HIGH
782 )))
783
784 * Each bit shows which status has been triggered on this uplink.
785
786 **Example:**
787
788 10000000: Means this uplink is triggered by AV1_LOW. That means the voltage is too low.
789
790
791 (% style="color:#4f81bd" %)**TRI_DI FLAG+STA **(%%)is a combination to show which condition is trigger. Totally 1byte as below
792
793 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:674px" %)
794 |(% style="width:64px" %)**bit 7**|(% style="width:68px" %)**bit 6**|(% style="width:63px" %)**bit 5**|(% style="width:66px" %)**bit 4**|(% style="width:109px" %)**bit 3**|(% style="width:93px" %)**bit 2**|(% style="width:109px" %)**bit 1**|(% style="width:99px" %)**bit 0**
795 |(% style="width:64px" %)N/A|(% style="width:68px" %)N/A|(% style="width:63px" %)N/A|(% style="width:66px" %)N/A|(% style="width:109px" %)DI2_STATUS|(% style="width:93px" %)DI2_FLAG|(% style="width:109px" %)DI1_STATUS|(% style="width:99px" %)DI1_FLAG
796
797 * Each bits shows which status has been triggered on this uplink.
798
799 **Example:**
800
801 00000111: Means both DI1 and DI2 trigger are enabled and this packet is trigger by DI1.
802
803 00000101: Means both DI1 and DI2 trigger are enabled.
804
805
806 (% style="color:#4f81bd" %)**Enable/Disable MOD6 **(%%): 0x01: MOD6 is enable. 0x00: MOD6 is disable.
807
808 Downlink command to poll MOD6 status:
809
810 **AB 06**
811
812 When device got this command, it will send the MOD6 payload.
813
814
815 === 3.3.7 Payload Decoder ===
816
817 (((
818
819
820 **Decoder for TTN/loraserver/ChirpStack**:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
821 )))
822
823
824 == 3.4 ​Configure LT-22222-L via AT Commands or Downlinks ==
825
826 (((
827 You can configure LT-22222-L I/O Controller via AT Commands or LoRaWAN Downlinks.
828 )))
829
830 (((
831 (((
832 There are two tytes of commands:
833 )))
834 )))
835
836 * (% style="color:blue" %)**Common commands**(%%):
837
838 * (% style="color:blue" %)**Sensor-related commands**(%%):
839
840 === 3.4.1 Common commands ===
841
842 (((
843 These are available for each sensors and include actions such as changing the uplink interval or resetting the device. For firmware v1.5.4, you can find the supported common commands under: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]s.
844 )))
845
846 === 3.4.2 Sensor-related commands ===
847
848 These commands are specially designed for the LT-22222-L. Commands can be sent to the device using options such as an AT command or a LoRaWAN downlink payload.
849
850
851 ==== 3.4.2.1 Set Transmit Interval ====
852
853 Sets the uplink interval of the device. The default uplink transmission interval is 10 minutes.
854
855 (% style="color:#037691" %)**AT command**
856
857 (% border="2" style="width:500px" %)
858 |**Command**|AT+TDC=<time>
859 |**Response**|
860 |**Parameters**|**time** : uplink interval is in milliseconds
861 |**Example**|(((
862 AT+TDC=30000
863
864 Sets the uplink interval to 30,000 milliseconds (30 seconds)
865 )))
866
867 (% style="color:#037691" %)**Downlink payload**
868
869 (% border="2" style="width:500px" %)
870 |**Payload**|(((
871 <prefix><time>
872 )))
873 |**Parameters**|(((
874 **prefix** : 0x01
875
876 **time** : uplink interval is in milliseconds, represented by 3  bytes in hexadecimal.
877 )))
878 |**Example**|(((
879 01 **00 75 30**
880
881 Sets the uplink interval to 30,000 milliseconds (30 seconds)
882
883 Conversion: 30000 (dec) = 00 75 30 (hex)
884
885 See [[RapidTables>>https://www.rapidtables.com/convert/number/decimal-to-hex.html?x=30000]]
886 )))
887
888 ==== 3.4.2.2 Set the Working Mode (AT+MOD) ====
889
890 Sets the working mode.
891
892 (% style="color:#037691" %)**AT command**
893
894 (% border="2" style="width:500px" %)
895 |(% style="width:97px" %)**Command**|(% style="width:413px" %)AT+MODE=<working_mode>
896 |(% style="width:97px" %)**Response**|(% style="width:413px" %)
897 |(% style="width:97px" %)**Parameters**|(% style="width:413px" %)(((
898 **working_mode** :
899
900 1 = (Default mode/factory set):  2ACI + 2AVI + DI + DO + RO
901
902 2 = Double DI Counting + DO + RO
903
904 3 = Single DI Counting + 2 x ACI + DO + RO
905
906 4 = Single DI Counting + 1 x Voltage Counting + DO + RO
907
908 5 = Single DI Counting + 2 x AVI + 1 x ACI + DO + RO
909
910 6 = Trigger Mode, Optional, used together with MOD1 ~~ MOD5
911 )))
912 |(% style="width:97px" %)**Example**|(% style="width:413px" %)(((
913 AT+MOD=2
914
915 Sets the device to working mode 2 (Double DI Counting + DO + RO)
916 )))
917
918 (% class="wikigeneratedid" %)
919 (% style="color:#037691" %)**Downlink payload**
920
921 (% border="2" style="width:500px" %)
922 |(% style="width:98px" %)**Payload**|(% style="width:400px" %)<prefix><working_mode>
923 |(% style="width:98px" %)**Parameters**|(% style="width:400px" %)(((
924 **prefix** : 0x0A
925
926 **working_mode** : Working mode, represented by 1 byte in hexadecimal.
927 )))
928 |(% style="width:98px" %)**Example**|(% style="width:400px" %)(((
929 0A **02**
930
931 Sets the device to working mode 2 (Double DI Counting + DO + RO)
932 )))
933
934 ==== 3.4.2.3 Poll an uplink ====
935
936 Requests an uplink from LT-22222-L.
937
938 (% style="color:#037691" %)**AT command**
939
940 There is no AT Command to request an uplink from LT-22222-L
941
942 (% style="color:#037691" %)**Downlink payload**
943
944 (% border="2" style="width:500px" %)
945 |(% style="width:101px" %)**Payload**|(% style="width:397px" %)<prefix>FF
946 |(% style="width:101px" %)**Parameters**|(% style="width:397px" %)**prefix** : 0x08
947 |(% style="width:101px" %)**Example**|(% style="width:397px" %)(((
948 08 FF
949
950 Requests an uplink from LT-22222-L.
951 )))
952
953 ==== 3.4.2.4 Enable/Disable Trigger Mode ====
954
955 Enable or disable the trigger mode for the current working mode (see also [[ADDMOD6>>||anchor="H3.3.6AT2BADDMOD3D6.28TriggerMode2COptional29"]]).
956
957 (% style="color:#037691" %)**AT Command**
958
959 (% border="2" style="width:500px" %)
960 |(% style="width:95px" %)**Command**|(% style="width:403px" %)AT+ADDMOD6=<enable/disable trigger_mode>
961 |(% style="width:95px" %)**Response**|(% style="width:403px" %)
962 |(% style="width:95px" %)**Parameters**|(% style="width:403px" %)(((
963 **enable/disable trigger_mode** :
964
965 1 = enable trigger mode
966
967 0 = disable trigger mode
968 )))
969 |(% style="width:95px" %)**Example**|(% style="width:403px" %)(((
970 AT+ADDMOD6=1
971
972 Enable trigger mode for the current working mode
973 )))
974
975 (% style="color:#037691" %)**Downlink payload**
976
977 (% border="2" style="width:500px" %)
978 |(% style="width:97px" %)**Payload**|(% style="width:401px" %)<prefix><enable/disable trigger_mode>
979 |(% style="width:97px" %)**Parameters**|(% style="width:401px" %)(((
980 **prefix** : 0x0A 06 (two bytes in hexadecimal)
981
982 **working mode** : enable (1) or disable (0), represented by 1 byte in hexadecimal.
983 )))
984 |(% style="width:97px" %)**Example**|(% style="width:401px" %)(((
985 0A 06 **01**
986
987 Enable trigger mode for the current working mode
988 )))
989
990 ==== 3.4.2.5 Poll trigger settings ====
991
992 Polls the trigger settings.
993
994 (% style="color:#037691" %)**AT Command:**
995
996 There is no AT Command for this feature.
997
998 (% style="color:#037691" %)**Downlink Payload**
999
1000 (% border="2" style="width:500px" %)
1001 |(% style="width:95px" %)**Payload**|(% style="width:403px" %)<prefix>
1002 |(% style="width:95px" %)**Parameters**|(% style="width:403px" %)**prefix **: AB 06 (two bytes in hexadecimal)
1003 |(% style="width:95px" %)**Example**|(% style="width:403px" %)(((
1004 AB 06
1005
1006 Uplinks the trigger settings.
1007 )))
1008
1009 ==== 3.4.2.6 Enable/Disable DI1/DI2/DI3 as a trigger ====
1010
1011 Enable or disable DI1/DI2/DI3 as a trigger.
1012
1013 (% style="color:#037691" %)**AT Command**
1014
1015 (% border="2" style="width:500px" %)
1016 |(% style="width:98px" %)**Command**|(% style="width:400px" %)AT+DTRI=<DI1_trigger>,<DI2_trigger>
1017 |(% style="width:98px" %)**Response**|(% style="width:400px" %)
1018 |(% style="width:98px" %)**Parameters**|(% style="width:400px" %)(((
1019 **DI1_trigger:**
1020
1021 1 = enable DI1 trigger
1022
1023 0 = disable DI1 trigger
1024
1025 **DI2 _trigger**
1026
1027 1 = enable DI2 trigger
1028
1029 0 = disable DI2 trigger
1030 )))
1031 |(% style="width:98px" %)**Example**|(% style="width:400px" %)(((
1032 AT+DTRI=1,0
1033
1034 Enable DI1 trigger, disable DI2 trigger
1035 )))
1036
1037 (% class="wikigeneratedid" %)
1038 (% style="color:#037691" %)**Downlink Payload**
1039
1040 (% border="2" style="width:500px" %)
1041 |(% style="width:101px" %)**Payload**|(% style="width:397px" %)<prefix><DI1_trigger><DI2_trigger>
1042 |(% style="width:101px" %)**Parameters**|(% style="width:397px" %)(((
1043 **prefix :** AA 02 (two bytes in hexadecimal)
1044
1045 **DI1_trigger:**
1046
1047 1 = enable DI1 trigger, represented by 1 byte in hexadecimal.
1048
1049 0 = disable DI1 trigger, represented by 1 byte in hexadecimal.
1050
1051 **DI2 _trigger**
1052
1053 1 = enable DI2 trigger, represented by 1 byte in hexadecimal.
1054
1055 0 = disable DI2 trigger, represented by 1 byte in hexadecimal.
1056 )))
1057 |(% style="width:101px" %)**Example**|(% style="width:397px" %)(((
1058 AA 02 **01 00**
1059
1060 Enable DI1 trigger, disable DI2 trigger
1061 )))
1062
1063 ==== 3.4.2.7 Trigger1 – Set DI or DI3 as a trigger ====
1064
1065 Sets DI1 or DI3 (for LT-33222-L) as a trigger.
1066
1067
1068 (% style="color:#037691" %)**AT Command**
1069
1070 (% border="2" style="width:500px" %)
1071 |(% style="width:101px" %)**Command**|(% style="width:397px" %)AT+TRIG1=<interrupt_mode>,<minimum_signal_duration>
1072 |(% style="width:101px" %)**Response**|(% style="width:397px" %)
1073 |(% style="width:101px" %)**Parameters**|(% style="width:397px" %)(((
1074 **interrupt_mode** :  0: falling edge; 1: rising edge, 2: falling and raising edge (for MOD=1).
1075
1076 **minimum_signal_duration** : the **minimum signal duration** required for the DI1 port to recognize a valid trigger.
1077 )))
1078 |(% style="width:101px" %)**Example**|(% style="width:397px" %)(((
1079 AT+TRIG1=1,100
1080
1081 Set the DI1 port to trigger on a rising edge; the valid signal duration is 100 ms.
1082 )))
1083
1084 (% class="wikigeneratedid" %)
1085 (% style="color:#037691" %)**Downlink Payload**
1086
1087 (% border="2" style="width:500px" %)
1088 |(% style="width:101px" %)**Payload**|(% style="width:397px" %)<prefix><interrupt_mode><minimum_signal_duration>
1089 |(% style="width:101px" %)**Parameters**|(% style="width:397px" %)(((
1090 **prefix** : 09 01 (hexadecimal)
1091
1092 **interrupt_mode** : 0: falling edge; 1: rising edge, 2: falling and raising edge (for MOD=1), represented by 1 byte in hexadecimal.
1093
1094 **minimum_signal_duration** : in milliseconds, represented two bytes in hexadecimal.
1095 )))
1096 |(% style="width:101px" %)**Example**|(% style="width:397px" %)(((
1097 09 01 **01 00 64**
1098
1099 Set the DI1 port to trigger on a rising edge; the valid signal duration is 100 ms.
1100 )))
1101
1102 ==== 3.4.2.8 Trigger2 – Set DI2 as a trigger ====
1103
1104 Sets DI2 as a trigger.
1105
1106
1107 (% style="color:#037691" %)**AT Command**
1108
1109 (% border="2" style="width:500px" %)
1110 |(% style="width:94px" %)**Command**|(% style="width:404px" %)AT+TRIG2=<interrupt_mode>,<minimum_signal_duration>
1111 |(% style="width:94px" %)**Response**|(% style="width:404px" %)
1112 |(% style="width:94px" %)**Parameters**|(% style="width:404px" %)(((
1113 **interrupt_mode **:  0: falling edge; 1: rising edge, 2: falling and raising edge (for MOD=1).
1114
1115 **minimum_signal_duration** : the **minimum signal duration** required for the DI1 port to recognize a valid trigger.
1116 )))
1117 |(% style="width:94px" %)**Example**|(% style="width:404px" %)(((
1118 AT+TRIG2=0,100
1119
1120 Set the DI1 port to trigger on a falling edge; the valid signal duration is 100 ms.
1121 )))
1122
1123 (% style="color:#037691" %)**Downlink Payload**
1124
1125 (% border="2" style="width:500px" %)
1126 |(% style="width:96px" %)**Payload**|(% style="width:402px" %)<prefix><interrupt_mode><minimum_signal_duration>
1127 |(% style="width:96px" %)**Parameters**|(% style="width:402px" %)(((
1128 **prefix** : 09 02 (hexadecimal)
1129
1130 **interrupt_mode **: 0: falling edge; 1: rising edge, 2: falling and raising edge (for MOD=1), represented by 1 byte in hexadecimal.
1131
1132 **minimum_signal_duration** : in milliseconds, represented two bytes in hexadecimal
1133 )))
1134 |(% style="width:96px" %)**Example**|(% style="width:402px" %)09 02 **00 00 64**
1135
1136 (% class="wikigeneratedid" %)
1137 ==== ====
1138
1139 ==== 3.4.2.9 Trigger – Set AC (current) as a trigger ====
1140
1141 Sets the current trigger based on the AC port. See also [[trigger mode>>||anchor="H3.3.6AT2BADDMOD3D6.28TriggerMode2COptional29"]]
1142
1143 (% style="color:#037691" %)**AT Command**
1144
1145 (% border="2" style="width:500px" %)
1146 |(% style="width:104px" %)**Command**|(% style="width:394px" %)(((
1147 AT+ACLIM=<AC1_LIMIT_LOW>,< AC1_LIMIT_HIGH>,<AC2_LIMIT_LOW>,< AC2_LIMIT_HIGH>
1148 )))
1149 |(% style="width:104px" %)**Response**|(% style="width:394px" %)
1150 |(% style="width:104px" %)**Parameters**|(% style="width:394px" %)(((
1151 **AC1_LIMIT_LOW** : lower limit of the current to be checked
1152
1153 **AC1_LIMIT_HIGH **: higher limit of the current to be checked
1154
1155 **AC2_LIMIT_HIGH **: lower limit of the current to be checked
1156
1157 **AC2_LIMIT_LOW** : higher limit of the current to be checked
1158 )))
1159 |(% style="width:104px" %)**Example**|(% style="width:394px" %)(((
1160 AT+ACLIM=10000,15000,0,0
1161
1162 Triggers an uplink if AC1 current is lower than 10mA or higher than 15mA
1163 )))
1164 |(% style="width:104px" %)Note|(% style="width:394px" %)See also, [[trigger mode>>||anchor="H3.3.6AT2BADDMOD3D6.28TriggerMode2COptional29"]]
1165
1166 (% style="color:#037691" %)**Downlink Payload**
1167
1168 (% border="2" style="width:500px" %)
1169 |(% style="width:104px" %)**Payload**|(% style="width:394px" %)<prefix><AC1_LIMIT_LOW>,< AC1_LIMIT_HIGH>,<AC2_LIMIT_LOW>,< AC2_LIMIT_HIGH>
1170 |(% style="width:104px" %)**Parameters**|(% style="width:394px" %)(((
1171 **prefix **: AA 01 (hexadecimal)
1172
1173 **AC1_LIMIT_LOW** : lower limit of the current to be checked, two bytes in hexadecimal
1174
1175 **AC1_LIMIT_HIGH **: higher limit of the current to be checked, two bytes in hexadecimal
1176
1177 **AC2_LIMIT_HIGH **: lower limit of the current to be checked, two bytes in hexadecimal
1178
1179 **AC2_LIMIT_LOW** : higher limit of the current to be checked, two bytes in hexadecimal
1180 )))
1181 |(% style="width:104px" %)**Example**|(% style="width:394px" %)(((
1182 AA 01 **27** **10 3A** **98** 00 00 00 00
1183
1184 Triggers an uplink if AC1 current is lower than 10mA or higher than 15mA. Set all values to zero for AC2 limits because we are only checking AC1 limits.
1185 )))
1186 |(% style="width:104px" %)Note|(% style="width:394px" %)See also, [[trigger mode>>||anchor="H3.3.6AT2BADDMOD3D6.28TriggerMode2COptional29"]]
1187
1188 ==== 3.4.2.10 Trigger – Set AV (voltage) as trigger ====
1189
1190 Sets the current trigger based on the AV port. See also [[trigger mode>>||anchor="H3.3.6AT2BADDMOD3D6.28TriggerMode2COptional29"]]
1191
1192 (% style="color:#037691" %)**AT Command**
1193
1194 (% border="2" style="width:500px" %)
1195 |(% style="width:104px" %)**Command**|(% style="width:387px" %)AT+AVLIM= AV1_LIMIT_LOW>,< AV1_LIMIT_HIGH>,<AV2_LIMIT_LOW>,< AV2_LIMIT_HIGH>
1196 |(% style="width:104px" %)**Response**|(% style="width:387px" %)
1197 |(% style="width:104px" %)**Parameters**|(% style="width:387px" %)(((
1198 **AC1_LIMIT_LOW** : lower limit of the current to be checked
1199
1200 **AC1_LIMIT_HIGH **: higher limit of the current to be checked
1201
1202 **AC2_LIMIT_HIGH **: lower limit of the current to be checked
1203
1204 **AC2_LIMIT_LOW** : higher limit of the current to be checked
1205 )))
1206 |(% style="width:104px" %)**Example**|(% style="width:387px" %)(((
1207 AT+AVLIM=3000,6000,0,2000
1208
1209 Triggers an uplink if AVI1 voltage is lower than 3V or higher than 6V, or if AV2 voltage is higher than 2V
1210 )))
1211 |(% style="width:104px" %)**Note**|(% style="width:387px" %)See also, [[trigger mode>>||anchor="H3.3.6AT2BADDMOD3D6.28TriggerMode2COptional29"]]
1212
1213
1214 (% style="color:#037691" %)**Downlink Payload**
1215
1216 (% border="2" style="width:500px" %)
1217 |(% style="width:104px" %)**Payload**|(% style="width:394px" %)<prefix><AV1_LIMIT_LOW>,< AV1_LIMIT_HIGH>,<AV2_LIMIT_LOW>,< AV2_LIMIT_HIGH>
1218 |(% style="width:104px" %)**Parameters**|(% style="width:394px" %)(((
1219 **prefix **: AA 00 (hexadecimal)
1220
1221 **AV1_LIMIT_LOW** : lower limit of the voltage to be checked, two bytes in hexadecimal
1222
1223 **AV1_LIMIT_HIGH **: higher limit of the voltage to be checked, two bytes in hexadecimal
1224
1225 **AV2_LIMIT_HIGH **: lower limit of the voltage to be checked, two bytes in hexadecimal
1226
1227 **AV2_LIMIT_LOW** : higher limit of the voltage to be checked, two bytes in hexadecimal
1228 )))
1229 |(% style="width:104px" %)**Example**|(% style="width:394px" %)(((
1230 AA 00 **0B B8 17 70 00 00 07 D0**
1231
1232 Triggers an uplink if AVI1 voltage is lower than 3V or higher than 6V, or if AV2 voltage is higher than 2V.
1233 )))
1234 |(% style="width:104px" %)**Note**|(% style="width:394px" %)See also, [[trigger mode>>||anchor="H3.3.6AT2BADDMOD3D6.28TriggerMode2COptional29"]]
1235
1236
1237 ==== 3.4.2.11 Trigger – Set minimum interval ====
1238
1239 Sets the AV and AC trigger minimum interval. The device won't respond to a second trigger within this set time after the first trigger.
1240
1241 (% style="color:#037691" %)**AT Command**
1242
1243 (% border="2" style="width:500px" %)
1244 |(% style="width:113px" %)**Command**|(% style="width:385px" %)AT+ATDC=<time>
1245 |(% style="width:113px" %)**Response**|(% style="width:385px" %)
1246 |(% style="width:113px" %)**Parameters**|(% style="width:385px" %)(((
1247 **time** : in minutes
1248 )))
1249 |(% style="width:113px" %)**Example**|(% style="width:385px" %)(((
1250 AT+ATDC=5
1251
1252 The device won't respond to the second trigger within 5 minutes after the first trigger.
1253 )))
1254 |(% style="width:113px" %)Note|(% style="width:385px" %)(% style="color:red" %)**The time must be greater than 5 minutes.**
1255
1256 (% style="color:#037691" %)**Downlink Payload**
1257
1258 (% border="2" style="width:500px" %)
1259 |(% style="width:112px" %)**Payload**|(% style="width:386px" %)<prefix><time>
1260 |(% style="width:112px" %)**Parameters**|(% style="width:386px" %)(((
1261 **prefix** : AC (hexadecimal)
1262
1263 **time **: in minutes (two bytes in hexadecimal)
1264 )))
1265 |(% style="width:112px" %)**Example**|(% style="width:386px" %)(((
1266 AC **00 05**
1267
1268 The device won't respond to the second trigger within 5 minutes after the first trigger.
1269 )))
1270 |(% style="width:112px" %)Note|(% style="width:386px" %)(% style="color:red" %)**The time must be greater than 5 minutes.**
1271
1272
1273 ==== 3.4.2.12 DO ~-~- Control Digital Output DO1/DO2/DO3 ====
1274
1275 Controls the digital outputs DO1, DO2, and DO3
1276
1277 (% style="color:#037691" %)**AT Command**
1278
1279 There is no AT Command to control the Digital Output.
1280
1281
1282 (% style="color:#037691" %)**Downlink Payload**
1283
1284 (% border="2" style="width:500px" %)
1285 |(% style="width:115px" %)**Payload**|(% style="width:383px" %)<prefix><DO1><DO2><DO3>
1286 |(% style="width:115px" %)**Parameters**|(% style="width:383px" %)(((
1287 **prefix** : 02 (hexadecimal)
1288
1289 **DOI** : 01: Low,  00: High, 11: No action (1 byte in hex)
1290
1291 **DO2** : 01: Low,  00: High, 11: No action (1 byte in hex)
1292
1293 **DO3 **: 01: Low,  00: High, 11: No action (1 byte in hex)
1294 )))
1295 |(% style="width:115px" %)**Examples**|(% style="width:383px" %)(((
1296 02 **01 00 01**
1297
1298 If there is a load between V+ and DOx, it means DO1 is set to low, DO2 is set to high, and DO3 is set to low.
1299
1300 **More examples:**
1301
1302 (((
1303 01: Low,  00: High,  11: No action
1304
1305 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1306 |(% style="background-color:#4f81bd; color:white" %)**Downlink Code**|(% style="background-color:#4f81bd; color:white" %)**DO1**|(% style="background-color:#4f81bd; color:white" %)**DO2**|(% style="background-color:#4f81bd; color:white" %)**DO3**
1307 |02  01  00  11|Low|High|No Action
1308 |02  00  11  01|High|No Action|Low
1309 |02  11  01  00|No Action|Low|High
1310 )))
1311
1312 (((
1313 (((
1314 (% style="color:red" %)**Note: For the LT-22222-L, there is no DO3; the last byte can have any value.**
1315 )))
1316
1317 (((
1318 (% style="color:red" %)**The device will upload a packet if downlink code executes successfully.**
1319 )))
1320 )))
1321 )))
1322
1323 (% class="wikigeneratedid" %)
1324 ==== ====
1325
1326 ==== 3.4.2.13 DO ~-~- Control Digital Output DO1/DO2/DO3 with time control ====
1327
1328
1329 * (% style="color:#037691" %)**AT Command**
1330
1331 There is no AT Command to control Digital Output
1332
1333
1334 * (% style="color:#037691" %)**Downlink Payload (prefix 0xA9)**
1335
1336 (% style="color:blue" %)**0xA9 aa bb cc     **(%%) ~/~/ Set DO1/DO2/DO3 output with time control
1337
1338
1339 This is to control the digital output time of DO pin. Include four bytes:
1340
1341 (% style="color:#4f81bd" %)**First Byte**(%%)**:** Type code (0xA9)
1342
1343 (% style="color:#4f81bd" %)**Second Byte**(%%): Inverter Mode
1344
1345 01: DO pins will change back to original state after timeout.
1346
1347 00: DO pins will change to an inverter state after timeout 
1348
1349
1350 (% style="color:#4f81bd" %)**Third Byte**(%%): Control Method and Port status:
1351
1352 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:300px" %)
1353 |(% style="background-color:#4f81bd; color:white" %)**Second Byte**|(% style="background-color:#4f81bd; color:white" %)**Status**
1354 |0x01|DO1 set to low
1355 |0x00|DO1 set to high
1356 |0x11|DO1 NO Action
1357
1358 (% style="color:#4f81bd" %)**Fourth Byte**(%%): Control Method and Port status:
1359
1360 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:300px" %)
1361 |(% style="background-color:#4f81bd; color:white" %)**Second Byte**|(% style="background-color:#4f81bd; color:white" %)**Status**
1362 |0x01|DO2 set to low
1363 |0x00|DO2 set to high
1364 |0x11|DO2 NO Action
1365
1366 (% style="color:#4f81bd" %)**Fifth Byte**(%%): Control Method and Port status:
1367
1368 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:300px" %)
1369 |(% style="background-color:#4f81bd; color:white" %)**Second Byte**|(% style="background-color:#4f81bd; color:white" %)**Status**
1370 |0x01|DO3 set to low
1371 |0x00|DO3 set to high
1372 |0x11|DO3 NO Action
1373
1374 (% style="color:#4f81bd" %)**Sixth, Seventh, Eighth, and Ninth Bytes**:(%%) Latching time (Unit: ms)
1375
1376
1377 (% style="color:red" %)**Note: **
1378
1379 Since firmware v1.6.0, the latch time support 4 bytes and 2 bytes
1380
1381 Before firmware v1.6.0, the latch time only supported 2 bytes.
1382
1383 (% style="color:red" %)**Device will upload a packet if the downlink code executes successfully.**
1384
1385
1386 **Example payload:**
1387
1388 **~1. A9 01 01 01 01 07 D0**
1389
1390 DO1 pin, DO2 pin, and DO3 pin will be set to low, last for 2 seconds, and then revert to their original state.
1391
1392 **2. A9 01 00 01 11 07 D0**
1393
1394 DO1 pin is set to high, DO2 pin is set to low, and DO3 pin takes no action. This lasts for 2 seconds and then reverts to the original state.
1395
1396 **3. A9 00 00 00 00 07 D0**
1397
1398 DO1 pin, DO2 pin, and DO3 pin will be set to high, last for 2 seconds, and then all change to low.
1399
1400 **4. A9 00 11 01 00 07 D0**
1401
1402 DO1 pin takes no action, DO2 pin is set to low, and DO3 pin is set to high. This lasts for 2 seconds, after which DO1 pin takes no action, DO2 pin is set to high, and DO3 pin is set to low.
1403
1404
1405 ==== 3.4.2.14 Relay ~-~- Control Relay Output RO1/RO2 ====
1406
1407
1408 * (% style="color:#037691" %)**AT Command:**
1409
1410 There is no AT Command to control Relay Output
1411
1412
1413 * (% style="color:#037691" %)**Downlink Payload (prefix 0x03):**
1414
1415 (% style="color:blue" %)**0x03 aa bb     ** (%%)~/~/ Set RO1/RO2 output
1416
1417
1418 (((
1419 If payload is 0x030100, it means setting RO1 to close and RO2 to open.
1420 )))
1421
1422 (((
1423 00: Close ,  01: Open , 11: No action
1424
1425 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:320px" %)
1426 |(% style="background-color:#4f81bd; color:white" %)**Downlink Code**|(% style="background-color:#4f81bd; color:white" %)**RO1**|(% style="background-color:#4f81bd; color:white" %)**RO2**
1427 |03  00  11|Open|No Action
1428 |03  01  11|Close|No Action
1429 |03  11  00|No Action|Open
1430 |03  11  01|No Action|Close
1431 |03  00  00|Open|Open
1432 |03  01  01|Close|Close
1433 |03  01  00|Close|Open
1434 |03  00  01|Open|Close
1435 )))
1436
1437 (% style="color:red" %)**Device will upload a packet if downlink code executes successfully.**
1438
1439
1440 ==== 3.4.2.15 Relay ~-~- Control Relay Output RO1/RO2 with time control ====
1441
1442 Controls the relay output time.
1443
1444 * (% style="color:#037691" %)**AT Command:**
1445
1446 There is no AT Command to control Relay Output
1447
1448
1449 * (% style="color:#037691" %)**Downlink Payload (prefix 0x05):**
1450
1451 (% style="color:blue" %)**0x05 aa bb cc dd     ** (%%)~/~/ Set RO1/RO2 relay with time control
1452
1453
1454 This is to control the relay output time. It includes four bytes:
1455
1456 (% style="color:#4f81bd" %)**First Byte **(%%)**:** Type code (0x05)
1457
1458 (% style="color:#4f81bd" %)**Second Byte(aa)**(%%): Inverter Mode
1459
1460 01: Relays will change back to their original state after timeout.
1461
1462 00: Relays will change to the inverter state after timeout.
1463
1464
1465 (% style="color:#4f81bd" %)**Third Byte(bb)**(%%): Control Method and Ports status:
1466
1467 [[image:image-20221008095908-1.png||height="364" width="564"]]
1468
1469
1470 (% style="color:#4f81bd" %)**Fourth/Fifth/Sixth/Seventh Bytes(cc)**(%%): Latching time. Unit: ms
1471
1472
1473 (% style="color:red" %)**Note:**
1474
1475 Since firmware v1.6.0, the latch time supports both 4 bytes and 2 bytes.
1476
1477 Before firmware v1.6.0, the latch time only supported 2 bytes.
1478
1479
1480 (% style="color:red" %)**Device will upload a packet if the downlink code executes successfully.**
1481
1482
1483 **Example payload:**
1484
1485 **~1. 05 01 11 07 D0**
1486
1487 Relay1 and Relay2 will be set to NC, lasting 2 seconds, then revert to their original state
1488
1489 **2. 05 01 10 07 D0**
1490
1491 Relay1 will change to NC, Relay2 will change to NO, lasting 2 seconds, then both will revert to their original state.
1492
1493 **3. 05 00 01 07 D0**
1494
1495 Relay1 will change to NO, Relay2 will change to NC, lasting 2 seconds, then Relay1 will change to NC, and Relay2 will change to NO.
1496
1497 **4. 05 00 00 07 D0**
1498
1499 Relay1 and Relay2 will change to NO, lasting 2 seconds, then both will change to NC.
1500
1501
1502
1503 ==== 3.4.2.16 Counting ~-~- Voltage threshold counting ====
1504
1505
1506 When the voltage exceeds the threshold, counting begins. For details, see [[MOD4>>||anchor="H3.3.4AT2BMOD3D42CSingleDICounting2B1xVoltageCounting"]]
1507
1508 * (% style="color:#037691" %)**AT Command:**(%%) (% style="color:blue" %)**AT+VOLMAX   ** (%%)~/~/ See [[MOD4>>||anchor="H3.3.4AT2BMOD3D42CSingleDICounting2B1xVoltageCounting"]]
1509
1510 * (% style="color:#037691" %)**Downlink Payload (prefix 0xA5):**
1511
1512 (% style="color:blue" %)**0xA5 aa bb cc   ** (%%)~/~/ Same as AT+VOLMAX=(aa bb),cc
1513
1514
1515
1516 ==== 3.4.2.17 Counting ~-~- Pre-configure the Count Number ====
1517
1518 This feature allows users to pre-configure specific count numbers for various counting parameters such as count1, count2, or AV1 count. Use the AT command to set the desired count number for each configuration.
1519
1520 * (% style="color:#037691" %)**AT Command:**(%%) (% style="color:blue" %)**AT+SETCNT=aa,(bb cc dd ee) **
1521
1522 (% style="color:red" %)**aa:**(%%) 1: Set count1; 2: Set count2; 3: Set AV1 count
1523
1524 (% style="color:red" %)**bb cc dd ee: **(%%)The number to be set
1525
1526
1527 * (% style="color:#037691" %)**Downlink Payload (prefix 0xA8):**
1528
1529 (% style="color:blue" %)**0x A8 aa bb cc dd ee     ** (%%)~/~/ same as AT+SETCNT=aa,(bb cc dd ee)
1530
1531
1532
1533 ==== 3.4.2.18 Counting ~-~- Clear Counting ====
1534
1535 This feature clears the counting in counting mode.
1536
1537 * (% style="color:#037691" %)**AT Command:**(%%) (% style="color:blue" %)**AT+CLRCOUNT         **(%%) ~/~/ clear all counting
1538
1539 * (% style="color:#037691" %)**Downlink Payload (prefix 0xA6):**
1540
1541 (% style="color:blue" %)**0x A6 01    ** (%%)~/~/ clear all counting
1542
1543
1544
1545 ==== 3.4.2.19 Counting ~-~- Change counting mode to save time ====
1546
1547 This feature allows you to configure the device to save its counting result to internal flash memory at specified intervals. By setting a save time, the device will periodically store the counting data to prevent loss in case of power failure. The save interval can be adjusted to suit your requirements, with a minimum value of 30 seconds.
1548
1549 * (% style="color:#037691" %)**AT Command:**
1550
1551 (% style="color:blue" %)**AT+COUTIME=60  **(%%)~/~/ Sets the save time to 60 seconds. The device will save the counting result in internal flash every 60 seconds. (Min value: 30 seconds)
1552
1553
1554 * (% style="color:#037691" %)**Downlink Payload (prefix 0xA7):**
1555
1556 (% style="color:blue" %)**0x A7 aa bb cc     ** (%%)~/~/ same as AT+COUTIME =aa bb cc,
1557
1558 (((
1559 Range: aa bb cc:0 to 16777215,  (unit: seconds)
1560 )))
1561
1562
1563
1564 ==== 3.4.2.20 Reset save RO DO state ====
1565
1566 This feature allows you to reset the saved relay output (RO) and digital output (DO) states when the device joins the network. By configuring this setting, you can control whether the device should retain or reset the relay states after a reset and rejoin to the network.
1567
1568 * (% style="color:#037691" %)**AT Command:**
1569
1570 (% style="color:blue" %)**AT+RODORESET=1    **(%%)~/~/ RODO will close when the device joining the network. (default)
1571
1572 (% style="color:blue" %)**AT+RODORESET=0    **(%%)~/~/ After the device is reset, the previously saved RODO state (only MOD2 to MOD5) is read, and its state will not change when the device reconnects to the network.
1573
1574
1575 * (% style="color:#037691" %)**Downlink Payload (prefix 0xAD):**
1576
1577 (% style="color:blue" %)**0x AD aa      ** (%%)~/~/ same as AT+RODORET =aa
1578
1579
1580
1581 ==== 3.4.2.21 Encrypted payload ====
1582
1583 This feature allows you to configure whether the device should upload data in an encrypted format or in plaintext. By default, the device encrypts the payload before uploading. You can toggle this setting to either upload encrypted data or transmit it without encryption.
1584
1585 * (% style="color:#037691" %)**AT Command:**
1586
1587 (% style="color:blue" %)**AT+DECRYPT=1  ** (%%)~/~/ The payload is uploaded without encryption
1588
1589 (% style="color:blue" %)**AT+DECRYPT=0    **(%%)~/~/  Encrypt when uploading payload (default)
1590
1591
1592
1593 ==== 3.4.2.22 Get sensor value ====
1594
1595
1596 * (% style="color:#037691" %)**AT Command:**
1597
1598 (% style="color:blue" %)**AT+GETSENSORVALUE=0    **(%%)~/~/ The serial port retrieves the reading of the current sensor.
1599
1600 (% style="color:blue" %)**AT+GETSENSORVALUE=1    **(%%)~/~/ The serial port retrieves the current sensor reading and uploads it.
1601
1602
1603
1604 ==== 3.4.2.23 Resets the downlink packet count ====
1605
1606
1607 * (% style="color:#037691" %)**AT Command:**
1608
1609 (% style="color:blue" %)**AT+DISFCNTCHECK=0   **(%%)~/~/ When the downlink packet count sent by the server is less than the node downlink packet count or exceeds 16384, the node will no longer receive downlink packets (default)
1610
1611 (% style="color:blue" %)**AT+DISFCNTCHECK=1   **(%%)~/~/ When the downlink packet count sent by the server is less than the node downlink packet count or exceeds 16384, the node resets the downlink packet count and keeps it consistent with the server downlink packet count.
1612
1613
1614
1615 ==== 3.4.2.24 When the limit bytes are exceeded, upload in batches ====
1616
1617
1618 * (% style="color:#037691" %)**AT Command:**
1619
1620 (% style="color:blue" %)**AT+DISMACANS=0**   (%%) ~/~/ When the MACANS of the reply server plus the payload exceeds the maximum number of bytes of 11 bytes (DR0 of US915, DR2 of AS923, DR2 of AU195), the node will send a packet with a payload of 00 and a port of 4. (default)
1621
1622 (% style="color:blue" %)**AT+DISMACANS=1**  (%%) ~/~/ When the MACANS of the reply server plus the payload exceeds the maximum number of bytes of the DR, the node will ignore the MACANS and not reply, and only upload the payload part.
1623
1624
1625 * (% style="color:#037691" %)**Downlink Payload **(%%)**:**
1626
1627 (% style="color:blue" %)**0x21 00 01 ** (%%) ~/~/ Set  the DISMACANS=1
1628
1629
1630
1631 ==== 3.4.2.25 Copy downlink to uplink ====
1632
1633
1634 * (% style="color:#037691" %)**AT Command**(%%)**:**
1635
1636 (% style="color:blue" %)**AT+RPL=5**   (%%) ~/~/ After receiving the package from the server, it will immediately upload the content of the package to the server, the port number is 100.
1637
1638 Example:**aa xx xx xx xx**         ~/~/ aa indicates whether the configuration has changed, 00 is yes, 01 is no; xx xx xx xx are the bytes sent.
1639
1640
1641 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823173747-6.png?width=1124&height=165&rev=1.1||alt="image-20220823173747-6.png"]]
1642
1643 For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77.
1644
1645
1646
1647 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823173833-7.png?width=1124&height=149&rev=1.1||alt="image-20220823173833-7.png"]]
1648
1649 For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned.
1650
1651
1652
1653 ==== 3.4.2.26 Query version number and frequency band 、TDC ====
1654
1655
1656 * (((
1657 (% style="color:#037691" %)**Downlink Payload**(%%)**:**
1658
1659 (% style="color:blue" %)**26 01  ** (%%) ~/~/  Downlink 26 01 can query device upload frequency, frequency band, software version number, TDC time.
1660
1661
1662 )))
1663
1664 **Example:**
1665
1666 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823173929-8.png?width=1205&height=76&rev=1.1||alt="image-20220823173929-8.png"]]
1667
1668
1669 == 3.5 Integrating with ThingsEye.io ==
1670
1671 The Things Stack application supports integration with ThingsEye.io. Once integrated, ThingsEye.io acts as an MQTT client for The Things Stack MQTT broker, allowing it to subscribe to upstream traffic and publish downlink traffic.
1672
1673 === 3.5.1 Configuring The Things Stack ===
1674
1675 We use The Things Stack Sandbox in this example:
1676
1677 * In **The Things Stack Sandbox**, go to the **Application **for the LT-22222-L you added.
1678 * Select **MQTT** under **Integrations** in the left menu.
1679 * In the **Connection information **section, under **Connection credentials**, The Things Stack displays an auto-generated **username**. You can use it or provide a new one.
1680 * Click the **Generate new API key** button to generate a password. You can view it by clicking on the **visibility toggle/eye** icon. The API key works as the password.
1681
1682 {{info}}
1683 The username and  password (API key) you created here are required in the next section.
1684 {{/info}}
1685
1686 [[image:tts-mqtt-integration.png||height="625" width="1000"]]
1687
1688 === 3.5.2 Configuring ThingsEye.io ===
1689
1690 * Login to your [[ThingsEye.io >>https://thingseye.io]]account.
1691 * Under the **Integrations center**, click **Integrations**.
1692 * Click the **Add integration** button (the button with the **+** symbol).
1693
1694 [[image:thingseye-io-step-1.png||height="625" width="1000"]]
1695
1696
1697 On the **Add integration** window, configure the following:
1698
1699 **Basic settings:**
1700
1701 * Select **The Things Stack Community** from the **Integration type** list.
1702 * Enter a suitable name for your integration in the **Name **text** **box or keep the default name.
1703 * Ensure the following options are turned on.
1704 ** Enable integration
1705 ** Debug mode
1706 ** Allow create devices or assets
1707 * Click the **Next** button. you will be navigated to the **Uplink data converter** tab.
1708
1709 [[image:thingseye-io-step-2.png||height="625" width="1000"]]
1710
1711
1712 **Uplink data converter:**
1713
1714 * Click the **Create new** button if it is not selected by default.
1715 * Enter a suitable name for the uplink data converter in the **Name **text** **box or keep the default name.
1716 * Click the **JavaScript** button.
1717 * Paste the uplink decoder function into the text area (first, delete the default code). The demo uplink decoder function can be found [[here>>https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Uplink_Converter.js]].
1718 * Click the **Next** button. You will be navigated to the **Downlink data converter **tab.
1719
1720 [[image:thingseye-io-step-3.png||height="625" width="1000"]]
1721
1722
1723 **Downlink data converter (this is an optional step):**
1724
1725 * Click the **Create new** button if it is not selected by default.
1726 * Enter a suitable name for the downlink data converter in the **Name **text** **box or keep the default name.
1727 * Click the **JavaScript** button.
1728 * Paste the downlink decoder function into the text area (first, delete the default code). The demo downlink decoder function can be found [[here>>https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Downlink_Converter.js]].
1729 * Click the **Next** button. You will be navigated to the **Connection** tab.
1730
1731 [[image:thingseye-io-step-4.png||height="625" width="1000"]]
1732
1733
1734 **Connection:**
1735
1736 * Choose **Region** from the **Host type**.
1737 * Enter the **cluster** of your **The Things Stack** in the **Region** textbox. You can find the cluster in the url (e.g., https:~/~/**eu1**.cloud.thethings.network/...).
1738 * Enter the **Username** and **Password** of the MQTT integration in the **Credentials** section. The **username **and **password **can be found on the MQTT integration page of your The Things Stack account (see Configuring The Things Stack).
1739 * Click the **Check connection** button to test the connection. If the connection is successful, you will see the message saying **Connected**.
1740
1741 [[image:message-1.png]]
1742
1743
1744 * Click the **Add** button.
1745
1746 [[image:thingseye-io-step-5.png||height="625" width="1000"]]
1747
1748
1749 Your integration has been added to the** Integrations** list and will be displayed on the **Integrations** page. Check whether the status is shown as **Active**. If not, review your configuration settings.
1750
1751
1752 [[image:thingseye.io_integrationsCenter_integrations.png||height="686" width="1000"]]
1753
1754
1755 ==== 3.5.2.1 Viewing integration details ====
1756
1757 Click on your integration from the list. The **Integration details** window will appear with the **Details **tab selected. The **Details **tab shows all the settings you have provided for this integration.
1758
1759 [[image:integration-details.png||height="686" width="1000"]]
1760
1761
1762 If you want to edit the settings you have provided, click on the **Toggle edit mode** button. Once you have done click on the **Apply changes **button.
1763
1764 {{info}}
1765 See also ThingsEye documentation.
1766 {{/info}}
1767
1768 ==== **3.5.2.2 Viewing events** ====
1769
1770 The **Events **tab displays all the uplink messages from the LT-22222-L.
1771
1772 * Select **Debug **from the **Event type** dropdown.
1773 * Select the** time frame** from the **time window**.
1774
1775 [[image:thingseye-events.png||height="686" width="1000"]]
1776
1777
1778 * To view the JSON payload of a message, click on the three dots (...) in the Message column of the desired message.
1779
1780 [[image:thingseye-json.png||width="1000"]]
1781
1782
1783 ==== **3.5.2.3 Deleting an integration** ====
1784
1785 If you want to delete an integration, click the **Delete integratio**n button on the Integrations page.
1786
1787
1788 == 3.6 Interface Details ==
1789
1790 === 3.6.1 Digital Input Ports: DI1/DI2/DI3 (For LT-33222-L, Low Active) ===
1791
1792
1793 Supports NPN-type sensors.
1794
1795 [[image:1653356991268-289.png]]
1796
1797
1798 === 3.6.2 Digital Input Ports: DI1/DI2 ===
1799
1800
1801 (((
1802 The DI ports of the LT-22222-L can support **NPN**, **PNP**, or **dry contact** output sensors.
1803 )))
1804
1805 (((
1806 (((
1807 The part of the internal circuit of the LT-22222-L shown below includes the NEC2501 photocoupler. The active current from NEC2501 pin 1 to pin 2 is 1 mA, with a maximum allowable current of 50 mA. When active current flows from NEC2501 pin 1 to pin 2, the DI becomes active HIGH and the DI LED status changes.
1808
1809
1810 )))
1811 )))
1812
1813 [[image:1653357170703-587.png]]
1814
1815 (((
1816 (((
1817 (% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant-alternates:normal; font-variant-east-asian:normal; font-variant-ligatures:normal; font-variant-numeric:normal; font-variant-position:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)When connecting a device to the DI port, both DI1+ and DI1- must be connected.
1818 )))
1819 )))
1820
1821 (((
1822
1823 )))
1824
1825 (((
1826 (% style="color:#0000ff" %)**Example 1**(%%): Connecting to a low-active sensor.
1827 )))
1828
1829 (((
1830 This type of sensor outputs a low (GND) signal when active.
1831 )))
1832
1833 * (((
1834 Connect the sensor's output to DI1-
1835 )))
1836 * (((
1837 Connect the sensor's VCC to DI1+.
1838 )))
1839
1840 (((
1841 When the sensor is active, the current between NEC2501 pin 1 and pin 2 will be:
1842 )))
1843
1844 (((
1845 [[image:1653968155772-850.png||height="23" width="19"]]**= DI1**+** / 1K.**
1846 )))
1847
1848 (((
1849 For example, if** DI1+ **= **12V**, the resulting current is [[image:1653968155772-850.png||height="23" width="19"]]= 12mA. Therefore, the LT-22222-L will be able to detect this active signal.
1850 )))
1851
1852 (((
1853
1854 )))
1855
1856 (((
1857 (% style="color:#0000ff" %)**Example 2**(%%): Connecting to a high-active sensor.
1858 )))
1859
1860 (((
1861 This type of sensor outputs a high signal (e.g., 24V) when active.
1862 )))
1863
1864 * (((
1865 Connect the sensor's output to DI1+
1866 )))
1867 * (((
1868 Connect the sensor's GND DI1-.
1869 )))
1870
1871 (((
1872 When the sensor is active, the current between NEC2501 pin1 and pin2 will be:
1873 )))
1874
1875 (((
1876 [[image:1653968155772-850.png||height="23" width="19"]]**= DI1+ / 1K.**
1877 )))
1878
1879 (((
1880 If **DI1+ = 24V**, the resulting current[[image:1653968155772-850.png||height="23" width="19"]] is 24mA, Therefore, the LT-22222-L will detect this high-active signal.
1881 )))
1882
1883 (((
1884
1885 )))
1886
1887 (((
1888 (% style="color:#0000ff" %)**Example 3**(%%): Connecting to a 220V high-active sensor.
1889 )))
1890
1891 (((
1892 Assume that you want to monitor an active signal higher than 220V without damaging the photocoupler  
1893 )))
1894
1895 * (((
1896 Connect the sensor's output to DI1+ with a 50K resistor in series.
1897 )))
1898 * (((
1899 Connect the sensor's GND DI1-.
1900 )))
1901
1902 (((
1903 When the sensor is active, the current between NEC2501 pin1 and pin2 will be:
1904 )))
1905
1906 (((
1907 [[image:1653968155772-850.png||height="23" width="19"]]**= DI1+ / 51K.**
1908 )))
1909
1910 (((
1911 If the sensor output is 220V, then [[image:1653968155772-850.png||height="23" width="19"]](% id="cke_bm_243359S" style="display:none" wfd-invisible="true" %)[[image:image-20220524095628-8.png]](%%) = DI1+ / 51K  = 4.3mA. Therefore, the LT-22222-L will be able to safely detect this high-active signal.
1912 )))
1913
1914
1915 (% style="color:blue" %)**Example4**(%%): Connecting to Dry Contact sensor
1916
1917 From the DI port circuit above, you can see that activating the photocoupler requires a voltage difference between the DI+ and DI- ports. However, the Dry Contact sensor is a passive component and cannot provide this voltage difference.
1918
1919 To detect a Dry Contact, you can supply a power source to one pin of the Dry Contact. Below is a reference circuit diagram.
1920
1921 [[image:image-20230616235145-1.png]]
1922
1923 (% style="color:blue" %)**Example5**(%%): Connecting to an Open Collector
1924
1925 [[image:image-20240219115718-1.png]]
1926
1927
1928 === 3.6.3 Digital Output Ports: DO1/DO2 ===
1929
1930
1931 (% style="color:blue" %)**NPN output**(%%): GND or Float. The maximum voltage that can be applied to the output pin is 36V.
1932
1933 (% style="color:red" %)**Note: The DO pins will float when the device is powered off.**
1934
1935 [[image:1653357531600-905.png]]
1936
1937
1938 === 3.6.4 Analog Input Interfaces ===
1939
1940
1941 The analog input interface is shown below. The LT-22222-L will measure the IN2 voltage to calculate the current passing through the load. The formula is:
1942
1943
1944 (% style="color:blue" %)**AC2 = (IN2 voltage )/12**
1945
1946 [[image:1653357592296-182.png]]
1947
1948 Example: Connecting a 4~~20mA sensor
1949
1950 We will use the wind speed sensor as an example for reference only.
1951
1952
1953 (% style="color:blue" %)**Specifications of the wind speed sensor:**
1954
1955 (% style="color:red" %)**Red:  12~~24V**
1956
1957 (% style="color:#ffc000" %)**Yellow:  4~~20mA**
1958
1959 **Black:  GND**
1960
1961 **Connection diagram:**
1962
1963 [[image:1653357640609-758.png]]
1964
1965 [[image:1653357648330-671.png||height="155" width="733"]]
1966
1967
1968 Example: Connecting to a regulated power supply to measure voltage
1969
1970 [[image:image-20230608101532-1.png||height="606" width="447"]]
1971
1972 [[image:image-20230608101608-2.jpeg||height="379" width="284"]]
1973
1974 [[image:image-20230608101722-3.png||height="102" width="1139"]]
1975
1976
1977 (% style="color:blue; font-weight:bold" %)**Specifications of the regulated power supply**(% style="color:blue" %)**:**
1978
1979 (% style="color:red" %)**Red:  12~~24v**
1980
1981 **Black:  GND**
1982
1983
1984 === 3.6.5 Relay Output ===
1985
1986
1987 (((
1988 The LT-22222-L has two relay interfaces, RO1 and RO2, each using two pins of the screw terminal (ROx-1 and ROx-2 where x is the port number, 1 or 2). You can connect a device's power line in series with one of the relay interfaces (e.g., RO1-1 and RO1-2 screw terminals). See the example below:
1989
1990 **Note**: The ROx pins will be in the Open (NO) state when the LT-22222-L is powered off.
1991 )))
1992
1993 [[image:image-20220524100215-9.png]]
1994
1995
1996 [[image:image-20220524100215-10.png||height="382" width="723"]]
1997
1998
1999 == 3.7 LEDs Indicators ==
2000
2001 The table below lists the behavior of LED indicators for each port function.
2002
2003 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
2004 |(% style="background-color:#4f81bd; color:white; width:50px" %)**LEDs**|(% style="background-color:#4f81bd; color:white; width:460px" %)**Feature**
2005 |**PWR**|Always on when there is power
2006 |**TX**|(((
2007 (((
2008 Device boot: TX blinks 5 times.
2009 )))
2010
2011 (((
2012 Successful network join: TX remains ON for 5 seconds.
2013 )))
2014
2015 (((
2016 Transmit a LoRa packet: TX blinks once
2017 )))
2018 )))
2019 |**RX**|RX blinks once when a packet is received.
2020 |**DO1**|For LT-22222-L: ON when DO1 is low, OFF when DO1 is high
2021 |**DO2**|For LT-22222-L: ON when DO2 is low, OFF when DO2 is high
2022 |**DI1**|(((
2023 For LT-22222-L: ON when DI1 is high, OFF when DI1 is low
2024 )))
2025 |**DI2**|(((
2026 For LT-22222-L: ON when DI2 is high, OFF when DI2 is low
2027 )))
2028 |**RO1**|For LT-22222-L: ON when RO1 is closed, OFF when RO1 is open
2029 |**RO2**|For LT-22222-L: ON when RO2 is closed, OFF when RO2 is open
2030
2031 = 4. Using AT Commands =
2032
2033 The LT-22222-L supports programming using AT Commands.
2034
2035 == 4.1 Connecting the LT-22222-L to a PC ==
2036
2037 (((
2038 You can use a USB-to-TTL adapter along with a 3.5mm Program Cable to connect the LT-22222-L to a PC, as shown below.
2039
2040 [[image:usb-ttl-programming.png]]
2041 )))
2042
2043
2044
2045 (((
2046 On the PC, you need to set the (% style="color:#4f81bd" %)**serial tool **(%%)(such as [[PuTTY>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]] or [[SecureCRT>>https://www.vandyke.com/cgi-bin/releases.php?product=securecrt]]) to a baud rate of (% style="color:green" %)**9600**(%%) to access the serial console of LT-22222-L. Access to AT commands is disabled by default, and a password (default: (% style="color:green" %)**123456**)(%%) must be entered to enable AT command access, as shown below:
2047 )))
2048
2049 [[image:1653358355238-883.png]]
2050
2051
2052 (((
2053 You can find more details in the [[AT Command Manual>>url:http://www.dragino.com/downloads/index.php?dir=LT_LoRa_IO_Controller/LT33222-L/]]
2054
2055 == 4.2 LT-22222-L related AT commands ==
2056 )))
2057
2058 (((
2059 The following is the list of all the AT commands related to the LT-22222-L, except for those used for switching between working modes.
2060
2061 * **##AT##+<CMD>?** : Help on <CMD>
2062 * **##AT##+<CMD>** : Run <CMD>
2063 * **##AT##+<CMD>=<value>** : Set the value
2064 * **##AT##+<CMD>=?** : Get the value
2065 * ##**ATZ**##: Trigger a reset of the MCU
2066 * ##**AT+FDR**##: Reset Parameters to factory default, reserve keys 
2067 * **##AT+DEUI##**: Get or set the Device EUI (DevEUI)
2068 * **##AT+DADDR##**: Get or set the Device Address (DevAddr)
2069 * **##AT+APPKEY##**: Get or set the Application Key (AppKey)
2070 * ##**AT+NWKSKEY**##: Get or set the Network Session Key (NwkSKey)
2071 * **##AT+APPSKEY##**: Get or set the Application Session Key (AppSKey)
2072 * **##AT+APPEUI##**: Get or set the Application EUI (AppEUI)
2073 * **##AT+ADR##**: Get or set the Adaptive Data Rate setting. (0: OFF, 1: ON)
2074 * AT+TXP: Get or set the Transmit Power (0-5, MAX:0, MIN:5, according to LoRaWAN Specification)
2075 * AT+DR:  Get or set the Data Rate. (0-7 corresponding to DR_X)  
2076 * AT+DCS: Get or set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing
2077 * AT+PNM: Get or set the public network mode. (0: off, 1: on)
2078 * AT+RX2FQ: Get or set the Rx2 window frequency
2079 * AT+RX2DR: Get or set the Rx2 window data rate (0-7 corresponding to DR_X)
2080 * AT+RX1DL: Get or set the delay between the end of the Tx and the Rx Window 1 in ms
2081 * AT+RX2DL: Get or set the delay between the end of the Tx and the Rx Window 2 in ms
2082 * AT+JN1DL: Get or set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms
2083 * AT+JN2DL: Get or set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms
2084 * AT+NJM: Get or set the Network Join Mode. (0: ABP, 1: OTAA)
2085 * AT+NWKID: Get or set the Network ID
2086 * AT+FCU: Get or set the Frame Counter Uplink (FCntUp)
2087 * AT+FCD: Get or set the Frame Counter Downlink (FCntDown)
2088 * AT+CLASS: Get or set the Device Class
2089 * AT+JOIN: Join network
2090 * AT+NJS: Get OTAA Join Status
2091 * AT+SENDB: Send hexadecimal data along with the application port
2092 * AT+SEND: Send text data along with the application port
2093 * AT+RECVB: Print last received data in binary format (with hexadecimal values)
2094 * AT+RECV: Print last received data in raw format
2095 * AT+VER: Get current image version and Frequency Band
2096 * AT+CFM: Get or Set the confirmation mode (0-1)
2097 * AT+CFS: Get confirmation status of the last AT+SEND (0-1)
2098 * AT+SNR: Get the SNR of the last received packet
2099 * AT+RSSI: Get the RSSI of the last received packet
2100 * AT+TDC: Get or set the application data transmission interval in ms
2101 * AT+PORT: Get or set the application port
2102 * AT+DISAT: Disable AT commands
2103 * AT+PWORD: Set password, max 9 digits
2104 * AT+CHS: Get or set the Frequency (Unit: Hz) for Single Channel Mode
2105 * AT+CHE: Get or set eight channels mode, Only for US915, AU915, CN470
2106 * AT+CFG: Print all settings
2107 )))
2108
2109
2110 == 4.2 Common AT Command Sequence ==
2111
2112 === 4.2.1 Multi-channel ABP mode (Use with SX1301/LG308) ===
2113
2114 (((
2115
2116
2117 (((
2118 (% style="color:blue" %)**If the device has not yet joined the network:**
2119 )))
2120 )))
2121
2122 (((
2123 (% style="background-color:#dcdcdc" %)##**123456 ~/~/Enter the password to enable AT commands access**##
2124 )))
2125
2126 (((
2127 (% style="background-color:#dcdcdc" %)##**AT+FDR ~/~/Reset parameters to factory default, Reserve keys**##
2128 )))
2129
2130 (((
2131 (% style="background-color:#dcdcdc" %)##**123456 ~/~/Enter the password to enable AT commands access**##
2132 )))
2133
2134 (((
2135 (% style="background-color:#dcdcdc" %)##**AT+NJM=0 ~/~/Set to ABP mode**##
2136 )))
2137
2138 (((
2139 (% style="background-color:#dcdcdc" %)##**ATZ ~/~/Reset MCU**##
2140 )))
2141
2142
2143 (((
2144 (% style="color:blue" %)**If the device has already joined the network:**
2145 )))
2146
2147 (((
2148 (% style="background-color:#dcdcdc" %)##**AT+NJM=0**##
2149 )))
2150
2151 (((
2152 (% style="background-color:#dcdcdc" %)##**ATZ**##
2153 )))
2154
2155
2156 === 4.2.2 Single-channel ABP mode (Use with LG01/LG02) ===
2157
2158 (((
2159
2160
2161 (((
2162 (% style="background-color:#dcdcdc" %)**123456**(%%)  ~/~/ Enter password to enable AT commands access
2163 )))
2164 )))
2165
2166 (((
2167 (% style="background-color:#dcdcdc" %)** AT+FDR**(%%)  ~/~/ Reset parameters to Factory Default, Reserve keys
2168 )))
2169
2170 (((
2171 (% style="background-color:#dcdcdc" %)** 123456**(%%)  ~/~/ Enter password to enable AT commands access
2172 )))
2173
2174 (((
2175 (% style="background-color:#dcdcdc" %)** AT+CLASS=C**(%%)  ~/~/ Set to CLASS C mode
2176 )))
2177
2178 (((
2179 (% style="background-color:#dcdcdc" %)** AT+NJM=0**(%%)  ~/~/ Set to ABP mode
2180 )))
2181
2182 (((
2183 (% style="background-color:#dcdcdc" %) **AT+ADR=0**(%%)  ~/~/ Set the Adaptive Data Rate Off
2184 )))
2185
2186 (((
2187 (% style="background-color:#dcdcdc" %)** AT+DR=5**(%%)  ~/~/ Set Data Rate
2188 )))
2189
2190 (((
2191 (% style="background-color:#dcdcdc" %)** AT+TDC=60000**(%%)  ~/~/ Set transmit interval to 60 seconds
2192 )))
2193
2194 (((
2195 (% style="background-color:#dcdcdc" %)** AT+CHS=868400000**(%%)  ~/~/ Set transmit frequency to 868.4 MHz
2196 )))
2197
2198 (((
2199 (% style="background-color:#dcdcdc" %)** AT+RX2FQ=868400000**(%%)  ~/~/ Set RX2 frequency to 868.4 MHz (according to the result from the server)
2200 )))
2201
2202 (((
2203 (% style="background-color:#dcdcdc" %)** AT+RX2DR=5**(%%)** ** ~/~/ Set RX2 DR to match the downlink DR from the server. See below.
2204 )))
2205
2206 (((
2207 (% style="background-color:#dcdcdc" %)** AT+DADDR=26 01 1A F1** (%%) ~/~/ Set Device Address. The Device Address can be found in the application on the LoRaWAN NS.
2208 )))
2209
2210 (((
2211 (% style="background-color:#dcdcdc" %)** ATZ**         (%%) ~/~/ Reset MCU
2212
2213
2214 )))
2215
2216 (((
2217 (% style="color:red" %)**Note:**
2218 )))
2219
2220 (((
2221 **~1. Ensure that the device is set to ABP mode in the LoRaWAN Network Server.**
2222
2223 **2. Verify that the LG01/02 gateway RX frequency matches the AT+CHS setting exactly.**
2224
2225 **3. Make sure the SF/bandwidth settings in the LG01/LG02 match the settings of AT+DR. Refer to [[this link>>url:http://www.dragino.com/downloads/index.php?
2226 dir=LoRa_Gateway/&file=LoRaWAN%201.0.3%20Regional%20Parameters.xlsx]] to see what DR means.**
2227
2228 **4. The commands AT+RX2FQ and AT+RX2DR enable downlink functionality. To set the correct parameters, you can check the actual downlink parameters to be used as shown below. Here, RX2FQ should be set to 868400000 and RX2DR should be set to 5.**
2229 )))
2230
2231 (((
2232 [[image:1653359097980-169.png||height="188" width="729"]]
2233 )))
2234
2235
2236 === 4.2.3 Change to Class A ===
2237
2238
2239 (((
2240 (% style="color:blue" %)**If the sensor has JOINED:**
2241
2242 (% style="background-color:#dcdcdc" %)**AT+CLASS=A**
2243
2244 (% style="background-color:#dcdcdc" %)**ATZ**
2245 )))
2246
2247
2248 = 5. Case Study =
2249
2250 == 5.1 Counting how many objects pass through the flow line ==
2251
2252 See [[How to set up to setup counting for objects passing through the flow line>>How to set up to count objects pass in flow line]]?
2253
2254
2255 = 6. FAQ =
2256
2257 This section contains some frequently asked questions, which can help you resolve common issues and find solutions quickly.
2258
2259
2260 == 6.1 How to update the firmware? ==
2261
2262 Dragino frequently releases firmware updates for the LT-22222-L. Updating your LT-22222-L with the latest firmware version helps to:
2263
2264 * Support new features
2265 * Fix bugs
2266 * Change LoRaWAN frequency bands
2267
2268 You will need the following things before proceeding:
2269
2270 * 3.5mm programming cable (included with the LT-22222-L as an additional accessory)
2271 * USB to TTL adapter
2272 * Download and install the [[STM32 Flash loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]]. (replaced by STM32CubeProgrammer)
2273 * Download the latest firmware image from [[LT-22222-L firmware image files>>https://www.dropbox.com/sh/g99v0fxcltn9r1y/AACrbrDN0AqLHbBat0ViWx5Da/LT-22222-L/Firmware?dl=0&subfolder_nav_tracking=1]]. Check the file name of the firmware to find the correct region.
2274
2275 {{info}}
2276 As of this writing, the latest firmware version available for the LT-22222-L is v1.6.1.
2277 {{/info}}
2278
2279 Below is the hardware setup for uploading a firmware image to the LT-22222-L:
2280
2281 [[image:usb-ttl-programming.png]]
2282
2283
2284
2285 Start the STM32 Flash Loader and choose the correct COM port to update.
2286
2287 (((
2288 (((
2289 (% style="color:blue" %)**For LT-22222-L**(%%):
2290
2291 Hold down the **PRO** button, then briefly press the **RST** button. The **DO1** LED will change from OFF to ON. When the **DO1** LED is ON, it indicates that the device is in firmware download mode.
2292 )))
2293
2294
2295 )))
2296
2297 [[image:image-20220524103407-12.png]]
2298
2299
2300 [[image:image-20220524103429-13.png]]
2301
2302
2303 [[image:image-20220524104033-15.png]]
2304
2305
2306 (% style="color:red" %)**Note**(%%): If you have lost the programming cable, you can make one from a 3.5 mm cable. The pin mapping is as follows:
2307
2308 [[image:1653360054704-518.png||height="186" width="745"]]
2309
2310
2311 (((
2312 (((
2313 == 6.2 How to change the LoRaWAN frequency band/region? ==
2314 )))
2315 )))
2316
2317 (((
2318 You can follow the introductions on [[how to upgrade image>>||anchor="H5.1Howtoupgradetheimage3F"]]. When downloading, select the required image file.
2319 )))
2320
2321 (((
2322
2323
2324 == 6.3 How to setup LT-22222-L to work with a Single Channel Gateway, such as LG01/LG02? ==
2325 )))
2326
2327 (((
2328 (((
2329 In this case, you need to set the LT-22222-L to work in ABP mode and transmit on only one frequency.
2330 )))
2331 )))
2332
2333 (((
2334 (((
2335 We assume you have an LG01/LG02 working on the frequency 868400000. Below are the steps.
2336
2337
2338 )))
2339 )))
2340
2341 (((
2342 (% style="color:#0000ff" %)**Step 1**(%%): Log in to The Things Stack Sandbox account and create an ABP device in the application. To do this, use the manual registration option as explained in section 3.2.2.2, //Adding a Device Manually//. Select //Activation by Personalization (ABP)// under Activation Mode. Enter the DevEUI exactly as shown on the registration information sticker, then generate the Device Address, Application Session Key (AppSKey), and Network Session Key (NwkSKey).
2343
2344 [[image:lt-22222-l-abp.png||height="686" width="1000"]]
2345 )))
2346
2347 (((
2348
2349 )))
2350
2351 {{warning}}
2352 Ensure that the Device Address (DevAddr) and the two keys match between the LT-22222-L and The Things Stack. You can modify them either in The Things Stack or on the LT-22222-L to make them align. In The Things Stack, you can configure the NwkSKey and AppSKey on the settings page, but note that the Device Address is generated by The Things Stack.
2353 {{/warning}}
2354
2355
2356 (((
2357 (% style="color:blue" %)**Step 2**(%%)**:  **(% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant-alternates:normal; font-variant-east-asian:normal; font-variant-ligatures:normal; font-variant-numeric:normal; font-variant-position:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Run AT commands to configure the LT-22222-L to operate in single-frequency and ABP mode. The AT commands are as follows:
2358
2359
2360 )))
2361
2362 (((
2363 (% style="background-color:#dcdcdc" %)**123456** (%%) : Enter the password to enable AT access.
2364
2365 (% style="background-color:#dcdcdc" %)**AT+FDR**(%%) : Reset parameters to factory default, keeping keys reserved.
2366
2367 (% style="background-color:#dcdcdc" %)**AT+NJM=0** (%%) : Set to ABP mode.
2368
2369 (% style="background-color:#dcdcdc" %)**AT+ADR=0** (%%) : Disable the Adaptive Data Rate (ADR).
2370
2371 (% style="background-color:#dcdcdc" %)**AT+DR=5** (%%) : Set Data Rate (Use AT+DR=3 for the 915 MHz band).
2372
2373 (% style="background-color:#dcdcdc" %)**AT+TDC=60000 **(%%) : Set transmit interval to 60 seconds.
2374
2375 (% style="background-color:#dcdcdc" %)**AT+CHS=868400000**(%%) : Set transmit frequency to 868.4 MHz.
2376
2377 (% style="background-color:#dcdcdc" %)**AT+DADDR=xxxx**(%%) : Set the Device Address (DevAddr)
2378
2379 (% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant-alternates:normal; font-variant-east-asian:normal; font-variant-ligatures:normal; font-variant-numeric:normal; font-variant-position:normal; font-weight:700; text-decoration:none; white-space:pre-wrap" %)**AT+APPKEY=xxxx**(% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant-alternates:normal; font-variant-east-asian:normal; font-variant-ligatures:normal; font-variant-numeric:normal; font-variant-position:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %): Get or set the Application Key (AppKey)
2380
2381 (% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant-alternates:normal; font-variant-east-asian:normal; font-variant-ligatures:normal; font-variant-numeric:normal; font-variant-position:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)**AT+NWKSKEY=xxxx**: Get or set the Network Session Key (NwkSKey)
2382
2383 (% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant-alternates:normal; font-variant-east-asian:normal; font-variant-ligatures:normal; font-variant-numeric:normal; font-variant-position:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)**AT+APPSKEY=xxxx**: Get or set the Application Session Key (AppSKey)
2384
2385 (% style="background-color:#dcdcdc" %)**ATZ**        (%%) : Reset MCU.
2386 )))
2387
2388
2389 (((
2390 (% style="color:#000000; font-family:Arial,sans-serif; font-size:11pt; font-style:normal; font-variant-alternates:normal; font-variant-east-asian:normal; font-variant-ligatures:normal; font-variant-numeric:normal; font-variant-position:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)The following figure shows the screenshot of the command set above, issued using a serial tool:
2391 )))
2392
2393 [[image:1653360498588-932.png||height="485" width="726"]]
2394
2395
2396 == 6.4 How to change the uplink interval? ==
2397
2398 Please see this link: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/How%20to%20set%20the%20transmit%20time%20interval/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20set%20the%20transmit%20time%20interval/]]
2399
2400
2401 == 6.5 Can I see the counting event in the serial output? ==
2402
2403 (((
2404 You can run the AT command **AT+DEBUG** to view the counting event in the serial output. If the firmware is too old and doesn’t support AT+DEBUG, update to the latest firmware first.
2405
2406
2407 == 6.6 Can I use point-to-point communication with LT-22222-L? ==
2408
2409 Yes, you can. Please refer to the [[Point-to-Point Communication of LT-22222-L>>https://wiki.dragino.com/xwiki/bin/view/Main/%20Point%20to%20Point%20Communication%20of%20LT-22222-L/]] page. The firmware that supports point-to-point communication can be found [[here>>https://github.com/dragino/LT-22222-L/releases]].
2410
2411
2412 )))
2413
2414 (((
2415 == 6.7 Why does the relay output default to an open relay after the LT-22222-L is powered off? ==
2416
2417 * If the device is not properly shut down and is directly powered off.
2418 * It will default to a power-off state.
2419 * In modes 2 to 5, the DO/RO status and pulse count are saved to flash memory.
2420 * After a restart, the status before the power failure will be read from flash.
2421
2422 == 6.8 Can I setup LT-22222-L as a NC (Normally Closed) relay? ==
2423
2424 The LT-22222-L's built-in relay is Normally Open (NO). You can use an external relay to achieve a Normally Closed (NC) configuration. The circuit diagram is shown below:
2425
2426
2427 [[image:image-20221006170630-1.png||height="610" width="945"]]
2428
2429
2430 == 6.9 Can the LT-22222-L save the RO state? ==
2431
2432 To enable this feature, the firmware version must be 1.6.0 or higher.
2433
2434
2435 == 6.10 Why does the LT-22222-L always report 15.585V when measuring the AVI? ==
2436
2437 It is likely that the GND is not connected during the measurement, or that the wire connected to the GND is loose.
2438
2439
2440 = 7. Troubleshooting =
2441
2442 This section provides some known troubleshooting tips.
2443
2444
2445 )))
2446
2447 (((
2448 (((
2449 == 7.1 Downlink isn't working. How can I solve this? ==
2450 )))
2451 )))
2452
2453 (((
2454 Please refer to this link for debugging instructions: [[LoRaWAN Communication Debug>>doc:Main.LoRaWAN Communication Debug.WebHome||anchor="H5.1Howitwork"]]
2455 )))
2456
2457 (((
2458
2459
2460 == 7.2 Having trouble uploading an image? ==
2461 )))
2462
2463 (((
2464 Please refer to this link for troubleshooting: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]
2465 )))
2466
2467 (((
2468
2469
2470 == 7.3 Why can't I join TTN in the US915 /AU915 bands? ==
2471 )))
2472
2473 (((
2474 It might be related to the channel mapping. [[Please refer to this link for details.>>https://github.com/dragino/LT-22222-L/releases]]
2475 )))
2476
2477
2478 == 7.4 Why can the LT-22222-L perform uplink normally, but cannot receive downlink? ==
2479
2480 The FCD count of the gateway is inconsistent with the FCD count of the node, causing the downlink to remain in the queue.
2481 Use this command to synchronize their counts: [[Resets the downlink packet count>>||anchor="H3.4.2.23Resetsthedownlinkpacketcount"]]
2482
2483
2484 = 8. Ordering information =
2485
2486 (% style="color:#4f81bd" %)**LT-22222-L-XXX:**
2487
2488 (% style="color:#4f81bd" %)**XXX:**
2489
2490 * (% style="color:red" %)**EU433**(%%): LT with frequency bands EU433
2491 * (% style="color:red" %)**EU868**(%%): LT with frequency bands EU868
2492 * (% style="color:red" %)**KR920**(%%): LT with frequency bands KR920
2493 * (% style="color:red" %)**CN470**(%%): LT with frequency bands CN470
2494 * (% style="color:red" %)**AS923**(%%): LT with frequency bands AS923
2495 * (% style="color:red" %)**AU915**(%%): LT with frequency bands AU915
2496 * (% style="color:red" %)**US915**(%%): LT with frequency bands US915
2497 * (% style="color:red" %)**IN865**(%%): LT with frequency bands IN865
2498 * (% style="color:red" %)**CN779**(%%): LT with frequency bands CN779
2499
2500 = 9. Package information =
2501
2502 **Package includes**:
2503
2504 * 1 x LT-22222-L I/O Controller
2505 * 1 x LoRa antenna matched to the frequency of the LT-22222-L
2506 * 1 x bracket for DIN rail mounting
2507 * 1 x 3.5 mm programming cable
2508
2509 **Dimension and weight**:
2510
2511 * Device Size: 13.5 x 7 x 3 cm
2512 * Device Weight: 105 g
2513 * Package Size / pcs : 14.5 x 8 x 5 cm
2514 * Weight / pcs : 170 g
2515
2516 = 10. Support =
2517
2518 * (((
2519 Support is available Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different time zones, we cannot offer live support. However, your questions will be answered as soon as possible within the aforementioned schedule.
2520 )))
2521 * (((
2522 Please provide as much information as possible regarding your inquiry (e.g., product models, a detailed description of the problem, steps to replicate it, etc.) and send an email to [[support@dragino.cc>>mailto:support@dragino.cc]]
2523
2524
2525 )))
2526
2527 = 11. Reference​​​​​ =
2528
2529 * LT-22222-L: [[http:~~/~~/www.dragino.com/products/lora-lorawan-end-node/item/156-lt-22222-l.html>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/156-lt-22222-l.html]]
2530 * [[Datasheet, Document Base>>https://www.dropbox.com/sh/gxxmgks42tqfr3a/AACEdsj_mqzeoTOXARRlwYZ2a?dl=0]]
2531 * [[Hardware Source>>url:https://github.com/dragino/Lora/tree/master/LT/LT-33222-L/v1.0]]
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0