LTC2-LB -- LoRaWAN Temperature Transmitter User Manual
Table of Contents:
- 1. Introduction
- 2. How to use LTC2-LB?
- 3. Configure LTC2-LB via AT Command or LoRaWAN Downlink
- 4. Battery & Power Consumption
- 5. OTA Firmware update
- 6. FAQ
- 7. Trouble Shooting
- 8. Order Info
- 9. Packing Info
- 10. Support
1. Introduction
1.1 What is LTC2-LB LoRaWAN Temperature Transmitter
The Dragino LTC2-LB Industrial LoRaWAN Temperature Transmitter is designed to monitor temperature for different environment. It supports to read PT100 probe and convert the value to temperature and uplink to IoT server via LoRaWAN protocol.
LTC2-LB supports Datalog feature. User can retrieve the sensor value via LoRaWAN downlink command.
LTC2-LB has two internal 24-bit ADC interfaces.
LTC2-LB supports BLE configure and wireless OTA update which make user easy to use.
LTC2-LB is powered by 8500mAh Li-SOCI2 battery, it is designed for long-term use up to several years.
Each LTC2-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto-connect after power on.
1.2 Features
- LoRaWAN v1.0.3 Class A
- max: 2 x monitor temperature channels
- Support 3 -wire PT-100
- Temperature alarm
- Datalog Feature
- Support Bluetooth v5.1 and LoRaWAN remote configure
- Support wireless OTA update firmware
- Uplink on periodically
- Downlink to change configure
- 8500mAh Li/SOCl2 Battery
1.3 Specification
Common DC Characteristics:
- Supply Voltage: Built-in Battery , 2.5v ~ 3.6v
- Operating Temperature: -40 ~ 85°C
LoRa Spec:
- Frequency Range, Band 1 (HF): 862 ~ 1020 Mhz
- Max +22 dBm constant RF output vs.
- RX sensitivity: down to -139 dBm.
- Excellent blocking immunity
Battery:
- Li/SOCI2 un-chargeable battery
- Capacity: 8500mAh
- Self-Discharge: <1% / Year @ 25°C
- Max continuously current: 130mA
- Max boost current: 2A, 1 second
Power Consumption
- Sleep Mode: 5uA @ 3.3v
- LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
1.4 Applications
- Logistics and Supply Chain Management
- Food management
- Cold chains solution
- Industrial Monitoring and Control
1.5 Sleep mode and working mode
Deep Sleep Mode: Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
Working Mode: In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
1.6 Button & LEDs
Behavior on ACT | Function | Action |
---|---|---|
Pressing ACT between 1s < time < 3s | Send an uplink | If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, blue led will blink once. |
Pressing ACT for more than 3s | Active Device | Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network. |
Fast press ACT 5 times. | Deactivate Device | Red led will solid on for 5 seconds. Means LTC2-LB is in Deep Sleep Mode. |
1.7 BLE connection
LTC2-LB supports BLE remote configure.
BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
- Press button to send an uplink
- Press button to active device.
- Device Power on or reset.
If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
1.8 Pin Definitions
1.9 Mechanical
1.10 Probe Variant
LTC2-LB provide default probe version. See below for the variant:
Model | Photo | Description |
---|---|---|
DR-SI | Standard IP68 Probe Version:
| |
DR-LT | Low Temperature Version:
| |
DR-HT | | High Temperature Version:
|
DR-FSA | Food Safety Version:
| |
DR-FT | Flat Type Version:
|
2. How to use LTC2-LB?
2.1 How it works?
The LTC2-LB is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the LTC2-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
On each uplink, LTC2-LB will check its two ADC Interfaces and get the temperature from the sensor and send out to server.
2.2 Quick guide to connect to LoRaWAN server (OTAA)
Following is an example for how to join the TTN v3 LoRaWAN Network. Below is the network structure; we use the LPS8v2 as a LoRaWAN gateway in this example.
The LPS8V2 is already set to connected to TTN network , so what we need to now is configure the TTN server.
Step 1: Create a device in TTN with the OTAA keys from LTC2-LB.
Each LTC2-LB is shipped with a sticker with the default device EUI as below:
You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
Create the application.
Add devices to the created Application.
Enter end device specifics manually.
Add DevEUI and AppKey.
Customize a platform ID for the device.
Step 2: Add decoder
In TTN, user can add a custom payload so it shows friendly reading.
Click this link to get the decoder: https://github.com/dragino/dragino-end-node-decoder/tree/main/
Below is TTN screen shot:
Step 3: Activate on LTC2-LB
Press the button for 5 seconds to activate the LTC2-LB.
Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network. Green led will solidly turn on for 5 seconds after joined in network.
After join success, it will start to upload messages to TTN and you can see the messages in the panel.
2.3 Uplink Payload
2.3.1 Device Status, FPORT=5
Users can use the downlink command(0x26 01) to ask LTC2-LB to send device configure detail, include device configure status. LTC2-LB will uplink a payload via FPort=5 to server.
The Payload format is as below.
Device Status (FPORT=5) | |||||
Size (bytes) | 1 | 2 | 1 | 1 | 2 |
Value | Sensor Model | Firmware Version | Frequency Band | Sub-band | BAT |
Example in TTN:
Sensor Model: For LTC2-LB, this value is 0x3D
Firmware Version: 0x0100, Means: v1.0.0 version
Frequency Band:
0x01: EU868
0x02: US915
0x03: IN865
0x04: AU915
0x05: KZ865
0x06: RU864
0x07: AS923
0x08: AS923-1
0x09: AS923-2
0x0a: AS923-3
0x0b: CN470
0x0c: EU433
0x0d: KR920
0x0e: MA869
Sub-Band:
AU915 and US915:value 0x00 ~ 0x08
CN470: value 0x0B ~ 0x0C
Other Bands: Always 0x00
Battery Info:
Check the battery voltage.
Ex1: 0x0B45 = 2885mV
Ex2: 0x0B49 = 2889mV
2.3.2 Sensor Data. FPORT=2
Below is the uplink payload which shows.
Size(bytes) | 2 | 1 | 2 | 2 | 4 |
---|---|---|---|---|---|
Value | BAT | Interrupt flag & Interrupt Level & TEMP1H flag & TEMP1L flag&TEMP2H flag&TEMP1L flag | Channel1 temperature | Channel2 temperature | Unix TimeStamp
|
Example in TTN:
Battery
Sensor Battery Level.
Ex1: 0x0B45 = 2885mV
Ex2: 0x0B49 = 2889mV
Interrupt flag & Interrupt Level & TEMP1H flag & TEMP1L flag& TEMP2H flag & TEMP2L flag
Interrupt flag & Interrupt Level:
This data field shows if this packet is generated by interrupt or not.
Note: The Interrupt Pin refers to the GPIO_EXTI pin in the screw terminal.
Example:
If byte[2]&0x01=0x00 : Normal uplink packet.
If byte[2]&0x01=0x01 : Interrupt Uplink Packet.
If byte[2]&0x02>>1=0x00 : Interrupt pin low level.
If byte[2]&0x02>>1=0x01 : Interrupt pin high level.
TEMP1H flag & TEMP1L flag&TEMP2H flag & TEMP2L flag:
Temperature alarm flag.
Turn on the alarm mode, the TEMP1L fag flag is True when the channel1 temperature is below the set minimum value, otherwise it is False.
And the TEMP1H fag flag is True when the channel1 temperature is higher than the set maximum value, and False otherwise.
Turn on the alarm mode, the TEMP2L fag flag is True when the channel2 temperature is below the set minimum value, otherwise it is False.
And the TEMP2H fag flag is True when the channel2 temperature is higher than the set maximum value, and False otherwise.
Channel 1 temperature
Example:
If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
If the value is -327.6, it means the channel1 PT100 probe is not connected.
If the value is -983, it means the PT100 converter is not connected.
Channel 2 temperature
Example:
If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
If the value is -327.6, it means the channel2 PT100 probe is not connected.
If the value is -983, it means the PT100 converter is not connected.
2.5 Datalog Feature
LTC2-LB will auto get the time from LoRaWAN server during Join, and each uplink will then include a timestamp. When user want to retrieve sensor value, user can send a poll command from the IoT platform to ask sensor to send value in the required time slot.
2.5.1 Unix TimeStamp
LTC2-LB uses Unix TimeStamp format based on
Users can get this time from the link: https://www.epochconverter.com/ :
Below is the converter example
So, we can use AT+TIMESTAMP=1725693900 or downlink 3066DBFFCC00 to set current time : 2024-September-7 Saturday 07:25:00
2.5.2 Set Device Time
There are two ways to set the device's time:
1. Through LoRaWAN MAC Command (Default settings)
Users need to set SYNCMOD=1 to enable sync time via the MAC command.
Once LTC2-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and server will reply with (DeviceTimeAns) to send the current time to LTC2-LB. If LTC2-LB fails to get the time from server, LTC2-LB will use the internal time and wait for next time request (AT+SYNCTDC to set time request period, default is 10 days).
Note: LoRaWAN Server needs to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN v3 and loriot support but TTN v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN v2 if SYNCMOD=1.
2. Manually Set Time
Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
2.5.3 Poll sensor value
Users can poll sensor values based on timestamps. Below is the downlink command.
Downlink Command to poll Open/Close status (0x31) | |||
---|---|---|---|
1byte | 4bytes | 4bytes | 1byte |
31 | Timestamp start | Timestamp end | Uplink Interval |
Timestamp start and Timestamp end use Unix TimeStamp format as mentioned above. Devices will reply with all data log during this time period, use the uplink interval.
For example, downlink command
Is to check 2024-09-07 15:25:00 to 2024-09-07 15:30:00's data
Uplink Internal =10s,means LTC2-LB will send one packet every 10s. range 5~255s.
2.5.4 Datalog Uplink payload
When server senser a datalog polling to LTC2-LB, LTC2-LB will reply with one or more uplink messages as reply. Each uplink message includes multiply data entries value. Each entry has the same payload format as normal uplink payload.
Note:
- Poll Message Flag is set to 1.
- Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
For example, in US915 band, the max payload for different DR is:
- DR0: max is 11 bytes so one entry of data
- DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
- DR2: total payload includes 11 entries of data
- DR3: total payload includes 22 entries of data.
If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0
Example:
If LTC2-LB has below data inside Flash:
Flash Add | Unix Time | Ext | BAT voltage | Value |
8021630 | systime= 2021/5/16 01:17:44 | 1 | 3684 | temp1=24.7 temp2=25.2 |
8021640 | systime= 2021/5/16 01:37:44 | 1 | 3681 | temp1=24.7 temp2=25.2 |
8021650 | systime= 2021/5/16 01:57:44 | 1 | 3681 | temp1=24.7 temp2=25.1 |
8021660 | systime= 2021/5/16 02:17:44 | 1 | 3684 | temp1=24.7 temp2=25.0 |
8021670 | systime= 2021/5/16 02:37:44 | 1 | 3684 | temp1=24.6 temp2=25.0 |
8021680 | systime= 2021/5/16 02:57:44 | 1 | 3684 | temp1=24.6 temp2=25.1 |
8021690 | systime= 2021/5/16 03:17:44 | 1 | 3684 | temp1=24.5 temp2=25.0 |
80216A0 | systime= 2021/5/16 03:37:44 | 1 | 3684 | temp1=24.5 temp2=25.0 |
80216B0 | systime= 2021/5/16 03:57:44 | 1 | 3684 | temp1=24.4 temp2=25.0 |
If user send below downlink command: 3166DBFFCC66DC00F80A
Where : Start time: 66DBFFCC = time 2024/9/7 15:25:00
Stop time: 66DC00F8 = time 2024/9/7 15:30:00
LTC2-LB will uplink this payload.
000000F700FC4266DBFFD0 000000F700FC4266DC000C 000000F700FB4266DC0048 000000F700FB4266DC0084 000000F800FC4266DC00C0
Where the first 11 bytes is for the first entry:
0000 00F7 00FC 42 66DBFFD0
0x0000: The first two bytes are reserved positions and have no meaning.
0x00F7: Channel 1 temp=0x00F7/10=24.7℃
0x00FC: Channel 2 temp=0x0FC/10=25.2℃
0x42: Interrupt flag & Interrupt Level:
- If payload & 0x02 = 0x02 --> The interrupt Level is "High";
- If payload & 0x02 = 0x00 --> The interrupt Level is "Low";
- If payload & 0x01 = 0x01 --> The interrupt flag is "Ture";
- If payload & 0x01 = 0x00 --> The interrupt flag is "False";
0x66DBFFD0: System timestamp=0x66DBFFD0=1725693904(UTC)
3. Configure LTC2-LB via AT Command or LoRaWAN Downlink
Use can configure LTC2-LB via AT Command or LoRaWAN Downlink.
AT Command Connection: See FAQ.
LoRaWAN Downlink instruction for different platforms: IoT LoRaWAN Server
There are two kinds of commands to configure LTC2-LB, they are:
General Commands.
These commands are to configure:
General system settings like: uplink interval.
LoRaWAN protocol & radio related command.
They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: End Device AT Commands and Downlink Command
Commands special design for LTC2-LB
These commands only valid for LTC2-LB, as below:
3.1 Set Transmit Interval Time
Feature: Change LoRaWAN End Node Transmit Interval.
AT Command: AT+TDC
Command Example | Function | Response |
AT+TDC=? | Show current transmit Interval | 1200000(Default value) |
AT+TDC=600000 | Set Transmit Interval | OK |
Downlink Command: 0x01
Format: Command Code (0x01) followed by 3 bytes time value.
If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
- Example 1: Downlink Payload: 0100001E // Set Transmit Interval (TDC) = 30 seconds
- Example 2: Downlink Payload: 0100003C // Set Transmit Interval (TDC) = 60 seconds
3.2 Set alarm mode
Feature: Enable/Disable Alarm Mode.
AT Command: AT+WMOD
- AT+WMOD=0 //Disable the alarm mode, default.
- AT+WMOD=1 //Enable the alarm mode.
Downlink Command: 0xA5
- Downlink payload: 0xA500 //Same as AT+WMOD=0
- Downlink payload: 0xA501 //Same as AT+WMOD=1
3.3 Alarm check time
Feature: The time interval to check sensor value for Alarm. ( Default: AT+CITEMP=1; Unit: minute )
AT Command: AT+CITEMP
Example:
- AT+CITEMP=10 //Set collection interval in 10 min, only in alarm mode.
Downlink Command: 0xA6
Format: Command Code (0xA6) followed by 2 bytes.
Example:
- Downlink payload: 0xA6000A //Same as AT+CITEMP=10
3.4 Set Alarm Threshold
Feature: Set Alarm Threshold. (Unit: ℃)
AT Command: AT+ARTEMP
The first parameter sets the low limit of channel 1, and the second parameter sets the high limit of channel 1.
The third parameter sets the low limit for channel 2, and the fourth parameter sets the high limit for channel 2.
Example:
- AT+ARTEMP=-200,800,-200,800 //Channel 1 & Channel 2 operating temp: -200℃~800℃,alarm when out of range.
- AT+ARTEMP=10,100,10,101 //Channel 1 operating temp: 10℃~100℃; Channel 2 operating temp: 10℃~101℃, alarm when out of range.
Downlink Command: 0xA7
Format: Command Code (0xA7) followed by 8 bytes.
Each two bytes after the function code 0xA7 is a parameter, corresponding to the four parameters of AT+ARTEMP in sequence.
Example:
- Downlink payload: 0xA7FF380320FF380320 //Same as AT+ARTEMP=-200,800,-200,800
- Downlink payload: 0xA7000A0064000A0065 //Same as AT+ARTEMP=10,100,10,101
Note: For negative temperature -200℃: 65536-200= 65336(D) = 0XFF38(H)
3.5 Print data entries base on page
Feature: Print the sector data from start page to stop page (max is 400 pages).
AT Command: AT+PDTA
Command Example | Response |
AT+PDTA=259,260 Print page 259 to 260
| Stop Tx events when read sensor data 8021600 systime= 2021/5/16 00:17:44 1 3684 temp1=28.7 temp2=28.5 8021610 systime= 2021/5/16 00:37:44 1 3685 temp1=28.7 temp2=28.4 8021620 systime= 2021/5/16 00:57:44 1 3684 temp1=28.8 temp2=28.4 8021630 systime= 2021/5/16 01:17:44 1 3684 temp1=28.8 temp2=28.4 8021640 systime= 2021/5/16 01:37:44 1 3681 temp1=28.7 temp2=28.4 8021650 systime= 2021/5/16 01:57:44 1 3681 temp1=28.6 temp2=28.4 8021660 systime= 2021/5/16 02:17:44 1 3684 temp1=28.6 temp2=28.4 8021670 systime= 2021/5/16 02:37:44 1 3684 temp1=28.5 temp2=28.4 8021680 systime= 2021/5/16 02:57:44 1 3684 temp1=28.5 temp2=28.4 8021690 systime= 2021/5/16 03:17:44 1 3684 temp1=28.5 temp2=28.4 80216A0 systime= 2021/5/16 03:37:44 1 3684 temp1=28.5 temp2=28.4 80216B0 systime= 2021/5/16 03:57:44 1 3684 temp1=28.4 temp2=28.4 80216C0 systime= 2021/5/16 04:17:44 1 3684 temp1=28.4 temp2=28.4 80216D0 systime= 2021/5/16 04:37:44 1 3683 temp1=28.3 temp2=28.4 80216E0 systime= 2021/5/16 04:57:44 1 3684 temp1=28.3 temp2=28.4 80216F0 systime= 2021/5/16 05:17:44 1 3685 temp1=28.3 temp2=28.4 Start Tx events OK |
Downlink Command:
No downlink commands for feature
3.6 Print last few data entries
Feature: Print the last few data entries
AT Command: AT+PLDTA
Command Example | Response |
AT+PLDTA=5 Print last 5 entries | Stop Tx events when read sensor data 1 systime= 2021/5/17 03:12:37 1 3681 temp1=26.0 temp2=26.1 2 systime= 2021/5/17 03:17:37 1 3682 temp1=26.0 temp2=26.1 3 systime= 2021/5/17 03:22:37 1 3687 temp1=25.9 temp2=26.1 4 systime= 2021/5/17 03:27:37 1 3684 temp1=25.9 temp2=26.1 5 systime= 2021/5/17 03:32:37 1 3684 temp1=26.2 temp2=26.1 Start Tx events OK |
Downlink Command:
No downlink commands for feature
3.7 Clear Flash Record
Feature: Clear flash storage for data log feature.
AT Command: AT+CLRDTA
Command Example | Function | Response |
---|---|---|
AT+CLRDTA | Clear date record | Clear all stored sensor data… |
Downlink Command: 0xA3
- Example: 0xA301 // Same as AT+CLRDTA
4. Battery & Power Consumption
LTC2-LB uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
Battery Info & Power Consumption Analyze .
5. OTA Firmware update
User can change firmware LTC2-LB to:
- Change Frequency band/ region.
- Update with new features.
- Fix bugs.
Firmware and changelog can be downloaded from : Firmware download link
Methods to Update Firmware:
- (Recommanded way) OTA firmware update via wireless : http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/
- Update through UART TTL interface : Instruction.
6. FAQ
6.1 How to use AT Command to configure LTC2-LB
LTC2-LB supports AT Command set. User can use a USB to TTL adapter plus the Program Cable to connect to LTC2-LB for using AT command, as below.
Connection:
- USB to TTL GND <--> LTC2-LB GND
- USB to TTL RXD <--> LTC2-LB TXD
- USB to TTL TXD <--> LTC2-LB RXD
In PC, User needs to set serial tool(such as putty, SecureCRT) baud rate to 9600 to access to access serial console for LTC2-LB. The AT commands are disable by default and need to enter password (default password is the AT+PIN on the box label)to active it. Timeout to input AT Command is 5 min, after 5-minute, user need to input password again.
Input password and ATZ to activate LTC2-LB,As shown below:
7. Trouble Shooting
7.1 AT Command input doesn't work
In the case if user can see the console output but can't type input to the device. Please check if you already include the ENTER while sending out the command. Some serial tool doesn't send ENTER while press the send key, user need to add ENTER in their string.
8. Order Info
Notice: This part number doesn't include the Temperature sensor. Users need to purchase separately.
Part Number : LTC2-LB-XX
XX: The default frequency band
- AS923 : LoRaWAN AS923 band
- AU915 : LoRaWAN AU915 band
- EU433 : LoRaWAN EU433 band
- EU868 : LoRaWAN EU868 band
- KR920 : LoRaWAN KR920 band
- US915 : LoRaWAN US915 band
- IN865 : LoRaWAN IN865 band
- CN470 : LoRaWAN CN470 band
Probe Options: DR-SI, DR-LT, DR-HT, DR-FSA, DR-FT
9. Packing Info
Package Includes:
- LTC2-LB LoRaWAN Temperature Transmitter x 1
Dimension and weight:
- Device Size: cm
- Device Weight: g
- Package Size / pcs : cm
- Weight / pcs : g
10. Support
- Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
- Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to support@dragino.com.