Version 58.3 by Xiaoling on 2022/05/23 14:45

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20220523115324-1.jpeg||height="500" width="500"]]
3
4
5 **LHT65N LoRaWAN Temperature & Humidity Sensor Manual**
6
7
8
9 **Table of Contents:**
10
11 {{toc/}}
12
13
14
15 = 1.Introduction =
16
17 == 1.1 What is LHT65N Temperature & Humidity Sensor ==
18
19 (((
20 The Dragino LHT65N Temperature & Humidity sensor is a Long Range LoRaWAN Sensor. It includes a (% style="color:#4f81bd" %)**built-in Temperature & Humidity sensor**(%%) and has an external sensor connector to connect to an external (% style="color:#4f81bd" %)**Temperature Sensor**(%%)**.**
21 )))
22
23 (((
24 The LHT65N allows users to send data and reach extremely long ranges. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, building automation, and so on.
25 )))
26
27 (((
28 LHT65N has a built-in 2400mAh non-chargeable battery which can be used for up to 10 years*.
29 )))
30
31 (((
32 LHT65N is full compatible with LoRaWAN v1.0.3 Class A protocol, it can work with a standard LoRaWAN gateway.
33 )))
34
35 (((
36 LHT65N supports (% style="color:#4f81bd" %)**Datalog Feature**(%%). It will record the data when there is no network coverage and users can retrieve the sensor value later to ensure no miss for every sensor reading.
37 )))
38
39 (((
40 *The actual battery life depends on how often to send data, please see the battery analyzer chapter.
41 )))
42
43 == 1.2 Features ==
44
45 * Wall mountable
46 * LoRaWAN v1.0.3 Class A protocol
47 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915
48 * AT Commands to change parameters
49 * Remote configure parameters via LoRaWAN Downlink
50 * Firmware upgradeable via program port
51 * Built-in 2400mAh battery for up to 10 years of use.
52 * Built-in Temperature & Humidity sensor
53 * Optional External Sensors
54 * Tri-color LED to indicate working status
55 * Datalog feature
56
57 == 1.3 Specification ==
58
59 (((
60 **Built-in Temperature Sensor:**
61 )))
62
63 * (((
64 Resolution: 0.01 °C
65 )))
66 * (((
67 Accuracy Tolerance : Typ ±0.3 °C
68 )))
69 * (((
70 Long Term Drift: < 0.02 °C/yr
71 )))
72 * (((
73 Operating Range: -40 ~~ 85 °C
74 )))
75
76 (((
77 **Built-in Humidity Sensor:**
78 )))
79
80 * (((
81 Resolution: 0.04 %RH
82 )))
83 * (((
84 Accuracy Tolerance : Typ ±3 %RH
85 )))
86 * (((
87 Long Term Drift: < 0.02 °C/yr
88 )))
89 * (((
90 Operating Range: 0 ~~ 96 %RH
91 )))
92
93 (((
94 **External Temperature Sensor:**
95 )))
96
97 * (((
98 Resolution: 0.0625 °C
99 )))
100 * (((
101 ±0.5°C accuracy from -10°C to +85°C
102 )))
103 * (((
104 ±2°C accuracy from -55°C to +125°C
105 )))
106 * (((
107 Operating Range: -55 °C ~~ 125 °C
108 )))
109
110 = 2. Connect LHT65N to IoT Server =
111
112 == 2.1 How does LHT65N work? ==
113
114 (((
115 LHT65N is configured as LoRaWAN OTAA Class A mode by default. Each LHT65N is shipped with a worldwide unique set of OTAA keys. To use LHT65N in a LoRaWAN network, first, we need to put the OTAA keys in LoRaWAN Network Server and then activate LHT65N.
116 )))
117
118 (((
119 If LHT65N is under the coverage of this LoRaWAN network. LHT65N can join the LoRaWAN network automatically. After successfully joining, LHT65N will start to measure environment temperature and humidity, and start to transmit sensor data to the LoRaWAN server. The default period for each uplink is 20 minutes.
120 )))
121
122 == 2.2 How to Activate LHT65N? ==
123
124 The LHT65N has two working modes:
125
126 * **Deep Sleep Mode**: LHT65N doesn’t have any LoRaWAN activation. This mode is used for storage and shipping to save battery life.
127 * **Working Mode**: In this mode, LHT65N works as LoRaWAN Sensor mode to Join LoRaWAN network and send out the sensor data to the server. Between each sampling/tx/rx periodically, LHT65 will be in STOP mode (IDLE mode), in STOP mode, LHT65N has the same power consumption as Deep Sleep mode. 
128
129 (((
130 The LHT65N is set in deep sleep mode by default; The ACT button on the front is to switch to different modes:
131 )))
132
133 [[image:image-20220515123819-1.png||height="379" width="317"]]
134
135 (% border="1" style="background-color:#ffffcc; color:green; width:739px" %)
136 |**Behavior on ACT**|**Function**|(% style="width:424px" %)**Action**
137 |**Pressing ACT between 1s < time < 3s**|Test uplink status|(% style="width:424px" %)If LHT65N is already Joined to the LoRaWAN network, LHT65N will send an uplink packet, if LHT65N has an external sensor connected, blue led will blink once. If LHT65N has no external sensor, red led will blink once.
138 |**Pressing ACT for more than 3s**|Active Device|(% style="width:424px" %)green led will fast blink 5 times, LHT65N will enter working mode and start to JOIN LoRaWAN network. green led will solid turn on for 5 seconds after join in network.
139 |**Fast press ACT 5 times**|Deactivate Device|(% style="width:424px" %)red led will solid on for 5 seconds. This means LHT65N is in Deep Sleep Mode.
140
141 == 2.3 Example to join LoRaWAN network ==
142
143 (% class="wikigeneratedid" %)
144 This section shows an example of how to join the TTN V3 LoRaWAN IoT server. Use with other LoRaWAN IoT servers is of a similar procedure.
145
146 (% class="wikigeneratedid" %)
147 [[image:image-20220522232442-1.png||height="387" width="648"]]
148
149 Assume the LPS8N is already set to connect to [[TTN V3 network>>url:https://eu1.cloud.thethings.network]], So it provides network coverage for LHT65N. Next we need to add the LHT65N device in TTN V3:
150
151
152 === 2.3.1 Step 1: Create Device n TTN ===
153
154 Create a device in TTN V3 with the OTAA keys from LHT65N.
155
156 Each LHT65N is shipped with a sticker with its device EUI, APP Key and APP EUI as below:
157
158 [[image:image-20220522232812-2.png||height="219" width="279"]]
159
160 User can enter these keys in the LoRaWAN Server portal. Below is TTN V3 screenshot:
161
162 Add APP EUI in the application.
163
164 [[image:image-20220522232916-3.png]]
165
166 [[image:image-20220522232932-4.png]]
167
168 [[image:image-20220522232954-5.png]]
169
170 Note: LHT65N use same payload as LHT65.
171
172 [[image:image-20220522233026-6.png]]
173
174
175 Input APP EUI,  APP KEY and DEV EUI:
176
177 [[image:image-20220522233118-7.png]]
178
179
180 === 2.3.2 Step 2: Activate LHT65N by pressing the ACT button for more than 5 seconds. ===
181
182 Use ACT button to activate LHT65N and it will auto-join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and user can see in the panel.
183
184 [[image:image-20220522233300-8.png||height="219" width="722"]]
185
186
187 == 2.4 Uplink Payload ==
188
189 The uplink payload includes totally 11 bytes. Uplink packets use FPORT=2 and (% style="color:#4f81bd" %)**every 20 minutes**(%%) send one uplink by default.
190
191 After each uplink, the (% style="color:blue" %)**BLUE LED**(%%) will blink once.
192
193
194 (% border="1" style="background-color:#ffffcc; color:green; width:428px" %)
195 |(% style="width:106px" %)(((
196 **Size(bytes)**
197 )))|(% style="width:46px" %)(((
198 **2**
199 )))|(% style="width:104px" %)(((
200 **2**
201 )))|(% style="width:80px" %)(((
202 **2**
203 )))|(% style="width:51px" %)(((
204 **1**
205 )))|(% style="width:35px" %)(((
206 **4**
207 )))
208 |(% style="width:106px" %)(((
209 **Value**
210 )))|(% style="width:46px" %)(((
211 [[BAT>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.2BAT-BatteryInfo]]
212 )))|(% style="width:104px" %)(((
213 (((
214 [[Built-In>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.3Built-inTemperature]]
215 )))
216
217 (((
218 [[Temperature>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.3Built-inTemperature]]
219 )))
220 )))|(% style="width:80px" %)(((
221 (((
222 [[Built-in>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.4Built-inHumidity]]
223 )))
224
225 (((
226 [[Humidity>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.4Built-inHumidity]]
227 )))
228 )))|(% style="width:51px" %)(((
229 [[Ext>>path:#Extension_Sensor]] #
230 )))|(% style="width:35px" %)(((
231 [[Ext value>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.6Extvalue]]
232 )))
233
234 * The First 6 bytes: has fix meanings for every LHT65N.
235 * The 7th byte (EXT #): defines the external sensor model.
236 * The 8^^th^^ ~~ 11^^th^^ byte: the value for external sensor value. The definition is based on external sensor type. (If EXT=0, there won’t be these four bytes.)
237
238 === 2.4.1 Decoder in TTN V3 ===
239
240 When the uplink payload arrives TTNv3, it shows HEX format and not friendly to read. We can add LHT65N decoder in TTNv3 for friendly reading.
241
242 Below is the position to put the decoder and LHT65N decoder can be download from here:
243
244 [[https:~~/~~/www.dropbox.com/sh/r2i3zlhsyrpavla/AAB1sZw3mdT0K7XjpHCITt13a?dl=0 >>https://www.dropbox.com/sh/r2i3zlhsyrpavla/AAB1sZw3mdT0K7XjpHCITt13a?dl=0]]
245
246 [[image:image-20220522234118-10.png||height="353" width="729"]]
247
248 === 2.4.2 BAT-Battery Info ===
249
250 These two bytes of BAT include the battery state and the actually voltage
251
252 (% border="1" style="background-color:#ffffcc; color:green; width:502px" %)
253 |(% style="width:75px" %)(((
254 Bit(bit)
255 )))|(% style="width:259px" %)(((
256 [15:14]
257 )))|(% style="width:164px" %)(((
258 [13:0]
259 )))
260 |(% style="width:75px" %)(((
261 Value
262 )))|(% style="width:259px" %)(((
263 (((
264 BAT Status
265 )))
266
267 (((
268 00(b): Ultra Low ( BAT <= 2.50v)
269 )))
270
271 (((
272 01(b): Low  (2.50v <=BAT <= 2.55v)
273 )))
274
275 (((
276 10(b): OK   (2.55v <= BAT <=2.65v)
277 )))
278
279 (((
280 11(b): Good   (BAT >= 2.65v)
281 )))
282 )))|(% style="width:164px" %)(((
283 Actually BAT voltage
284 )))
285
286 [[image:image-20220522235639-1.png||height="139" width="727"]]
287
288 Check the battery voltage for LHT65N.
289
290 * BAT status=(0Xcba4>>14)&0xFF=11(B),very good
291 * Battery Voltage =0xCBF6&0x3FFF=0x0BA4=2980mV
292
293 === 2.4.3 Built-in Temperature ===
294
295 [[image:image-20220522235639-2.png||height="138" width="722"]]
296
297 * Temperature:  0x0ABB/100=27.47℃
298
299 [[image:image-20220522235639-3.png]]
300
301 * Temperature:  (0xF5C6-65536)/100=-26.18℃
302
303 === 2.4.4 Built-in Humidity ===
304
305 [[image:image-20220522235639-4.png||height="138" width="722"]]
306
307 * Humidity:    0x025C/10=60.4%
308
309 === 2.4.5 Ext # ===
310
311 Bytes for External Sensor:
312
313 (% border="1" style="background-color:#ffffcc; color:green; width:473px" %)
314 |(% style="width:139px" %)**EXT # Value**|(% style="width:331px" %)**External Sensor Type**
315 |(% style="width:139px" %)0x01|(% style="width:331px" %)Sensor E3, Temperature Sensor
316 |(% style="width:139px" %)0x09|(% style="width:331px" %)Sensor E3, Temperature Sensor, Datalog Mod
317
318 === 2.4.6 Ext value ===
319
320 ==== 2.4.6.1 Ext~=1, E3 Temperature Sensor ====
321
322 [[image:image-20220522235639-5.png]]
323
324 * DS18B20 temp=0x0ADD/100=27.81℃
325
326 The last 2 bytes of data are meaningless
327
328 [[image:image-20220522235639-6.png]]
329
330 * External temperature= (0xF54F-65536)/100=-27.37℃
331
332 (((
333 The last 2 bytes of data are meaningless
334 )))
335
336 (((
337 If the external sensor is 0x01, and there is no external temperature connected. The temperature will be set to 7FFF which is 327.67℃
338 )))
339
340
341 ==== 2.4.6.2 Ext~=9, E3 sensor with Unix Timestamp ====
342
343 Timestamp mode is designed for LHT65N with E3 probe, it will send the uplink payload with Unix timestamp. With the limitation of 11 bytes (max distance of AU915/US915/AS923 band), the time stamp mode will be lack of BAT voltage field, instead, it shows the battery status. The payload is as below:
344
345 (% border="1" style="background-color:#ffffcc; color:green; width:541px" %)
346 |(% style="width:96px" %)**Size(bytes)**|(% style="width:71px" %)**2**|(% style="width:69px" %)**2**|(% style="width:88px" %)**2**|(% style="width:69px" %)**1**|(% style="width:85px" %)**4**
347 |(% style="width:96px" %)**Value**|(% style="width:71px" %)[[External temperature>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H4.2SetExternalSensorMode]]|(% style="width:69px" %)(((
348 [[Built-In>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.3Built-inTemperature]]
349
350 [[Temperature>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.3Built-inTemperature]]
351 )))|(% style="width:88px" %)(((
352 BAT Status &
353
354 [[Built-in>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.4Built-inHumidity]]
355
356 [[Humidity>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.4Built-inHumidity]]
357 )))|(% style="width:69px" %)Status & Ext|(% style="width:85px" %)(((
358 [[Unix Time Stamp>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H4.1SetTransmitIntervalTime]]
359 )))
360
361 * **Battery status & (% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)Built-in Humidity(%%)**
362
363 (% border="1" style="background-color:#ffffcc; color:green; width:469px" %)
364 |(% style="width:65px" %)Bit(bit)|(% style="width:267px" %)[15:14]|(% style="width:134px" %)[11:0]
365 |(% style="width:65px" %)Value|(% style="width:267px" %)(((
366 BAT Status
367
368 00(b): Ultra Low ( BAT <= 2.50v)
369
370 01(b): Low  (2.50v <=BAT <= 2.55v)
371
372 10(b): OK   (2.55v <= BAT <=2.65v)
373
374 11(b): Good   (BAT >= 2.65v)
375 )))|(% style="width:134px" %)(((
376 [[Built-in Humidity>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.4Built-inHumidity]]
377
378
379 )))
380
381 * **Status & Ext Byte**
382
383 (% border="1" style="background-color:#ffffcc; color:green; width:587px" %)
384 |(% style="width:109px" %)**Bits**|(% style="width:105px" %)**7**|(% style="width:105px" %)**6**|(% style="width:82px" %)**5**|(% style="width:84px" %)**4**|(% style="width:97px" %)**[3:0]**
385 |(% style="width:109px" %)**Status & Ext**|(% style="width:105px" %)Not Defined|(% style="width:105px" %)Poll Message Flag|(% style="width:82px" %)Sync time OK|(% style="width:84px" %)Unix Time Request|(% style="width:97px" %)(((
386 Ext:0b(1001)
387 )))
388
389 * Poll Message Flag: 1: This message is a poll message reply, 0: means this is a normal uplink.
390 * Sync time OK: 1: Set time ok,0: N/A. After time SYNC request is sent, LHT65N will set this bit to 0 until got the time stamp from the application server.
391 * Unix Time Request:1: Request server downlink Unix time, 0 : N/A. In this mode, LHT65N will set this bit to 1 every 10 days to request a time SYNC. (AT+SYNCMOD to set this)
392
393 == 2.5 Show data on Datacake ==
394
395 Datacake IoT platform provides a human-friendly interface to show the sensor data, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
396
397 (((
398 **Step 1**: Be sure that your device is programmed and properly connected to the LoRaWAN network.
399 )))
400
401 (((
402 **Step 2**: Configure your Application to forward data to Datacake you will need to add integration. Go to TTN V3 Console ~-~-> Applications ~-~-> Integrations ~-~-> Add Integrations.
403 )))
404
405 (((
406 Add Datacake:
407 )))
408
409 [[image:image-20220523000825-7.png||height="262" width="583"]]
410
411
412 Select default key as Access Key:
413
414 [[image:image-20220523000825-8.png||height="453" width="406"]]
415
416 In Datacake console ([[https:~~/~~/datacake.co/>>url:https://datacake.co/]]) , add LHT65 device.
417
418 [[image:image-20220523000825-9.png||height="366" width="392"]]
419
420 [[image:image-20220523000825-10.png||height="413" width="728"]]
421
422 == 2.6 Datalog Feature ==
423
424 This feature is always enabled. When user wants to retrieve the sensor value, he can send a poll command from the IoT platform to ask LHT65N to send the value in the required time slot.
425
426 === 2.6.1 Unix TimeStamp ===
427
428 LHT65N uses Unix TimeStamp format based on
429
430 [[image:image-20220523001219-11.png||height="97" width="627"]]
431
432
433 (((
434 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
435 )))
436
437 (((
438 Below is the converter example
439 )))
440
441 [[image:image-20220523001219-12.png||height="298" width="720"]]
442
443 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
444
445 === 2.6.2 Set Device Time ===
446
447 (((
448 There are two ways to set device’s time:
449 )))
450
451 (((
452 **~1. Through LoRaWAN MAC Command (Default settings)**
453 )))
454
455 (((
456 User need to set SYNCMOD=1 to enable sync time via MAC command.
457 )))
458
459 (((
460 Once LHT65N Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to LHT65N. If LHT65N fails to get the time from the server, LHT65N will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
461 )))
462
463 (((
464 Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 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 V3 v2 if SYNCMOD=1.
465 )))
466
467 (((
468
469 )))
470
471 (((
472 **2. Manually Set Time**
473 )))
474
475 (((
476 User needs to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
477 )))
478
479 === 2.6.3 Poll sensor value ===
480
481 User can poll sensor value based on timestamps from the server. Below is the downlink command.
482
483
484 (% border="1" style="background-color:#ffffcc; color:green; width:427px" %)
485 |(% style="width:61px" %)1byte|(% style="width:126px" %)4bytes|(% style="width:120px" %)4bytes|(% style="width:115px" %)1byte
486 |(% style="width:61px" %)31|(% style="width:126px" %)Timestamp start|(% style="width:120px" %)Timestamp end|(% style="width:115px" %)Uplink Interval
487
488 (((
489 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.
490 )))
491
492 (((
493 For example, downlink command **31 5FC5F350 5FC6 0160 05**
494 )))
495
496 (((
497 Is to check 2020/12/1 07:40:00 to 2020/12/1 08:40:00’s data
498 )))
499
500 (((
501 Uplink Internal =5s,means LHT65N will send one packet every 5s. range 5~~255s.
502 )))
503
504
505 === 2.6.4 Datalog Uplink payload ===
506
507 The Datalog poll reply uplink will use below payload format.
508
509 (((
510 **Retrieval data payload**
511 )))
512
513 (% border="1" style="background-color:#ffffcc; color:green; width:615px" %)
514 |(% style="width:94px" %)**Size(bytes)**|(% style="width:106px" %)**2**|(% style="width:132px" %)**2**|(% style="width:62px" %)**2**|(% style="width:98px" %)**1**|(% style="width:83px" %)**4**
515 |(% style="width:94px" %)**Value**|(% style="width:106px" %)[[External sensor data>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.6Extvalue]]|(% style="width:132px" %)(((
516 [[Built-In Temperature >>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.3Built-inTemperature]]
517 )))|(% style="width:62px" %)(((
518 [[Built-in>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.4Built-inHumidity]][[ Humidity>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.4.4Built-inHumidity]]
519 )))|(% style="width:98px" %)[[Poll message flag & Ext>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.6.4DatalogUplinkpayload]]|(% style="width:83px" %)(((
520 [[Unix Time Stamp>>path:http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.6.1UnixTimeStamp]]
521
522
523 )))
524
525 **Poll message flag & Ext**
526
527 (% border="1" style="background-color:#ffffcc; color:green; width:542px" %)
528 |(% style="width:81px" %)**Bits**|(% style="width:100px" %)**7**|(% style="width:114px" %)**6**|(% style="width:85px" %)**5**|(% style="width:85px" %)**4**|(% style="width:77px" %)**[3:0]**
529 |(% style="width:81px" %)**Status & Ext**|(% style="width:100px" %)Not Defined|(% style="width:114px" %)Poll Message Flag|(% style="width:85px" %)Sync time OK|(% style="width:85px" %)Unix Time Request|(% style="width:77px" %)(((
530 Ext:
531
532 0b(1001)
533 )))
534
535 (((
536 Poll Message Flag: 1: This message is a poll message reply.
537 )))
538
539 * (((
540 Poll Message Flag is set to 1.
541 )))
542 * (((
543 Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
544 )))
545
546 (((
547 For example, in US915 band, the max payload for different DR is:
548 )))
549
550 (((
551 a) DR0: max is 11 bytes so one entry of data
552 )))
553
554 (((
555 b) DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
556 )))
557
558 (((
559 c) DR2: total payload includes 11 entries of data
560 )))
561
562 (((
563 d) DR3: total payload includes 22 entries of data.
564 )))
565
566 (((
567 If devise doesn’t have any data in the polling time. Device will uplink 11 bytes of 0   
568 )))
569
570
571 **Example:**
572
573 If LHT65N has below data inside Flash:
574
575 [[image:image-20220523144455-1.png||height="335" width="735"]]
576
577 (% border="1" style="background-color:#ffffcc; color:green; width:741px" %)
578 |(% style="width:103px" %)Flash Addr|(% style="width:149px" %)Unix Time|(% style="width:14px" %)Ext|(% style="width:105px" %)BAT voltage|(% style="width:352px" %)Value
579 |(% style="width:103px" %)80196E0|(% style="width:149px" %)21/1/19 04:27:03|(% style="width:14px" %)1|(% style="width:105px" %)3145|(% style="width:352px" %)sht_temp=22.00 sht_hum=32.6 ds_temp=327.67
580 |(% style="width:103px" %)80196F0|(% style="width:149px" %)21/1/19 04:28:57|(% style="width:14px" %)1|(% style="width:105px" %)3145|(% style="width:352px" %)sht_temp=21.90 sht_hum=33.1 ds_temp=327.67
581 |(% style="width:103px" %)8019700|(% style="width:149px" %)21/1/19 04:30:30|(% style="width:14px" %)1|(% style="width:105px" %)3145|(% style="width:352px" %)sht_temp=21.81 sht_hum=33.4 ds_temp=327.67
582 |(% style="width:103px" %)8019710|(% style="width:149px" %)21/1/19 04:40:30|(% style="width:14px" %)1|(% style="width:105px" %)3145|(% style="width:352px" %)sht_temp=21.65 sht_hum=33.7 ds_temp=327.67
583 |(% style="width:103px" %)8019720|(% style="width:149px" %)21/1/19 04:50:30|(% style="width:14px" %)1|(% style="width:105px" %)3147|(% style="width:352px" %)sht_temp=21.55 sht_hum=34.1 ds_temp=327.67
584 |(% style="width:103px" %)8019730|(% style="width:149px" %)21/1/19 05:00:30|(% style="width:14px" %)1|(% style="width:105px" %)3149|(% style="width:352px" %)sht_temp=21.50 sht_hum=34.1 ds_temp=327.67
585 |(% style="width:103px" %)8019740|(% style="width:149px" %)21/1/19 05:10:30|(% style="width:14px" %)1|(% style="width:105px" %)3149|(% style="width:352px" %)sht_temp=21.43 sht_hum=34.6 ds_temp=327.67
586 |(% style="width:103px" %)8019750|(% style="width:149px" %)21/1/19 05:20:30|(% style="width:14px" %)1|(% style="width:105px" %)3151|(% style="width:352px" %)sht_temp=21.35 sht_hum=34.9 ds_temp=327.67
587
588 Flash Addr   |Unix Time | Ext | BAT voltage|  Value                  
589
590 80196E0 21/1/19 04:27:03 1 3145 sht_temp=22.00 sht_hum=32.6 ds_temp=327.67
591
592 80196F0 21/1/19 04:28:57 1 3145 sht_temp=21.90 sht_hum=33.1 ds_temp=327.67
593
594 8019700 21/1/19 04:30:30 1 3145 sht_temp=21.81 sht_hum=33.4 ds_temp=327.67
595
596 8019710 21/1/19 04:40:30 1 3145 sht_temp=21.65 sht_hum=33.7 ds_temp=327.67
597
598 8019720 21/1/19 04:50:30 1 3147 sht_temp=21.55 sht_hum=34.1 ds_temp=327.67
599
600 8019730 21/1/19 05:00:30 1 3149 sht_temp=21.50 sht_hum=34.1 ds_temp=327.67
601
602 8019740 21/1/19 05:10:30 1 3149 sht_temp=21.43 sht_hum=34.6 ds_temp=327.67
603
604 8019750 21/1/19 05:20:30 1 3151 sht_temp=21.35 sht_hum=34.9 ds_temp=327.67
605
606
607 If user sends below downlink command:
608
609 3160065F9760066DA705
610
611 Where : Start time: 60065F97 = time 21/1/19 04:27:03
612
613 Stop time 60066DA7= time 21/1/19 05:27:03
614
615
616 LHT65N will uplink this payload.
617
618 [[image:image-20220523001219-13.png||height="421" width="727"]]
619
620 7FFF089801464160065F977FFF088E014B41600660097FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
621
622 Where the first 11 bytes is for the first entry:
623
624 7FFF089801464160065F97
625
626 Ext sensor data=0x7FFF/100=327.67
627
628 Temp=0x0898/100=22.00
629
630 Hum=0x0146/10=32.6
631
632 poll message flag & Ext=0x41,means reply data,Ext=1
633
634 Unix time is 0x60065F97=1611030423s=21/1/19 04:27:03
635
636
637 == 2.7 Alarm Mode ==
638
639 Alarm mode feature is added since firmware v1.5. When device is in Alarm mode, it will check the built-in sensor temperature in a short interval. If the temperature exceeds the pre-configure range, it will send an uplink immediately.
640
641
642 Note: Alarm mode will increase a little big the power consumption, we recommend extending the normal reading time when enabling this feature.
643
644
645 AT Commands for Alarm mode:
646
647 **AT+WMOD=1**: Enable/Disable Alarm Mode. (0:Disable, 1: Enable)
648
649 **AT+CITEMP=1**: The interval to check the temperature for Alarm. (Unit: minute)
650
651
652
653 == 2.8 LED Indicator ==
654
655 The LHT65N has a triple color LED which for easy shows different stage.
656
657 While pressing ACT button, the LED will work as per LED status with ACT button.
658
659 In a normal working state:
660
661 * For each uplink, the BLUE LED or RED LED will blink once.
662 * BLUE LED when an external sensor is connected
663 * RED LED when an external sensor is not connected
664 * For each success downlink, the PURPLE LED will blink once
665
666 ----
667
668 == 2.9 Installation ==
669
670 [[image:image-20220516231650-1.png||height="436" width="428"]]
671
672 = 3. Sensors & Accessories =
673
674 == 3.1 E3 Temperature Probe ==
675
676 [[image:image-20220515080154-4.png||height="182" width="161"]] [[image:image-20220515080330-5.png||height="201" width="195"]]
677
678
679 With Temperature sensor with 2 meters cable long
680
681 * Resolution: 0.0625 °C
682 * ±0.5°C accuracy from -10°C to +85°C
683 * ±2°C accuracy from -55°C to +125°C
684 * Operating Range: -40 ~~ 125 °C
685 * -55°C to 125°C
686 * Working voltage 2.35v ~~ 5v
687
688 = 4. Configure LHT65N via AT Command or LoRaWAN Downlink =
689
690 Use can configure LHT65N via AT Command or LoRaWAN Downlink.
691
692 * AT Command Connection: See [[FAQ>>path:#AT_COMMAND]].
693 * LoRaWAN Downlink instruction for different platforms:
694
695 [[http:~~/~~/wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server>>url:http://wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server]]
696
697 There are two kinds of commands to configure LHT65N, they are:
698
699 * **General Commands**.
700
701 These commands are to configure:
702
703 * General system settings like: uplink interval.
704 * LoRaWAN protocol & radio-related commands.
705
706 They are the same for all Dragino Devices which supports DLWS-005 LoRaWAN Stack(Note~*~*). These commands can be found on the wiki:
707
708 [[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]]
709
710 * **Commands special design for LHT65N**
711
712 These commands are only valid for LHT65N, as below:
713
714 == 4.1 Set Transmit Interval Time ==
715
716 Feature: Change LoRaWAN End Node Transmit Interval.
717
718 **AT Command: AT+TDC**
719
720 (% border="1" %)
721 |**Command Example**|**Function**|**Response**
722 |AT+TDC?|Show current transmit Interval|(((
723 30000
724
725 OK
726
727 the interval is 30000ms = 30s
728 )))
729 |AT+TDC=60000|Set Transmit Interval|(((
730 OK
731
732 Set transmit interval to 60000ms = 60 seconds
733 )))
734
735 **Downlink Command: 0x01**
736
737 Format: Command Code (0x01) followed by 3 bytes time value.
738
739 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
740
741 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
742 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
743
744 == 4.2 Set External Sensor Mode ==
745
746 Feature: Change External Sensor Mode.
747
748 **AT Command: AT+EXT**
749
750 (% border="1" %)
751 |**Command Example**|**Function**|**Response**
752 |AT+EXT?|Get current external sensor mode|(((
753 1
754
755 OK
756
757 External Sensor mode =1
758 )))
759 |AT+EXT=1|(% colspan="2" %)Set external sensor mode to 1
760 |AT+EXT=9|(% colspan="2" %)Set to external DS18B20 with timestamp
761
762 **Downlink Command: 0xA2**
763
764 Total bytes: 2 ~~ 5 bytes
765
766 Example:
767
768 * 0xA201: Set external sensor type to E1
769 * 0xA209: Same as AT+EXT=9
770 * 0xA20702003c,Same as AT+SETCNT=60
771
772 == 4.3 Enable/Disable uplink Temperature probe ID ==
773
774 Feature: If PID is enabled, device will send the temperature probe ID on:
775
776 * First Packet after OTAA Join
777 * Every 24 hours since the first packet.
778
779 PID is default set to disable (0)
780
781
782 **AT Command:**
783
784 (% border="1" %)
785 |**Command Example**|**Function**|**Response**
786 |AT+PID=1|Enable PID uplink|OK
787
788 **Downlink Command:**
789
790 * 0xA800     à AT+PID=0
791 * 0xA801     à AT+PID=1
792
793 == 4.4 Set Password ==
794
795 Feature: Set device password, max 9 digits
796
797 **AT Command: AT+PWORD**
798
799 (% border="1" %)
800 |**Command Example**|**Function**|**Response**
801 |AT+PWORD=?|Show password|(((
802 123456
803
804
805 OK
806 )))
807 |AT+PWORD=999999|Set password|OK
808
809 **Downlink Command:**
810
811 No downlink command for this feature.
812
813 == 4.5 Quit AT Command ==
814
815 Feature: Quit AT Command mode, so user needs to input password again before use AT Commands.
816
817 **AT Command: AT+DISAT**
818
819 (% border="1" %)
820 |**Command Example**|**Function**|**Response**
821 |AT+DISAT|Quit AT Commands mode|OK
822
823 **Downlink Command:**
824
825 No downlink command for this feature.
826
827
828 == 4.6 Set to sleep mode ==
829
830 Feature: Set device to sleep mode
831
832 **AT Command: AT+SLEEP**
833
834 (% border="1" %)
835 | | |
836 |**Command Example**|**Function**|**Response**
837 |AT+SLEEP|Set to sleep mode|(((
838 Clear all stored sensor data…
839
840 OK
841 )))
842
843 **Downlink Command:**
844
845 * There is no downlink command to set to Sleep mode.
846
847 == 4.7 Set system time ==
848
849 Feature: Set system time, unix format. [[See here for format detail.>>path:#TimeStamp]]
850
851 **AT Command:**
852
853 (% border="1" %)
854 |**Command Example**|**Function**
855 |AT+TIMESTAMP=1611104352|(((
856 OK
857
858 Set System time to 2021-01-20 00:59:12
859 )))
860
861 **Downlink Command:**
862
863 0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352
864
865 == 4.8 Set Time Sync Mode ==
866
867 Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply this command.
868
869 SYNCMOD is set to 1 by default. If user want to set a different time from LoRaWAN server, user need to set this to 0.
870
871
872 **AT Command:**
873
874 |**Command Example**|**Function**
875 |AT+SYNCMOD=1|Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq)
876
877 **Downlink Command:**
878
879 0x28 01 ~/~/ Same As AT+SYNCMOD=1
880
881 0x28 00 ~/~/ Same As AT+SYNCMOD=0
882
883 == 4.9 Set Time Sync Interval ==
884
885 Feature: Define System time sync interval. SYNCTDC default value: 10 days.
886
887 **AT Command:**
888
889 (% border="1" %)
890 |**Command Example**|**Function**
891 |AT+SYNCTDC=0x0A|Set SYNCTDC to 10 (0x0A), so the sync time is 10 days.
892
893 **Downlink Command:**
894
895 0x29 0A ~/~/ Same as AT+SYNCTDC=0x0A
896
897 == 4.10 Print data entries base on page. ==
898
899 Feature: Print the sector data from start page to stop page (max is 416 pages).
900
901 **AT Command: AT+PDTA**
902
903 (% border="1" %)
904 |**Command Example**|**Response**
905 |(((
906 AT+PDTA=1,3
907
908
909
910 Print page 1 to 3
911 )))|(((
912 8019500 19/6/26 16:48 1 2992 sht_temp=28.21 sht_hum=71.5 ds_temp=27.31
913
914 8019510 19/6/26 16:53 1 2994 sht_temp=27.64 sht_hum=69.3 ds_temp=26.93
915
916 8019520 19/6/26 16:58 1 2996 sht_temp=28.39 sht_hum=72.0 ds_temp=27.06
917
918 8019530 19/6/26 17:03 1 2996 sht_temp=27.97 sht_hum=70.4 ds_temp=27.12
919
920 8019540 19/6/26 17:08 1 2996 sht_temp=27.80 sht_hum=72.9 ds_temp=27.06
921
922 8019550 19/6/26 17:13 1 2998 sht_temp=27.30 sht_hum=72.4 ds_temp=26.68
923
924 8019560 19/6/26 17:22 1 2992 sht_temp=26.27 sht_hum=62.3 ds_temp=26.56
925
926 8019570
927
928 8019580
929
930 8019590
931
932 80195A0
933
934 80195B0
935
936 80195C0
937
938 80195D0
939
940 80195E0
941
942 80195F0
943
944
945 OK
946 )))
947
948 **Downlink Command:**
949
950 No downlink commands for feature
951
952 == 4.11 Print last few data entries. ==
953
954 Feature: Print the last few data entries
955
956 **AT Command: AT+PLDTA**
957
958 (% border="1" %)
959 |**Command Example**|**Response**
960 |(((
961 AT+PLDTA=5
962
963
964
965 Print last 5 entries
966 )))|(((
967 Stop Tx and RTP events when read sensor data
968
969 1 19/6/26 13:59 1 3005 sht_temp=27.09 sht_hum=79.5 ds_temp=26.75
970
971 2 19/6/26 14:04 1 3007 sht_temp=26.65 sht_hum=74.8 ds_temp=26.43
972
973 3 19/6/26 14:09 1 3007 sht_temp=26.91 sht_hum=77.9 ds_temp=26.56
974
975 4 19/6/26 14:15 1 3007 sht_temp=26.93 sht_hum=76.7 ds_temp=26.75
976
977 5 19/6/26 14:20 1 3007 sht_temp=26.78 sht_hum=76.6 ds_temp=26.43
978
979 Start Tx and RTP events
980
981 OK
982 )))
983
984 **Downlink Command:**
985
986 No downlink commands for feature
987
988 == 4.12 Clear Flash Record ==
989
990 Feature: Clear flash storage for data log feature.
991
992 **AT Command: AT+CLRDTA**
993
994 (% border="1" %)
995 |**Command Example**|**Function**|**Response**
996 |AT+CLRDTA|Clear date record|(((
997 Clear all stored sensor data…
998
999 OK
1000 )))
1001
1002 **Downlink Command: 0xA3**
1003
1004 * Example: 0xA301 ~/~/Same as AT+CLRDTA
1005
1006 = 5. Battery & How to replace =
1007
1008 == 5.1 Battery Type ==
1009
1010 LHT65N is equipped with a 2400mAH Li-MnO2 (CR17505) battery . The battery is an un-rechargeable battery with low discharge rate targeting for up to 8~~10 years use. This type of battery is commonly used in IoT devices for long-term running, such as water meters.
1011
1012 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1013 [[image:image-20220515075034-1.png||height="208" width="644"]]
1014
1015 The minimum Working Voltage for the LHT65N is ~~ 2.5v. When battery is lower than 2.6v, it is time to change the battery.
1016
1017
1018 == 5.2 Replace Battery ==
1019
1020 LHT65N has two screws on the back, Unscrew them, and changing the battery inside is ok. The battery is a general CR17450 battery. Any brand should be ok.
1021
1022 [[image:image-20220515075440-2.png||height="338" width="272"]][[image:image-20220515075625-3.png||height="193" width="257"]]
1023
1024 == 5.3 Battery Life Analyze ==
1025
1026 Dragino battery-powered products are all run in Low Power mode. User can check the guideline from this link to calculate the estimated battery life:
1027 https:~/~/www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf
1028
1029 = 6. Order Info =
1030
1031 Part Number: (% class="mark" %)**LHT65N-XX**
1032
1033 **XX**: The default frequency band
1034
1035 * **AS923**: LoRaWAN AS923 band
1036 * **AU915**: LoRaWAN AU915 band
1037 * **EU433**: LoRaWAN EU433 band
1038 * **EU868**: LoRaWAN EU868 band
1039 * **KR920**: LoRaWAN KR920 band
1040 * **US915**: LoRaWAN US915 band
1041 * **IN865**: LoRaWAN IN865 band
1042 * **CN470**: LoRaWAN CN470 band
1043
1044 **YY**: Sensor Accessories
1045
1046 * **E3**: External Temperature Probe
1047
1048 = 7. Packing Info =
1049
1050 **Package Includes**:
1051
1052 * LHT65N Temperature & Humidity Sensor x 1
1053 * Program cable x 1
1054 * Optional external sensor
1055
1056 **Dimension and weight**:
1057
1058 * Device Size:  13.5 x 7 x 3 cm
1059 * Device Weight: 105g
1060 * Package Size / pcs : 14.5 x 8 x 5 cm
1061 * Weight / pcs : 170g
1062
1063 = 8. FCC Warning =
1064
1065 This device complies with part 15 of the FCC Rules.Operation is subject to the following two conditions:
1066
1067 (1) This device may not cause harmful interference;
1068
1069 (2) this device must accept any interference received, including interference that may cause undesired operation.