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