Version 56.1 by Edwin Chen on 2022/10/09 00:09

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