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