Version 33.2 by Xiaoling on 2022/09/13 09:14

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