Version 50.1 by David Huang on 2022/09/08 09:48

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