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:1654746369255-779.png]]
526
527
528 [[image:1654592800389-571.png]]
529
530
531 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
532
533 (% style="color:blue" %)**Step 4**(%%)**: Create LSPH01 product.**
534
535 [[image:1654592819047-535.png]]
536
537
538
539 [[image:1654592833877-762.png]]
540
541
542 [[image:1654592856403-259.png]]
543
544
545 (((
546 (% style="color:blue" %)**Step 5**(%%)**: add payload decode**
547 )))
548
549 (((
550 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/]]
551 )))
552
553
554 [[image:1654592878525-845.png]]
555
556 [[image:1654592892967-474.png]]
557
558
559 [[image:1654592905354-123.png]]
560
561
562 After added, the sensor data arrive TTN, it will also arrive and show in Mydevices.
563
564
565 [[image:1654592917530-261.png]]
566
567
568
569 == 2.6 Installation and Maintain ==
570
571 === 2.6.1 Before measurement ===
572
573 (((
574 (((
575 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. 
576 )))
577 )))
578
579
580
581 === 2.6.2 Measurement ===
582
583
584 (((
585 (% style="color:#4f81bd" %)**Measurement the soil surface:**
586 )))
587
588 (((
589 [[image:1654592946732-634.png]]
590 )))
591
592 (((
593 Choose the proper measuring position. Split the surface soil according to the measured deep.
594 )))
595
596 (((
597 Put pure water, or rainwater to make the soil of measurement point to moist mud. Remove rocks or hard things.
598 )))
599
600 (((
601 Slowly insert the probe to the measure point. Don’t use large force which will break the probe. Make sure not shake when inserting.
602 )))
603
604 (((
605 Put soil over the probe after insert. And start to measure.
606 )))
607
608 (((
609
610 )))
611
612 (((
613 (% style="color:#4f81bd" %)**Measurement inside soil:**
614 )))
615
616 (((
617 Dig a hole with diameter > 20CM.
618 )))
619
620 (((
621 Insert the probe inside, method like measure the surface.
622 )))
623
624
625
626 === 2.6.3 Maintain Probe ===
627
628 1. (((
629 pH probe electrode is fragile and no strong. User must avoid strong force or hitting it.
630 )))
631 1. (((
632 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.
633 )))
634 1. (((
635 Probe reference electrode is also no strong, need to avoid strong force or hitting.
636 )))
637 1. (((
638 User should keep reference electrode wet while not use.
639 )))
640 1. (((
641 Avoid the probes to touch oily matter. Which will cause issue in accuracy.
642 )))
643 1. (((
644 The probe is IP68 can be put in water.
645
646
647
648 )))
649
650 == 2.7 Calibration ==
651
652 (((
653 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).
654 )))
655
656 (((
657 After stable, user can use below command to calibrate.
658 )))
659
660 [[image:image-20220607171149-4.png]]
661
662
663 (% style="color:#037691" %)**Calibration Payload**
664
665 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
666 |=(% style="width: 62.5px;" %)(((
667 **Size (bytes)**
668 )))|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**7**|=(% style="width: 89px;" %)**1**
669 |**Value**|(((
670 PH4
671
672 Calibrate value
673 )))|PH6.86 Calibrate value|(((
674 PH9.18
675
676 Calibrate value
677 )))|Reserve|(((
678 [[Message Type>>||anchor="H2.3.6MessageType"]]
679
680 Always 0x03
681 )))
682
683 User can also send 0x14 downlink command to poll the current calibration payload.
684
685 [[image:image-20220607171416-7.jpeg]]
686
687
688 * Reply to the confirmation package: 14 01
689 * Reply to non-confirmed packet: 14 00
690
691 == 2.8 Frequency Plans ==
692
693 (((
694 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.
695 )))
696
697
698 === 2.8.1 EU863-870 (EU868) ===
699
700 (((
701 (% style="color:blue" %)**Uplink:**
702 )))
703
704 (((
705 868.1 - SF7BW125 to SF12BW125
706 )))
707
708 (((
709 868.3 - SF7BW125 to SF12BW125 and SF7BW250
710 )))
711
712 (((
713 868.5 - SF7BW125 to SF12BW125
714 )))
715
716 (((
717 867.1 - SF7BW125 to SF12BW125
718 )))
719
720 (((
721 867.3 - SF7BW125 to SF12BW125
722 )))
723
724 (((
725 867.5 - SF7BW125 to SF12BW125
726 )))
727
728 (((
729 867.7 - SF7BW125 to SF12BW125
730 )))
731
732 (((
733 867.9 - SF7BW125 to SF12BW125
734 )))
735
736 (((
737 868.8 - FSK
738 )))
739
740 (((
741
742 )))
743
744 (((
745 (% style="color:blue" %)**Downlink:**
746 )))
747
748 (((
749 Uplink channels 1-9 (RX1)
750 )))
751
752 (((
753 869.525 - SF9BW125 (RX2 downlink only)
754 )))
755
756
757
758 === 2.8.2 US902-928(US915) ===
759
760 (((
761 Used in USA, Canada and South America. Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
762 )))
763
764 (((
765 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.
766 )))
767
768 (((
769 After Join success, the end node will switch to the correct sub band by:
770 )))
771
772 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
773 * 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)
774
775 === 2.8.3 CN470-510 (CN470) ===
776
777 (((
778 Used in China, Default use CHE=1
779 )))
780
781 (((
782 (% style="color:blue" %)**Uplink:**
783 )))
784
785 (((
786 486.3 - SF7BW125 to SF12BW125
787 )))
788
789 (((
790 486.5 - SF7BW125 to SF12BW125
791 )))
792
793 (((
794 486.7 - SF7BW125 to SF12BW125
795 )))
796
797 (((
798 486.9 - SF7BW125 to SF12BW125
799 )))
800
801 (((
802 487.1 - SF7BW125 to SF12BW125
803 )))
804
805 (((
806 487.3 - SF7BW125 to SF12BW125
807 )))
808
809 (((
810 487.5 - SF7BW125 to SF12BW125
811 )))
812
813 (((
814 487.7 - SF7BW125 to SF12BW125
815 )))
816
817 (((
818
819 )))
820
821 (((
822 (% style="color:blue" %)**Downlink:**
823 )))
824
825 (((
826 506.7 - SF7BW125 to SF12BW125
827 )))
828
829 (((
830 506.9 - SF7BW125 to SF12BW125
831 )))
832
833 (((
834 507.1 - SF7BW125 to SF12BW125
835 )))
836
837 (((
838 507.3 - SF7BW125 to SF12BW125
839 )))
840
841 (((
842 507.5 - SF7BW125 to SF12BW125
843 )))
844
845 (((
846 507.7 - SF7BW125 to SF12BW125
847 )))
848
849 (((
850 507.9 - SF7BW125 to SF12BW125
851 )))
852
853 (((
854 508.1 - SF7BW125 to SF12BW125
855 )))
856
857 (((
858 505.3 - SF12BW125 (RX2 downlink only)
859 )))
860
861
862
863 === 2.8.4 AU915-928(AU915) ===
864
865 (((
866 Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
867 )))
868
869 (((
870 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.
871 )))
872
873 (((
874
875 )))
876
877 (((
878 After Join success, the end node will switch to the correct sub band by:
879 )))
880
881 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
882 * 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)
883
884 === 2.8.5 AS920-923 & AS923-925 (AS923) ===
885
886 (((
887 (% style="color:blue" %)**Default Uplink channel:**
888 )))
889
890 (((
891 923.2 - SF7BW125 to SF10BW125
892 )))
893
894 (((
895 923.4 - SF7BW125 to SF10BW125
896 )))
897
898 (((
899
900 )))
901
902 (((
903 (% style="color:blue" %)**Additional Uplink Channel**:
904 )))
905
906 (((
907 (OTAA mode, channel added by JoinAccept message)
908 )))
909
910 (((
911
912 )))
913
914 (((
915 (% style="color:blue" %)**AS920~~AS923 for Japan, Malaysia, Singapore**:
916 )))
917
918 (((
919 922.2 - SF7BW125 to SF10BW125
920 )))
921
922 (((
923 922.4 - SF7BW125 to SF10BW125
924 )))
925
926 (((
927 922.6 - SF7BW125 to SF10BW125
928 )))
929
930 (((
931 922.8 - SF7BW125 to SF10BW125
932 )))
933
934 (((
935 923.0 - SF7BW125 to SF10BW125
936 )))
937
938 (((
939 922.0 - SF7BW125 to SF10BW125
940 )))
941
942 (((
943
944 )))
945
946 (((
947 (% style="color:blue" %)**AS923 ~~ AS925 for Brunei, Cambodia, Hong Kong, Indonesia, Laos, Taiwan, Thailand, Vietnam**:
948 )))
949
950 (((
951 923.6 - SF7BW125 to SF10BW125
952 )))
953
954 (((
955 923.8 - SF7BW125 to SF10BW125
956 )))
957
958 (((
959 924.0 - SF7BW125 to SF10BW125
960 )))
961
962 (((
963 924.2 - SF7BW125 to SF10BW125
964 )))
965
966 (((
967 924.4 - SF7BW125 to SF10BW125
968 )))
969
970 (((
971 924.6 - SF7BW125 to SF10BW125
972 )))
973
974 (((
975
976 )))
977
978 (((
979 (% style="color:blue" %)**Downlink:**
980 )))
981
982 (((
983 Uplink channels 1-8 (RX1)
984 )))
985
986 (((
987 923.2 - SF10BW125 (RX2)
988 )))
989
990
991
992 === 2.8.6 KR920-923 (KR920) ===
993
994 (((
995 (% style="color:blue" %)**Default channel:**
996 )))
997
998 (((
999 922.1 - SF7BW125 to SF12BW125
1000 )))
1001
1002 (((
1003 922.3 - SF7BW125 to SF12BW125
1004 )))
1005
1006 (((
1007 922.5 - SF7BW125 to SF12BW125
1008 )))
1009
1010 (((
1011
1012 )))
1013
1014 (((
1015 (% style="color:blue" %)**Uplink: (OTAA mode, channel added by JoinAccept message)**
1016 )))
1017
1018 (((
1019 922.1 - SF7BW125 to SF12BW125
1020 )))
1021
1022 (((
1023 922.3 - SF7BW125 to SF12BW125
1024 )))
1025
1026 (((
1027 922.5 - SF7BW125 to SF12BW125
1028 )))
1029
1030 (((
1031 922.7 - SF7BW125 to SF12BW125
1032 )))
1033
1034 (((
1035 922.9 - SF7BW125 to SF12BW125
1036 )))
1037
1038 (((
1039 923.1 - SF7BW125 to SF12BW125
1040 )))
1041
1042 (((
1043 923.3 - SF7BW125 to SF12BW125
1044 )))
1045
1046 (((
1047
1048 )))
1049
1050 (((
1051 (% style="color:blue" %)**Downlink:**
1052 )))
1053
1054 (((
1055 Uplink channels 1-7(RX1)
1056 )))
1057
1058 (((
1059 921.9 - SF12BW125 (RX2 downlink only; SF12BW125 might be changed to SF9BW125)
1060 )))
1061
1062
1063
1064 === 2.8.7 IN865-867 (IN865) ===
1065
1066 (((
1067 (% style="color:blue" %)**Uplink:**
1068 )))
1069
1070 (((
1071 865.0625 - SF7BW125 to SF12BW125
1072 )))
1073
1074 (((
1075 865.4025 - SF7BW125 to SF12BW125
1076 )))
1077
1078 (((
1079 865.9850 - SF7BW125 to SF12BW125
1080 )))
1081
1082 (((
1083
1084 )))
1085
1086 (((
1087 (% style="color:blue" %)**Downlink:**
1088 )))
1089
1090 (((
1091 Uplink channels 1-3 (RX1)
1092 )))
1093
1094 (((
1095 866.550 - SF10BW125 (RX2)
1096 )))
1097
1098
1099
1100 == 2.9 LED Indicator ==
1101
1102 The LSPH01 has an internal LED which is to show the status of different state.
1103
1104 * The sensor is detected when the device is turned on, and it will flash 4 times quickly when it is detected.
1105 * Blink once when device transmit a packet.
1106
1107 == 2.10 ​Firmware Change Log ==
1108
1109
1110 **Firmware download link:**
1111
1112 [[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/]]
1113
1114
1115 **Firmware Upgrade Method: **[[Firmware Upgrade Instruction>>path:/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/]]
1116
1117
1118
1119 = 3. Configure LSPH01 via AT Command or LoRaWAN Downlink =
1120
1121 (((
1122 Use can configure LSPH01 via AT Command or LoRaWAN Downlink.
1123 )))
1124
1125 * (((
1126 AT Command Connection: See [[FAQ>>||anchor="H6.FAQ"]].
1127 )))
1128 * (((
1129 LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>path:/xwiki/bin/view/Main/]]
1130 )))
1131
1132 (((
1133 There are two kinds of commands to configure LSPH01, they are:
1134 )))
1135
1136 * (((
1137 (% style="color:#4f81bd" %)** General Commands**.
1138 )))
1139
1140 (((
1141 These commands are to configure:
1142 )))
1143
1144 * (((
1145 General system settings like: uplink interval.
1146 )))
1147 * (((
1148 LoRaWAN protocol & radio related command.
1149 )))
1150
1151 (((
1152 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/]]
1153 )))
1154
1155 (((
1156
1157 )))
1158
1159 * (((
1160 (% style="color:#4f81bd" %)** Commands special design for LSPH01**
1161 )))
1162
1163 (((
1164 These commands only valid for LSPH01, as below:
1165 )))
1166
1167
1168
1169 == 3.1 Set Transmit Interval Time ==
1170
1171 Feature: Change LoRaWAN End Node Transmit Interval.
1172
1173 (% style="color:#037691" %)**AT Command: AT+TDC**
1174
1175 [[image:image-20220607171554-8.png]]
1176
1177
1178
1179 (((
1180 (% style="color:#037691" %)**Downlink Command: 0x01**
1181 )))
1182
1183 (((
1184 Format: Command Code (0x01) followed by 3 bytes time value.
1185 )))
1186
1187 (((
1188 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
1189 )))
1190
1191 * (((
1192 Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
1193 )))
1194 * (((
1195 Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
1196
1197
1198
1199 )))
1200
1201 == 3.2 Set Interrupt Mode ==
1202
1203 Feature, Set Interrupt mode for GPIO_EXIT.
1204
1205 (% style="color:#037691" %)**AT Command: AT+INTMOD**
1206
1207 [[image:image-20220607171716-9.png]]
1208
1209
1210 (((
1211 (% style="color:#037691" %)**Downlink Command: 0x06**
1212 )))
1213
1214 (((
1215 Format: Command Code (0x06) followed by 3 bytes.
1216 )))
1217
1218 (((
1219 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1220 )))
1221
1222 * (((
1223 Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode
1224 )))
1225 * (((
1226 Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger
1227 )))
1228
1229 (((
1230
1231 )))
1232
1233
1234
1235 == 3.3 Calibrate Sensor ==
1236
1237 Detail See [[Calibration Guide>>||anchor="H2.7Calibration"]] for the user of 0x13 and 0x14 downlink commands
1238
1239
1240
1241 == 3.4 Get Firmware Version Info ==
1242
1243 Feature: use downlink to get firmware version.
1244
1245 (% style="color:#037691" %)**Downlink Command: 0x26**
1246
1247 [[image:image-20220607171917-10.png]]
1248
1249 * Reply to the confirmation package: 26 01
1250 * Reply to non-confirmed packet: 26 00
1251
1252 Device will send an uplink after got this downlink command. With below payload:
1253
1254 Configures info payload:
1255
1256 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
1257 |=(((
1258 **Size(bytes)**
1259 )))|=**1**|=**1**|=**1**|=**1**|=**1**|=**5**|=**1**
1260 |**Value**|Software Type|(((
1261 Frequency
1262
1263 Band
1264 )))|Sub-band|(((
1265 Firmware
1266
1267 Version
1268 )))|Sensor Type|Reserve|(((
1269 [[Message Type>>||anchor="H2.3.6MessageType"]]
1270 Always 0x02
1271 )))
1272
1273 **Software Type**: Always 0x03 for LSPH01
1274
1275
1276 **Frequency Band**:
1277
1278 *0x01: EU868
1279
1280 *0x02: US915
1281
1282 *0x03: IN865
1283
1284 *0x04: AU915
1285
1286 *0x05: KZ865
1287
1288 *0x06: RU864
1289
1290 *0x07: AS923
1291
1292 *0x08: AS923-1
1293
1294 *0x09: AS923-2
1295
1296 *0xa0: AS923-3
1297
1298
1299 **Sub-Band**: value 0x00 ~~ 0x08
1300
1301
1302 **Firmware Version**: 0x0100, Means: v1.0.0 version
1303
1304
1305 **Sensor Type**:
1306
1307 0x01: LSE01
1308
1309 0x02: LDDS75
1310
1311 0x03: LDDS20
1312
1313 0x04: LLMS01
1314
1315 0x05: LSPH01
1316
1317 0x06: LSNPK01
1318
1319 0x07: LDDS12
1320
1321
1322
1323 = 4. Battery & How to replace =
1324
1325 == 4.1 Battery Type ==
1326
1327 (((
1328 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.
1329 )))
1330
1331 (((
1332 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1333 )))
1334
1335 [[image:1654593587246-335.png]]
1336
1337
1338 Minimum Working Voltage for the LSPH01:
1339
1340 LSPH01:  2.45v ~~ 3.6v
1341
1342
1343
1344 == 4.2 Replace Battery ==
1345
1346 (((
1347 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1348 )))
1349
1350 (((
1351 And make sure the positive and negative pins match.
1352 )))
1353
1354
1355
1356 == 4.3 Power Consumption Analyze ==
1357
1358 (((
1359 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.
1360 )))
1361
1362 (((
1363 Instruction to use as below:
1364 )))
1365
1366
1367 **Step 1**: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1368
1369 [[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/]]
1370
1371
1372 **Step 2**: Open it and choose
1373
1374 * Product Model
1375 * Uplink Interval
1376 * Working Mode
1377
1378 And the Life expectation in difference case will be shown on the right.
1379
1380 [[image:1654593605679-189.png]]
1381
1382
1383 The battery related documents as below:
1384
1385 * (((
1386 [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]],
1387 )))
1388 * (((
1389 [[Lithium-Thionyl Chloride Battery  datasheet>>url:https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1390 )))
1391 * (((
1392 [[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]]
1393 )))
1394
1395 [[image:image-20220607172042-11.png]]
1396
1397
1398
1399 === 4.3.1 ​Battery Note ===
1400
1401 (((
1402 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.
1403 )))
1404
1405
1406
1407 === ​4.3.2 Replace the battery ===
1408
1409 (((
1410 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.
1411 )))
1412
1413 (((
1414 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)
1415 )))
1416
1417
1418
1419 = 5. Use AT Command =
1420
1421 == 5.1 Access AT Commands ==
1422
1423 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.
1424
1425 [[image:1654593668970-604.png]]
1426
1427 **Connection:**
1428
1429 (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND**
1430
1431 (% style="background-color:yellow" %)** USB TTL TXD  <~-~-~-~-> UART_RXD**
1432
1433 (% style="background-color:yellow" %)** USB TTL RXD  <~-~-~-~-> UART_TXD**
1434
1435
1436 (((
1437 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:
1438 )))
1439
1440
1441 [[image:1654593712276-618.png]]
1442
1443 Valid AT Command please check [[Configure Device>>||anchor="H3.ConfigureLSPH01viaATCommandorLoRaWANDownlink"]].
1444
1445
1446 = 6. FAQ =
1447
1448 == 6.1 How to change the LoRa Frequency Bands/Region ==
1449
1450 You can follow the instructions for [[how to upgrade image>>||anchor="H2.10200BFirmwareChangeLog"]].
1451 When downloading the images, choose the required image file for download. ​
1452
1453
1454 = 7. Trouble Shooting =
1455
1456 == 7.1 AT Commands input doesn’t work ==
1457
1458 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.
1459
1460
1461
1462 = 8. Order Info =
1463
1464 Part Number: (% style="color:blue" %)**LSPH01-XX**
1465
1466
1467 (% style="color:blue" %)**XX**(%%): The default frequency band
1468
1469 * (% style="color:red" %)**AS923**(%%):  LoRaWAN AS923 band
1470 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1471 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1472 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1473 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1474 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1475 * (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
1476 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1477
1478 = 9. ​Packing Info =
1479
1480
1481 **Package Includes**:
1482
1483 * LSPH01 LoRaWAN Soil Ph Sensor x 1
1484
1485 **Dimension and weight**:
1486
1487 * Device Size: cm
1488 * Device Weight: g
1489 * Package Size / pcs : cm
1490 * Weight / pcs : g
1491
1492 = 10. ​Support =
1493
1494 * 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.
1495 * 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