Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20220610095606-1.png]]
3
4
5 **Contents:**
6
7
8
9
10
11
12
13 = 1. Introduction =
14
15 == 1.1 ​What is LoRaWAN Soil pH Sensor ==
16
17 (((
18 The Dragino LSPH01 is a (% style="color:#4f81bd" %)**LoRaWAN Soil pH Sensor**(%%) for IoT of Agriculture. It is designed to measure the soil PH and soil temperature, so to send to the platform to analyze the soil acid or alkali level. The probe is IP68 waterproof.
19 )))
20
21 (((
22 LSPH01 probe is made by Solid AgCl reference electrode and Pure metal pH sensitive electrode. It can detect soil's** (% style="color:#4f81bd" %)pH (%%)**with high accuracy and stable value. The LSPH01 probe can be buried into soil for long time use.
23 )))
24
25 (((
26 The LoRa wireless technology used in LSPH01 allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.
27 )))
28
29 (((
30 LSPH01 is powered by (% style="color:#4f81bd" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
31 )))
32
33 (((
34 Each LSPH01 is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
35 )))
36
37
38 [[image:1654592435432-887.png]]
39
40
41
42
43 == ​1.2 Features ==
44
45 * LoRaWAN 1.0.3 Class A
46 * Ultra-low power consumption
47 * Monitor soil pH with temperature compensation.
48 * Monitor soil temperature
49 * Monitor Battery Level
50 * Support pH calibration by end user
51 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
52 * AT Commands to change parameters
53 * Uplink on periodically
54 * Downlink to change configure
55 * IP66 Waterproof Enclosure
56 * IP68 rate for the Sensor Probe
57 * 8500mAh Battery for long term use
58
59
60 == 1.3 Probe Specification ==
61
62
63 (% style="color:#4f81bd" %)**Soil pH:**
64
65 * Range: 3 ~~ 10 pH
66 * Resolution: 0.01 pH
67 * Accuracy: ±2% under (0~~50 ℃, Accuracy will poor under 0 due to frozen)
68 * Temperature Compensation Range: 0 ~~ 50℃
69 * IP68 Protection
70 * Length: 3.5 meters
71
72 (% style="color:#4f81bd" %)**Soil Temperature:**
73
74 * Range -40℃~85℃
75 * Resolution: 0.1℃
76 * Accuracy: <±0.5℃(-10℃~40℃),<±0.8℃ (others)
77 * IP68 Protection
78 * Length: 3.5 meters
79
80
81 == 1.4 ​Applications ==
82
83 * Smart Agriculture
84
85
86 == 1.5 Pin mapping and power on ==
87
88 [[image:1654592472094-134.png]]
89
90
91
92 = 2. Configure LSPH01 to connect to LoRaWAN network =
93
94 == 2.1 How it works ==
95
96 (((
97 The LSPH01 is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and power on the LSPH01. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
98 )))
99
100 (((
101 In case you can’t set the OTAA keys in the LoRaWAN OTAA server, and you have to use the keys from the server, you can [[use AT Commands >>||anchor="H5.UseATCommand"]]to set the keys in the LSPH01.
102 )))
103
104
105 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
106
107 (((
108 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LG308>>url:http://www.dragino.com/products/lora/item/140-lg308.html]] as a LoRaWAN gateway in this example.
109 )))
110
111 (((
112 [[image:1654592492399-921.png]]
113 )))
114
115 (((
116 The LG308 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
117 )))
118
119 (((
120 (% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from LSPH01.
121 )))
122
123 (((
124 Each LSPH01 is shipped with a sticker with the default device EUI as below:
125 )))
126
127 [[image:image-20220607170145-1.jpeg]]
128
129
130
131 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
132
133
134 **Register the device**
135
136
137 [[image:1654592600093-601.png]]
138
139
140 **Add APP EUI and DEV EUI**
141
142 [[image:1654592619856-881.png]]
143
144
145 **Add APP EUI in the application**
146
147 [[image:1654592632656-512.png]]
148
149
150
151 **Add APP KEY**
152
153 [[image:1654592653453-934.png]]
154
155
156 (% style="color:blue" %)**Step 2**(%%): Power on LSPH01
157
158
159 Put a Jumper on JP2 to power on the device. ( The Switch must be in FLASH position).
160
161 [[image:image-20220607170442-2.png]]
162
163
164 (((
165 (% style="color:blue" %)**Step 3**(%%)**:** The LSPH01 will auto join to the TTN network. After join success, it will start to upload messages to TTN and you can see the messages in the panel.
166 )))
167
168 [[image:1654592697690-910.png]]
169
170
171
172 == 2.3 ​Uplink Payload ==
173
174 (((
175 LSPH01 will uplink payload via LoRaWAN with below payload format: 
176 )))
177
178 (((
179 Uplink payload includes in total 11 bytes.
180 )))
181
182 (((
183 Normal uplink payload:
184 )))
185
186 (% border="1" cellspacing="10" style="background-color:#ffffcc; width:510px" %)
187 |=(% style="width: 62.5px;" %)(((
188 **Size (bytes)**
189 )))|=(% style="width: 62.5px;" %)**2**|=(% style="width: 62.5px;" %)**2**|=**2**|=**2**|=**1**|=**1**|=**1**
190 |(% style="width:62.5px" %)**Value**|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1BatteryInfo"]]|(% style="width:62.5px" %)(((
191 [[Temperature>>||anchor="H2.3.2DS18B20Temperaturesensor"]]
192
193 [[(Optional)>>||anchor="H2.3.2DS18B20Temperaturesensor"]]
194 )))|[[Soil pH>>||anchor="H2.3.3SoilpH"]]|[[Soil Temperature>>||anchor="H2.3.4SoilTemperature"]]|(((
195 [[Digital Interrupt (Optional)>>||anchor="H2.3.5InterruptPin"]]
196 )))|Reserve|(((
197 [[Message Type>>||anchor="H2.3.6MessageType"]]
198 )))
199
200 [[image:1654592721645-318.png]]
201
202
203
204 === 2.3.1 Battery Info ===
205
206
207 Check the battery voltage for LSPH01.
208
209 Ex1: 0x0B45 = 2885mV
210
211 Ex2: 0x0B49 = 2889mV
212
213
214
215 === 2.3.2 DS18B20 Temperature sensor ===
216
217 This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
218
219
220 **Example**:
221
222 If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
223
224 If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
225
226
227
228 === 2.3.3 Soil pH ===
229
230 Range: 0 ~~ 14 pH
231
232 **Example:**
233
234 (% style="color:#037691" %)** 0x02B7(H) = 695(D) = 6.95pH**
235
236
237
238 === 2.3.4 Soil Temperature ===
239
240 Get Soil Temperature 
241
242
243 **Example**:
244
245 If payload is: **0105H**:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
246
247 If payload is: **FF3FH** :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
248
249
250
251 === 2.3.5 Interrupt Pin ===
252
253 This data field shows if this packet is generated by interrupt or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up.
254
255
256 **Example:**
257
258 0x00: Normal uplink packet.
259
260 0x01: Interrupt Uplink Packet.
261
262
263
264 === 2.3.6 Message Type ===
265
266 (((
267 For a normal uplink payload, the message type is always 0x01.
268 )))
269
270 (((
271 Valid Message Type:
272 )))
273
274
275 (% border="1" cellspacing="10" style="background-color:#ffffcc; width:499px" %)
276 |=(% style="width: 160px;" %)**Message Type Code**|=(% style="width: 163px;" %)**Description**|=(% style="width: 173px;" %)**Payload**
277 |(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)[[Normal Uplink Payload>>||anchor="H2.3200BUplinkPayload"]]
278 |(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)[[Configure Info Payload>>||anchor="H3.4GetFirmwareVersionInfo"]]
279 |(% style="width:160px" %)0x03|(% style="width:163px" %)Reply Calibration Info|(% style="width:173px" %)[[Calibration Payload>>||anchor="H2.7Calibration"]]
280
281
282 === 2.3.7 Decode payload in The Things Network ===
283
284 While using TTN network, you can add the payload format to decode the payload.
285
286
287 [[image:1654592762713-715.png]]
288
289 (((
290 The payload decoder function for TTN is here:
291 )))
292
293 (((
294 LSPH01 TTN Payload Decoder: [[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/]]
295 )))
296
297
298
299 == 2.4 Uplink Interval ==
300
301 The LSPH01 by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: [[Change Uplink Interval>>doc:Main.End Device AT Commands and Downlink Command.WebHome||anchor="H4.1ChangeUplinkInterval"]]
302
303
304
305 == 2.5 ​Show Data in DataCake IoT Server ==
306
307 (((
308 [[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, once we have data in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
309 )))
310
311 (((
312
313 )))
314
315 (((
316 (% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
317 )))
318
319 (((
320 (% style="color:blue" %)**Step 2**(%%)**: To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:**
321 )))
322
323
324 [[image:1654592790040-760.png]]
325
326
327 [[image:1654592800389-571.png]]
328
329
330 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
331
332 (% style="color:blue" %)**Step 4**(%%)**: Create LSPH01 product.**
333
334 [[image:1654592819047-535.png]]
335
336
337
338 [[image:1654592833877-762.png]]
339
340
341 [[image:1654592856403-259.png]]
342
343
344 (((
345 (% style="color:blue" %)**Step 5**(%%)**: add payload decode**
346 )))
347
348 (((
349 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/]]
350 )))
351
352
353 [[image:1654592878525-845.png]]
354
355 [[image:1654592892967-474.png]]
356
357
358 [[image:1654592905354-123.png]]
359
360
361 After added, the sensor data arrive TTN, it will also arrive and show in Mydevices.
362
363
364 [[image:1654592917530-261.png]]
365
366
367
368 == 2.6 Installation and Maintain ==
369
370 === 2.6.1 Before measurement ===
371
372 (((
373 (((
374 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. 
375 )))
376 )))
377
378
379
380 === 2.6.2 Measurement ===
381
382
383 (((
384 (% style="color:#4f81bd" %)**Measurement the soil surface:**
385 )))
386
387 (((
388 [[image:1654592946732-634.png]]
389 )))
390
391 (((
392 Choose the proper measuring position. Split the surface soil according to the measured deep.
393 )))
394
395 (((
396 Put pure water, or rainwater to make the soil of measurement point to moist mud. Remove rocks or hard things.
397 )))
398
399 (((
400 Slowly insert the probe to the measure point. Don’t use large force which will break the probe. Make sure not shake when inserting.
401 )))
402
403 (((
404 Put soil over the probe after insert. And start to measure.
405 )))
406
407 (((
408
409 )))
410
411 (((
412 (% style="color:#4f81bd" %)**Measurement inside soil:**
413 )))
414
415 (((
416 Dig a hole with diameter > 20CM.
417 )))
418
419 (((
420 Insert the probe inside, method like measure the surface.
421 )))
422
423
424
425 === 2.6.3 Maintain Probe ===
426
427 1. (((
428 pH probe electrode is fragile and no strong. User must avoid strong force or hitting it.
429 )))
430 1. (((
431 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.
432 )))
433 1. (((
434 Probe reference electrode is also no strong, need to avoid strong force or hitting.
435 )))
436 1. (((
437 User should keep reference electrode wet while not use.
438 )))
439 1. (((
440 Avoid the probes to touch oily matter. Which will cause issue in accuracy.
441 )))
442 1. (((
443 The probe is IP68 can be put in water.
444
445
446
447 )))
448
449 == 2.7 Calibration ==
450
451 (((
452 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).
453 )))
454
455 (((
456 After stable, user can use below command to calibrate.
457 )))
458
459 [[image:image-20220607171149-4.png]]
460
461
462 (% style="color:#037691" %)**Calibration Payload**
463
464 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
465 |=(% style="width: 62.5px;" %)(((
466 **Size (bytes)**
467 )))|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**1**|=(% style="width: 89px;" %)**7**|=(% style="width: 89px;" %)**1**
468 |**Value**|(((
469 PH4
470
471 Calibrate value
472 )))|PH6.86 Calibrate value|(((
473 PH9.18
474
475 Calibrate value
476 )))|Reserve|(((
477 [[Message Type>>||anchor="H2.3.6MessageType"]]
478
479 Always 0x03
480 )))
481
482 User can also send 0x14 downlink command to poll the current calibration payload.
483
484 [[image:image-20220607171416-7.jpeg]]
485
486
487 * Reply to the confirmation package: 14 01
488 * Reply to non-confirmed packet: 14 00
489
490
491
492 == 2.8 Frequency Plans ==
493
494 (((
495 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.
496 )))
497
498
499 === 2.8.1 EU863-870 (EU868) ===
500
501 (((
502 (% style="color:blue" %)**Uplink:**
503 )))
504
505 (((
506 868.1 - SF7BW125 to SF12BW125
507 )))
508
509 (((
510 868.3 - SF7BW125 to SF12BW125 and SF7BW250
511 )))
512
513 (((
514 868.5 - SF7BW125 to SF12BW125
515 )))
516
517 (((
518 867.1 - SF7BW125 to SF12BW125
519 )))
520
521 (((
522 867.3 - SF7BW125 to SF12BW125
523 )))
524
525 (((
526 867.5 - SF7BW125 to SF12BW125
527 )))
528
529 (((
530 867.7 - SF7BW125 to SF12BW125
531 )))
532
533 (((
534 867.9 - SF7BW125 to SF12BW125
535 )))
536
537 (((
538 868.8 - FSK
539 )))
540
541 (((
542
543 )))
544
545 (((
546 (% style="color:blue" %)**Downlink:**
547 )))
548
549 (((
550 Uplink channels 1-9 (RX1)
551 )))
552
553 (((
554 869.525 - SF9BW125 (RX2 downlink only)
555 )))
556
557
558
559 === 2.8.2 US902-928(US915) ===
560
561 (((
562 Used in USA, Canada and South America. Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
563 )))
564
565 (((
566 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.
567 )))
568
569 (((
570 After Join success, the end node will switch to the correct sub band by:
571 )))
572
573 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
574 * 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)
575
576
577
578 === 2.8.3 CN470-510 (CN470) ===
579
580 (((
581 Used in China, Default use CHE=1
582 )))
583
584 (((
585 (% style="color:blue" %)**Uplink:**
586 )))
587
588 (((
589 486.3 - SF7BW125 to SF12BW125
590 )))
591
592 (((
593 486.5 - SF7BW125 to SF12BW125
594 )))
595
596 (((
597 486.7 - SF7BW125 to SF12BW125
598 )))
599
600 (((
601 486.9 - SF7BW125 to SF12BW125
602 )))
603
604 (((
605 487.1 - SF7BW125 to SF12BW125
606 )))
607
608 (((
609 487.3 - SF7BW125 to SF12BW125
610 )))
611
612 (((
613 487.5 - SF7BW125 to SF12BW125
614 )))
615
616 (((
617 487.7 - SF7BW125 to SF12BW125
618 )))
619
620 (((
621
622 )))
623
624 (((
625 (% style="color:blue" %)**Downlink:**
626 )))
627
628 (((
629 506.7 - SF7BW125 to SF12BW125
630 )))
631
632 (((
633 506.9 - SF7BW125 to SF12BW125
634 )))
635
636 (((
637 507.1 - SF7BW125 to SF12BW125
638 )))
639
640 (((
641 507.3 - SF7BW125 to SF12BW125
642 )))
643
644 (((
645 507.5 - SF7BW125 to SF12BW125
646 )))
647
648 (((
649 507.7 - SF7BW125 to SF12BW125
650 )))
651
652 (((
653 507.9 - SF7BW125 to SF12BW125
654 )))
655
656 (((
657 508.1 - SF7BW125 to SF12BW125
658 )))
659
660 (((
661 505.3 - SF12BW125 (RX2 downlink only)
662 )))
663
664
665
666 === 2.8.4 AU915-928(AU915) ===
667
668 (((
669 Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
670 )))
671
672 (((
673 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.
674 )))
675
676 (((
677
678 )))
679
680 (((
681 After Join success, the end node will switch to the correct sub band by:
682 )))
683
684 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
685 * 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)
686
687
688 === 2.8.5 AS920-923 & AS923-925 (AS923) ===
689
690 (((
691 (% style="color:blue" %)**Default Uplink channel:**
692 )))
693
694 (((
695 923.2 - SF7BW125 to SF10BW125
696 )))
697
698 (((
699 923.4 - SF7BW125 to SF10BW125
700 )))
701
702 (((
703
704 )))
705
706 (((
707 (% style="color:blue" %)**Additional Uplink Channel**:
708 )))
709
710 (((
711 (OTAA mode, channel added by JoinAccept message)
712 )))
713
714 (((
715
716 )))
717
718 (((
719 (% style="color:blue" %)**AS920~~AS923 for Japan, Malaysia, Singapore**:
720 )))
721
722 (((
723 922.2 - SF7BW125 to SF10BW125
724 )))
725
726 (((
727 922.4 - SF7BW125 to SF10BW125
728 )))
729
730 (((
731 922.6 - SF7BW125 to SF10BW125
732 )))
733
734 (((
735 922.8 - SF7BW125 to SF10BW125
736 )))
737
738 (((
739 923.0 - SF7BW125 to SF10BW125
740 )))
741
742 (((
743 922.0 - SF7BW125 to SF10BW125
744 )))
745
746 (((
747
748 )))
749
750 (((
751 (% style="color:blue" %)**AS923 ~~ AS925 for Brunei, Cambodia, Hong Kong, Indonesia, Laos, Taiwan, Thailand, Vietnam**:
752 )))
753
754 (((
755 923.6 - SF7BW125 to SF10BW125
756 )))
757
758 (((
759 923.8 - SF7BW125 to SF10BW125
760 )))
761
762 (((
763 924.0 - SF7BW125 to SF10BW125
764 )))
765
766 (((
767 924.2 - SF7BW125 to SF10BW125
768 )))
769
770 (((
771 924.4 - SF7BW125 to SF10BW125
772 )))
773
774 (((
775 924.6 - SF7BW125 to SF10BW125
776 )))
777
778 (((
779
780 )))
781
782 (((
783 (% style="color:blue" %)**Downlink:**
784 )))
785
786 (((
787 Uplink channels 1-8 (RX1)
788 )))
789
790 (((
791 923.2 - SF10BW125 (RX2)
792 )))
793
794
795
796 === 2.8.6 KR920-923 (KR920) ===
797
798 (((
799 (% style="color:blue" %)**Default channel:**
800 )))
801
802 (((
803 922.1 - SF7BW125 to SF12BW125
804 )))
805
806 (((
807 922.3 - SF7BW125 to SF12BW125
808 )))
809
810 (((
811 922.5 - SF7BW125 to SF12BW125
812 )))
813
814 (((
815
816 )))
817
818 (((
819 (% style="color:blue" %)**Uplink: (OTAA mode, channel added by JoinAccept message)**
820 )))
821
822 (((
823 922.1 - SF7BW125 to SF12BW125
824 )))
825
826 (((
827 922.3 - SF7BW125 to SF12BW125
828 )))
829
830 (((
831 922.5 - SF7BW125 to SF12BW125
832 )))
833
834 (((
835 922.7 - SF7BW125 to SF12BW125
836 )))
837
838 (((
839 922.9 - SF7BW125 to SF12BW125
840 )))
841
842 (((
843 923.1 - SF7BW125 to SF12BW125
844 )))
845
846 (((
847 923.3 - SF7BW125 to SF12BW125
848 )))
849
850 (((
851
852 )))
853
854 (((
855 (% style="color:blue" %)**Downlink:**
856 )))
857
858 (((
859 Uplink channels 1-7(RX1)
860 )))
861
862 (((
863 921.9 - SF12BW125 (RX2 downlink only; SF12BW125 might be changed to SF9BW125)
864 )))
865
866
867
868 === 2.8.7 IN865-867 (IN865) ===
869
870 (((
871 (% style="color:blue" %)**Uplink:**
872 )))
873
874 (((
875 865.0625 - SF7BW125 to SF12BW125
876 )))
877
878 (((
879 865.4025 - SF7BW125 to SF12BW125
880 )))
881
882 (((
883 865.9850 - SF7BW125 to SF12BW125
884 )))
885
886 (((
887
888 )))
889
890 (((
891 (% style="color:blue" %)**Downlink:**
892 )))
893
894 (((
895 Uplink channels 1-3 (RX1)
896 )))
897
898 (((
899 866.550 - SF10BW125 (RX2)
900 )))
901
902
903
904 == 2.9 LED Indicator ==
905
906 The LSPH01 has an internal LED which is to show the status of different state.
907
908 * The sensor is detected when the device is turned on, and it will flash 4 times quickly when it is detected.
909 * Blink once when device transmit a packet.
910
911
912 == 2.10 ​Firmware Change Log ==
913
914
915 **Firmware download link:**
916
917 [[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/]]
918
919
920 **Firmware Upgrade Method: **[[Firmware Upgrade Instruction>>path:/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/]]
921
922
923
924 = 3. Configure LSPH01 via AT Command or LoRaWAN Downlink =
925
926 (((
927 Use can configure LSPH01 via AT Command or LoRaWAN Downlink.
928 )))
929
930 * (((
931 AT Command Connection: See [[FAQ>>||anchor="H6.FAQ"]].
932 )))
933 * (((
934 LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>path:/xwiki/bin/view/Main/]]
935 )))
936
937 (((
938 There are two kinds of commands to configure LSPH01, they are:
939 )))
940
941 * (((
942 (% style="color:#4f81bd" %)** General Commands**.
943 )))
944
945 (((
946 These commands are to configure:
947 )))
948
949 * (((
950 General system settings like: uplink interval.
951 )))
952 * (((
953 LoRaWAN protocol & radio related command.
954 )))
955
956 (((
957 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/]]
958 )))
959
960 (((
961
962 )))
963
964 * (((
965 (% style="color:#4f81bd" %)** Commands special design for LSPH01**
966 )))
967
968 (((
969 These commands only valid for LSPH01, as below:
970 )))
971
972
973
974 == 3.1 Set Transmit Interval Time ==
975
976 Feature: Change LoRaWAN End Node Transmit Interval.
977
978 (% style="color:#037691" %)**AT Command: AT+TDC**
979
980 [[image:image-20220607171554-8.png]]
981
982
983
984 (((
985 (% style="color:#037691" %)**Downlink Command: 0x01**
986 )))
987
988 (((
989 Format: Command Code (0x01) followed by 3 bytes time value.
990 )))
991
992 (((
993 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
994 )))
995
996 * (((
997 Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
998 )))
999 * (((
1000 Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
1001
1002
1003
1004 )))
1005
1006 == 3.2 Set Interrupt Mode ==
1007
1008 Feature, Set Interrupt mode for GPIO_EXIT.
1009
1010 (% style="color:#037691" %)**AT Command: AT+INTMOD**
1011
1012 [[image:image-20220607171716-9.png]]
1013
1014
1015 (((
1016 (% style="color:#037691" %)**Downlink Command: 0x06**
1017 )))
1018
1019 (((
1020 Format: Command Code (0x06) followed by 3 bytes.
1021 )))
1022
1023 (((
1024 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1025 )))
1026
1027 * (((
1028 Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode
1029 )))
1030 * (((
1031 Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger
1032 )))
1033
1034 (((
1035
1036 )))
1037
1038
1039
1040 == 3.3 Calibrate Sensor ==
1041
1042 Detail See [[Calibration Guide>>||anchor="H2.7Calibration"]] for the user of 0x13 and 0x14 downlink commands
1043
1044
1045
1046 == 3.4 Get Firmware Version Info ==
1047
1048 Feature: use downlink to get firmware version.
1049
1050 (% style="color:#037691" %)**Downlink Command: 0x26**
1051
1052 [[image:image-20220607171917-10.png]]
1053
1054 * Reply to the confirmation package: 26 01
1055 * Reply to non-confirmed packet: 26 00
1056
1057 Device will send an uplink after got this downlink command. With below payload:
1058
1059 Configures info payload:
1060
1061 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
1062 |=(((
1063 **Size(bytes)**
1064 )))|=**1**|=**1**|=**1**|=**1**|=**1**|=**5**|=**1**
1065 |**Value**|Software Type|(((
1066 Frequency
1067
1068 Band
1069 )))|Sub-band|(((
1070 Firmware
1071
1072 Version
1073 )))|Sensor Type|Reserve|(((
1074 [[Message Type>>||anchor="H2.3.6MessageType"]]
1075 Always 0x02
1076 )))
1077
1078 **Software Type**: Always 0x03 for LSPH01
1079
1080
1081 **Frequency Band**:
1082
1083 *0x01: EU868
1084
1085 *0x02: US915
1086
1087 *0x03: IN865
1088
1089 *0x04: AU915
1090
1091 *0x05: KZ865
1092
1093 *0x06: RU864
1094
1095 *0x07: AS923
1096
1097 *0x08: AS923-1
1098
1099 *0x09: AS923-2
1100
1101 *0xa0: AS923-3
1102
1103
1104 **Sub-Band**: value 0x00 ~~ 0x08
1105
1106
1107 **Firmware Version**: 0x0100, Means: v1.0.0 version
1108
1109
1110 **Sensor Type**:
1111
1112 0x01: LSE01
1113
1114 0x02: LDDS75
1115
1116 0x03: LDDS20
1117
1118 0x04: LLMS01
1119
1120 0x05: LSPH01
1121
1122 0x06: LSNPK01
1123
1124 0x07: LDDS12
1125
1126
1127
1128 = 4. Battery & How to replace =
1129
1130 == 4.1 Battery Type ==
1131
1132 (((
1133 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.
1134 )))
1135
1136 (((
1137 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1138 )))
1139
1140 [[image:1654593587246-335.png]]
1141
1142
1143 Minimum Working Voltage for the LSPH01:
1144
1145 LSPH01:  2.45v ~~ 3.6v
1146
1147
1148
1149 == 4.2 Replace Battery ==
1150
1151 (((
1152 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1153 )))
1154
1155 (((
1156 And make sure the positive and negative pins match.
1157 )))
1158
1159
1160
1161 == 4.3 Power Consumption Analyze ==
1162
1163 (((
1164 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.
1165 )))
1166
1167 (((
1168 Instruction to use as below:
1169 )))
1170
1171
1172 **Step 1**: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1173
1174 [[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/]]
1175
1176
1177 **Step 2**: Open it and choose
1178
1179 * Product Model
1180 * Uplink Interval
1181 * Working Mode
1182
1183 And the Life expectation in difference case will be shown on the right.
1184
1185 [[image:1654593605679-189.png]]
1186
1187
1188 The battery related documents as below:
1189
1190 * (((
1191 [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]],
1192 )))
1193 * (((
1194 [[Lithium-Thionyl Chloride Battery  datasheet>>url:https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1195 )))
1196 * (((
1197 [[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]]
1198 )))
1199
1200 [[image:image-20220607172042-11.png]]
1201
1202
1203
1204 === 4.3.1 ​Battery Note ===
1205
1206 (((
1207 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.
1208 )))
1209
1210
1211
1212 === ​4.3.2 Replace the battery ===
1213
1214 (((
1215 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.
1216 )))
1217
1218 (((
1219 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)
1220 )))
1221
1222
1223
1224 = 5. Use AT Command =
1225
1226 == 5.1 Access AT Commands ==
1227
1228 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.
1229
1230 [[image:1654593668970-604.png]]
1231
1232 **Connection:**
1233
1234 (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND**
1235
1236 (% style="background-color:yellow" %)** USB TTL TXD  <~-~-~-~-> UART_RXD**
1237
1238 (% style="background-color:yellow" %)** USB TTL RXD  <~-~-~-~-> UART_TXD**
1239
1240
1241 (((
1242 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:
1243 )))
1244
1245
1246 [[image:1654593712276-618.png]]
1247
1248 Valid AT Command please check [[Configure Device>>||anchor="H3.ConfigureLSPH01viaATCommandorLoRaWANDownlink"]].
1249
1250
1251 = 6. FAQ =
1252
1253 == 6.1 How to change the LoRa Frequency Bands/Region ==
1254
1255 You can follow the instructions for [[how to upgrade image>>||anchor="H2.10200BFirmwareChangeLog"]].
1256 When downloading the images, choose the required image file for download. ​
1257
1258
1259 = 7. Trouble Shooting =
1260
1261 == 7.1 AT Commands input doesn’t work ==
1262
1263 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.
1264
1265
1266
1267 = 8. Order Info =
1268
1269 Part Number: (% style="color:blue" %)**LSPH01-XX**
1270
1271
1272 (% style="color:blue" %)**XX**(%%): The default frequency band
1273
1274 * (% style="color:red" %)**AS923**(%%):  LoRaWAN AS923 band
1275 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1276 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1277 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1278 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1279 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1280 * (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
1281 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1282
1283 = 9. ​Packing Info =
1284
1285
1286 **Package Includes**:
1287
1288 * LSPH01 LoRaWAN Soil Ph Sensor x 1
1289
1290 **Dimension and weight**:
1291
1292 * Device Size: cm
1293 * Device Weight: g
1294 * Package Size / pcs : cm
1295 * Weight / pcs : g
1296
1297 = 10. ​Support =
1298
1299 * 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.
1300 * 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]].
1301
1302
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0