Version 95.1 by Xiaoling on 2022/06/25 17:10

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