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