Version 2.3 by Kilight Cao on 2025/07/03 13:41

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