Version 34.1 by David Huang on 2022/10/08 11:44

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