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