Version 55.3 by Xiaoling on 2022/05/23 11:29

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