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