Version 98.5 by Xiaoling on 2022/06/30 14:01

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