Version 38.12 by Xiaoling on 2022/10/25 16:35

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