Version 51.8 by Xiaoling on 2022/09/12 15:36

Show last authors
1 (% style="text-align:center" %)
2 [[image:)YK]Y_LZJIO]J2~~VA}OQJM2.png||height="442" width="410"]]
3
4 **Table of Contents:**
5
6 {{toc/}}
7
8
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 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.
24
25
26 [[image:image-20220907153151-1.png]]
27
28
29 [[image:M_K`YF9`CAYAE\@}3T]FHT$9.png]]
30
31
32
33 == 1.2  Features ==
34
35
36 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
37 * Monitor soil pH with temperature compensation.
38 * Monitor soil temperature
39 * pH and Temperature alarm function
40 * Monitor Battery Level
41 * Support pH calibration by end user
42 * Uplink on periodically
43 * Downlink to change configure
44 * IP66 Waterproof Enclosure
45 * IP68 rate for the Sensor Probe
46 * Ultra-Low Power consumption
47 * AT Commands to change parameters
48 * Micro SIM card slot
49 * 8500mAh Battery for long term use
50
51 == 1.3  Specification ==
52
53
54 (% style="color:#037691" %)**Common DC Characteristics:**
55
56 * Supply Voltage: 2.1v ~~ 3.6v
57 * Operating Temperature: -40 ~~ 85°C
58
59 (% style="color:#037691" %)**NB-IoT Spec:**
60
61 * - B1 @H-FDD: 2100MHz
62 * - B3 @H-FDD: 1800MHz
63 * - B8 @H-FDD: 900MHz
64 * - B5 @H-FDD: 850MHz
65 * - B20 @H-FDD: 800MHz
66 * - B28 @H-FDD: 700MHz
67
68 == 1.4  Probe Specification ==
69
70
71 (% style="color:#037691" %)**Soil pH:**
72
73 * Range: 3 ~~ 10 pH
74 * Resolution: 0.01 pH
75 * Accuracy: ±2% under (0~~50 ℃, Accuracy will poor under 0 due to frozen)
76 * Temperature Compensation Range: 0 ~~ 50℃
77 * IP68 Protection
78 * Length: 3.5 meters
79
80 (% style="color:#037691" %)**Soil Temperature:**
81
82 * Range -40℃~85℃
83 * Resolution: 0.1℃
84 * Accuracy: <±0.5℃(-10℃~40℃),<±0.8℃ (others)
85 * IP68 Protection
86 * Length: 3.5 meters
87
88 == 1.5 ​Applications ==
89
90 * Smart Agriculture
91
92 == 1.6 Pin mapping and power on ==
93
94
95 [[image:image-20220907153300-2.png]]
96
97
98
99 = 2.  Use NSPH01 to communicate with IoT Server =
100
101
102 == 2.1  How it works ==
103
104
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
107 The diagram below shows the working flow in default firmware of NSPH01:
108
109
110 [[image:image-20220907153416-3.png]]
111
112
113
114 == 2.2 ​ Configure the NSPH01 ==
115
116
117 === 2.2.1 Test Requirement ===
118
119
120 To use NSPH01 in the field, make sure meet below requirements:
121
122 * Your local operator has already distributed a NB-IoT Network there.
123 * The local NB-IoT network used the band that NSPH01 supports.
124 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
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.
127
128
129 [[image:image-20220907153445-4.png]]
130
131
132
133 === 2.2.2 Insert SIM card ===
134
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
138 [[image:image-20220907153505-5.png]]
139
140
141
142 === 2.2.3 Connect USB – TTL to NSPH01 to configure it ===
143
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.
146
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 In the PC, use below serial tool settings:
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 *
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.
167
168
169 [[image:image-20220912144017-1.png]]
170
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]]
173
174
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 For parameter description, please refer to AT command set
189
190
191 [[image:image-20220907153551-7.png||height="502" width="740"]]
192
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
197 [[image:image-20220907153612-8.png||height="529" width="729"]]
198
199
200
201 === 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
202
203
204 This feature is supported since firmware version v1.0.1
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
209
210 [[image:image-20220907153643-9.png||height="401" width="734"]]
211
212
213 [[image:image-20220907153703-10.png||height="309" width="738"]]
214
215
216
217 === 2.2.6 Use MQTT protocol to uplink data ===
218
219
220 This feature is supported since firmware version v110
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
229
230 [[image:image-20220907153739-11.png||height="491" width="764"]]
231
232
233 [[image:image-20220907153751-12.png||height="555" width="769"]]
234
235
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
238
239
240
241 === 2.2.7 Use TCP protocol to uplink data ===
242
243
244 This feature is supported since firmware version v110
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
248
249 [[image:image-20220907153818-13.png||height="486" width="668"]]
250
251
252 [[image:image-20220907153827-14.png||height="236" width="684"]]
253
254
255
256 === 2.2.8 Change Update Interval ===
257
258
259 Users can use the below command to change the **uplink interval**.
260
261 * (% style="color:blue" %)**AT+TDC=7200      ** (%%) ~/~/ Set Update Interval to 7200s (2 hour)
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 In this mode, uplink payload includes 87 bytes in total by default.
271
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
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  .....
277
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
280 [[image:image-20220907153902-15.png||height="581" width="804"]]
281
282
283 The payload is ASCII string, representative same HEX:
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:
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
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/]])
296 * Soil Temperature,Soil PH,Time stamp : 010b0226631550fb
297 * (% style="color:red" %)8 sets of recorded data: Temperature,Soil PH,Time stamp : 010e022663154d77,.......
298
299
300
301 == 2.4  Payload Explanation and Sensor Interface ==
302
303
304 === 2.4.1  Device ID ===
305
306
307 By default, the Device ID equal to the last 15 bits of IMEI.
308
309 User can use (% style="color:blue" %)**AT+DEUI** (%%)to set Device ID
310
311
312 **Example:**
313
314 AT+DEUI=868411056754138
315
316 The Device ID is stored in a none-erase area, Upgrade the firmware or run AT+FDR won't erase Device ID.
317
318
319
320 === 2.4.2  Version Info ===
321
322
323 Specify the software version: 0x64=100, means firmware version 1.00.
324
325 For example: 0x00 64 : this device is NSPH01 with firmware version 1.0.0.
326
327
328
329 === 2.4.3  Battery Info ===
330
331
332 Check the battery voltage for NSPH01.
333
334 Ex1: 0x0B45 = 2885mV
335
336 Ex2: 0x0B49 = 2889mV
337
338
339
340 === 2.4.4  Signal Strength ===
341
342
343 NB-IoT Network signal Strength.
344
345 **Ex1: 0x1d = 29**
346
347 **0**  -113dBm or less
348
349 **1**  -111dBm
350
351 **2...30** -109dBm... -53dBm
352
353 **31**   -51dBm or greater
354
355 **99**    Not known or not detectable
356
357
358
359 === 2.4.5  Soil PH ===
360
361
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
364 For example, if the data you get from the register is **__0x05 0xDC__**, the PH content in the soil is
365
366 **0229(H) = 549(D) /100 = 5.49.**
367
368
369
370 === 2.4.6  Soil Temperature ===
371
372
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
375 **Example**:
376
377 If payload is 0105H: ((0x0105 & 0x8000)>>15 === 0),temp = 0105(H)/10 = 26.1 °C
378
379 If payload is FF7EH: ((FF7E & 0x8000)>>15 ===1),temp = (FF7E(H)-FFFF(H))/10 = -12.9 °C
380
381
382
383 === 2.4.7  Timestamp ===
384
385
386 Time stamp : 0x6315537b =1662342011
387
388 Convert Unix timestamp to time 2022-9-5 9:40:11.
389
390
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 The command is:
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]])**.**
400
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
403 Example:
404
405 0x(00): Normal uplink packet.
406
407 0x(01): Interrupt Uplink Packet.
408
409
410
411 === 2.4.9  ​+5V Output ===
412
413
414 NSPH01 will enable +5V output before all sampling and disable the +5v after all sampling. 
415
416 The 5V output time can be controlled by AT Command.
417
418 (% style="color:blue" %)**AT+5VT=1000**
419
420 Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.** **
421
422
423
424 == 2.5  Downlink Payload ==
425
426
427 By default, NSPH01 prints the downlink payload to console port.
428
429 [[image:image-20220907154636-17.png]]
430
431
432 (% style="color:blue" %)**Examples:**
433
434 * (% style="color:#037691" %)** Set TDC**
435
436 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
437
438 Payload:    01 00 00 1E    TDC=30S
439
440 Payload:    01 00 00 3C    TDC=60S
441
442 * (% style="color:#037691" %)** Reset**
443
444 If payload = 0x04FF, it will reset the NSPH01
445
446 * (% style="color:#037691" %)** INTMOD**
447
448 Downlink Payload: 06000003, Set AT+INTMOD=3
449
450
451
452 == 2.6  ​LED Indicator ==
453
454
455 The NSPH01 has an internal LED which is to show the status of different state.
456
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)
458 * Then the LED will be on for 1 second means device is boot normally.
459 * After NSPH01 join NB-IoT network. The LED will be ON for 3 seconds.
460 * For each uplink probe, LED will be on for 500ms.
461
462
463
464
465 == 2.7  Installation and Maintain ==
466
467
468 === 2.7.1  Before measurement ===
469
470
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
473
474
475 === 2.7.2  Measurement ===
476
477
478 (% style="color:#037691" %)**Measurement the soil surface:**
479
480
481 [[image:image-20220907154700-18.png]] ​
482
483 Choose the proper measuring position. Split the surface soil according to the measured deep.
484
485 Put pure water, or rainwater to make the soil of measurement point to moist mud. Remove rocks or hard things.
486
487 Slowly insert the probe to the measure point. Don't use large force which will break the probe. Make sure not shake when inserting.
488
489 Put soil over the probe after insert. And start to measure.
490
491
492 (% style="color:#037691" %)**Measurement inside soil:**
493
494 Dig a hole with diameter > 20CM.
495
496 Insert the probe inside, method like measure the surface.
497
498
499
500 === 2.7.3  Maintain Probe ===
501
502
503 1. pH probe electrode is fragile and no strong. User must avoid strong force or hitting it.
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 1. Probe reference electrode is also no strong, need to avoid strong force or hitting.
506 1. User should keep reference electrode wet while not use.
507 1. Avoid the probes to touch oily matter. Which will cause issue in accuracy.
508 1. The probe is IP68 can be put in water.
509
510
511
512 == 2.8  PH and Temperature alarm function ==
513
514
515 (% style="color:#037691" %)**➢ AT Command:**
516
517 (% style="color:blue" %)**AT+ PHALARM=min,max**
518
519 ² When min=3, and max≠0, Alarm higher than max
520
521 ² When min≠0, and max=0, Alarm lower than min
522
523 ² When min≠0 and max≠0, Alarm higher than max or lower than min
524
525
526 (% style="color:blue" %)**Example:**
527
528 AT+ PHALARM =5,8  ~/~/ Alarm when PH lower than 5.
529
530 AT+ TEMPALARM=min,max
531
532 ² When min=0, and max≠0, Alarm higher than max
533
534 ² When min≠0, and max=0, Alarm lower than min
535
536 ² When min≠0 and max≠0, Alarm higher than max or lower than min
537
538
539 (% style="color:blue" %)**Example:**
540
541 AT+ TEMPALARM=20,30  ~/~/ Alarm when temperature lower than 20.
542
543
544
545 == 2.9  Set the number of data to be uploaded and the recording time ==
546
547
548 (% style="color:#037691" %)**➢ AT Command:**
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.
552
553
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 [[image:image-20220907154700-19.png]]
568
569
570
571 == 2.11  Calibration ==
572
573
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
576 After stable, user can use below command to calibrate.
577
578
579 [[image:image-20220907154700-20.png]] ​
580
581
582
583 == 2.12  ​Firmware Change Log ==
584
585
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
588 Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
589
590
591
592 == 2.13  ​Battery Analysis ==
593
594
595 === 2.13.1  ​Battery Type ===
596
597
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
600 The battery is designed to last for several years depends on the actually use environment and update interval. 
601
602 The battery-related documents as below:
603
604 * [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
605 * [[Lithium-Thionyl Chloride Battery datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
606 * [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
607
608 [[image:image-20220907154700-21.png]] ​
609
610
611
612 === 2.13.2  Power consumption Analyze ===
613
614
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
617 Instruction to use as below:
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/]]
620
621 (% style="color:blue" %)**Step 2: **(%%) Open it and choose
622
623 * Product Model
624 * Uplink Interval
625 * Working Mode
626
627 And the Life expectation in difference case will be shown on the right.
628
629
630 [[image:image-20220907154700-22.jpeg]]
631
632
633
634
635 === 2.13.3  ​Battery Note ===
636
637
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
640
641
642 === 2.13.4  Replace the battery ===
643
644
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
647
648
649 = 3. ​ Access NB-IoT Module =
650
651
652 Users can directly access the AT command set of the NB-IoT module.
653
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
656
657 [[image:image-20220907154700-23.png]]
658
659
660
661
662 = 4.  Using the AT Commands =
663
664
665 == 4.1  Access AT Commands ==
666
667
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
670 AT+<CMD>?  : Help on <CMD>
671
672 AT+<CMD>         : Run <CMD>
673
674 AT+<CMD>=<value> : Set the value
675
676 AT+<CMD>=?  : Get the value
677
678
679 (% style="color:#037691" %)**General Commands**      
680
681 AT  : Attention       
682
683 AT?  : Short Help     
684
685 ATZ  : MCU Reset    
686
687 AT+TDC  : Application Data Transmission Interval
688
689 AT+CFG  : Print all configurations
690
691 AT+CFGMOD           : Working mode selection
692
693 AT+INTMOD            : Set the trigger interrupt mode
694
695 AT+5VT  : Set extend the time of 5V power  
696
697 AT+PRO  : Choose agreement
698
699 AT+RXDL  : Extend the sending and receiving time
700
701 AT+SERVADDR  : Server Address
702
703 AT+TR      : Get or Set record time"
704
705 AT+APN     : Get or set the APN
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 AT+NOUD      : Get or Set the number of data to be uploaded
714
715 AT+CDP     : Read or Clear cached data
716
717 AT+TEMPALARM      : Get or Set alarm of temp
718
719 AT+PHALARM     : Get or Set alarm of PH
720
721 AT+ PHCAL  : calibrate PH value
722
723
724 (% style="color:#037691" %)**COAP Management**      
725
726 AT+URI            : Resource parameters
727
728
729 (% style="color:#037691" %)**UDP Management**
730
731 AT+CFM          : Upload confirmation mode (only valid for UDP)
732
733
734 (% style="color:#037691" %)**MQTT Management**
735
736 AT+CLIENT               : Get or Set MQTT client
737
738 AT+UNAME  : Get or Set MQTT Username
739
740 AT+PWD                  : Get or Set MQTT password
741
742 AT+PUBTOPIC  : Get or Set MQTT publish topic
743
744 AT+SUBTOPIC  : Get or Set MQTT subscription topic
745
746
747 (% style="color:#037691" %)**Information**          
748
749 AT+FDR  : Factory Data Reset
750
751 AT+PWORD  : Serial Access Password
752
753
754
755 = ​5.  FAQ =
756
757
758 == 5.1 ​ How to Upgrade Firmware ==
759
760
761 User can upgrade the firmware for 1) bug fix, 2) new feature release.
762
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
765 (% style="color:red" %)**Notice, NSPH01 and LSPH01 share the same mother board. They use the same connection and method to update.**
766
767
768
769 == 5.2  Can I calibrate NSPH01 to different soil types? ==
770
771
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
774
775
776 = 6.  Trouble Shooting =
777
778
779 == 6.1  ​Connection problem when uploading firmware ==
780
781
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
784
785
786 == 6.2  AT Command input doesn't work ==
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 Part Number**:** NSPH01
797
798
799
800 = 8.  Packing Info =
801
802
803 **Package Includes**:
804
805 * NSPH01 NB-IoT pH Sensor x 1
806 * External antenna x 1
807
808 **Dimension and weight**:
809
810 * Size: 195 x 125 x 55 mm
811 * Weight:   420g
812
813
814
815 = 9.  Support =
816
817
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 * 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
821