Version 38.8 by Xiaoling on 2022/10/25 16:25

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