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