<
From version < 51.10 >
edited by Xiaoling
on 2022/09/12 15:42
To version < 44.2 >
edited by Xiaoling
on 2022/09/07 17:54
>
Change comment: There is no comment for this version

Summary

Details

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