Version 51.9 by Xiaoling on 2022/09/12 15:39

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