<
From version < 100.1 >
edited by Bei Jinggeng
on 2024/02/20 16:31
To version < 99.18 >
edited by Xiaoling
on 2023/05/23 17:46
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Bei
1 +XWiki.Xiaoling
Content
... ... @@ -5,10 +5,6 @@
5 5  
6 6  
7 7  
8 -
9 -
10 -
11 -
12 12  **Table of Contents:**
13 13  
14 14  {{toc/}}
... ... @@ -24,11 +24,11 @@
24 24  
25 25  
26 26  (((
27 -The Dragino LSPH01 is a (% style="color:blue" %)**LoRaWAN Soil pH Sensor**(%%) for IoT of Agriculture. It is designed to measure the (% style="color:blue" %)**soil PH and soil temperature**(%%), so to send to the platform to analyze the soil acid or alkali level. The probe is IP68 waterproof.
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.
28 28  )))
29 29  
30 30  (((
31 -LSPH01 probe is made by Solid AgCl reference electrode and Pure metal pH sensitive electrode. It can detect (% style="color:blue" %)**soil's pH **(%%)with high accuracy and stable value. The LSPH01 probe can be buried into soil for long time use.
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.
32 32  )))
33 33  
34 34  (((
... ... @@ -36,7 +36,7 @@
36 36  )))
37 37  
38 38  (((
39 -LSPH01 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
35 +LSPH01 is powered by (% style="color:#4f81bd" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
40 40  )))
41 41  
42 42  (((
... ... @@ -47,6 +47,7 @@
47 47  [[image:1654592435432-887.png]]
48 48  
49 49  
46 +
50 50  == ​1.2 Features ==
51 51  
52 52  
... ... @@ -199,11 +199,11 @@
199 199  Normal uplink payload:
200 200  )))
201 201  
202 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:470px" %)
203 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
199 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:470px" %)
200 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
204 204  **Size(bytes)**
205 -)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**
206 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1BatteryInfo"]]|(% style="width:62.5px" %)(((
202 +)))|=(% style="width: 30px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**1**
203 +|(% style="width:62.5px" %)**Value**|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1BatteryInfo"]]|(% style="width:62.5px" %)(((
207 207  [[Temperature (Optional)>>||anchor="H2.3.2DS18B20Temperaturesensor"]]
208 208  )))|[[Soil pH>>||anchor="H2.3.3SoilpH"]]|[[Soil Temperature>>||anchor="H2.3.4SoilTemperature"]]|(((
209 209  [[Digital Interrupt (Optional)>>||anchor="H2.3.5InterruptPin"]]
... ... @@ -285,8 +285,8 @@
285 285  )))
286 286  
287 287  
288 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:496px" %)
289 -|=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Message Type Code**|=(% style="width: 163px;background-color:#4F81BD;color:white" %)**Description**|=(% style="width: 173px;background-color:#4F81BD;color:white" %)**Payload**
285 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:496px" %)
286 +|=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Message Type Code**|=(% style="width: 163px;background-color:#D9E2F3;color:#0070C0" %)**Description**|=(% style="width: 173px;background-color:#D9E2F3;color:#0070C0" %)**Payload**
290 290  |(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)[[Normal Uplink Payload>>||anchor="H2.3200BUplinkPayload"]]
291 291  |(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)[[Configure Info Payload>>||anchor="H3.4GetFirmwareVersionInfo"]]
292 292  |(% style="width:160px" %)0x03|(% style="width:163px" %)Reply Calibration Info|(% style="width:173px" %)[[Calibration Payload>>||anchor="H2.7Calibration"]]
... ... @@ -382,8 +382,10 @@
382 382  
383 383  
384 384  (((
382 +(((
385 385  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. 
386 386  )))
385 +)))
387 387  
388 388  
389 389  === 2.6.2 Measurement ===
... ... @@ -390,11 +390,13 @@
390 390  
391 391  
392 392  (((
393 -(% style="color:blue" %)**Measurement the soil surface:**
392 +(% style="color:#4f81bd" %)**Measurement the soil surface:**
394 394  )))
395 395  
396 396  (((
397 397  [[image:1654592946732-634.png]]
397 +
398 +
398 398  )))
399 399  
400 400  (((
... ... @@ -418,7 +418,7 @@
418 418  )))
419 419  
420 420  (((
421 -(% style="color:blue" %)**Measurement inside soil:**
422 +(% style="color:#4f81bd" %)**Measurement inside soil:**
422 422  )))
423 423  
424 424  (((
... ... @@ -433,28 +433,24 @@
433 433  === 2.6.3 Maintain Probe ===
434 434  
435 435  
436 -(((
437 -~1. pH probe electrode is fragile and no strong. User must avoid strong force or hitting it.
437 +1. (((
438 +pH probe electrode is fragile and no strong. User must avoid strong force or hitting it.
438 438  )))
439 -
440 -(((
441 -2. 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.
440 +1. (((
441 +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.
442 442  )))
443 -
444 -(((
445 -3. Probe reference electrode is also no strong, need to avoid strong force or hitting.
443 +1. (((
444 +Probe reference electrode is also no strong, need to avoid strong force or hitting.
446 446  )))
447 -
448 -(((
449 -4. User should keep reference electrode wet while not use.
446 +1. (((
447 +User should keep reference electrode wet while not use.
450 450  )))
451 -
452 -(((
453 -5. Avoid the probes to touch oily matter. Which will cause issue in accuracy.
449 +1. (((
450 +Avoid the probes to touch oily matter. Which will cause issue in accuracy.
454 454  )))
452 +1. (((
453 +The probe is IP68 can be put in water.
455 455  
456 -(((
457 -6. The probe is IP68 can be put in water.
458 458  
459 459  
460 460  )))
... ... @@ -462,26 +462,15 @@
462 462  == 2.7 Calibration ==
463 463  
464 464  
465 -(% style="color:blue" %)**Step1 :**(%%)** Clean probe**
466 -
467 -user can use high grade sandpaper to polish it or put in 5% hydrochloric acid for several minutes. After the metal probe looks new, users can clean it to remove hydrochloric acid or other liquids from the surface.
468 -
469 -(% style="color:blue" %)**Step2 :**(%%)** Immerse the sensor in ph buffer solution to make the sensor values stable**
470 -
471 471  (((
472 472  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).
473 -
474 -(% style="color:red" %)**Note:Only one ph buffer with one of the ph values needs to be calibrated during calibration. Wait for the sensor measurement value to be stable, it does not need to be the same as the ph marked by the ph buffer**
475 -
476 -
477 -(% style="color:blue" %)**Step3 :**(%%)** The numerically stable sensors were calibrated using commands**
478 478  )))
479 479  
480 480  (((
481 - User can use below command to calibrate.
467 +After stable, user can use below command to calibrate.
482 482  
483 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
484 -|(% style="background-color:#4f81bd; color:white; width:120px" %)**pH buffer solution**|(% style="background-color:#4f81bd; color:white; width:150px" %)**AT Command to calibrate**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Downlink Command**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Read Cal Value**
469 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:520px" %)
470 +|(% style="background-color:#d9e2f3; color:#0070c0; width:120px" %)**pH buffer solution**|(% style="background-color:#d9e2f3; color:#0070c0; width:150px" %)**AT Command to calibrate**|(% style="background-color:#d9e2f3; color:#0070c0; width:150px" %)**Downlink Command**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**Read Cal Value**
485 485  |(% style="width:149px" %)4.00|(% style="width:197px" %)AT+PHCAL=4|(% style="width:206px" %)(((
486 486  0x13 04
487 487  Reply with Calibrate payload
... ... @@ -506,25 +506,14 @@
506 506  )))
507 507  )))
508 508  
509 -To use the AT COMMAND, refer to this link:
510 510  
511 -* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
512 512  
513 -* AT Command via UART Connection : See [[UART Connection>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
514 -
515 -To use Downlink, take TTN as an example, please refer to this link:
516 -
517 -* LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>url:http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
518 -
519 -When the command is successfully used, the node sends a uplink.
520 -This is the payload for uplink
521 -
522 522  (% style="color:#037691" %)**Calibration Payload**
523 523  
524 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
525 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
499 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
500 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
526 526  **Size(bytes)**
527 -)))|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**7**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**1**
502 +)))|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**7**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**
528 528  |Value|(((
529 529  PH4 Calibrate value
530 530  )))|PH6.86 Calibrate value|(((
... ... @@ -537,19 +537,12 @@
537 537  User can also send 0x14 downlink command to poll the current calibration payload.
538 538  
539 539  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:480px" %)
540 -|=(% style="width: 183px; background-color:#4F81BD;color:white" %)**Downlink Control Type**|=(% style="width: 55px; background-color:#4F81BD;color:white" %)FPort|=(% style="width: 93px; background-color:#4F81BD;color:white" %)**Type Code**|=(% style="width: 146px; background-color:#4F81BD;color:white" %)**Downlink payload size(bytes)**
515 +|=(% style="width: 183px; background-color:#D9E2F3;color:#0070C0" %)**Downlink Control Type**|=(% style="width: 55px; background-color:#D9E2F3;color:#0070C0" %)FPort|=(% style="width: 93px; background-color:#D9E2F3;color:#0070C0" %)**Type Code**|=(% style="width: 146px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Downlink payload size(bytes)**
541 541  |(% style="width:183px" %)Get Calibration Version Info|(% style="width:55px" %)Any|(% style="width:93px" %)14|(% style="width:146px" %)2
542 542  
543 543  * Reply to the confirmation package: 14 01
544 -
545 545  * Reply to non-confirmed packet: 14 00
546 546  
547 -(% style="color:blue" %)**Step4:**(%%)**After the calibration is completed, its measurement results in this ph buffer solution should be consistent with the numerical value of the command used in the calibration.**
548 -
549 -Examples:
550 -After using the command AT+PH=9 in 9.18ph buffer
551 -The readout returned by the sensor in 9.18ph buffer should be pH=9
552 -
553 553  == 2.8 Frequency Plans ==
554 554  
555 555  
... ... @@ -634,7 +634,6 @@
634 634  )))
635 635  
636 636  * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
637 -
638 638  * 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)
639 639  
640 640  === 2.8.3 CN470-510 (CN470) ===
... ... @@ -745,7 +745,6 @@
745 745  )))
746 746  
747 747  * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
748 -
749 749  * 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)
750 750  
751 751  === 2.8.5 AS920-923 & AS923-925 (AS923) ===
... ... @@ -875,6 +875,9 @@
875 875  922.5 - SF7BW125 to SF12BW125
876 876  )))
877 877  
844 +(((
845 +
846 +)))
878 878  
879 879  (((
880 880  (% style="color:blue" %)**Uplink: (OTAA mode, channel added by JoinAccept message)**
... ... @@ -908,6 +908,9 @@
908 908  923.3 - SF7BW125 to SF12BW125
909 909  )))
910 910  
880 +(((
881 +
882 +)))
911 911  
912 912  (((
913 913  (% style="color:blue" %)**Downlink:**
... ... @@ -941,6 +941,9 @@
941 941  865.9850 - SF7BW125 to SF12BW125
942 942  )))
943 943  
916 +(((
917 +
918 +)))
944 944  
945 945  (((
946 946  (% style="color:blue" %)**Downlink:**
... ... @@ -961,7 +961,6 @@
961 961  The LSPH01 has an internal LED which is to show the status of different state.
962 962  
963 963  * The sensor is detected when the device is turned on, and it will flash 4 times quickly when it is detected.
964 -
965 965  * Blink once when device transmit a packet.
966 966  
967 967  == 2.10 ​Firmware Change Log ==
... ... @@ -1009,6 +1009,9 @@
1009 1009  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/]]
1010 1010  )))
1011 1011  
986 +(((
987 +
988 +)))
1012 1012  
1013 1013  * (((
1014 1014  (% style="color:#4f81bd" %)** Commands special design for LSPH01**
... ... @@ -1026,8 +1026,8 @@
1026 1026  
1027 1027  (% style="color:#037691" %)**AT Command: AT+TDC**
1028 1028  
1029 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1030 -|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
1006 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1007 +|=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1031 1031  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
1032 1032  30000
1033 1033  OK
... ... @@ -1038,6 +1038,7 @@
1038 1038  Set transmit interval to 60000ms = 60 seconds​
1039 1039  )))
1040 1040  
1018 +
1041 1041  (((
1042 1042  (% style="color:#037691" %)**Downlink Command: 0x01**
1043 1043  )))
... ... @@ -1067,8 +1067,8 @@
1067 1067  
1068 1068  (% style="color:#037691" %)**AT Command: AT+INTMOD**
1069 1069  
1070 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1071 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
1048 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1049 +|=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1072 1072  |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
1073 1073  0
1074 1074  OK
... ... @@ -1082,6 +1082,7 @@
1082 1082  3. (Trigger by rising edge)
1083 1083  )))|(% style="width:157px" %)OK
1084 1084  
1063 +
1085 1085  (((
1086 1086  (% style="color:#037691" %)**Downlink Command: 0x06**
1087 1087  )))
... ... @@ -1099,11 +1099,14 @@
1099 1099  )))
1100 1100  * (((
1101 1101  Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1081 +)))
1102 1102  
1103 -
1083 +(((
1104 1104  
1105 1105  )))
1106 1106  
1087 +
1088 +
1107 1107  == 3.3 Calibrate Sensor ==
1108 1108  
1109 1109  
... ... @@ -1117,12 +1117,11 @@
1117 1117  
1118 1118  (% style="color:#037691" %)**Downlink Command: 0x26**
1119 1119  
1120 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
1121 -|(% style="background-color:#4f81bd; color:white; width:193px" %)**Downlink Control Type**|(% style="background-color:#4f81bd; color:white; width:57px" %)**FPort**|(% style="background-color:#4f81bd; color:white; width:91px" %)**Type Code**|(% style="background-color:#4f81bd; color:white; width:159px" %)**Downlink payload size(bytes)**
1102 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
1103 +|(% style="background-color:#d9e2f3; color:#0070c0; width:193px" %)**Downlink Control Type**|(% style="background-color:#d9e2f3; color:#0070c0; width:57px" %)**FPort**|(% style="background-color:#d9e2f3; color:#0070c0; width:91px" %)**Type Code**|(% style="background-color:#d9e2f3; color:#0070c0; width:149px" %)**Downlink payload size(bytes)**
1122 1122  |(% style="width:193px" %)Get Firmware Version Info|(% style="width:57px" %)Any|(% style="width:91px" %)26|(% style="width:149px" %)2
1123 1123  
1124 1124  * Reply to the confirmation package: 26 01
1125 -
1126 1126  * Reply to non-confirmed packet: 26 00
1127 1127  
1128 1128  Device will send an uplink after got this downlink command. With below payload:
... ... @@ -1129,8 +1129,8 @@
1129 1129  
1130 1130  Configures info payload:
1131 1131  
1132 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1133 -|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:70px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**5**|(% style="background-color:#4f81bd; color:white; width:90px" %)**1**
1113 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
1114 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**5**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**
1134 1134  |Value|Software Type|(((
1135 1135  Frequency
1136 1136  Band
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0