<
From version < 51.7 >
edited by Xiaoling
on 2022/09/12 15:33
To version < 42.1 >
edited by David Huang
on 2022/09/07 17:01
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.David
Content
... ... @@ -1,42 +1,31 @@
1 1  (% style="text-align:center" %)
2 -[[image:)YK]Y_LZJIO]J2~~VA}OQJM2.png||height="442" width="410"]]
2 +[[image:)YK]Y_LZJIO]J2~~VA}OQJM2.png]]
3 3  
4 -**Table of Contents:**
4 += **1. Introduction** =
5 5  
6 -{{toc/}}
6 +== **1.1 ​What is NSPH01 Soil pH Sensor** ==
7 7  
8 +The Dragino NSPH01 is a **NB-IOT 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.
8 8  
10 +NSPH01 probe is made by Solid AgCl reference electrode and Pure metal pH sensitive electrode. It can detect soil's** pH **with high accuracy and stable value. The NSPH01 probe can be buried into soil for long time use.
9 9  
10 -= 1.  Introduction =
11 -
12 -
13 -== 1.1 ​ What is NSPH01 Soil pH Sensor ==
14 -
15 -
16 -The Dragino NSPH01 is a (% style="color:blue" %)**NB-IoT 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.
17 -
18 -NSPH01 probe is made by Solid AgCl reference electrode and Pure metal pH sensitive electrode. It can detect soil's** (% style="color:blue" %)pH (%%)**with high accuracy and stable value. The NSPH01 probe can be buried into soil for long time use.
19 -
20 20  NarrowBand-Internet of Things (NB-IoT) is a standards-based low power wide area (LPWA) technology developed to enable a wide range of new IoT devices and services. NB-IoT significantly improves the power consumption of user devices, system capacity and spectrum efficiency, especially in deep coverage.
21 -\\NSPH01 supports different uplink methods include (% style="color:blue" %)**TCP,MQTT,UDP and CoAP  **(%%)for different application requirement.
22 -\\NSPH01 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to 5 years. (Actually Battery life depends on the use environment, update period & uplink method)
23 -\\To use NSPH01, user needs to check if there is NB-IoT coverage in the installation area and with the bands NSPH01 supports. If the local operator supports it, user needs to get a (% style="color:blue" %)**NB-IoT SIM card** (%%)from local operator and install NSPH01 to get NB-IoT network connection.
13 +\\NSPH01 supports different uplink methods include **TCP,MQTT,UDP and CoAP  **for different application requirement.
14 +\\NSPH01 is powered by  **8500mAh Li-SOCI2 battery**, It is designed for long term use up to 5 years. (Actually Battery life depends on the use environment, update period & uplink method)
15 +\\To use NSPH01, user needs to check if there is NB-IoT coverage in local area and with the bands NSPH01 supports. If the local operate support it, user needs to get a **NB-IoT SIM card** from local operator and install NSPH01 to get NB-IoT network connection.
24 24  
25 -
17 +(% style="text-align:center" %)
26 26  [[image:image-20220907153151-1.png]]
27 27  
28 -
20 +(% style="text-align:center" %)
29 29  [[image:M_K`YF9`CAYAE\@}3T]FHT$9.png]]
30 30  
23 +**1.2 Features**
31 31  
32 -
33 -== 1.2  Features ==
34 -
35 -
36 36  * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
37 37  * Monitor soil pH with temperature compensation.
38 38  * Monitor soil temperature
39 -* pH and Temperature alarm function
28 +* PH and Temperature alarm function
40 40  * Monitor Battery Level
41 41  * Support pH calibration by end user
42 42  * Uplink on periodically
... ... @@ -45,18 +45,17 @@
45 45  * IP68 rate for the Sensor Probe
46 46  * Ultra-Low Power consumption
47 47  * AT Commands to change parameters
48 -* Micro SIM card slot
37 +* Micro SIM card slot for NB-IoT SIM
49 49  * 8500mAh Battery for long term use
50 50  
51 -== 1.3  Specification ==
40 +**1.3  Specification**
52 52  
42 +**Common DC Characteristics:**
53 53  
54 -(% style="color:#037691" %)**Common DC Characteristics:**
55 -
56 56  * Supply Voltage: 2.1v ~~ 3.6v
57 57  * Operating Temperature: -40 ~~ 85°C
58 58  
59 -(% style="color:#037691" %)**NB-IoT Spec:**
47 +**NB-IoT Spec:**
60 60  
61 61  * - B1 @H-FDD: 2100MHz
62 62  * - B3 @H-FDD: 1800MHz
... ... @@ -65,11 +65,10 @@
65 65  * - B20 @H-FDD: 800MHz
66 66  * - B28 @H-FDD: 700MHz
67 67  
68 -== 1.4  Probe Specification ==
56 +**1.4 Probe Specification**
69 69  
58 +**Soil pH:**
70 70  
71 -(% style="color:#037691" %)**Soil pH:**
72 -
73 73  * Range: 3 ~~ 10 pH
74 74  * Resolution: 0.01 pH
75 75  * Accuracy: ±2% under (0~~50 ℃, Accuracy will poor under 0 due to frozen)
... ... @@ -77,7 +77,7 @@
77 77  * IP68 Protection
78 78  * Length: 3.5 meters
79 79  
80 -(% style="color:#037691" %)**Soil Temperature:**
67 +**Soil Temperature:**
81 81  
82 82  * Range -40℃~85℃
83 83  * Resolution: 0.1℃
... ... @@ -85,230 +85,199 @@
85 85  * IP68 Protection
86 86  * Length: 3.5 meters
87 87  
88 -== 1.5 ​Applications ==
75 +**1.5 ​Applications**
89 89  
90 90  * Smart Agriculture
91 91  
92 -== 1.6 Pin mapping and power on ==
79 +**1.6 Pin mapping and power on**
93 93  
94 -
81 +(% style="text-align:center" %)
95 95  [[image:image-20220907153300-2.png]]
96 96  
97 97  
85 +**2.  Use NSPH01 to communicate with IoT Server**
98 98  
99 -= 2.  Use NSPH01 to communicate with IoT Server =
87 +**2.1  How it works**
100 100  
101 -
102 -== 2.1  How it works ==
103 -
104 -
105 105  The NSPH01 is equipped with a NB-IoT module, the pre-loaded firmware in NSPH01 will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module.  The NB-IoT network will forward this value to IoT server via the protocol defined by NSPH01.
106 106  
107 107  The diagram below shows the working flow in default firmware of NSPH01:
108 108  
109 -
93 +(% style="text-align:center" %)
110 110  [[image:image-20220907153416-3.png]]
111 111  
96 +**2.2 ​ Configure the NSPH01**
112 112  
98 +**2.2.1 Test Requirement**
113 113  
114 -== 2.2 Configure the NSPH01 ==
100 +To use NSPH01 in your city, make sure meet below requirements:
115 115  
116 -
117 -=== 2.2.1 Test Requirement ===
118 -
119 -
120 -To use NSPH01 in the field, make sure meet below requirements:
121 -
122 122  * Your local operator has already distributed a NB-IoT Network there.
123 123  * The local NB-IoT network used the band that NSPH01 supports.
124 124  * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
125 125  
126 -Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NSPH01 will use CoAP(120.24.4.116:5683) or raw UDP(120.24.4.116:5601) or MQTT(120.24.4.116:1883)or TCP(120.24.4.116:5600)protocol to send data to the test server.
106 +Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NSPH01 will use CoAP(120.24.4.116:5683) or raw UDP(120.24.4.116:5601) or MQTT(120.24.4.116:1883)or TCP(120.24.4.116:5600)protocol to send data to the test server
127 127  
128 -
108 +(% style="text-align:center" %)
129 129  [[image:image-20220907153445-4.png]]
130 130  
131 131  
112 +**2.2.2 Insert SIM card**
132 132  
133 -=== 2.2.2 Insert SIM card ===
114 +Insert the NB-IoT Card get from your provider.
134 134  
116 +User need to take out the NB-IoT module and insert the SIM card like below:
135 135  
136 -User need to take out the NB-IoT module and insert the SIM card like below. ((% style="color:red" %) Pay attention to the direction(%%))
137 -
118 +(% style="text-align:center" %)
138 138  [[image:image-20220907153505-5.png]]
139 139  
121 +**2.2.3 Connect USB – TTL to NSPH01 to configure it**
140 140  
123 +User need to configure NSPH01 via serial port to set the **Server Address** / **Uplink Topic** to define where and how-to uplink packets. NSPH01 support AT Commands, user can use a USB to TTL adapter to connect to NSPH01 and use AT Commands to configure it, as below.
141 141  
142 -=== 2.2.3 Connect USB – TTL to NSPH01 to configure it ===
125 +**Connection:**
143 143  
127 + USB TTL GND <~-~-~-~-> GND
144 144  
145 -User need to configure NSPH01 via serial port to set the (% style="color:blue" %)**Server Address** / **Uplink Topic**(%%) to define where and how-to uplink packets. NSPH01 support AT Commands, user can use a USB to TTL adapter to connect to NSPH01 and use AT Commands to configure it, as below.
129 + USB TTL TXD <~-~-~-~-> UART_RXD
146 146  
131 + USB TTL RXD <~-~-~-~-> UART_TXD
147 147  
148 -(% style="color:blue" %)**Connection:**
149 -
150 -**~ (% style="background-color:yellow" %) USB TTL GND <~-~-~-~->  GND(%%)**
151 -
152 -**~ (% style="background-color:yellow" %) USB TTL TXD  <~-~-~-~->  UART_RXD(%%)**
153 -
154 -**~ (% style="background-color:yellow" %) USB TTL RXD  <~-~-~-~->  UART_TXD(%%)**
155 -
156 -
157 157  In the PC, use below serial tool settings:
158 158  
159 -* Baud:  (% style="color:green" %)**9600**
160 -* Data bits:**  (% style="color:green" %)8(%%)**
161 -* Stop bits:  (% style="color:green" %)**1**
162 -* Parity:  (% style="color:green" %)**None**
163 -* Flow Control: (% style="color:green" %)**None**
164 -*
135 +* Baud:  **9600**
136 +* Data bits:** 8**
137 +* Stop bits: **1**
138 +* Parity:  **None**
139 +* Flow Control: **None**
165 165  
166 -Make sure the switch is in FLASH position, then power on device by connecting the jumper on NSPH01. NSPH01 will output system info once power on as below, we can enter the (% style="color:green" %)**password: 12345678**(%%) to access AT Command input.
141 +Make sure the switch is in FLASH position, then power on device by connecting the jumper on NSPH01. NSPH01 will output system info once power on as below, we can enter the **password: 12345678** to access AT Command input.
167 167  
143 +(% style="text-align:center" %)
144 +[[image:image-20220907153529-6.png]]
168 168  
169 -[[image:image-20220912144017-1.png]]
146 +**Note: the valid AT Commands can be found at:  **[[**https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0**>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]]
170 170  
148 +**2.2.4 Use CoAP protocol to uplink data**
171 171  
172 -(% style="color:red" %)**Note: the valid AT Commands can be found at:**(%%)**  **[[**https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0**>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]]
150 +**Note: if you don't have CoAP server, you can refer this link to set up one: **[[**http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]]
173 173  
152 +**Use below commands:**
174 174  
154 +* **AT+PRO=1**   ~/~/ Set to use CoAP protocol to uplink
155 +* **AT+SERVADDR=120.24.4.116,5683   ** ~/~/ to set CoAP server address and port
156 +* **AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** ~/~/Set COAP resource path
175 175  
176 -=== 2.2.4 Use CoAP protocol to uplink data ===
177 -
178 -
179 -(% style="color:red" %)**Note: if you don't have CoAP server, you can refer this link to set up one:**(%%)** **[[**http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]]
180 -
181 -
182 -(% style="color:blue" %)**Use below commands:**
183 -
184 -* (% style="color:#037691" %)**AT+PRO=1**                         (%%) ~/~/  Set to use CoAP protocol to uplink
185 -* (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%) ~/~/  to set CoAP server address and port
186 -* (% style="color:#037691" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/  Set COAP resource path
187 -
188 188  For parameter description, please refer to AT command set
189 189  
190 -
160 +(% style="text-align:center" %)
191 191  [[image:image-20220907153551-7.png||height="502" width="740"]]
192 192  
163 +After configure the server address and **reset the device** (via AT+ATZ ), NSPH01 will start to uplink sensor values to CoAP server.
193 193  
194 -After configure the server address and (% style="color:green" %)**reset the device (via AT+ATZ )**(%%), NSPH01 will start to uplink sensor values to CoAP server.
195 -
196 -
165 +(% style="text-align:center" %)
197 197  [[image:image-20220907153612-8.png||height="529" width="729"]]
198 198  
199 199  
169 +**2.2.5 Use UDP protocol to uplink data(Default protocol)**
200 200  
201 -=== 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
202 -
203 -
204 204  This feature is supported since firmware version v1.0.1
205 205  
206 -* (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/  Set to use UDP protocol to uplink
207 -* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/  to set UDP server address and port
208 -* (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/  If the server does not respond, this command is unnecessar
173 +* **AT+PRO=2   ** ~/~/ Set to use UDP protocol to uplink
174 +* **AT+SERVADDR=120.24.4.116,5601   ** ~/~/ to set UDP server address and port
175 +* **AT+CFM=1       ** ~/~/If the server does not respond, this command is unnecessar
209 209  
177 +(% style="text-align:center" %)
210 210  [[image:image-20220907153643-9.png||height="401" width="734"]]
211 211  
212 -
180 +(% style="text-align:center" %)
213 213  [[image:image-20220907153703-10.png||height="309" width="738"]]
214 214  
215 215  
184 +**2.2.6 Use MQTT protocol to uplink data**
216 216  
217 -=== 2.2.6 Use MQTT protocol to uplink data ===
218 -
219 -
220 220  This feature is supported since firmware version v110
221 221  
222 -* (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/ Set to use MQTT protocol to uplink
223 -* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/ Set MQTT server address and port
224 -* (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%) ~/~/ Set up the CLIENT of MQTT
225 -* (% style="color:blue" %)**AT+UNAME=UNAME                               **(%%)~/~/ Set the username of MQTT
226 -* (% style="color:blue" %)**AT+PWD=PWD                                        **(%%)~/~/ Set the password of MQTT
227 -* (% style="color:blue" %)**AT+PUBTOPIC=NSE01_PUB                    **(%%)~/~/ Set the sending topic of MQTT
228 -* (% style="color:blue" %)**AT+SUBTOPIC=NSE01_SUB          ** (%%) ~/~/ Set the subscription topic of MQTT
188 +* **AT+PRO=3   ** ~/~/Set to use MQTT protocol to uplink
189 +* **AT+SERVADDR=120.24.4.116,1883   ** ~/~/Set MQTT server address and port
190 +* **AT+CLIENT=CLIENT       ** ~/~/Set up the CLIENT of MQTT
191 +* **AT+UNAME=UNAME                               **~/~/Set the username of MQTT
192 +* **AT+PWD=PWD                                        **~/~/Set the password of MQTT
193 +* **AT+PUBTOPIC=NSE01_PUB                    **~/~/Set the sending topic of MQTT
194 +* **AT+SUBTOPIC=NSE01_SUB          ** ~/~/Set the subscription topic of MQTT
229 229  
196 +(% style="text-align:center" %)
230 230  [[image:image-20220907153739-11.png||height="491" width="764"]]
231 231  
232 -
199 +(% style="text-align:center" %)
233 233  [[image:image-20220907153751-12.png||height="555" width="769"]]
234 234  
235 -
236 236  MQTT protocol has a much higher power consumption compare vs UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.
237 237  
204 +**2.2.7 Use TCP protocol to uplink data**
238 238  
239 -
240 -
241 -=== 2.2.7 Use TCP protocol to uplink data ===
242 -
243 -
244 244  This feature is supported since firmware version v110
245 245  
246 -* (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
247 -* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   ** (%%) ~/~/ to set TCP server address and port
208 +* **AT+PRO=4   ** ~/~/ Set to use TCP protocol to uplink
209 +* **AT+SERVADDR=120.24.4.116,5600   ** ~/~/ to set TCP server address and port
248 248  
211 +(% style="text-align:center" %)
249 249  [[image:image-20220907153818-13.png||height="486" width="668"]]
250 250  
251 -
214 +(% style="text-align:center" %)
252 252  [[image:image-20220907153827-14.png||height="236" width="684"]]
253 253  
217 +**2.2.8 Change Update Interval**
254 254  
219 +User can use below command to change the **uplink interval**.
255 255  
256 -=== 2.2.8 Change Update Interval ===
221 +* **AT+TDC=600      ** ~/~/ Set Update Interval to 600s
257 257  
223 +**NOTE:**
258 258  
259 -Users can use the below command to change the **uplink interval**.
225 +**~1. By default, the device will send an uplink message every 2 hour.**
260 260  
261 -* (% style="color:blue" %)**AT+TDC=7200      ** (%%) ~/~/ Set Update Interval to 7200s (2 hour)
227 +**2.3  Uplink Payload**
262 262  
263 -(% style="color:red" %)**NOTE: By default, the device will send an uplink message every 2 hours. Each Uplink Include 8 set of records in this 2 hour (15 minute interval / record).**
264 -
265 -
266 -
267 -== 2.3  Uplink Payload ==
268 -
269 -
270 270  In this mode, uplink payload includes 87 bytes in total by default.
271 271  
272 272  Each time the device uploads a data package, 8 sets of recorded data will be attached. Up to 32 sets of recorded data can be uploaded.
273 273  
274 -(% border="2" style="background-color:#ffffcc; color:green; width:1160px" %)
275 -|(% style="width:96px" %)**Size(bytes)**|(% style="width:83px" %)**8**|(% style="width:44px" %)**2**|(% style="width:42px" %)**2**|(% style="width:124px" %)1|(% style="width:57px" %)1|(% style="width:80px" %)1|(% style="width:69px" %)2|(% style="width:134px" %)2|(% style="width:98px" %)4|(% style="width:134px" %)2|(% style="width:68px" %)2|(% style="width:125px" %)4
276 -|(% style="width:96px" %)**Value**|(% style="width:83px" %)Device ID|(% style="width:44px" %)Ver|(% style="width:42px" %)BAT|(% style="width:124px" %)Signal Strength|(% style="width:57px" %)MOD|(% style="width:80px" %)Interrupt|(% style="width:69px" %)Soil PH|(% style="width:134px" %)Soil Temperature|(% style="width:98px" %)Time stamp|(% style="width:134px" %)Soil Temperature|(% style="width:68px" %)Soil PH|(% style="width:125px" %)Time stamp  .....
233 +(% style="width:934px" %)
234 +|(% style="width:93px" %)**Size(bytes)**|(% style="width:82px" %)**8**|(% style="width:43px" %)**2**|(% style="width:41px" %)**2**|(% style="width:126px" %)**1**|(% style="width:54px" %)**1**|(% style="width:84px" %)1|(% style="width:75px" %)2|(% style="width:133px" %)2|(% style="width:70px" %)2|(% style="width:127px" %)4   
235 +|(% style="width:93px" %)**Value**|(% style="width:82px" %)Device ID|(% style="width:43px" %)Ver|(% style="width:41px" %)BAT|(% style="width:126px" %)Signal Strength|(% style="width:54px" %)MOD|(% style="width:84px" %)Interrupt|(% style="width:75px" %)Soil PH|(% style="width:133px" %)Soil Temperature|(% style="width:70px" %)Soil PH|(% style="width:127px" %)Time stamp  .....
277 277  
278 278  If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NSPH01 uplink data.
279 279  
239 +(% style="text-align:center" %)
280 280  [[image:image-20220907153902-15.png||height="581" width="804"]]
281 281  
282 282  
283 283  The payload is ASCII string, representative same HEX:
284 284  
285 -0x(% style="color:red" %)f868411056754138(% style="color:blue" %)0064(% style="color:green" %)0c78(% style="color:red" %)17(% style="color:blue" %)01(% style="color:green" %)00(% style="color:red" %)**//0225010b6315537b//**010b0226631550fb//**010e022663154d77**//01110225631549f1//**011502246315466b**//01190223631542e5//**011d022163153f62**//011e022163153bde//**011e022163153859**//(%%) where:
245 +0xf86841105675413800640c781701000225010b6315537b010b0226631550fb010e022663154d7701110225631549f1011502246315466b01190223631542e5011d022163153f62011e022163153bde011e022163153859 where:
286 286  
287 -* (% style="color:red" %)Device ID: 0xf868411056754138 = f868411056754138
288 -* (% style="color:blue" %)Version: 0x0064=100=1.0.0
289 -* (% style="color:green" %)BAT: 0x0c78 = 3192 mV = 3.192V
290 -* (% style="color:red" %)Singal: 0x17 = 23
291 -* (% style="color:blue" %)Mod: 0x01 = 1
292 -* (% style="color:green" %)Interrupt: 0x00= 0
247 +* Device ID: 0xf868411056754138 = f868411056754138
248 +* Version: 0x0064=100=1.0.0
249 +
250 +* BAT: 0x0c78 = 3192 mV = 3.192V
251 +* Singal: 0x17 = 23
252 +* Mod: 0x01 = 1
253 +* Interrupt: 0x00= 0
293 293  * Soil PH: 0x0225= 549 = 5.49
294 -* Soil Temperature: 0x010B =267=26.7 °C
295 -* Time stamp : 0x6315537b =1662342011  ([[Unix Epoch Time>>url:http://www.epochconverter.com/]])
255 +* Soil Temperature:0x010B =267=26.7 °C
256 +* Time stamp : 0x6315537b =1662342011
296 296  * Soil Temperature,Soil PH,Time stamp : 010b0226631550fb
297 -* (% style="color:red" %)8 sets of recorded data: Temperature,Soil PH,Time stamp : 010e022663154d77,.......
258 +* 8 sets of recorded data: Temperature,Soil PH,Time stamp : 010e022663154d77,.......
298 298  
260 +**2.4  Payload Explanation and Sensor Interface**
299 299  
262 +**2.4.1  Device ID**
300 300  
301 -== 2.4  Payload Explanation and Sensor Interface ==
302 -
303 -
304 -=== 2.4.1  Device ID ===
305 -
306 -
307 307  By default, the Device ID equal to the last 15 bits of IMEI.
308 308  
309 -User can use (% style="color:blue" %)**AT+DEUI** (%%)to set Device ID
266 +User can use **AT+DEUI** to set Device ID
310 310  
311 -
312 312  **Example:**
313 313  
314 314  AT+DEUI=868411056754138
... ... @@ -315,20 +315,14 @@
315 315  
316 316  The Device ID is stored in a none-erase area, Upgrade the firmware or run AT+FDR won't erase Device ID.
317 317  
274 +**2.4.2  Version Info**
318 318  
319 -
320 -=== 2.4.2  Version Info ===
321 -
322 -
323 323  Specify the software version: 0x64=100, means firmware version 1.00.
324 324  
325 325  For example: 0x00 64 : this device is NSPH01 with firmware version 1.0.0.
326 326  
280 +**2.4.3  Battery Info**
327 327  
328 -
329 -=== 2.4.3  Battery Info ===
330 -
331 -
332 332  Check the battery voltage for NSPH01.
333 333  
334 334  Ex1: 0x0B45 = 2885mV
... ... @@ -335,11 +335,8 @@
335 335  
336 336  Ex2: 0x0B49 = 2889mV
337 337  
288 +**2.4.4  Signal Strength**
338 338  
339 -
340 -=== 2.4.4  Signal Strength ===
341 -
342 -
343 343  NB-IoT Network signal Strength.
344 344  
345 345  **Ex1: 0x1d = 29**
... ... @@ -354,11 +354,8 @@
354 354  
355 355  **99**    Not known or not detectable
356 356  
304 +**2.4.5  Soil PH**
357 357  
358 -
359 -=== 2.4.5  Soil PH ===
360 -
361 -
362 362  Get the PH content of the soil. The value range of the register is 300-1000(Decimal), divide this value by 100 to get the percentage of PH in the soil.
363 363  
364 364  For example, if the data you get from the register is **__0x05 0xDC__**, the PH content in the soil is
... ... @@ -365,11 +365,8 @@
365 365  
366 366  **0229(H) = 549(D) /100 = 5.49.**
367 367  
312 +**2.4.6  Soil Temperature**
368 368  
369 -
370 -=== 2.4.6  Soil Temperature ===
371 -
372 -
373 373  Get the temperature in the soil. The value range of the register is -4000 - +800(Decimal), divide this value by 100 to get the temperature in the soil. For example, if the data you get from the register is **__0x09 0xEC__**, the temperature content in the soil is
374 374  
375 375  **Example**:
... ... @@ -378,25 +378,19 @@
378 378  
379 379  If payload is FF7EH: ((FF7E & 0x8000)>>15 ===1),temp = (FF7E(H)-FFFF(H))/10 = -12.9 °C
380 380  
322 +**2.4.7  Timestamp**
381 381  
382 -
383 -=== 2.4.7  Timestamp ===
384 -
385 -
386 386  Time stamp : 0x6315537b =1662342011
387 387  
388 388  Convert Unix timestamp to time 2022-9-5 9:40:11.
389 389  
328 +**2.4.8  Digital Interrupt**
390 390  
330 +Digital Interrupt refers to pin **GPIO_EXTI**, and there are different trigger methods. When there is a trigger, the NSPH01 will send a packet to the server.
391 391  
392 -=== 2.4.8  Digital Interrupt ===
393 -
394 -
395 -Digital Interrupt refers to pin (% style="color:blue" %)**GPIO_EXTI**(%%), and there are different trigger methods. When there is a trigger, the NSPH01 will send a packet to the server.
396 -
397 397  The command is:
398 398  
399 -(% style="color:blue" %)**AT+INTMOD=3 ** (%%) ~/~/(more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.**
334 +**AT+INTMOD=3 ** ~/~/(more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.**
400 400  
401 401  The lower four bits of this data field shows if this packet is generated by interrupt or not. Click here for the hardware and software set up.
402 402  
... ... @@ -406,33 +406,34 @@
406 406  
407 407  0x(01): Interrupt Uplink Packet.
408 408  
344 +**2.4.9  ​+5V Output**
409 409  
410 -
411 -=== 2.4.9  ​+5V Output ===
412 -
413 -
414 414  NSPH01 will enable +5V output before all sampling and disable the +5v after all sampling. 
415 415  
416 416  The 5V output time can be controlled by AT Command.
417 417  
418 -(% style="color:blue" %)**AT+5VT=1000**
350 +**AT+5VT=1000**
419 419  
420 420  Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.** **
421 421  
422 422  
355 +**2.5  Downlink Payload**
423 423  
424 -== 2.5  Downlink Payload ==
425 -
426 -
427 427  By default, NSPH01 prints the downlink payload to console port.
428 428  
359 +(% style="text-align:center" %)
429 429  [[image:image-20220907154636-17.png]]
430 430  
431 431  
432 -(% style="color:blue" %)**Examples:**
433 433  
434 -* (% style="color:#037691" %)** Set TDC**
435 435  
365 +
366 +
367 +
368 +**Examples:**
369 +
370 +* **Set TDC**
371 +
436 436  If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
437 437  
438 438  Payload:    01 00 00 1E    TDC=30S
... ... @@ -439,19 +439,16 @@
439 439  
440 440  Payload:    01 00 00 3C    TDC=60S
441 441  
442 -* (% style="color:#037691" %)** Reset**
378 +* **Reset**
443 443  
444 444  If payload = 0x04FF, it will reset the NSPH01
445 445  
446 -* (% style="color:#037691" %)** INTMOD**
382 +* **INTMOD**
447 447  
448 448  Downlink Payload: 06000003, Set AT+INTMOD=3
449 449  
386 +**2.6  ​LED Indicator**
450 450  
451 -
452 -== 2.6  ​LED Indicator ==
453 -
454 -
455 455  The NSPH01 has an internal LED which is to show the status of different state.
456 456  
457 457  * When power on, NSPH01 will detect if sensor probe is connected, if probe detected, LED will blink four times. (no blinks in this step is no probe)
... ... @@ -459,25 +459,16 @@
459 459  * After NSPH01 join NB-IoT network. The LED will be ON for 3 seconds.
460 460  * For each uplink probe, LED will be on for 500ms.
461 461  
395 +**2.7 Installation and Maintain**
462 462  
397 +**2.7.1 Before measurement**
463 463  
464 -
465 -== 2.7  Installation and Maintain ==
466 -
467 -
468 -=== 2.7.1  Before measurement ===
469 -
470 -
471 471  If the NSPH01 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. 
472 472  
401 +**2.7.2 Measurement**
473 473  
403 +**Measurement the soil surface:**
474 474  
475 -=== 2.7.2  Measurement ===
476 -
477 -
478 -(% style="color:#037691" %)**Measurement the soil surface:**
479 -
480 -
481 481  [[image:image-20220907154700-18.png]] ​
482 482  
483 483  Choose the proper measuring position. Split the surface soil according to the measured deep.
... ... @@ -488,18 +488,14 @@
488 488  
489 489  Put soil over the probe after insert. And start to measure.
490 490  
415 +**Measurement inside soil:**
491 491  
492 -(% style="color:#037691" %)**Measurement inside soil:**
493 -
494 494  Dig a hole with diameter > 20CM.
495 495  
496 496  Insert the probe inside, method like measure the surface.
497 497  
421 +**2.7.3 Maintain Probe**
498 498  
499 -
500 -=== 2.7.3  Maintain Probe ===
501 -
502 -
503 503  1. pH probe electrode is fragile and no strong. User must avoid strong force or hitting it.
504 504  1. 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.
505 505  1. Probe reference electrode is also no strong, need to avoid strong force or hitting.
... ... @@ -507,15 +507,12 @@
507 507  1. Avoid the probes to touch oily matter. Which will cause issue in accuracy.
508 508  1. The probe is IP68 can be put in water.
509 509  
430 +**2.8 PH and Temperature alarm function**
510 510  
432 +➢ AT Command:
511 511  
512 -== 2.8  PH and Temperature alarm function ==
434 +AT+ PHALARM=min,max
513 513  
514 -
515 -(% style="color:#037691" %)**➢ AT Command:**
516 -
517 -(% style="color:blue" %)**AT+ PHALARM=min,max**
518 -
519 519  ² When min=3, and max≠0, Alarm higher than max
520 520  
521 521  ² When min≠0, and max=0, Alarm lower than min
... ... @@ -522,11 +522,10 @@
522 522  
523 523  ² When min≠0 and max≠0, Alarm higher than max or lower than min
524 524  
442 +Example:
525 525  
526 -(% style="color:blue" %)**Example:**
444 +AT+ PHALARM =3,5 ~/~/ Alarm when PH lower than 5.
527 527  
528 -AT+ PHALARM =5,8  ~/~/ Alarm when PH lower than 5.
529 -
530 530  AT+ TEMPALARM=min,max
531 531  
532 532  ² When min=0, and max≠0, Alarm higher than max
... ... @@ -535,71 +535,55 @@
535 535  
536 536  ² When min≠0 and max≠0, Alarm higher than max or lower than min
537 537  
454 +Example:
538 538  
539 -(% style="color:blue" %)**Example:**
456 +AT+ TEMPALARM=0,20 ~/~/ Alarm when temperature lower than 20.
540 540  
541 -AT+ TEMPALARM=20,30  ~/~/ Alarm when temperature lower than 20.
542 542  
459 +**2.9 Set the number of data to be uploaded and the recording time**
543 543  
461 +➢ AT Command:
544 544  
545 -== 2.Set the number of data to be uploaded and the recording time ==
463 +AT+TR=900  ~/~/The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds)
546 546  
547 547  
548 -(% style="color:#037691" %)**➢ AT Command:**
466 +AT+NOUD=8  ~/~/The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
549 549  
550 -* (% style="color:blue" %)**AT+TR=900**     (%%) ~/~/  The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds)
551 -* (% style="color:blue" %)**AT+NOUD=8**     (%%) ~/~/  The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
468 +**2.10 Read or Clear cached data**
552 552  
470 +➢ AT Command:
553 553  
472 +AT+CDP ~/~/ Read cached data
554 554  
555 -
556 -== 2.10  Read or Clear cached data ==
557 -
558 -
559 -(% style="color:#037691" %)**➢ AT Command:**
560 -
561 -* (% style="color:blue" %)**AT+CDP**        (%%) ~/~/  Read cached data
562 -* (% style="color:blue" %)**AT+CDP=0**  (%%) ~/~/  Clear cached data
563 -
564 -
565 -
566 -
567 567  [[image:image-20220907154700-19.png]]
568 568  
569 569  
477 +AT+CDP=0 ~/~/ Clear cached data
570 570  
571 -== 2.11  Calibration ==
572 572  
480 +**2.11 Calibration**
573 573  
574 574  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).
575 575  
576 576  After stable, user can use below command to calibrate.
577 577  
578 -
579 579  [[image:image-20220907154700-20.png]] ​
580 580  
488 +**2.8  ​Firmware Change Log**
581 581  
582 -
583 -== 2.12  ​Firmware Change Log ==
584 -
585 -
586 586  Download URL & Firmware Change log: [[https:~~/~~/www.dropbox.com/sh/1zmcakvbkf24f8x/AACmq2dZ3iRB9F1nVWeEB9Moa?dl=0>>url:https://www.dropbox.com/sh/1zmcakvbkf24f8x/AACmq2dZ3iRB9F1nVWeEB9Moa?dl=0]]
587 587  
588 -Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
492 +Upgrade Instruction: [[Upgrade Firmware>>path:#H5.1200BHowtoUpgradeFirmware]]
589 589  
494 +**2.9  ​Battery Analysis**
590 590  
496 +**2.9.1  ​Battery Type**
591 591  
592 -== 2.13  ​Battery Analysis ==
593 -
594 -
595 -=== 2.13.1  ​Battery Type ===
596 -
597 -
598 598  The NSPH01 battery is a combination of an 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is none-rechargeable battery type with a low discharge rate (<2% per year). This type of battery is commonly used in IoT devices such as water meter.
599 599  
600 600  The battery is designed to last for several years depends on the actually use environment and update interval. 
601 601  
602 -The battery-related documents as below:
502 +The battery related documents as below:
603 603  
604 604  * [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
605 605  * [[Lithium-Thionyl Chloride Battery datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
... ... @@ -607,18 +607,15 @@
607 607  
608 608  [[image:image-20220907154700-21.png]] ​
609 609  
510 +**2.9.2  Power consumption Analyze**
610 610  
611 -
612 -=== 2.13.2  Power consumption Analyze ===
613 -
614 -
615 615  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.
616 616  
617 617  Instruction to use as below:
618 618  
619 -(% style="color:blue" %)**Step 1:  **(%%)Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[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/]]
516 +**Step 1:  **Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[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/]]
620 620  
621 -(% style="color:#037691" %)**Step 2: **(%%) Open it and choose
518 +**Step 2: ** Open it and choose
622 622  
623 623  * Product Model
624 624  * Uplink Interval
... ... @@ -626,45 +626,34 @@
626 626  
627 627  And the Life expectation in difference case will be shown on the right.
628 628  
629 -
526 +(% style="text-align:center" %)
630 630  [[image:image-20220907154700-22.jpeg]]
631 631  
632 632  ​
633 633  
531 +**2.9.3  ​Battery Note**
634 634  
635 -=== 2.13.3  ​Battery Note ===
636 -
637 -
638 638  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.
639 639  
535 +**2.9.4  Replace the battery**
640 640  
641 -
642 -=== 2.13.4  Replace the battery ===
643 -
644 -
645 645  The default battery pack of NSPH01 includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence without the SPC1520 capacitor, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes).
646 646  
539 +**3. ​ Access NB-IoT Module**
647 647  
648 -
649 -= 3. ​ Access NB-IoT Module =
650 -
651 -
652 652  Users can directly access the AT command set of the NB-IoT module.
653 653  
654 654  The AT Command set can refer the BC35-G NB-IoT Module AT Command: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/]] 
655 655  
656 -
545 +(% style="text-align:center" %)
657 657  [[image:image-20220907154700-23.png]]
658 658  
659 659  ​
660 660  
550 +**4.  Using the AT Commands**
661 661  
662 -= 4.  Using the AT Commands =
552 +**4.1  Access AT Commands**
663 663  
664 -
665 -== 4.1  Access AT Commands ==
666 -
667 -
668 668  See this link for detail:  [[https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]]
669 669  
670 670  AT+<CMD>?  : Help on <CMD>
... ... @@ -675,9 +675,8 @@
675 675  
676 676  AT+<CMD>=?  : Get the value
677 677  
564 +**General Commands**      
678 678  
679 -(% style="color:#037691" %)**General Commands**      
680 -
681 681  AT  : Attention       
682 682  
683 683  AT?  : Short Help     
... ... @@ -702,18 +702,13 @@
702 702  
703 703  AT+TR      : Get or Set record time"
704 704  
705 -AT+APN     : Get or set the APN
706 706  
707 -AT+FBAND   : Get or Set whether to automatically modify the frequency band
708 -
709 -AT+DNSCFG  : Get or Set DNS Server
710 -
711 -AT+GETSENSORVALUE   : Returns the current sensor measurement
712 -
713 713  AT+NOUD      : Get or Set the number of data to be uploaded
714 714  
593 +
715 715  AT+CDP     : Read or Clear cached data
716 716  
596 +
717 717  AT+TEMPALARM      : Get or Set alarm of temp
718 718  
719 719  AT+PHALARM     : Get or Set alarm of PH
... ... @@ -721,18 +721,16 @@
721 721  AT+ PHCAL  : calibrate PH value
722 722  
723 723  
724 -(% style="color:#037691" %)**COAP Management**      
604 +**COAP Management**      
725 725  
726 726  AT+URI            : Resource parameters
727 727  
608 +**UDP Management**
728 728  
729 -(% style="color:#037691" %)**UDP Management**
730 -
731 731  AT+CFM          : Upload confirmation mode (only valid for UDP)
732 732  
612 +**MQTT Management**
733 733  
734 -(% style="color:#037691" %)**MQTT Management**
735 -
736 736  AT+CLIENT               : Get or Set MQTT client
737 737  
738 738  AT+UNAME  : Get or Set MQTT Username
... ... @@ -743,66 +743,45 @@
743 743  
744 744  AT+SUBTOPIC  : Get or Set MQTT subscription topic
745 745  
624 +**Information**          
746 746  
747 -(% style="color:#037691" %)**Information**          
748 -
749 749  AT+FDR  : Factory Data Reset
750 750  
751 751  AT+PWORD  : Serial Access Password
752 752  
630 +**​5.  FAQ**
753 753  
632 +**5.1 ​ How to Upgrade Firmware**
754 754  
755 -= ​5.  FAQ =
756 -
757 -
758 -== 5.1 ​ How to Upgrade Firmware ==
759 -
760 -
761 761  User can upgrade the firmware for 1) bug fix, 2) new feature release.
762 762  
763 763  Please see this link for how to upgrade:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList]]
764 764  
765 -(% style="color:red" %)**Notice, **NSPH01 **and **LSPH01 **share the same mother board. They use the same connection and method to update.**
638 +**Notice, **NSPH01 **and **NSPH01 **share the same mother board. They use the same connection and method to update.**
766 766  
640 +**5.2  Can I calibrate NSPH01 to different soil types?**
767 767  
768 -
769 -== 5.2  Can I calibrate NSPH01 to different soil types? ==
770 -
771 -
772 772  NSPH01 is calibrated for saline-alkali soil and loamy soil. If users want to use it for other soil, they can calibrate the value in the IoT platform base on the value measured by saline-alkali soil and loamy soil. The formula can be found at [[this link>>url:https://www.dragino.com/downloads/downloads/LoRa_End_Node/LSE01/Calibrate_to_other_Soil_20220605.pdf]].
773 773  
644 +**6.  Trouble Shooting**
774 774  
646 +**6.1  ​Connection problem when uploading firmware**
775 775  
776 -= 6.  Trouble Shooting =
777 -
778 -
779 -== 6.1  ​Connection problem when uploading firmware ==
780 -
781 -
782 782  **Please see: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting]]
783 783  
650 +**6.2  AT Command input doesn't work**
784 784  
652 +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 **ENTER** while sending out the command. Some serial tool doesn't send **ENTER** while press the send key, user need to add ENTER in their string.
785 785  
786 -== 6. AT Command input doesn't work ==
654 +**7. Order Info**
787 787  
788 -
789 -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.
790 -
791 -
792 -
793 -= 7. ​ Order Info =
794 -
795 -
796 796  Part Number**:** NSPH01
797 797  
658 +**8.  Packing Info**
798 798  
799 -
800 -= 8.  Packing Info =
801 -
802 -
803 803  **Package Includes**:
804 804  
805 -* NSPH01 NB-IoT pH Sensor x 1
662 +* NSPH01 NB-IoT Soil Moisture & EC Sensor x 1
806 806  * External antenna x 1
807 807  
808 808  **Dimension and weight**:
... ... @@ -810,11 +810,8 @@
810 810  * Size: 195 x 125 x 55 mm
811 811  * Weight:   420g
812 812  
670 +**9.  Support**
813 813  
814 -
815 -= 9.  Support =
816 -
817 -
818 818  * 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.
819 819  * 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]]
820 820  
image-20220912144017-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -149.6 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0