Show last authors
1 (% style="text-align:center" %)
2 [[image:1654739676119-482.png||height="544" width="479"]]
3
4
5
6 **Contents:**
7
8
9
10
11
12
13
14 = 1.  Introduction =
15
16 == 1.1  ​What is LDS03A Open/Close Door Sensor ==
17
18 (((
19
20
21 (((
22 The Dragino LDS03A is an (% style="color:blue" %)**Open/Close LoRaWAN Door Sensor**(%%). It detects door open/close status and uplinks to IoT server via LoRaWAN network. user can see the door status, open duration, open counts in the IoT Server.
23 )))
24
25 (((
26 LDS03A is powered by a (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%). It can be used for up to 10 years.
27 )))
28
29 (((
30 The LDS03A will send periodically data every 2 hours as well as for each door open/close action. It also counts the door open times and calculates the last door open duration. Users can also disable the uplink for each open/close event, instead, LDS03A can count each open event and uplink periodically.
31 )))
32
33 (((
34 LDS03A has a (% style="color:blue" %)**Datalog feature**(%%), it will record the open/close event and the user can retrieve the history from LoRaWAN.
35 )))
36
37 (((
38 LDS03A has the (% style="color:blue" %)**open alarm feature**(%%), user can set this feature so the device will send an alarm if the door has been open for a certain time.
39 )))
40
41 (((
42 LDS03A is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
43 )))
44
45 (((
46 Each LDS03A is pre-load with a set of unique keys for LoRaWAN registration, register these keys to LoRaWAN server and it will auto-connect after power on.
47 )))
48
49 (((
50 *Battery life depends on how often to send data, please see [[battery analyzer>>||anchor="H4.Battery26Howtoreplace"]].
51 )))
52 )))
53
54
55
56
57 == ​1.2  Features ==
58
59 * LoRaWAN v1.0.3 Class A protocol.
60 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
61 * Door Open/Close detect
62 * Door open/close statistics
63 * 8500mAh industrial battery(none-rechargeable)
64 * AT Commands to change parameters
65 * Uplink on periodically and open/close event
66 * Datalog feature
67 * Remote configure parameters via LoRa Downlink
68 * Firmware upgradable via program port
69 * Wall Mountable
70 * Outdoor Use
71
72 == 1.3  Storage & Operation Temperature ==
73
74
75 -40°C to +85°C
76
77
78 == 1.4  ​Applications ==
79
80
81 [[image:1654741400370-813.png]]
82
83
84 == 1.5  Mechanical ==
85
86 [[image:1654741444887-479.png]]
87
88
89 [[image:1654741488515-626.png]]
90
91 [[image:1654741510204-377.png]]
92
93
94 == 1.6  Pin Definitions and Switch ==
95
96 [[image:1654741572060-177.png]]
97
98 **LDS03A is based on LSN50v2**
99
100
101 === 1.6.1  Pin Definition ===
102
103 (((
104 The device is pre-configured to connect to a door sensor. The other pins are not used. If user wants to know more about other pins, please refer to the user manual of LSN50v2 at: [[http:~~/~~/www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/]]
105 )))
106
107
108 === 1.6.2  Jumper JP2(Power ON/OFF) ===
109
110 Power on Device when putting this jumper.
111
112
113 === 1.6.3  BOOT MODE / SW1 ===
114
115 1) ISP: upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won’t run.
116
117 2) Flash: work mode, the device starts to work and send out console output for further debug
118
119
120 === 1.6.4  Reset Button ===
121
122 Press to reboot the device.
123
124
125 === 1.6.5  LED ===
126
127 It will flash:
128
129 1. Boot the device in flash mode
130 1. Send an uplink packet
131
132 = 2.  Operation Mode =
133
134 == 2.1  How it works ==
135
136 (((
137 (((
138 Each LDS03A is shipped with a worldwide unique set of OTAA keys. To use LDS03A in a LoRaWAN network, user needs to input the OTAA keys in the LoRaWAN network server. So LDS03A can join the LoRaWAN network and start to transmit sensor data.
139 )))
140 )))
141
142
143 == 2.2  Example to use for LoRaWAN network ==
144
145 (((
146 This section shows an example of how to join the TTN V3 LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are similar.
147 )))
148
149 (((
150 [[image:1654742304325-850.png]]
151
152
153 )))
154
155 (((
156 * In this user case, the LDS03A is installed on the door edge to detect the open/close event and send the status to the LoRaWAN server. The LDS03A will uplink different types of messages to the LoRaWAN server. See [[Uplink payload>>||anchor="H2.3200BUplinkPayload"]] for detail.
157
158 (((
159 Assume the LG308 is already set to connect to the [[TTN V3 network >>url:https://eu1.cloud.thethings.network]]. We need to add the LDS03A device in TTN V3:
160 )))
161 )))
162
163 (((
164 (((
165 (% style="color:blue" %)**Step 1**(%%):  Create a device in TTN V3 with the OTAA keys from LDS03A.
166 )))
167
168 (((
169 Each LDS03A is shipped with a sticker with the default device EUI as below:
170 )))
171 )))
172
173 [[image:image-20220607170145-1.jpeg]]
174
175
176 Users can enter these keys in the LoRaWAN Server portal. Below is the TTN V3 screenshot:
177
178 Add APP EUI in the application.
179
180 [[image:1654742558691-332.png]]
181
182
183 [[image:1654742595660-519.png]]
184
185
186 [[image:1654742610413-498.png]]
187
188
189 [[image:1654742630064-347.png]]
190
191 **Add APP KEY and DEV EUI**
192
193
194 (% style="color:blue" %)**Step 2**(%%): Power on LDS03A
195
196 [[image:1654742860601-778.png]]
197
198
199 (((
200 Put the jumper to power on LDS03A and it will auto-join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and the user can see it in the panel.
201 )))
202
203
204 [[image:image-20220609104802-1.png||height="369" width="1123"]]
205
206
207 == 2.3  ​Uplink Payload ==
208
209 (((
210 (((
211 Uplink payloads have two types:
212 )))
213
214 * (((
215 Open/Close Status: Use FPORT=2
216 )))
217 * (((
218 Other control commands: Use other FPORT fields.
219 )))
220
221 (((
222 The application server should parse the correct value based on FPORT settings.
223 )))
224
225 (((
226
227 )))
228
229 === 2.3.1  Device Status, FPORT~=5 ===
230 )))
231
232 (((
233 Include device configure status. Once LDS03A Joined the network, it will uplink this message to the server. After that, LDS03A will uplink Device Status every 12 hours.
234 )))
235
236 (((
237 Users can also use the downlink command(0x26 01) to ask LDS03A to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
238 )))
239
240 [[image:image-20220609105437-3.png]]
241
242
243 Example parse in TTNv3
244
245 [[image:image-20220609105101-2.png||height="295" width="1208"]]
246
247 * (% style="color:#4f81bd" %)**Sensor Model**(%%): For LDS03A, this value is 0x0A
248
249 * (% style="color:#4f81bd" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
250
251 * (% style="color:#4f81bd" %)**Frequency Band**:
252
253 *0x01: EU868
254
255 *0x02: US915
256
257 *0x03: IN865
258
259 *0x04: AU915
260
261 *0x05: KZ865
262
263 *0x06: RU864
264
265 *0x07: AS923
266
267 *0x08: AS923-1
268
269 *0x09: AS923-2
270
271 *0x0a: AS923-3
272
273 *0x0b: CN470
274
275 *0x0c: EU433
276
277 *0x0d: KR920
278
279 *0x0e: MA869
280
281
282 * (% style="color:#4f81bd" %)**Sub-Band**:
283 ** AU915 and US915:value 0x00 ~~ 0x08
284 ** CN470: value 0x0B ~~ 0x0C
285 ** Other Bands: Always 0x00
286
287 * (% style="color:#4f81bd" %)**Battery Info:**
288
289 Check the battery voltage.
290
291 Ex1: 0x0B45 = 2885mV
292
293 Ex2: 0x0B49 = 2889mV
294
295
296
297 === 2.3.2  Sensor Configuration, FPORT~=4 ===
298
299 LDS03A will only send this command after getting the downlink command (0x26 02) from the server.
300
301 [[image:image-20220609110123-5.png]]
302
303
304 * (% style="color:#4f81bd" %)**TDC: (default: 0x001C20)**
305
306 Uplink interval for the Open/Close Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
307
308
309 * (% style="color:#4f81bd" %)**Disalarm: (default: 0)**
310
311 (% style="color:#4f81bd" %)**If Disalarm = 1**(%%), LDS03A will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many open/close event, and platform only care about the total number of pulse.
312
313 (% style="color:#4f81bd" %)**If Disalarm = 0**(%%), LDS03A will send uplink at every TDC periodically and send data on each open/close event. This is useful for the application user need to monitor the open/close event in real-time.
314
315 Note: When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast.
316
317
318 * (% style="color:#4f81bd" %)**Keep Status & Keep Time**
319
320 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.8AlarmBaseonTimeout"]]
321
322
323 [[image:image-20220609110018-4.png||height="291" width="1159"]]
324
325
326
327 === 2.3.3  Real-Time Open/Close Status, Uplink FPORT~=2 ===
328
329 LDS03A will send this uplink **after** Device Status once join the LoRaWAN network successfully. And LDS03A will:
330
331
332 1. periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.1SetTransmitIntervalTime"]].
333 1. There is an Open/Close event. 
334
335 Uplink Payload totals 11 bytes.
336
337 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:495px" %)
338 |(% colspan="5" style="width:492px" %)**Real-Time Open/Close Status, FPORT=2**
339 |(% style="width:101px" %)**Size (bytes)**|(% style="width:77px" %)**1**|(% style="width:99px" %)**3**|(% style="width:88px" %)**3**|(% style="width:126px" %)**4**
340 |(% style="width:101px" %)**Value**|(% style="width:77px" %)Status & [[Alarm>>||anchor="H3.8AlarmBaseonTimeout"]]|(% style="width:99px" %)Total open door events|(% style="width:88px" %)(((
341 The last door open
342
343 duration (unit: min)
344 )))|(% style="width:126px" %)[[Unix TimeStamp>>||anchor="H2.4.1UnixTimeStamp"]]
345
346 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:509px" %)
347 |(% colspan="4" style="width:506px" %)**Status & Alarm field**
348 |(% style="width:82px" %)**Size (bit)**|(% style="width:71px" %)**6**|(% style="width:221px" %)**1**|(% style="width:130px" %)**1**
349 |(% style="width:82px" %)**Value**|(% style="width:71px" %)Reserve|(% style="width:221px" %)[[Enable/disable Timeout Alarm>>||anchor="H3.8AlarmBaseonTimeout"]]
350 0: No Alarm; 1: Alarm|(% style="width:130px" %)Status
351 0: Close, 1: Open
352
353 [[image:image-20220609110547-6.png||height="337" width="1191"]]
354
355
356
357 === 2.3.4  Historical Door Open/Close Event, FPORT~=3 ===
358
359 LDS03A stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4DatalogFeature"]].
360
361 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
362
363
364 * Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.3Real-TimeOpen/CloseStatus,Uplink FPORT=2"]], to save airtime and battery, LDS03A will send max bytes according to the current DR and Frequency bands.
365
366 For example, in the US915 band, the max payload for different DR is:
367
368 a)      DR0: max is 11 bytes so one entry of data
369
370 b)      DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
371
372 c)      DR2: total payload includes 11 entries of data
373
374 d)       DR3: total payload includes 22 entries of data.
375
376 If LDS03A doesn’t have any data in the polling time. It will uplink 11 bytes of 0
377
378
379 [[image:image-20220609112215-7.png||height="277" width="1250"]]
380
381 (% style="color:#037691" %)**Downlink:**
382
383 0x31 61 8E 57 40 61 8E 81 70 05
384
385
386 (% style="color:#037691" %)**Uplink:**
387
388 00 00 00 00 00 00 00 61 8E 5F 8F 01 00 00 01 00 00 00 61 8E 5F D2 00 00 00 01 00 00 02 61 8E 60 64 01 00 00 02 00 00 02 61 8E 60 75 00 00 00 02 00 00 01 61 8E 60 C6 00 00 00 02 00 00 01 61 8E 7B A7 01 00 00 03 00 00 01 61 8E 7F 38 00 00 00 03 00 00 02 61 8E 7F CE 01 00 00 04 00 00 02 61 8E 81 1B 00 00 00 04 00 00 00 61 8E 81 50
389
390
391 (% style="color:#037691" %)**Parsed Value:**
392
393 [ALARM, DOOR_OPEN_STATUS, DOOR_OPEN_TIMES,LAST_DOOR_OPEN_DURATION, TIME]
394
395
396 [FALSE, CLOSE, 0, 0, 2021-11-12 12:35:27],
397
398 [FALSE, OPEN,  1, 0, 2021-11-12 12:36:34],
399
400 [FALSE, CLOSE, 1, 2, 2021-11-12 12:39:00],
401
402 [FALSE, OPEN,  2, 2, 2021-11-12 12:39:17],
403
404 [FALSE, CLOSE, 2, 1, 2021-11-12 12:40:38],
405
406 [FALSE, CLOSE, 2, 1, 2021-11-12 14:35:19],
407
408 [FALSE, OPEN,  3, 1, 2021-11-12 14:50:32],
409
410 [FALSE, CLOSE, 3, 2, 2021-11-12 14:53:02],
411
412 [FALSE, OPEN,  4, 2, 2021-11-12 14:58:35],
413
414 [FALSE, CLOSE, 4, 0, 2021-11-12 14:59:28],
415
416
417
418 == 2.4  Datalog Feature ==
419
420 When a user wants to retrieve sensor value, he can send a poll command from the IoT platform to ask the sensor to send value in the required time slot.
421
422
423 === 2.4.1  Unix TimeStamp ===
424
425 LDS03A use Unix TimeStamp format based on
426
427 [[image:image-20220609113256-8.png]]
428
429
430 (((
431 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
432 )))
433
434 (((
435 Below is the converter example
436 )))
437
438 [[image:image-20220609113256-9.png||height="467" width="1127"]]
439
440 (((
441 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
442 )))
443
444
445 === 2.4.2  Set Device Time ===
446
447 (((
448 There are two ways to set the device’s time:
449 )))
450
451 (((
452 (% style="color:#037691" %)**1. Through LoRaWAN MAC Command (Default settings)**
453 )))
454
455 (((
456 Users need to set SYNCMOD=1 to enable sync time via the MAC command.
457 )))
458
459 (((
460 Once LDS03A Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to LDS03A. If LDS03A fails to get the time from the server, LDS03A will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>||anchor="H2.3.1DeviceStatus,FPORT=5"]]].
461 )))
462
463 (((
464
465 )))
466
467 (((
468 (% style="color:red" %)Note(%%): (% style="color:#037691" %)LoRaWAN Server needs to support LoRaWAN v1.0.3(MAC v1.0.3) (%%)or higher to support this MAC command feature.
469 )))
470
471 (((
472
473 )))
474
475 (((
476 (% style="color:#037691" %)**2. **(% style="color:#037691; font-weight:bold" %)**Manually Set Time**
477 )))
478
479 (((
480 Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
481 )))
482
483
484 == 2.5 ​Show Data in DataCake IoT Server ==
485
486 (((
487 (((
488 Datacake IoT platform provides a human-friendly interface to show the sensor data, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
489 )))
490 )))
491
492 (((
493 (((
494
495 )))
496 )))
497
498 (((
499 (((
500 (% style="color:blue" %)**Step 1**(%%)**: Link TTNv3 to Datacake.**[[https:~~/~~/docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti>>url:https://docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti]]
501 )))
502 )))
503
504 (((
505 (((
506 (% style="color:blue" %)**Step 2**(%%)**: Configure LDS03A in Datacake.**
507 )))
508 )))
509
510
511 [[image:1654746350207-427.png]]
512
513 [[image:1654746405400-203.png]]
514
515
516 [[image:1654746423227-562.png]]
517
518
519 [[image:1654746463769-500.png]]
520
521
522 [[image:1654746489573-431.png]]
523
524
525 [[image:1654746515095-355.png]]
526
527
528 [[image:1654746504940-593.png]]
529
530
531 [[image:1654746369255-779.png]]
532
533
534 [[image:1654592800389-571.png]]
535
536
537 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
538
539 (% style="color:blue" %)**Step 4**(%%)**: Create LSPH01 product.**
540
541 [[image:1654592819047-535.png]]
542
543
544
545 [[image:1654592833877-762.png]]
546
547
548 [[image:1654592856403-259.png]]
549
550
551 (((
552 (% style="color:blue" %)**Step 5**(%%)**: add payload decode**
553 )))
554
555 (((
556 Download Datacake decoder from: [[https:~~/~~/www.dragino.com/downloads/index.pHp?dir=LoRa_End_Node/LSPH01/Decoder/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LSNPK01/Decoder/]]
557 )))
558
559
560 [[image:1654592878525-845.png]]
561
562 [[image:1654592892967-474.png]]
563
564
565 [[image:1654592905354-123.png]]
566
567
568 [[image:1654746674738-826.png]]
569
570
571 [[image:1654746646379-591.png]]
572
573
574 [[image:1654746549277-209.png]]
575
576
577 [[image:1654746593411-887.png]]
578
579
580
581
582 == 2.6 Installation and Maintain ==
583
584 === 2.6.1 Before measurement ===
585
586 (((
587 (((
588 If the LSPH01 has more than 7 days not use or just clean the pH probe. User should put the probe inside pure water for more than 24 hours for activation. If no put in water, user need to put inside soil for more than 24 hours to ensure the measurement accuracy. 
589 )))
590 )))
591
592
593
594 === 2.6.2 Measurement ===
595
596
597 (((
598 (% style="color:#4f81bd" %)**Measurement the soil surface:**
599 )))
600
601 (((
602 [[image:1654592946732-634.png]]
603 )))
604
605 (((
606 Choose the proper measuring position. Split the surface soil according to the measured deep.
607 )))
608
609 (((
610 Put pure water, or rainwater to make the soil of measurement point to moist mud. Remove rocks or hard things.
611 )))
612
613 (((
614 Slowly insert the probe to the measure point. Don’t use large force which will break the probe. Make sure not shake when inserting.
615 )))
616
617 (((
618 Put soil over the probe after insert. And start to measure.
619 )))
620
621 (((
622
623 )))
624
625 (((
626 (% style="color:#4f81bd" %)**Measurement inside soil:**
627 )))
628
629 (((
630 Dig a hole with diameter > 20CM.
631 )))
632
633 (((
634 Insert the probe inside, method like measure the surface.
635 )))
636
637
638
639 === 2.6.3 Maintain Probe ===
640
641 1. (((
642 pH probe electrode is fragile and no strong. User must avoid strong force or hitting it.
643 )))
644 1. (((
645 After long time use (3~~ 6  months). The probe electrode needs to be clean; user can use high grade sandpaper to polish it or put in 5% hydrochloric acid for several minutes. After the metal probe looks like new, user can use pure water to wash it.
646 )))
647 1. (((
648 Probe reference electrode is also no strong, need to avoid strong force or hitting.
649 )))
650 1. (((
651 User should keep reference electrode wet while not use.
652 )))
653 1. (((
654 Avoid the probes to touch oily matter. Which will cause issue in accuracy.
655 )))
656 1. (((
657 The probe is IP68 can be put in water.
658
659
660
661 )))
662
663 == 2.7 Calibration ==
664
665 (((
666 User can do calibration for the probe. It is limited to use below pH buffer solution to calibrate: 4.00, 6.86, 9.18. When calibration, user need to clean the electrode and put the probe in the pH buffer solution to wait the value stable ( a new clean electrode might need max 24 hours to be stable).
667 )))
668
669 (((
670 After stable, user can use below command to calibrate.
671 )))
672
673 [[image:image-20220607171149-4.png]]
674
675
676 (% style="color:#037691" %)**Calibration Payload**
677
678 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
679 |=(% style="width: 62.5px;" %)(((
680 **Size (bytes)**
681 )))|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**7**|=(% style="width: 89px;" %)**1**
682 |**Value**|(((
683 PH4
684
685 Calibrate value
686 )))|PH6.86 Calibrate value|(((
687 PH9.18
688
689 Calibrate value
690 )))|Reserve|(((
691 [[Message Type>>||anchor="H2.3.6MessageType"]]
692
693 Always 0x03
694 )))
695
696 User can also send 0x14 downlink command to poll the current calibration payload.
697
698 [[image:image-20220607171416-7.jpeg]]
699
700
701 * Reply to the confirmation package: 14 01
702 * Reply to non-confirmed packet: 14 00
703
704 == 2.8 Frequency Plans ==
705
706 (((
707 The LSPH01 uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
708 )))
709
710
711 === 2.8.1 EU863-870 (EU868) ===
712
713 (((
714 (% style="color:blue" %)**Uplink:**
715 )))
716
717 (((
718 868.1 - SF7BW125 to SF12BW125
719 )))
720
721 (((
722 868.3 - SF7BW125 to SF12BW125 and SF7BW250
723 )))
724
725 (((
726 868.5 - SF7BW125 to SF12BW125
727 )))
728
729 (((
730 867.1 - SF7BW125 to SF12BW125
731 )))
732
733 (((
734 867.3 - SF7BW125 to SF12BW125
735 )))
736
737 (((
738 867.5 - SF7BW125 to SF12BW125
739 )))
740
741 (((
742 867.7 - SF7BW125 to SF12BW125
743 )))
744
745 (((
746 867.9 - SF7BW125 to SF12BW125
747 )))
748
749 (((
750 868.8 - FSK
751 )))
752
753 (((
754
755 )))
756
757 (((
758 (% style="color:blue" %)**Downlink:**
759 )))
760
761 (((
762 Uplink channels 1-9 (RX1)
763 )))
764
765 (((
766 869.525 - SF9BW125 (RX2 downlink only)
767 )))
768
769
770
771 === 2.8.2 US902-928(US915) ===
772
773 (((
774 Used in USA, Canada and South America. Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
775 )))
776
777 (((
778 To make sure the end node supports all sub band by default. In the OTAA Join process, the end node will use frequency 1 from sub-band1, then frequency 1 from sub-band2, then frequency 1 from sub-band3, etc to process the OTAA join.
779 )))
780
781 (((
782 After Join success, the end node will switch to the correct sub band by:
783 )))
784
785 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
786 * Use the Join successful sub-band if the server doesn’t include sub-band info in the OTAA Join Accept message ( TTN v2 doesn't include)
787
788 === 2.8.3 CN470-510 (CN470) ===
789
790 (((
791 Used in China, Default use CHE=1
792 )))
793
794 (((
795 (% style="color:blue" %)**Uplink:**
796 )))
797
798 (((
799 486.3 - SF7BW125 to SF12BW125
800 )))
801
802 (((
803 486.5 - SF7BW125 to SF12BW125
804 )))
805
806 (((
807 486.7 - SF7BW125 to SF12BW125
808 )))
809
810 (((
811 486.9 - SF7BW125 to SF12BW125
812 )))
813
814 (((
815 487.1 - SF7BW125 to SF12BW125
816 )))
817
818 (((
819 487.3 - SF7BW125 to SF12BW125
820 )))
821
822 (((
823 487.5 - SF7BW125 to SF12BW125
824 )))
825
826 (((
827 487.7 - SF7BW125 to SF12BW125
828 )))
829
830 (((
831
832 )))
833
834 (((
835 (% style="color:blue" %)**Downlink:**
836 )))
837
838 (((
839 506.7 - SF7BW125 to SF12BW125
840 )))
841
842 (((
843 506.9 - SF7BW125 to SF12BW125
844 )))
845
846 (((
847 507.1 - SF7BW125 to SF12BW125
848 )))
849
850 (((
851 507.3 - SF7BW125 to SF12BW125
852 )))
853
854 (((
855 507.5 - SF7BW125 to SF12BW125
856 )))
857
858 (((
859 507.7 - SF7BW125 to SF12BW125
860 )))
861
862 (((
863 507.9 - SF7BW125 to SF12BW125
864 )))
865
866 (((
867 508.1 - SF7BW125 to SF12BW125
868 )))
869
870 (((
871 505.3 - SF12BW125 (RX2 downlink only)
872 )))
873
874
875
876 === 2.8.4 AU915-928(AU915) ===
877
878 (((
879 Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
880 )))
881
882 (((
883 To make sure the end node supports all sub band by default. In the OTAA Join process, the end node will use frequency 1 from sub-band1, then frequency 1 from sub-band2, then frequency 1 from sub-band3, etc to process the OTAA join.
884 )))
885
886 (((
887
888 )))
889
890 (((
891 After Join success, the end node will switch to the correct sub band by:
892 )))
893
894 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
895 * Use the Join successful sub-band if the server doesn’t include sub-band info in the OTAA Join Accept message ( TTN v2 doesn't include)
896
897 === 2.8.5 AS920-923 & AS923-925 (AS923) ===
898
899 (((
900 (% style="color:blue" %)**Default Uplink channel:**
901 )))
902
903 (((
904 923.2 - SF7BW125 to SF10BW125
905 )))
906
907 (((
908 923.4 - SF7BW125 to SF10BW125
909 )))
910
911 (((
912
913 )))
914
915 (((
916 (% style="color:blue" %)**Additional Uplink Channel**:
917 )))
918
919 (((
920 (OTAA mode, channel added by JoinAccept message)
921 )))
922
923 (((
924
925 )))
926
927 (((
928 (% style="color:blue" %)**AS920~~AS923 for Japan, Malaysia, Singapore**:
929 )))
930
931 (((
932 922.2 - SF7BW125 to SF10BW125
933 )))
934
935 (((
936 922.4 - SF7BW125 to SF10BW125
937 )))
938
939 (((
940 922.6 - SF7BW125 to SF10BW125
941 )))
942
943 (((
944 922.8 - SF7BW125 to SF10BW125
945 )))
946
947 (((
948 923.0 - SF7BW125 to SF10BW125
949 )))
950
951 (((
952 922.0 - SF7BW125 to SF10BW125
953 )))
954
955 (((
956
957 )))
958
959 (((
960 (% style="color:blue" %)**AS923 ~~ AS925 for Brunei, Cambodia, Hong Kong, Indonesia, Laos, Taiwan, Thailand, Vietnam**:
961 )))
962
963 (((
964 923.6 - SF7BW125 to SF10BW125
965 )))
966
967 (((
968 923.8 - SF7BW125 to SF10BW125
969 )))
970
971 (((
972 924.0 - SF7BW125 to SF10BW125
973 )))
974
975 (((
976 924.2 - SF7BW125 to SF10BW125
977 )))
978
979 (((
980 924.4 - SF7BW125 to SF10BW125
981 )))
982
983 (((
984 924.6 - SF7BW125 to SF10BW125
985 )))
986
987 (((
988
989 )))
990
991 (((
992 (% style="color:blue" %)**Downlink:**
993 )))
994
995 (((
996 Uplink channels 1-8 (RX1)
997 )))
998
999 (((
1000 923.2 - SF10BW125 (RX2)
1001 )))
1002
1003
1004
1005 === 2.8.6 KR920-923 (KR920) ===
1006
1007 (((
1008 (% style="color:blue" %)**Default channel:**
1009 )))
1010
1011 (((
1012 922.1 - SF7BW125 to SF12BW125
1013 )))
1014
1015 (((
1016 922.3 - SF7BW125 to SF12BW125
1017 )))
1018
1019 (((
1020 922.5 - SF7BW125 to SF12BW125
1021 )))
1022
1023 (((
1024
1025 )))
1026
1027 (((
1028 (% style="color:blue" %)**Uplink: (OTAA mode, channel added by JoinAccept message)**
1029 )))
1030
1031 (((
1032 922.1 - SF7BW125 to SF12BW125
1033 )))
1034
1035 (((
1036 922.3 - SF7BW125 to SF12BW125
1037 )))
1038
1039 (((
1040 922.5 - SF7BW125 to SF12BW125
1041 )))
1042
1043 (((
1044 922.7 - SF7BW125 to SF12BW125
1045 )))
1046
1047 (((
1048 922.9 - SF7BW125 to SF12BW125
1049 )))
1050
1051 (((
1052 923.1 - SF7BW125 to SF12BW125
1053 )))
1054
1055 (((
1056 923.3 - SF7BW125 to SF12BW125
1057 )))
1058
1059 (((
1060
1061 )))
1062
1063 (((
1064 (% style="color:blue" %)**Downlink:**
1065 )))
1066
1067 (((
1068 Uplink channels 1-7(RX1)
1069 )))
1070
1071 (((
1072 921.9 - SF12BW125 (RX2 downlink only; SF12BW125 might be changed to SF9BW125)
1073 )))
1074
1075
1076
1077 === 2.8.7 IN865-867 (IN865) ===
1078
1079 (((
1080 (% style="color:blue" %)**Uplink:**
1081 )))
1082
1083 (((
1084 865.0625 - SF7BW125 to SF12BW125
1085 )))
1086
1087 (((
1088 865.4025 - SF7BW125 to SF12BW125
1089 )))
1090
1091 (((
1092 865.9850 - SF7BW125 to SF12BW125
1093 )))
1094
1095 (((
1096
1097 )))
1098
1099 (((
1100 (% style="color:blue" %)**Downlink:**
1101 )))
1102
1103 (((
1104 Uplink channels 1-3 (RX1)
1105 )))
1106
1107 (((
1108 866.550 - SF10BW125 (RX2)
1109 )))
1110
1111
1112
1113 == 2.9 LED Indicator ==
1114
1115 The LSPH01 has an internal LED which is to show the status of different state.
1116
1117 * The sensor is detected when the device is turned on, and it will flash 4 times quickly when it is detected.
1118 * Blink once when device transmit a packet.
1119
1120 == 2.10 ​Firmware Change Log ==
1121
1122
1123 **Firmware download link:**
1124
1125 [[http:~~/~~/www.dragino.com/downloads/index.pHp?dir=LoRa_End_Node/LSPH01/Firmware/>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LSE01/Firmware/]]
1126
1127
1128 **Firmware Upgrade Method: **[[Firmware Upgrade Instruction>>path:/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/]]
1129
1130
1131
1132 = 3. Configure LSPH01 via AT Command or LoRaWAN Downlink =
1133
1134 (((
1135 Use can configure LSPH01 via AT Command or LoRaWAN Downlink.
1136 )))
1137
1138 * (((
1139 AT Command Connection: See [[FAQ>>||anchor="H6.FAQ"]].
1140 )))
1141 * (((
1142 LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>path:/xwiki/bin/view/Main/]]
1143 )))
1144
1145 (((
1146 There are two kinds of commands to configure LSPH01, they are:
1147 )))
1148
1149 * (((
1150 (% style="color:#4f81bd" %)** General Commands**.
1151 )))
1152
1153 (((
1154 These commands are to configure:
1155 )))
1156
1157 * (((
1158 General system settings like: uplink interval.
1159 )))
1160 * (((
1161 LoRaWAN protocol & radio related command.
1162 )))
1163
1164 (((
1165 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:[[End Device AT Commands and Downlink Command>>path:/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
1166 )))
1167
1168 (((
1169
1170 )))
1171
1172 * (((
1173 (% style="color:#4f81bd" %)** Commands special design for LSPH01**
1174 )))
1175
1176 (((
1177 These commands only valid for LSPH01, as below:
1178 )))
1179
1180
1181
1182 == 3.1 Set Transmit Interval Time ==
1183
1184 Feature: Change LoRaWAN End Node Transmit Interval.
1185
1186 (% style="color:#037691" %)**AT Command: AT+TDC**
1187
1188 [[image:image-20220607171554-8.png]]
1189
1190
1191
1192 (((
1193 (% style="color:#037691" %)**Downlink Command: 0x01**
1194 )))
1195
1196 (((
1197 Format: Command Code (0x01) followed by 3 bytes time value.
1198 )))
1199
1200 (((
1201 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
1202 )))
1203
1204 * (((
1205 Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
1206 )))
1207 * (((
1208 Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
1209
1210
1211
1212 )))
1213
1214 == 3.2 Set Interrupt Mode ==
1215
1216 Feature, Set Interrupt mode for GPIO_EXIT.
1217
1218 (% style="color:#037691" %)**AT Command: AT+INTMOD**
1219
1220 [[image:image-20220607171716-9.png]]
1221
1222
1223 (((
1224 (% style="color:#037691" %)**Downlink Command: 0x06**
1225 )))
1226
1227 (((
1228 Format: Command Code (0x06) followed by 3 bytes.
1229 )))
1230
1231 (((
1232 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1233 )))
1234
1235 * (((
1236 Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode
1237 )))
1238 * (((
1239 Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger
1240 )))
1241
1242 (((
1243
1244 )))
1245
1246
1247
1248 == 3.3 Calibrate Sensor ==
1249
1250 Detail See [[Calibration Guide>>||anchor="H2.7Calibration"]] for the user of 0x13 and 0x14 downlink commands
1251
1252
1253
1254 == 3.4 Get Firmware Version Info ==
1255
1256 Feature: use downlink to get firmware version.
1257
1258 (% style="color:#037691" %)**Downlink Command: 0x26**
1259
1260 [[image:image-20220607171917-10.png]]
1261
1262 * Reply to the confirmation package: 26 01
1263 * Reply to non-confirmed packet: 26 00
1264
1265 Device will send an uplink after got this downlink command. With below payload:
1266
1267 Configures info payload:
1268
1269 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
1270 |=(((
1271 **Size(bytes)**
1272 )))|=**1**|=**1**|=**1**|=**1**|=**1**|=**5**|=**1**
1273 |**Value**|Software Type|(((
1274 Frequency
1275
1276 Band
1277 )))|Sub-band|(((
1278 Firmware
1279
1280 Version
1281 )))|Sensor Type|Reserve|(((
1282 [[Message Type>>||anchor="H2.3.6MessageType"]]
1283 Always 0x02
1284 )))
1285
1286 **Software Type**: Always 0x03 for LSPH01
1287
1288
1289 **Frequency Band**:
1290
1291 *0x01: EU868
1292
1293 *0x02: US915
1294
1295 *0x03: IN865
1296
1297 *0x04: AU915
1298
1299 *0x05: KZ865
1300
1301 *0x06: RU864
1302
1303 *0x07: AS923
1304
1305 *0x08: AS923-1
1306
1307 *0x09: AS923-2
1308
1309 *0xa0: AS923-3
1310
1311
1312 **Sub-Band**: value 0x00 ~~ 0x08
1313
1314
1315 **Firmware Version**: 0x0100, Means: v1.0.0 version
1316
1317
1318 **Sensor Type**:
1319
1320 0x01: LSE01
1321
1322 0x02: LDDS75
1323
1324 0x03: LDDS20
1325
1326 0x04: LLMS01
1327
1328 0x05: LSPH01
1329
1330 0x06: LSNPK01
1331
1332 0x07: LDDS12
1333
1334
1335
1336 = 4. Battery & How to replace =
1337
1338 == 4.1 Battery Type ==
1339
1340 (((
1341 LSPH01 is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter.
1342 )))
1343
1344 (((
1345 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1346 )))
1347
1348 [[image:1654593587246-335.png]]
1349
1350
1351 Minimum Working Voltage for the LSPH01:
1352
1353 LSPH01:  2.45v ~~ 3.6v
1354
1355
1356
1357 == 4.2 Replace Battery ==
1358
1359 (((
1360 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1361 )))
1362
1363 (((
1364 And make sure the positive and negative pins match.
1365 )))
1366
1367
1368
1369 == 4.3 Power Consumption Analyze ==
1370
1371 (((
1372 Dragino Battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval.
1373 )))
1374
1375 (((
1376 Instruction to use as below:
1377 )))
1378
1379
1380 **Step 1**: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1381
1382 [[https:~~/~~/www.dragino.com/downloads/index.pHp?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]]
1383
1384
1385 **Step 2**: Open it and choose
1386
1387 * Product Model
1388 * Uplink Interval
1389 * Working Mode
1390
1391 And the Life expectation in difference case will be shown on the right.
1392
1393 [[image:1654593605679-189.png]]
1394
1395
1396 The battery related documents as below:
1397
1398 * (((
1399 [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]],
1400 )))
1401 * (((
1402 [[Lithium-Thionyl Chloride Battery  datasheet>>url:https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1403 )))
1404 * (((
1405 [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC_1520_datasheet.jpg]], [[Tech Spec>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC1520%20Technical%20Specification20171123.pdf]]
1406 )))
1407
1408 [[image:image-20220607172042-11.png]]
1409
1410
1411
1412 === 4.3.1 ​Battery Note ===
1413
1414 (((
1415 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased.
1416 )))
1417
1418
1419
1420 === ​4.3.2 Replace the battery ===
1421
1422 (((
1423 You can change the battery in the LSPH01.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won’t be voltage drop between battery and main board.
1424 )))
1425
1426 (((
1427 The default battery pack of LSPH01 includes a ER26500 plus super capacitor. If user can’t find this pack locally, they can find ER26500 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes)
1428 )))
1429
1430
1431
1432 = 5. Use AT Command =
1433
1434 == 5.1 Access AT Commands ==
1435
1436 LSPH01 supports AT Command set in the stock firmware. You can use a USB to TTL adapter to connect to LSPH01 for using AT command, as below.
1437
1438 [[image:1654593668970-604.png]]
1439
1440 **Connection:**
1441
1442 (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND**
1443
1444 (% style="background-color:yellow" %)** USB TTL TXD  <~-~-~-~-> UART_RXD**
1445
1446 (% style="background-color:yellow" %)** USB TTL RXD  <~-~-~-~-> UART_TXD**
1447
1448
1449 (((
1450 In the PC, you need to set the serial baud rate to (% style="color:green" %)**9600**(%%) to access the serial console for LSPH01. LSPH01 will output system info once power on as below:
1451 )))
1452
1453
1454 [[image:1654593712276-618.png]]
1455
1456 Valid AT Command please check [[Configure Device>>||anchor="H3.ConfigureLSPH01viaATCommandorLoRaWANDownlink"]].
1457
1458
1459 = 6. FAQ =
1460
1461 == 6.1 How to change the LoRa Frequency Bands/Region ==
1462
1463 You can follow the instructions for [[how to upgrade image>>||anchor="H2.10200BFirmwareChangeLog"]].
1464 When downloading the images, choose the required image file for download. ​
1465
1466
1467 = 7. Trouble Shooting =
1468
1469 == 7.1 AT Commands input doesn’t work ==
1470
1471 In the case if user can see the console output but can’t type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn’t send (% style="color:green" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
1472
1473
1474
1475 = 8. Order Info =
1476
1477 Part Number: (% style="color:blue" %)**LSPH01-XX**
1478
1479
1480 (% style="color:blue" %)**XX**(%%): The default frequency band
1481
1482 * (% style="color:red" %)**AS923**(%%):  LoRaWAN AS923 band
1483 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1484 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1485 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1486 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1487 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1488 * (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
1489 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1490
1491 = 9. ​Packing Info =
1492
1493
1494 **Package Includes**:
1495
1496 * LSPH01 LoRaWAN Soil Ph Sensor x 1
1497
1498 **Dimension and weight**:
1499
1500 * Device Size: cm
1501 * Device Weight: g
1502 * Package Size / pcs : cm
1503 * Weight / pcs : g
1504
1505 = 10. ​Support =
1506
1507 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
1508 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]].
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0