Version 98.7 by Xiaoling on 2022/08/18 16:25

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