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