Version 98.2 by Xiaoling on 2022/06/30 11:33

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