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 (% style="color:red" %)**Note: **(%%) The first two values of the binary code of 3FFF (**00**11 1111 1111 1111 1111) are the EDC_MOD states
375
376
377 (% style="color:blue" %)**EDC_MOD**
378
379 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.
380
381 Ex1: bytes[0]&0x80?"OPEN":"CLOSE" = 8C & 0x80 = **1**000 0000(BIN) (1: OPEN; 0: CLOSE) = OPEN
382
383 Ex2: bytes[0]&0x80?"OPEN":"CLOSE" = 0C & 0x80 = **0**000 0000(BIN) (1: OPEN; 0: CLOSE) = CLOSE
384
385
386 (% style="color:blue" %)**Times**
387
388 This field is used to display the number of open/closed events.
389
390 Ex1: 0x00000A(H) =10
391
392 Ex2: 0x000014(H) =20
393
394
395 )))
396
397 == 4.4 Downlink Payload ==
398
399
400 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:505px" %)
401 |=(% 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)**
402 |(% style="width:180px" %)TDC (Transmit Time Interval—Keep Alive Interval)|(% style="width:94px" %)0x01|(% style="width:226px" %)4
403 |(% style="width:180px" %)RESET|(% style="width:94px" %)0x04|(% style="width:226px" %)2
404 |(% style="width:180px" %)[[Set confirmed mode>>||anchor="HTypeCode0x05"]]|(% style="width:94px" %)0x05|(% style="width:226px" %)2
405 |(% style="width:180px" %)[[Clear Counting>>||anchor="HTypeCode0xA6"]]|(% style="width:94px" %)0xA6|(% style="width:226px" %)2
406 |(% style="width:180px" %)[[Enable/Disable Alarm>>||anchor="HTypeCode0xA7"]]|(% style="width:94px" %)0xA7|(% style="width:226px" %)2
407 |(% style="width:180px" %)[[Control ADR/DR>>||anchor="HTypeCode0xA8"]]|(% style="width:94px" %)0xA8|(% style="width:226px" %)3
408 |(% style="width:180px" %)[[Set Alarm Timeout>>||anchor="HTypeCode0xA9"]]|(% style="width:94px" %)0xA9|(% style="width:226px" %)4
409
410 The following image illustrates how to send a downlink payload from The Things Stack.
411
412 [[image:1654673412319-976.png]]
413
414
415 === (% style="color:#037691" %)**Type Code 0x01**(%%) ===
416
417 If the payload is **0100003C**, it means controlling the LDS02’s Keep Alive interval to **0x00003C = 60 seconds (s)**.
418
419
420 === (% style="color:#037691" %)**Type Code 0x04**(%%) ===
421
422 If the payload is **0x04FF**, it will reset the LDS02.
423
424
425 === (% style="color:#037691" %)**Type Code 0x05**(%%) ===
426
427 (((
428 **0x05 00**: Set uplink to LoRaWAN unconfirmed mode
429 )))
430
431 (((
432 **0x05 01**: Set uplink to LoRaWAN confirmed mode
433 )))
434
435
436 === (% style="color:#037691" %)**Type Code 0xA6**(%%) ===
437
438 (((
439 **Example:** 0xA601 – Clear Counting
440 For the LDS02: Resets both the count number and time.
441 )))
442
443
444 === (% style="color:#037691" %)**Type Code 0xA7**(%%) ===
445
446 (((
447 **0xA701**: Equivalent to AT+DISALARM=1
448 )))
449
450 (((
451 **0xA700**: Equivalent to AT+DISALARM=0
452 )))
453
454
455 === (% style="color:#037691" %)**Type Code 0xA8**(%%) ===
456
457 (((
458 **Format:** 0xA8 aa bb
459
460 * **aa**: 1 – Enable ADR; 0 – Disable ADR (same as the AT+CADR command)
461 * **bb**: Set DR (same as AT+CDATARATE; only valid after ADR=0)
462
463 **Example:** 0xA80001 – Set ADR=0 and DR=1
464 )))
465
466
467 === (% style="color:#037691" %)**Type Code 0xA9**(%%) ===
468
469 See, [[Alarm Base Timeout>>||anchor="H4.6AlarmBaseonTimeout"]] for details.
470
471
472 == 4.5 Integrate with IoT Platforms ==
473
474
475 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.
476
477 === 4.5.1 Integrate with ThingsEye ===
478
479
480 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.
481
482
483 ==== 4.5.1.1 Configuring The Things Stack ====
484
485 We use The Things Stack Sandbox in this example:
486
487 * In **The Things Stack Sandbox**, go to the **Application **for the LDS02 you added.
488 * Select **MQTT** under **Integrations** in the left menu.
489 * 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.
490 * 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.
491
492 {{info}}
493 The username and  password (API key) you created here are required in the next section.
494 {{/info}}
495
496
497 [[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"]]
498
499
500 ==== 4.5.1.2 Configuring ThingsEye.io ====
501
502 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.
503
504 * Login to your [[ThingsEye.io >>url:https://thingseye.io]]account.
505 * Under the **Integrations center**, click **Integrations**.
506 * Click the **Add integration** button (the button with the **+** symbol).
507
508 [[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"]]
509
510
511 On the **Add integration** window, configure the following:
512
513 **Basic settings:**
514
515 * Select **The Things Stack Community** from the **Integration type** list.
516 * Enter a suitable name for your integration in the **Name **text** **box or keep the default name.
517 * Ensure the following options are turned on.
518 ** Enable integration
519 ** Debug mode
520 ** Allow creating devices or assets
521 * Click the **Next** button. you will be navigated to the **Uplink data converter** tab.
522
523 [[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"]]
524
525
526 **Uplink data converter:**
527
528 * Click the **Create new** button if it is not selected by default.
529 * Enter a suitable name for the uplink data converter in the **Name **text** **box or keep the default name.
530 * Click the **JavaScript** button.
531 * 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]].
532 * Click the **Next** button. You will be navigated to the **Downlink data converter **tab.
533
534 [[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"]]
535
536
537 **Downlink data converter (this is an optional step):**
538
539 * Click the **Create new** button if it is not selected by default.
540 * Enter a suitable name for the downlink data converter in the **Name **text** **box or keep the default name.
541 * Click the **JavaScript** button.
542 * 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]].
543 * Click the **Next** button. You will be navigated to the **Connection** tab.
544
545 [[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"]]
546
547
548 **Connection:**
549
550 * Choose **Region** from the **Host type**.
551 * 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/...).
552 * 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**).
553 * Click the **Check connection** button to test the connection. If the connection is successful, you will see the message saying **Connected**.
554
555 [[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"]]
556
557
558 * Click the **Add** button.
559
560 [[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"]]
561
562
563 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.
564
565
566 [[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"]]
567
568
569 ==== 4.5.1.3 Viewing integration details ====
570
571
572 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.
573
574
575 [[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"]]
576
577
578 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.
579
580 {{info}}
581 See also [[ThingsEye documentation>>url:https://wiki.thingseye.io/xwiki/bin/view/Main/]].
582 {{/info}}
583
584
585 ==== 4.5.1.4 Viewing events ====
586
587
588 The **Events **tab displays all the uplink messages from the LDS02.
589
590 * Select **Debug **from the **Event type** dropdown.
591 * Select the** time frame** from the **time window**.
592
593 [[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"]]
594
595
596 * To view the **JSON payload** of a message, click on the **three dots (...)** in the **Message** column of the desired message.
597
598 [[image:lds02-thingseye-payload.png]]
599
600
601 ==== 4.5.1.5 Deleting an integration ====
602
603
604 If you want to delete an integration, click the **Delete integration** button on the Integrations page.
605
606
607 ==== 4.5.1.6 Viewing sensor data on a dashboard ====
608
609
610 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.
611
612
613 [[image:lds02-thingseye-dashboard.png]]
614
615
616
617
618 === 4.5.2 Integrate with Datacake ===
619
620
621 (((
622 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.
623
624
625 ==== 4.5.2.1 Prerequisites ====
626
627 * The LDS02 device is joined to The Things Stack.
628 * Uplinks from the LDS02 device are being received by The Things Stack.
629 * A Datacake account (a free account is sufficient for this example).
630
631 ==== 4.5.2.2 Procedure ====
632
633
634 * In the Datacake workspace, on the left navigation, click **Account Settings**.
635 * Then click **API Token**.
636 * 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.
637
638 [[image:datacake-1.png]]
639
640
641 )))
642
643 (((
644 To configure the Application to forward data to Datacake you will need to add integration. To add the Datacake integration, perform the following steps:
645
646 * In The Things Stack console, on the left navigation,
647 ** First select your **application** (**Applications -> <your application>**)
648 ** Then select **Integrations -> Webhooks**
649 * On the **Webhooks** page, click + **Add Webhook** button.
650
651 [[image:tts-webhook-1.png]]
652
653
654 * On the **Choose webhook template** page, select **Datacake**.
655 )))
656
657
658
659 [[image:tts-webhook-2.png]]
660
661
662 * On the Setup webhook for Datacake page,
663 ** **Webhook ID**: provide an unique identifier for this webhook
664 ** **Token**: Paste the **Datacake API Token** when you copied from the Datacake **Account Settings**.
665 * Click on the **Create Datacake webhook** button.
666
667 [[image:tts-webhook-3.png]]
668
669
670 Now the Webhook is created and displayed on the Webhooks page.
671
672 [[image:tts-webhook-4.png]]
673
674
675 * In the Datacake workspace, on the left navigation, click **Devices**.
676 * On the Devices page, click **+Add Device**.
677
678 [[image:datacake-2.png]]
679
680
681 * On the **Add Device** window, click **LoRaWAN** option.
682 * Click on the **Next** button.
683
684 [[image:datacake-3.png]]
685
686
687 * On the **Add LoRaWAN Device** window, **STEP 1**, click on **New Product from template** option.
688 * Under **Device Template**, search **lds02**. Then click on **Dragino LDS02 Door Sensor** option.
689 * Click on the **Next** button.
690
691 [[image:datacake-4.png]]
692
693
694
695
696 * On the **Add LoRaWAN Device** window, **STEP 2**, under **Network Server**, click on **The Things Stack V3** option.
697 * Click on the **Next** button.
698
699 [[image:datacake-5.png]]
700
701
702 * On the **Add LoRaWAN Device** window, **STEP 3**, under **Add Devices**, click **Manual** tab.
703 * In the **DEVEUI** textbox, enter your LDS02's 8 bytes **DevEUI**.
704 * In the **NAME** textbox, enter a suitable name to identify your LDS02.
705 * Click on the **Next** button.
706
707 [[image:datacake-6.png]]
708
709
710 * On the **Add LoRaWAN Device** window, **STEP 4**, select **Individual device plans** tab.
711 * Click **Free** option.
712 * Click on the **Add 1 Device** button.
713
714 [[image:datacake-7.png]]
715
716
717 * The device is now added to the Datacake workspace and is ready to receive uplinks from the LDS02 via The Things Stack.
718 * In the **DEVICE** column, click **lds02**.
719
720 [[image:datacake-8.png]]
721
722
723 You can see the **pre-built dashboard** from our template, displaying the LDS02's sensor data on various **widgets**.
724
725 [[image:datacake-9.png]]
726
727
728 == 4.6 Alarm Based on Timeout ==
729
730
731 (((
732 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:
733 )))
734
735 (((
736 (% style="color:blue" %)**Using AT Commands**(%%)**:**
737 )))
738
739 (((
740
741
742 * **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.
743 * **AT+TTRIG=0,0 ~-~-> **Default value, disables the timeout alarm.
744 )))
745
746 (((
747 (% style="color:blue" %)**Using Downlink Commands**(%%)**:**
748 )))
749
750 (((
751 **Command:** 0xA9 aa bb cc
752
753 * **A9:** Command Type Code
754 * **aa:** Status to be monitored
755 * **bb cc:** Timeout
756
757 If the user sends **0xA9 01 00 1E**, this is equivalent to **AT+TTRIG=1,30**.
758
759 Or
760
761 **0xA9 00 00 00**, this is equivalent to **AT+TTRIG=0,0**, which disables the timeout alarm.
762 )))
763
764
765 == 4.7 EDC Mode(Since firmware v1.8.2) ==
766
767
768 Feature: Set EDC mode, when the cumulative number of opening/closing reaches the set count value, LDS02 will send the packet.
769
770 (% style="color:blue" %)**AT Command: AT+EDC**
771
772
773 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
774 |=(% 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**
775 |(% style="width:126px" %)AT+EDC?|(% style="width:196px" %)Show current Settings|(% style="width:176px" %)(((
776 0,0 (default)
777
778 OK
779 )))
780 |(% colspan="1" rowspan="2" style="width:126px" %)(((
781
782
783
784
785 AT+EDC=aa,bb
786 )))|(% style="width:196px" %)aa: Set the open/close cumulative packet sending mode|(% style="width:176px" %)(((
787 0: Set the close cumulative packet sending mode
788
789 1: Set the open cumulative packet sending mode
790 )))
791 |(% style="width:196px" %)bb: Set the cumulative count and send packets when the cumulative count is reached|(% style="width:176px" %)
792
793 (% style="color:blue" %)**Downlink Command: 0X02**
794
795 Format: Command Code (0x02) followed by 4 bytes.
796
797 (% style="color:red" %)**Note: To use the EDC mode, you need to set [[AT+DISALARM=1(downlink payload: A701)>>||anchor="H7.3CanIdisableuplinksforeacheventtosavebatterylife3F
798 "]], so that LDS02 will send packets only when the TDC time and cumulative count reach the set value.**
799
800
801 == 4.8 Set count value(Since firmware v1.8.2) ==
802
803
804 Feature: Set the initial count value.
805
806 (% style="color:blue" %)**AT Command: AT+SETCNT**
807
808
809 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
810 |=(% 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**
811 |(% style="width:154px" %)AT+SETCNT=100|(% style="width:170px" %)Initialize the count value to 100.|(% style="width:173px" %)(((
812 OK
813 )))
814
815 (% style="color:blue" %)**Downlink Command: 0XAA**
816
817
818 The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
819
820 * Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
821 * Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
822
823 == 4.9 LEDs ==
824
825
826 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:463px" %)
827 |=(% style="width: 186px;background-color:#4F81BD;color:white" %)**Action**|=(% style="width: 277px;background-color:#4F81BD;color:white" %)**LED behavior**
828 |(% 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(%%)**
829 |(% style="width:184px" %)Joined successful|(% style="width:275px" %)(% style="color:green" %)**GRENN LED **(%%)on 5s
830 |(% style="width:184px" %)Send an uplink message|(% style="width:275px" %)(% style="color:green" %)**GREEN LED**(%%) blinks once
831 |(% style="width:184px" %)Received a downlink message|(% style="width:275px" %)(% style="color:blue" %)**BLUE LED**(%%) blinks once
832
833 = 5. Battery & How to replace =
834
835 == 5.1 Battery Type and replace ==
836
837
838 (((
839 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.
840
841 (% style="color:red" %)**Note:**
842
843 1. The LDS02 doesn’t have any screws; you can use a nail to open it from the middle.
844 1. Make sure the direction is correct when installing the AAA batteries.
845 )))
846
847 (((
848 (% style="color:red" %)**Important Note: **(%%)Ensure you use new AAA LR03 batteries, and that the battery surfaces are not damaged.
849 )))
850
851 (((
852
853 )))
854
855 (((
856 Example of AAA LR03 battery:
857 )))
858
859 [[image:1654675278044-307.png]]
860
861
862 == 5.2 Power Consumption Analysis ==
863
864
865 (((
866 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:
867 )))
868
869
870 = 6. Use AT Commands =
871
872 == 6.1 Access AT Commands ==
873
874
875 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.
876
877 [[image:image-20221226104705-1.png||height="572" width="872"]]
878
879
880 (((
881 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:
882 )))
883
884 (((
885 The AT command access password is (% style="color:red" %)**123456**.
886 )))
887
888 [[image:1654675618022-630.png]]
889
890
891 Each AT command needs to have an **ENTER** key pressed at the end before sending.
892
893 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.
894
895 More details can be found in the [[AT Command Manual>>http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LDS01/]].
896
897
898 = 7. FAQ =
899
900 == 7.1 How to upgrade the image? ==
901
902
903 **~1. Connect the DAPLINK to the LDS02 as below:**
904
905
906
907 **3.3V<~-~-~-~-->VDD**
908
909 **CLK<~-~-~-~-~-~->CLK**
910
911 **DIO<~-~-~-~-~-~->DIO (SWD)**
912
913 **GND<~-~-~-~-~-~->GND**
914
915 [[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"]]
916
917 [[image:image-20230726175624-1.jpeg||height="565" width="753"]]
918
919
920 **2. Install PSoC Programmer 3.27.1**
921
922 Download Link: [[PSoCProgrammer3.27.1>>url:https://www.dragino.com/downloads/index.php?dir=tools/]]
923
924 Then, use PSoC Programmer to upgrade the firmware (**must use this version: PSoC Programmer 3.27.1**).
925
926 [[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"]]
927
928
929 **3. Download Sensor Firmware**
930
931 Downlink [[Firmware Location(same as LDS01)>>url:https://www.dropbox.com/sh/9j35mnsxnz0y3ye/AACj5gHGOURGEHCpj-E861Mua?dl=0]] to prepare the update.
932
933
934 **4. Upgrade Firmware**
935
936 * Open PSoC Programmer, then select the default configuration.
937
938 [[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"]]
939
940 * Click the file icon to select the software to be burned.
941
942 [[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"]]
943
944 [[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"]]
945
946 * 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.
947
948 [[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"]]
949
950 [[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"]]
951
952
953 **It is very important to press the reset button after the upgrade. This sets the device to work in Low Power mode.**
954
955 **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.**
956
957
958 == 7.2 How to change the LoRa Frequency Bands/Region? ==
959
960
961 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.
962
963
964 == 7.3 Can I disable uplinks for each event to save battery life? ==
965
966
967 Yes, you can use one of the methods below:
968
969
970 (% style="color:blue" %)**Via AT Command**:
971
972 (% style="color:red" %)**AT+DISALARM=1**(%%) : The end node will only send packets during the TDC time.
973
974 (% 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.
975
976
977 (% style="color:blue" %)**Via LoRaWAN downlink Command**:
978
979 (% style="color:red" %)**0xA701**(%%) : Equivalent to AT+DISALARM=1
980
981 (% style="color:red" %)**0xA700**(%%) : Equivalent to AT+DISALARM=0
982
983
984 == 7.4 How can I change the Subband for LDS02? ==
985
986
987 **Before v1.6 firmware:**
988 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:
989
990 1. Press the reset button.
991 1. Send the password **123456**.
992 1. Send the command: **AT+CFREQBANDMASK=0006** (use 0001 for Subband 1, 0002 for Subband 2, etc.).
993 1. Press the reset button to restart and switch to the new subband.
994
995 Example output:
996
997 (% class="mark small" %)[3369]DRAGINO LWL01 Device
998 [3370]Frequency Band: US915 v1.5
999 [3373]OTAA
1000 [3374]DevEui= 7896785455246354
1001 [3377]class type A
1002 [3379]freq mode intra
1003 [3381]**scan chn mask 0x0002   ~-~-> use subband 2**
1004
1005 (% class="mark small" %)LM502:~~# [10793]txDone
1006 123456       ~-~-> ENTER PASSWORD
1007 Correct Password
1008
1009 (% class="mark small" %)[105115]rxTimeOut
1010 **AT+CFREQBANDMASK=0020 ~-~-> Change to Subband6**
1011 OK
1012
1013 (% class="mark small" %)[3371]DRAGINO LWL01 Device
1014 [3373]Frequency Band: US915 v1.5
1015 [3376]OTAA
1016 [3377]DevEui= 7896785455246354
1017 [3380]class type A
1018 [3382]freq mode intra
1019 [3384]**scan chn mask 0x0001  ~-~-> reboot and works on Subband1 now**
1020
1021 [[image:image-20230103143821-1.png]]
1022
1023
1024 **Since firmware v1.6:**
1025
1026 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.
1027
1028
1029 == 7.5 My sensor worked for Helium AU915 before, but now it doesn't work. Why? ==
1030
1031
1032 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.
1033
1034
1035 == 7.6 Why do I see different working temperatures for the device? ==
1036
1037
1038 The working temperature range of the device depends on the battery the user chooses.
1039
1040 * A standard AAA battery can support a working range of -10°C to 50°C.
1041 * 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]]
1042
1043 == 7.7 The device keeps rejoining the network and is not working properly ==
1044
1045
1046 **Cause of the problem:**
1047
1048 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.
1049
1050 **Solution:**
1051
1052 1. Manually restart the device, then downlink 21 03 (only needs to be set once to be effective).
1053 1. Manually restart the device, then set AT+RPL=3 (only needs to be set once to be effective).
1054 1. Update the firmware to version v1.8 or above.
1055
1056 = 8. Ordering Information =
1057
1058
1059 **Part Number: (% style="color:blue" %)LDS02-XXX(%%)**
1060
1061 (% style="color:blue" %)**XXX:**(%%) The default frequency band
1062
1063 * (% style="color:red" %)**EU433**(%%): frequency  bands EU433
1064 * (% style="color:red" %)**EU868**(%%): frequency  bands EU868
1065 * (% style="color:red" %)**KR920**(%%): frequency  bands KR920
1066 * (% style="color:red" %)**CN470**(%%): frequency bands CN470
1067 * (% style="color:red" %)**AS923**(%%): frequency  bands AS923
1068 * (% style="color:red" %)**AU915**(%%): frequency bands AU915
1069 * (% style="color:red" %)**US915**(%%): frequency bands  US915
1070 * (% style="color:red" %)**IN865**(%%):  frequency bands  IN865
1071 * (% style="color:red" %)**CN779**(%%): frequency bands CN779
1072
1073 = 9. Packaging Information =
1074
1075
1076 (((
1077 **Package Includes**:
1078 )))
1079
1080 * (((
1081 LDS02 x 1
1082 )))
1083
1084 (((
1085 **Dimension and weight**:
1086 )))
1087
1088 * (((
1089 Device Size: 69.2 x 29.2 x 14.8 mm
1090
1091
1092 )))
1093
1094 = 10. Support =
1095
1096
1097 * 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.
1098 * 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