Version 56.11 by Xiaoling on 2023/04/24 09:18

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