Version 38.22 by Xiaoling on 2023/05/24 10:08

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