Version 208.1 by Dilisi S on 2024/11/22 05:35

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