Version 56.3 by Xiaoling on 2022/10/25 16:39

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