Version 99.2 by Xiaoling on 2023/04/26 08:47

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