Show last authors
1
2
3 (% style="text-align:center" %)
4 [[image:1654679359875-169.png]]
5
6
7
8 **Table of Contents:**
9
10 {{toc/}}
11
12
13
14
15
16
17
18
19 = 1. Introduction =
20
21 == 1.1 What is the LDS02 LoRaWAN Door Sensor? ==
22
23
24 (((
25 (((
26 The** Dragino LDS02 **is a **LoRaWAN Door Sensor** designed to detect door open/close status and send data to a LoRaWAN Network Server. Users can view the door status, open time, and open counts in an IoT platform by integrating it with the LoRaWAN Network Server.
27 )))
28
29 (((
30 The sensor is powered by **two AAA batteries**, making it suitable for long-term use. These batteries can provide approximately 16,000 to 70,000 uplink packets. When the batteries run out, users can easily open the enclosure and replace them with standard AAA batteries.
31
32 The device sends data periodically every day and for each door open/close action. It also **counts the number of door openings** and **calculates the duration of the last door opening**. Users can disable the uplink for each open/close event if preferred. In this mode, the device will count each event and upload the data periodically instead.
33
34 The LDS02 **features an open alarm**, which can be configured to send an alarm if the door remains open for a specified duration.
35
36 Each sensor comes with information (keys and identifiers) for LoRaWAN Network registration. Registering these keys with a LoRaWAN server allows the device to connect automatically upon powering on.
37
38
39 The following figure shows how the LDS02 is connected to a typical LoRaWAN network server.
40
41 [[image:LDS02-lorawan.jpg]]
42
43
44 )))
45 )))
46
47
48 == 1.2 Features ==
49
50
51 * LoRaWAN Class A v1.0.3
52 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
53 * Door Open/Close detect
54 * Door open/close statistics
55 * 2 x AAA LR03 Batteries
56 * AT Commands to change parameters
57 * Uplink on periodically and open/close action
58 * Remote configure parameters via LoRa Downlink
59 * Firmware upgradable via program port
60
61 == 1.3 Storage & Operation Temperature ==
62
63
64 -10 ~~ 50 °C  or -40 ~~ 60 °C (depends on the battery type, see [[FAQ>>||anchor="H7.6Whyiseedifferentworkingtemperatureforthedevice3F"]])
65
66
67 == 1.4 Applications ==
68
69
70 * Smart Buildings & Home Automation
71 * Logistics and Supply Chain Management
72 * Smart Metering
73 * Smart Agriculture
74 * Smart Cities
75 * Smart Factory
76
77 == 1.5 Dimension ==
78
79
80 Units in mm
81
82 [[image:1654680563545-120.png]]
83
84
85 [[image:1654680510816-654.png]]
86
87
88 == 1.6 Firmware Change Log ==
89
90
91 (((
92 (((
93 LDS02 uses the same firmware as LDS01:[[LDS02 Image files – Download link>>https://www.dropbox.com/sh/9j35mnsxnz0y3ye/AACj5gHGOURGEHCpj-E861Mua?dl=0]]
94 )))
95 )))
96
97
98 = 2. Power ON LDS02 =
99
100
101 When receive the LDS02, open the enclosure and insert two AAA batteries to power it. The [[LED>>||anchor="H4.7LEDs"]] will blink when the device is powered on.
102
103
104 = 3. How to Install LDS02 =
105
106
107 The LDS02 has two parts: sensor and the magnet. These parts can be attached to a surface using either screws or double sided tapes.For example, if you install it to detect door open/close events, the sensor part can be attached to the door frame, and the magnet can be attached to the door panel.
108
109
110 Fixing with screws:
111
112 * Each part has a bottom lid that can be detached from its enclosure. Detach the bottom lids of both the sensor and the magnet enclosures. You will notice two holes on each bottom lid for inserting screws. First, attach the bottom lids to the surface using screws, ensuring a minimal gap between them. Then snap the top part of the enclosure onto the bottom. You will hear a clicking sound once they are securely fitted together.
113
114 [[image:image-20231222111730-1.jpeg||height="428" width="686"]]
115
116
117 Fixing with double-sided adhesive pads:
118
119 * The double-sided adhesive pad included with the LDS01 has a pre-cut section that can be attached to the bottom of the magnet enclosure (first remove the protective backing of one side only). The remaining section should be affixed to the bottom of the sensor enclosure. Once the tape is in place, remove the protective backing and secure both enclosures to the surface, ensuring a minimal gap between them.
120
121 [[image:image-20231222111834-2.jpeg||height="443" width="685"]]
122
123
124 (((
125 (((
126 When installing the LDS02, make sure to install it as shown below so that the marks align closely when the door is closed.
127 )))
128
129 (((
130 Open/Close threshold range (the minimum gap between sensor enclosure and the magnet enclosure): ~~ 10mm
131 )))
132 )))
133
134 [[image:1654680716522-793.png||height="505" width="497"]]
135
136
137 = 4. Operation Mode =
138
139 == 4.1 How It Works? ==
140
141
142 (((
143 The LDS02 is configured as a LoRaWAN Class A device by default. It contains a DevEUI, AppEUI, and AppKey, which allow it to join a LoRaWAN network using OTAA (Over-The-Air Activation). To connect the LDS02 to a LoRaWAN network, you need to configure these keys and identifiers with the LoRaWAN network server first, and then [[power on>>||anchor="H2.PowerONLDS02"]] the LDS02. The device will automatically join the network using OTAA. This device information can be found in your package, printed on a sticker.
144
145 [[image:image-20230426084924-1.png||height="229" width="493"]]
146
147 If you cannot set the device registration information, such as the DevEUI, AppEUI, and AppKey, in the network server, you must use the information generated by the network server, which differs from the information already stored on the device. In this case, you can use [[AT Command>>||anchor="H6.UseATCommand"]]s to write the new information to the device.
148 )))
149
150
151 == 4.2 Example of Joining a LoRaWAN Network ==
152
153
154 The following figure shows how the LDS02 connects to [[The Things Stack>>https://eu1.cloud.thethings.network/]]. The LDS02 sends messages (uplinks) to The Things Stack via a LoRaWAN gateway (e.g., Dragino LPS8N) and can also receive messages (downlinks) from The Things Stack. The Things Stack can be integrated with ThingsEye, allowing it to forward uplinks to ThingsEye. ThingsEye is an IoT platform used for visualizing and analyzing sensor data. You can also send downlinks from ThingsEye (via The Things Stack) to the LDS02.
155
156
157 [[image:LDS02-tts.jpg]]
158
159
160
161 === 4.2.1 Prerequisites: ===
162
163 (((
164 * The LDS02 is installed with the magnet on the door and the sensor part on the door frame to detect open/close events and send the status to the LoRaWAN server. The LDS02 will uplink two types of messages to the server:
165 ** A keep-alive message, which is sent once per day.
166 ** A door event message when a door is opened or closed ([[Alarm event can be disabled>>||anchor="H7.3CanIdisableuplinkforeacheventtosavebatterylife3F"]])
167 * The Things Stack community network coverage, or private LoRaWAN Network Coverage with any The Things Stack deployment plan.
168 )))
169
170
171 ==== 4.2.1.1 Setting up ====
172
173 * Sign up for a free account with [[The Things Stack Sandbox>>url:https://eu1.cloud.thethings.network]] if you do not have one yet.
174 * Log in to your **The Things Stack** account.
175 * Create an **application** with The Things Stack if you do not have one yet.
176 ** On the left navigation, click **Applications**.
177 ** Then click **+ Add Application** button.
178
179 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LWL02%20-%20LoRaWAN%20Door%20Sensor%20User%20Manual/WebHome/lwl02-4.png?rev=1.1||alt="lwl02-4.png"]]
180
181
182 * On the **Create Application **page, configure the following:
183 ** **Application ID**: Provide a unique identification for your application within The Things Stack.
184 ** **Application name**: (optional) Provide a descriptive name.
185 ** **Description**: (optional) Provide a description.
186 * Click on **Create application **button.
187
188 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LWL02%20-%20LoRaWAN%20Door%20Sensor%20User%20Manual/WebHome/lwl02-5.png?rev=1.1||alt="lwl02-5.png"]]
189
190
191
192 * Go to your application's page and click on the **End devices** in the left menu.
193 * On the End devices page, click on **+ Register end device**.
194
195 [[image:lds02-step-5.png]]
196
197 * Two registration options are available:
198 ** Using the LoRaWAN Device Repositoty
199 ** Manual registration
200
201 ==== 4.2.1.2 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**: LDS02 - Door Sensor
208 *** **Hardware ver**: Unknown
209 *** **Firmware ver**: 1.6
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 ** 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.
213
214 [[image:lds02-step-2.png]]
215
216
217
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 LDS02 within this application.
221 * Under **After registration**, select the **View registered end device** option.
222 * Click **Register end device** button.
223
224 [[image:lds02-step-3.png]]
225
226
227 * You will be navigated to the Device overview page.
228
229 [[image:lds02-step-4.png]]
230
231
232 * Click on the Live Data tab and then **[[Power on>>||anchor="H2.PowerONLDS02"]]** the LDS02. It will first join The Things Stack network server. You can confirm this by looking for the Join-request and Join-accept messages. After successfully joining the network, the LDS02 will start sending uplink messages to The Things Stack, and you can see them in the Live Data panel.
233
234 [[image:1654681390551-993.png]]
235
236
237 == 4.3 Uplink Payload ==
238
239 === 4.3.1 Sensor value, Uplink via FPORT~=10 ===
240
241
242 The data is sent in the following cases:
243
244 * TDC (Transmit Time Interval-Keep Alive Interval), the default TDC is 24 hours, so this data is automatically sent every 24 hours.
245 * This data is sent each time the door is opened or closed, [[AT+DISALARM=0(default)>>||anchor="H7.3CanIdisableuplinksforeacheventtosavebatterylife3F
246 "]].
247
248 The uplink payload is a total of 10 bytes.
249
250 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:480px" %)
251 |=(% style="width: 80px;background-color:#4F81BD;color:white" %)**Size (bytes)**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**3**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**3**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**
252 |Value|Door State & BAT|(((
253 MOD
254 Always:0x01
255 )))|Total open door events|(((
256 Last door open
257 duration (unit: min)
258 )))|(((
259 [[Alarm>>||anchor="H4.6AlarmBaseonTimeout"]]
260
261 (Only used in LWL02) Always:0x00
262 )))
263
264 **Example:**
265
266 [[image:image-20250211113735-1.png||height="351" width="1090"]]
267
268
269 [[image:image-20250211113814-2.png]]
270
271 (((
272
273
274 This example uses the payload decoder in The Things Stack V3: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LDS02>>https://github.com/dragino/dragino-end-node-decoder/tree/main/LDS02]]
275
276 (% style="color:blue" %)**Battery Info**
277
278 Check the battery voltage:
279
280 Example 1: 0x0B88&3FFF = 2952mV
281
282 Example 2: 0xD152&3FFF = 4434mV
283
284
285 (% class="wikigeneratedid" id="H4.3.2Status" %)
286 (% style="color:blue" %)**Status**
287
288 Check the door state:
289
290 **Example**:
291
292 If the payload is: **0B**:  (0000 1011&1000 0000== 0), **DOOR_OPEN_STATUS** is 0(**CLOSE**)
293
294 If the payload is: **D1**: (1101 0001&1000 0000== 1), **DOOR_OPEN_STATUS** is 1(**OPEN**)
295
296
297 (% style="color:blue" %)**MOD**
298
299 Check the working mode (MOD):
300
301 **Example:**
302
303 If the payload is: 01, the MOD is 1.
304
305
306 (% style="color:blue" %)**Total door open events**
307
308 Get the total number of door open events:
309
310 **Example**:
311
312 If payload is: **00 00 93, **the total is 147 events.
313
314 If payload is: **00 00 00, **the total is 0 events.
315
316
317 (% style="color:blue" %)**Last door open duration(unit:min)**
318
319 Get the last door open duration:
320
321 **Example:**
322
323 If the payload is: **00 00 25, **the last door open duration is 37 minutes.
324
325 If payload is: **00 00 01,** the last door open duration is 1 minute.
326
327
328 (% style="color:blue" %)**Alarm(Only used in LWL02) Always:0x00**
329
330 Get alarm status.
331
332 **Example:**
333
334 If the payload is: 01:  (0001 & 0001== 1), the alarm status is 1
335
336 If the payload is: 00:  (0000 & 0001== 0), the alarm status is 0
337
338
339 === 4.3.2 EDC mode value, Uplink via FPORT~=7 ===
340
341
342 When **[[EDC>>||anchor="H4.7A0EDCMode28Sincefirmwarev1.8.229"]]** is enabled, LDS02 will send this data.
343
344 The uplink payload is a total of 5 bytes.
345
346 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:480px" %)
347 |=(% style="width: 80px;background-color:#4F81BD;color:white" %)**Size (bytes)**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**3**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**3**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**
348 |Value|Door State & BAT|(((
349 MOD
350 Always:0x01
351 )))|Total open door events|(((
352 Last door open
353 duration (unit: min)
354 )))|(((
355 [[Alarm>>||anchor="H4.6AlarmBaseonTimeout"]]
356
357 (Only used in LWL02) Always:0x00
358 )))
359
360 **Example:**
361
362 [[image:image-20250211120026-3.png||height="267" width="1016"]]
363
364 [[image:image-20250211120039-4.png]]
365
366 (% style="color:blue" %)**Battery Info**
367
368 Check the battery voltage:
369
370 Ex1: (bytes[0]<<8 | bytes[1])&0x3FFF = 0x8C60&3FFF = 3168mV
371
372 Ex2: (bytes[0]<<8 | bytes[1])&0x3FFF = 0xD152&3FFF = 4434mV
373
374
375 (% style="color:blue" %)**EDC_MOD**
376
377 This field is used to indicate whether the EDC mode packet sending condition is dependent on the number of door open accumulations or on the number of door close accumulations.
378
379 Ex1: bytes[0]&0x80?"OPEN":"CLOSE" = 8C & 0x80 = **1**000 0000(BIN) (1: OPEN; 0: CLOSE) = OPEN
380
381 Ex2: bytes[0]&0x80?"OPEN":"CLOSE" = 0C & 0x80 = **0**000 0000(BIN) (1: OPEN; 0: CLOSE) = CLOSE
382
383
384 (% style="color:blue" %)**Times**
385
386 This field is used to display the number of open/closed events.
387
388 Ex1: 0x00000A(H) =10
389
390 Ex2: 0x000014(H) =20
391
392
393 )))
394
395 == 4.4 Downlink Payload ==
396
397
398 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:505px" %)
399 |=(% style="width: 182px;background-color:#4F81BD;color:white" %)**Downlink Control Type**|=(% style="width: 96px;background-color:#4F81BD;color:white" %)**Type Code**|=(% style="width: 227px;background-color:#4F81BD;color:white" %)**Downlink Payload Size (bytes)**
400 |(% style="width:180px" %)TDC (Transmit Time Interval—Keep Alive Interval)|(% style="width:94px" %)0x01|(% style="width:226px" %)4
401 |(% style="width:180px" %)RESET|(% style="width:94px" %)0x04|(% style="width:226px" %)2
402 |(% style="width:180px" %)[[Set confirmed mode>>||anchor="HTypeCode0x05"]]|(% style="width:94px" %)0x05|(% style="width:226px" %)2
403 |(% style="width:180px" %)[[Clear Counting>>||anchor="HTypeCode0xA6"]]|(% style="width:94px" %)0xA6|(% style="width:226px" %)2
404 |(% style="width:180px" %)[[Enable/Disable Alarm>>||anchor="HTypeCode0xA7"]]|(% style="width:94px" %)0xA7|(% style="width:226px" %)2
405 |(% style="width:180px" %)[[Control ADR/DR>>||anchor="HTypeCode0xA8"]]|(% style="width:94px" %)0xA8|(% style="width:226px" %)3
406 |(% style="width:180px" %)[[Set Alarm Timeout>>||anchor="HTypeCode0xA9"]]|(% style="width:94px" %)0xA9|(% style="width:226px" %)4
407
408 The following image illustrates how to send a downlink payload from The Things Stack.
409
410 [[image:1654673412319-976.png]]
411
412
413 === (% style="color:#037691" %)**Type Code 0x01**(%%) ===
414
415 If the payload is **0100003C**, it means controlling the LDS02’s Keep Alive interval to **0x00003C = 60 seconds (s)**.
416
417
418 === (% style="color:#037691" %)**Type Code 0x04**(%%) ===
419
420 If the payload is **0x04FF**, it will reset the LDS02.
421
422
423 === (% style="color:#037691" %)**Type Code 0x05**(%%) ===
424
425 (((
426 **0x05 00**: Set uplink to LoRaWAN unconfirmed mode
427 )))
428
429 (((
430 **0x05 01**: Set uplink to LoRaWAN confirmed mode
431 )))
432
433
434 === (% style="color:#037691" %)**Type Code 0xA6**(%%) ===
435
436 (((
437 **Example:** 0xA601 – Clear Counting
438 For the LDS02: Resets both the count number and time.
439 )))
440
441
442 === (% style="color:#037691" %)**Type Code 0xA7**(%%) ===
443
444 (((
445 **0xA701**: Equivalent to AT+DISALARM=1
446 )))
447
448 (((
449 **0xA700**: Equivalent to AT+DISALARM=0
450 )))
451
452
453 === (% style="color:#037691" %)**Type Code 0xA8**(%%) ===
454
455 (((
456 **Format:** 0xA8 aa bb
457
458 * **aa**: 1 – Enable ADR; 0 – Disable ADR (same as the AT+CADR command)
459 * **bb**: Set DR (same as AT+CDATARATE; only valid after ADR=0)
460
461 **Example:** 0xA80001 – Set ADR=0 and DR=1
462 )))
463
464
465 === (% style="color:#037691" %)**Type Code 0xA9**(%%) ===
466
467 See, [[Alarm Base Timeout>>||anchor="H4.6AlarmBaseonTimeout"]] for details.
468
469
470 == 4.5 Integrate with IoT Platforms ==
471
472
473 The Things Stack can be integrated with many IoT platforms, including ThingsEye and Datacake, for visualizing and analyzing data coming from the LDS02. Most of these IoT platforms also support sending downlinks to the LDS02.
474
475 === 4.5.1 Integrate with ThingsEye ===
476
477
478 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.
479
480
481 ==== 4.5.1.1 Configuring The Things Stack ====
482
483 We use The Things Stack Sandbox in this example:
484
485 * In **The Things Stack Sandbox**, go to the **Application **for the LDS02 you added.
486 * Select **MQTT** under **Integrations** in the left menu.
487 * 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.
488 * 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.
489
490 {{info}}
491 The username and  password (API key) you created here are required in the next section.
492 {{/info}}
493
494
495 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/tts-mqtt-integration.png?rev=1.1||alt="tts-mqtt-integration.png"]]
496
497
498 ==== 4.5.1.2 Configuring ThingsEye.io ====
499
500 The ThingsEye.io IoT platform is not open for self-registration at the moment. If you are interested in testing the platform, please send your project information to admin@thingseye.io, and we will create an account for you.
501
502 * Login to your [[ThingsEye.io >>url:https://thingseye.io]]account.
503 * Under the **Integrations center**, click **Integrations**.
504 * Click the **Add integration** button (the button with the **+** symbol).
505
506 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/thingseye-io-step-1.png?rev=1.2||alt="thingseye-io-step-1.png"]]
507
508
509 On the **Add integration** window, configure the following:
510
511 **Basic settings:**
512
513 * Select **The Things Stack Community** from the **Integration type** list.
514 * Enter a suitable name for your integration in the **Name **text** **box or keep the default name.
515 * Ensure the following options are turned on.
516 ** Enable integration
517 ** Debug mode
518 ** Allow creating devices or assets
519 * Click the **Next** button. you will be navigated to the **Uplink data converter** tab.
520
521 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/thingseye-io-step-2.png?rev=1.1||alt="thingseye-io-step-2.png"]]
522
523
524 **Uplink data converter:**
525
526 * Click the **Create new** button if it is not selected by default.
527 * Enter a suitable name for the uplink data converter in the **Name **text** **box or keep the default name.
528 * Click the **JavaScript** button.
529 * Paste the uplink decoder function into the text area (first, delete the default code). The demo uplink decoder function can be found [[here>>url:https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Uplink_Converter.js]].
530 * Click the **Next** button. You will be navigated to the **Downlink data converter **tab.
531
532 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/thingseye-io-step-3.png?rev=1.1||alt="thingseye-io-step-3.png"]]
533
534
535 **Downlink data converter (this is an optional step):**
536
537 * Click the **Create new** button if it is not selected by default.
538 * Enter a suitable name for the downlink data converter in the **Name **text** **box or keep the default name.
539 * Click the **JavaScript** button.
540 * Paste the downlink decoder function into the text area (first, delete the default code). The demo downlink decoder function can be found [[here>>url:https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Downlink_Converter.js]].
541 * Click the **Next** button. You will be navigated to the **Connection** tab.
542
543 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/thingseye-io-step-4.png?rev=1.1||alt="thingseye-io-step-4.png"]]
544
545
546 **Connection:**
547
548 * Choose **Region** from the **Host type**.
549 * 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/...).
550 * 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 **4.5.1.1 Configuring The Things Stack**).
551 * Click the **Check connection** button to test the connection. If the connection is successful, you will see the message saying **Connected**.
552
553 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/message-1.png?rev=1.1||alt="message-1.png"]]
554
555
556 * Click the **Add** button.
557
558 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/thingseye-io-step-5.png?rev=1.1||alt="thingseye-io-step-5.png"]]
559
560
561 Your integration has been added to the** Integrations** list and will be displayed on the **Integrations** page. Check whether the status is shown as **Active**. If not, review your configuration settings and correct any errors.
562
563
564 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/thingseye.io_integrationsCenter_integrations.png?rev=1.2||alt="thingseye.io_integrationsCenter_integrations.png"]]
565
566
567 ==== 4.5.1.3 Viewing integration details ====
568
569
570 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.
571
572
573 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/integration-details.png?rev=1.1||alt="integration-details.png"]]
574
575
576 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.
577
578 {{info}}
579 See also [[ThingsEye documentation>>url:https://wiki.thingseye.io/xwiki/bin/view/Main/]].
580 {{/info}}
581
582
583 ==== 4.5.1.4 Viewing events ====
584
585
586 The **Events **tab displays all the uplink messages from the LDS02.
587
588 * Select **Debug **from the **Event type** dropdown.
589 * Select the** time frame** from the **time window**.
590
591 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LT-22222-L/WebHome/thingseye-events.png?rev=1.1||alt="thingseye-events.png"]]
592
593
594 * To view the **JSON payload** of a message, click on the **three dots (...)** in the **Message** column of the desired message.
595
596 [[image:lds02-thingseye-payload.png]]
597
598
599 ==== 4.5.1.5 Deleting an integration ====
600
601
602 If you want to delete an integration, click the **Delete integration** button on the Integrations page.
603
604
605 ==== 4.5.1.6 Viewing sensor data on a dashboard ====
606
607
608 You can create a dashboard with ThingsEye to visualize the sensor data coming from the LDS02. The following image shows a dashboard created for the LDS02. See **Creating a dashboard** in ThingsEye documentation for more information.
609
610
611 [[image:lds02-thingseye-dashboard.png]]
612
613
614
615
616 === 4.5.2 Integrate with Datacake ===
617
618
619 (((
620 Datacake is a multi-purpose, low-code IoT platform that allows you to integrate sensor data for visualization and analysis. With The Things Stack, you can easily create an integration with Datacake to forward your sensor data to the Datacake IoT platform.
621
622
623 ==== 4.5.2.1 Prerequisites ====
624
625 * The LDS02 device is joined to The Things Stack.
626 * Uplinks from the LDS02 device are being received by The Things Stack.
627 * A Datacake account (a free account is sufficient for this example).
628
629 ==== 4.5.2.2 Procedure ====
630
631
632 * In the Datacake workspace, on the left navigation, click **Account Settings**.
633 * Then click **API Token**.
634 * In the **API Token** tab, click the **Copy** button to copy the API token. You will need this API token when creating a webhook with The Things Stack.
635
636 [[image:datacake-1.png]]
637
638
639 )))
640
641 (((
642 To configure the Application to forward data to Datacake you will need to add integration. To add the Datacake integration, perform the following steps:
643
644 * In The Things Stack console, on the left navigation,
645 ** First select your **application** (**Applications -> <your application>**)
646 ** Then select **Integrations -> Webhooks**
647 * On the **Webhooks** page, click + **Add Webhook** button.
648
649 [[image:tts-webhook-1.png]]
650
651
652 * On the **Choose webhook template** page, select **Datacake**.
653 )))
654
655
656
657 [[image:tts-webhook-2.png]]
658
659
660 * On the Setup webhook for Datacake page,
661 ** **Webhook ID**: provide an unique identifier for this webhook
662 ** **Token**: Paste the **Datacake API Token** when you copied from the Datacake **Account Settings**.
663 * Click on the **Create Datacake webhook** button.
664
665 [[image:tts-webhook-3.png]]
666
667
668 Now the Webhook is created and displayed on the Webhooks page.
669
670 [[image:tts-webhook-4.png]]
671
672
673 * In the Datacake workspace, on the left navigation, click **Devices**.
674 * On the Devices page, click **+Add Device**.
675
676 [[image:datacake-2.png]]
677
678
679 * On the **Add Device** window, click **LoRaWAN** option.
680 * Click on the **Next** button.
681
682 [[image:datacake-3.png]]
683
684
685 * On the **Add LoRaWAN Device** window, **STEP 1**, click on **New Product from template** option.
686 * Under **Device Template**, search **lds02**. Then click on **Dragino LDS02 Door Sensor** option.
687 * Click on the **Next** button.
688
689 [[image:datacake-4.png]]
690
691
692
693
694 * On the **Add LoRaWAN Device** window, **STEP 2**, under **Network Server**, click on **The Things Stack V3** option.
695 * Click on the **Next** button.
696
697 [[image:datacake-5.png]]
698
699
700 * On the **Add LoRaWAN Device** window, **STEP 3**, under **Add Devices**, click **Manual** tab.
701 * In the **DEVEUI** textbox, enter your LDS02's 8 bytes **DevEUI**.
702 * In the **NAME** textbox, enter a suitable name to identify your LDS02.
703 * Click on the **Next** button.
704
705 [[image:datacake-6.png]]
706
707
708 * On the **Add LoRaWAN Device** window, **STEP 4**, select **Individual device plans** tab.
709 * Click **Free** option.
710 * Click on the **Add 1 Device** button.
711
712 [[image:datacake-7.png]]
713
714
715 * The device is now added to the Datacake workspace and is ready to receive uplinks from the LDS02 via The Things Stack.
716 * In the **DEVICE** column, click **lds02**.
717
718 [[image:datacake-8.png]]
719
720
721 You can see the **pre-built dashboard** from our template, displaying the LDS02's sensor data on various **widgets**.
722
723 [[image:datacake-9.png]]
724
725
726 == 4.6 Alarm Based on Timeout ==
727
728
729 (((
730 The LDS02 can monitor the timeout for a status change. This feature can be used to monitor events such as a fridge being left open for too long, etc. You can configure this feature using either AT commands or a downlink command:
731 )))
732
733 (((
734 (% style="color:blue" %)**Using AT Commands**(%%)**:**
735 )))
736
737 (((
738
739
740 * **AT+TTRIG=1,30 ~-~-> **When the status changes from closed to open, and the device remains in the open status for more than 30 seconds, the LDS02 will send an uplink packet. The Alarm bit (the lowest bit of the 10th byte of the payload) in this uplink packet is set to 1.
741 * **AT+TTRIG=0,0 ~-~-> **Default value, disables the timeout alarm.
742 )))
743
744 (((
745 (% style="color:blue" %)**Using Downlink Commands**(%%)**:**
746 )))
747
748 (((
749 **Command:** 0xA9 aa bb cc
750
751 * **A9:** Command Type Code
752 * **aa:** Status to be monitored
753 * **bb cc:** Timeout
754
755 If the user sends **0xA9 01 00 1E**, this is equivalent to **AT+TTRIG=1,30**.
756
757 Or
758
759 **0xA9 00 00 00**, this is equivalent to **AT+TTRIG=0,0**, which disables the timeout alarm.
760 )))
761
762
763 == 4.7 EDC Mode(Since firmware v1.8.2) ==
764
765
766 Feature: Set EDC mode, when the cumulative number of opening/closing reaches the set count value, LDS02 will send the packet.
767
768 (% style="color:blue" %)**AT Command: AT+EDC**
769
770
771 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
772 |=(% style="width: 126px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 196px; background-color: rgb(79, 129, 189); color: white;" %)**Function**|=(% style="width: 176px; background-color: rgb(79, 129, 189); color: white;" %)**Response/Parameters**
773 |(% style="width:126px" %)AT+EDC?|(% style="width:196px" %)Show current Settings|(% style="width:176px" %)(((
774 0,0 (default)
775
776 OK
777 )))
778 |(% colspan="1" rowspan="2" style="width:126px" %)(((
779
780
781
782
783 AT+EDC=aa,bb
784 )))|(% style="width:196px" %)aa: Set the open/close cumulative packet sending mode|(% style="width:176px" %)(((
785 0: Set the close cumulative packet sending mode
786
787 1: Set the open cumulative packet sending mode
788 )))
789 |(% style="width:196px" %)bb: Set the cumulative count and send packets when the cumulative count is reached|(% style="width:176px" %)
790
791 (% style="color:blue" %)**Downlink Command: 0X02**
792
793 Format: Command Code (0x02) followed by 4 bytes.
794
795 (% style="color:red" %)**Note: To use the EDC mode, you need to set [[AT+DISALARM=1(downlink payload: A701)>>||anchor="H7.3CanIdisableuplinksforeacheventtosavebatterylife3F
796 "]], so that LDS02 will send packets only when the TDC time and cumulative count reach the set value.**
797
798
799 == 4.8 Set count value(Since firmware v1.8.2) ==
800
801
802 Feature: Set the initial count value.
803
804 (% style="color:blue" %)**AT Command: AT+SETCNT**
805
806
807 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
808 |=(% style="width: 154px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 170px; background-color: rgb(79, 129, 189); color: white;" %)**Function**|=(% style="width: 173px; background-color: rgb(79, 129, 189); color: white;" %)**Response**
809 |(% style="width:154px" %)AT+SETCNT=100|(% style="width:170px" %)Initialize the count value to 100.|(% style="width:173px" %)(((
810 OK
811 )))
812
813 (% style="color:blue" %)**Downlink Command: 0XAA**
814
815
816 The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
817
818 * Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
819 * Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
820
821 == 4.9 LEDs ==
822
823
824 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:463px" %)
825 |=(% style="width: 186px;background-color:#4F81BD;color:white" %)**Action**|=(% style="width: 277px;background-color:#4F81BD;color:white" %)**LED behavior**
826 |(% style="width:184px" %)Power On|(% style="width:275px" %)(% style="color:green" %)**GREEN LED on 1s, **(% style="color:red" %)**RED LED on 1s,**(%%)** (% style="color:blue" %)BLUE LED on 1s(%%)**
827 |(% style="width:184px" %)Joined successful|(% style="width:275px" %)(% style="color:green" %)**GRENN LED **(%%)on 5s
828 |(% style="width:184px" %)Send an uplink message|(% style="width:275px" %)(% style="color:green" %)**GREEN LED**(%%) blinks once
829 |(% style="width:184px" %)Received a downlink message|(% style="width:275px" %)(% style="color:blue" %)**BLUE LED**(%%) blinks once
830
831 = 5. Battery & How to replace =
832
833 == 5.1 Battery Type and replace ==
834
835
836 (((
837 The LDS02 is equipped with 2 x AAA LR03 batteries. If the batteries are running low (showing 2.1V on the platform), the user can buy generic AAA batteries and replace them.
838
839 (% style="color:red" %)**Note:**
840
841 1. The LDS02 doesn’t have any screws; you can use a nail to open it from the middle.
842 1. Make sure the direction is correct when installing the AAA batteries.
843 )))
844
845 (((
846 (% style="color:red" %)**Important Note: **(%%)Ensure you use new AAA LR03 batteries, and that the battery surfaces are not damaged.
847 )))
848
849 (((
850
851 )))
852
853 (((
854 Example of AAA LR03 battery:
855 )))
856
857 [[image:1654675278044-307.png]]
858
859
860 == 5.2 Power Consumption Analysis ==
861
862
863 (((
864 Dragino battery-powered products all run in Low Power mode. Users can refer to the guidelines from this [[**link**>>https://www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf]] to estimate battery life:
865 )))
866
867
868 = 6. Use AT Commands =
869
870 == 6.1 Access AT Commands ==
871
872
873 The LDS02 supports an AT command set. You can use a USB to TTL adapter to configure the LDS02 via AT commands, as shown below.
874
875 [[image:image-20221226104705-1.png||height="572" width="872"]]
876
877
878 (((
879 On the PC, the user needs to set the **serial tool** (such as [[PuTTY>>https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]] or SecureCRT) baud rate to **115200** to access the serial console of the LDS02. Below is the output for reference:
880 )))
881
882 (((
883 The AT command access password is (% style="color:red" %)**123456**.
884 )))
885
886 [[image:1654675618022-630.png]]
887
888
889 Each AT command needs to have an **ENTER** key pressed at the end before sending.
890
891 When entering the first command, the **RED LED** will turn on, and the user can now input AT commands. After entering all the required AT commands, input **AT+CLPM=1** to set the device to Low Power mode, and the **RED LED** will turn off.
892
893 More details can be found in the [[AT Command Manual>>http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LDS01/]].
894
895
896 = 7. FAQ =
897
898 == 7.1 How to upgrade the image? ==
899
900
901 **~1. Connect the DAPLINK to the LDS02 as below:**
902
903
904
905 **3.3V<~-~-~-~-->VDD**
906
907 **CLK<~-~-~-~-~-~->CLK**
908
909 **DIO<~-~-~-~-~-~->DIO (SWD)**
910
911 **GND<~-~-~-~-~-~->GND**
912
913 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Firmware%20Upgrade%20Instruction/WebHome/image-20220527084230-4.png?rev=1.1||alt="image-20220527084230-4.png"]]
914
915 [[image:image-20230726175624-1.jpeg||height="565" width="753"]]
916
917
918 **2. Install PSoC Programmer 3.27.1**
919
920 Download Link: [[PSoCProgrammer3.27.1>>url:https://www.dragino.com/downloads/index.php?dir=tools/]]
921
922 Then, use PSoC Programmer to upgrade the firmware (**must use this version: PSoC Programmer 3.27.1**).
923
924 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Firmware%20Upgrade%20Instruction/WebHome/image-20220527084537-7.png?rev=1.1||alt="image-20220527084537-7.png"]]
925
926
927 **3. Download Sensor Firmware**
928
929 Downlink [[Firmware Location(same as LDS01)>>url:https://www.dropbox.com/sh/9j35mnsxnz0y3ye/AACj5gHGOURGEHCpj-E861Mua?dl=0]] to prepare the update.
930
931
932 **4. Upgrade Firmware**
933
934 * Open PSoC Programmer, then select the default configuration.
935
936 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Firmware%20Upgrade%20Instruction/WebHome/image-20220527084612-8.png?rev=1.1||alt="image-20220527084612-8.png"]]
937
938 * Click the file icon to select the software to be burned.
939
940 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Firmware%20Upgrade%20Instruction/WebHome/image-20220527084705-9.png?rev=1.1||alt="image-20220527084705-9.png"]]
941
942 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Firmware%20Upgrade%20Instruction/WebHome/image-20220527084739-10.png?width=1034&height=453&rev=1.1||alt="image-20220527084739-10.png" height="453" width="1034"]]
943
944 * Click the download icon, and the progress bar, as shown in the figure below, will appear. When **PASS** appears, it indicates that the burning was successful.
945
946 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Firmware%20Upgrade%20Instruction/WebHome/image-20220527084831-11.png?rev=1.1||alt="image-20220527084831-11.png"]]
947
948 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/Firmware%20Upgrade%20Instruction/WebHome/image-20220527084907-12.png?rev=1.1||alt="image-20220527084907-12.png"]]
949
950
951 **It is very important to press the reset button after the upgrade. This sets the device to work in Low Power mode.**
952
953 **If you change to a different LoRa frequency band/region, you need to use the AT+FDR command to restore the factory data after the program is successfully applied.**
954
955
956 == 7.2 How to change the LoRa Frequency Bands/Region? ==
957
958
959 If you have the US915 frequency and want to change it to the AS923 frequency, you can follow the same instructions mentioned in the [[How to upgrade the image?>>doc:||anchor="How to upgrade the image?"]] section to upgrade the image. When downloading the image, select the required file.
960
961
962 == 7.3 Can I disable uplinks for each event to save battery life? ==
963
964
965 Yes, you can use one of the methods below:
966
967
968 (% style="color:blue" %)**Via AT Command**:
969
970 (% style="color:red" %)**AT+DISALARM=1**(%%) : The end node will only send packets during the TDC time.
971
972 (% style="color:red" %)**AT+DISALARM=0**(%%) : The end node will send packets either during the TDC time or when there is a status change in the door sensor.
973
974
975 (% style="color:blue" %)**Via LoRaWAN downlink Command**:
976
977 (% style="color:red" %)**0xA701**(%%) : Equivalent to AT+DISALARM=1
978
979 (% style="color:red" %)**0xA700**(%%) : Equivalent to AT+DISALARM=0
980
981
982 == 7.4 How can I change the Subband for LDS02? ==
983
984
985 **Before v1.6 firmware:**
986 LDS02 operates in Subband 2 by default in the AU915/US915 band. If the LoRaWAN server operates on another subband, LDS02 may have trouble joining the server. In this case, the user can use the AT command to change the subband. See the AT Command chapter for hardware connection details. Below are the steps to change the subband:
987
988 1. Press the reset button.
989 1. Send the password **123456**.
990 1. Send the command: **AT+CFREQBANDMASK=0006** (use 0001 for Subband 1, 0002 for Subband 2, etc.).
991 1. Press the reset button to restart and switch to the new subband.
992
993 Example output:
994
995 (% class="mark small" %)[3369]DRAGINO LWL01 Device
996 [3370]Frequency Band: US915 v1.5
997 [3373]OTAA
998 [3374]DevEui= 7896785455246354
999 [3377]class type A
1000 [3379]freq mode intra
1001 [3381]**scan chn mask 0x0002   ~-~-> use subband 2**
1002
1003 (% class="mark small" %)LM502:~~# [10793]txDone
1004 123456       ~-~-> ENTER PASSWORD
1005 Correct Password
1006
1007 (% class="mark small" %)[105115]rxTimeOut
1008 **AT+CFREQBANDMASK=0020 ~-~-> Change to Subband6**
1009 OK
1010
1011 (% class="mark small" %)[3371]DRAGINO LWL01 Device
1012 [3373]Frequency Band: US915 v1.5
1013 [3376]OTAA
1014 [3377]DevEui= 7896785455246354
1015 [3380]class type A
1016 [3382]freq mode intra
1017 [3384]**scan chn mask 0x0001  ~-~-> reboot and works on Subband1 now**
1018
1019 [[image:image-20230103143821-1.png]]
1020
1021
1022 **Since firmware v1.6:**
1023
1024 LDS02 works with the channel mask 0x0000, which covers all subbands. Therefore, there is no need to use AT commands to change the subband, and it will work for every subband.
1025
1026
1027 == 7.5 My sensor worked for Helium AU915 before, but now it doesn't work. Why? ==
1028
1029
1030 This is a sub-band issue. See chapter 7.4. Helium changed the sub-band for AU915 from subband 2 to subband 6, which caused the sensor to stop working.
1031
1032
1033 == 7.6 Why do I see different working temperatures for the device? ==
1034
1035
1036 The working temperature range of the device depends on the battery the user chooses.
1037
1038 * A standard AAA battery can support a working range of -10°C to 50°C.
1039 * A special AAA battery can support a working range of -40°C to 60°C. For example, [[Energizer L92>>url:https://data.energizer.com/pdfs/l92.pdf]]
1040
1041 == 7.7 The device keeps rejoining the network and is not working properly ==
1042
1043
1044 **Cause of the problem:**
1045
1046 When the DR of AU915 and AS923 is 2 or the DR of US915 is 0, upon receiving the MAC Command from the server, the node will enter deep sleep and will not send packets because the attached MAC answer exceeds the number of bytes.
1047
1048 **Solution:**
1049
1050 1. Manually restart the device, then downlink 21 03 (only needs to be set once to be effective).
1051 1. Manually restart the device, then set AT+RPL=3 (only needs to be set once to be effective).
1052 1. Update the firmware to version v1.8 or above.
1053
1054 = 8. Ordering Information =
1055
1056
1057 **Part Number: (% style="color:blue" %)LDS02-XXX(%%)**
1058
1059 (% style="color:blue" %)**XXX:**(%%) The default frequency band
1060
1061 * (% style="color:red" %)**EU433**(%%): frequency  bands EU433
1062 * (% style="color:red" %)**EU868**(%%): frequency  bands EU868
1063 * (% style="color:red" %)**KR920**(%%): frequency  bands KR920
1064 * (% style="color:red" %)**CN470**(%%): frequency bands CN470
1065 * (% style="color:red" %)**AS923**(%%): frequency  bands AS923
1066 * (% style="color:red" %)**AU915**(%%): frequency bands AU915
1067 * (% style="color:red" %)**US915**(%%): frequency bands  US915
1068 * (% style="color:red" %)**IN865**(%%):  frequency bands  IN865
1069 * (% style="color:red" %)**CN779**(%%): frequency bands CN779
1070
1071 = 9. Packaging Information =
1072
1073
1074 (((
1075 **Package Includes**:
1076 )))
1077
1078 * (((
1079 LDS02 x 1
1080 )))
1081
1082 (((
1083 **Dimension and weight**:
1084 )))
1085
1086 * (((
1087 Device Size: 69.2 x 29.2 x 14.8 mm
1088
1089
1090 )))
1091
1092 = 10. Support =
1093
1094
1095 * Support is provided 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 during the aforementioned schedule.
1096 * Please provide as much information as possible regarding your inquiry (product models, a clear description of the problem, steps to replicate it, etc.) and send an email to [[support@dragino.com>>mailto:support@dragino.com]].
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0