Version 95.5 by Xiaoling on 2024/06/04 12:00

Show last authors
1 (% style="display:none" %) (%%)
2
3 (% style="text-align:center" %)
4 [[image:image-20240525084314-1.png||height="385" width="344"]]
5
6
7
8
9
10
11
12 **Table of Contents :**
13
14 {{toc/}}
15
16
17
18
19
20
21 = 1. Introduction =
22
23 == 1.1 What is LoRaWAN Soil Moisture & EC Sensor ==
24
25
26 The Dragino SE02-LB is a (% style="color:blue" %)**LoRaWAN Soil Moisture & EC Sensor**(%%) for IoT of Agriculture which has 2 sensor probes. It is designed to measure the (% style="color:blue" %)**soil moisture of saline-alkali soil and loamy soil**(%%). The soil sensor uses (% style="color:blue" %)**FDR method**(%%) to calculate the soil moisture with the compensation from soil temperature and conductivity. It also has been calibrated in factory for Mineral soil type.
27
28 It detects (% style="color:blue" %)**Soil Moisture**(%%), (% style="color:blue" %)**Soil Temperature**(%%) and (% style="color:blue" %)**Soil Conductivity**(%%), and uploads the value via wireless to LoRaWAN IoT Server.
29
30 The LoRa wireless technology used in SE02-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.
31
32 SE02-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
33
34 SE02-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%) or (% style="color:blue" %)**solar powered + li-on battery**(%%) it is designed for long term use up to 5 years.
35
36 Each SE02-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
37
38 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SE02-NB_NB-IoT_Soil_Moisture%26EC_Sensor_User_Manual/WebHome/image-20240524144002-3.png?rev=1.1||alt="image-20240524144002-3.png"]]
39
40 == 1.2 ​Features ==
41
42
43 * LoRaWAN 1.0.3 Class A
44 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
45 * Ultra-low power consumption
46 * External 2× sensor probes, probe length: 2.5m
47 * Monitor Soil Moisture
48 * Monitor Soil Temperature
49 * Monitor Soil Conductivity
50 * Support Bluetooth v5.1 and LoRaWAN remote configure
51 * Support wireless OTA update firmware
52 * AT Commands to change parameters
53 * Downlink to change configure
54 * IP66 Waterproof Enclosure
55 * 8500mAh Li/SOCl2 Battery
56
57 == 1.3 Specification ==
58
59
60 (% style="color:blue" %)**Common DC Characteristics:**
61
62 * Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v
63 * Operating Temperature: -40 ~~ 85°C
64
65 (% style="color:blue" %)**Soil Moisture:**
66
67 * Range: 0-100.00 V/V %
68 * Resolution: 0.01 V/V %
69 * Accuracy: ±3% (0-53%)V/V %, ±5% (>53%) V/V %
70 * Measure Method: FDR , with temperature &EC compensate
71
72 (% style="color:blue" %)**Soil Temperature**
73
74 * Range: -40.00℃~85.00℃
75 * Resolution: 0.01℃
76 * Accuracy: -10℃~50℃:<0.3℃ ,All other: <0.6℃
77 * Measure Method: RTD, and calibrate
78
79 (% style="color:blue" %)**Soil Conductivity**
80
81 * Range: 0-20000 uS/cm(25℃)(0-20.0EC)
82 * Resolution: 1 uS/cm
83 * Accuracy: 2%FS
84 * Measure Method: Conductivity , with temperature compensate
85
86 (% style="color:blue" %)**LoRa Spec:**
87
88 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
89 * Max +22 dBm constant RF output vs.
90 * RX sensitivity: down to -139 dBm.
91 * Excellent blocking immunity
92
93 (% style="color:blue" %)**Battery:**
94
95 * Li/SOCI2 un-chargeable battery
96 * Capacity: 8500mAh
97 * Self-Discharge: <1% / Year @ 25°C
98 * Max continuously current: 130mA
99 * Max boost current: 2A, 1 second
100
101 (% style="color:blue" %)**Power Consumption**
102
103 * Sleep Mode: 5uA @ 3.3v
104 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
105
106 == 1.4 Applications ==
107
108
109 * Smart Agriculture
110
111 == 1.5 Sleep mode and working mode ==
112
113
114 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
115
116 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
117
118
119 == 1.6 Button & LEDs ==
120
121
122 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675071855856-879.png?rev=1.1||alt="1675071855856-879.png"]]
123
124 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
125 |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action**
126 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
127 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
128 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
129 )))
130 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
131 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
132 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
133 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
134 )))
135 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode.
136
137 == 1.7 BLE connection ==
138
139
140 SE02-LB support BLE remote configure.
141
142
143 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
144
145 * Press button to send an uplink
146 * Press button to active device.
147 * Device Power on or reset.
148
149 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
150
151
152 == 1.8 Pin Definitions ==
153
154 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/TS01-LB_LoRaWAN_Titling_Sensor_User_Manual/WebHome/image-20230619114112-4.png?rev=1.1||alt="image-20230619114112-4.png"]]
155
156
157 == 1.9 Mechanical ==
158
159 === 1.9.1 for LB version ===
160
161
162 (% style="color:blue" %)**Main Device Dimension:**
163
164 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
165
166
167 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
168
169
170 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
171
172
173 (% style="color:blue" %)**Probe Dimension:**
174
175 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSE01-LoRaWAN%20Soil%20Moisture%20%26%20EC%20Sensor%20User%20Manual/WebHome/image-20221008135912-1.png?rev=1.1||alt="image-20221008135912-1.png"]]
176
177
178 = 2. Configure SE02-LB to connect to LoRaWAN network =
179
180 == 2.1 How it works ==
181
182
183 The SE02-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the SE02-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
184
185 (% style="display:none" %) (%%)
186
187 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
188
189
190 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
191
192 [[image:image-20240524145200-1.png||height="320" width="816"]]
193
194 The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
195
196 (% style="display:none" %)
197
198
199 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SE02-LB.
200
201 Each SE02-LB is shipped with a sticker with the default device EUI as below:
202
203 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
204
205
206 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
207
208
209 (% style="color:blue" %)**Register the device (Enter end device specifics manually):**
210
211 [[image:image-20240603135829-1.png||height="815" width="956"]]
212
213
214 (% style="color:blue" %)**Add APP EUI, DEV EUI and AppKey:**
215
216 [[image:image-20240603135934-2.png]]
217
218
219
220 (% style="color:blue" %)**Step 2:**(%%) Activate on SE02-LB
221
222
223 Press the button for 5 seconds to activate the SE02-LB.
224
225 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
226
227 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
228
229
230 == 2.3 ​Uplink Payload ==
231
232 === 2.3.1 MOD~=0(Default Mode)(% style="display:none" %) (%%) ===
233
234
235 SE02-LB will uplink payload via LoRaWAN with below payload format: 
236
237 (((
238 Uplink payload includes in total 17 bytes.
239 )))
240
241 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
242 |(% style="background-color:#4f81bd; color:white; width:53px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:63px" %)**1**
243 |(% style="width:53px" %)Value|(% style="width:30px" %)[[BAT>>||anchor="H2.3.4BatteryInfo"]]|(% style="width:53px" %)(((
244 (((
245 DS18B20_
246 Temperature
247 )))
248
249 (((
250
251 )))
252 )))|(% style="width:53px" %)[[Soil Moisture>>||anchor="H2.3.5SoilMoisture"]]|(% style="width:53px" %)[[Soil Temperature>>||anchor="H2.3.6SoilTemperature"]]|(% style="width:53px" %)[[Soil Conductivity (EC)>>||anchor="H2.3.7SoilConductivity28EC29"]]|(% style="width:53px" %)Soil Moisture 2|(% style="width:53px" %)Soil Temperature 2|(% style="width:53px" %)Soil Conductivity 2 (EC)|(% style="width:53px" %)(((
253 MOD &
254 Interrupt_flag
255 & Sensor_flag
256 )))
257
258 Example in TTN:
259
260 [[image:image-20240603162118-5.png||height="400" width="1514"]]
261
262
263 === 2.3.2 MOD~=1(Original value) ===
264
265
266 This mode can get the original AD value of moisture and original conductivity (with temperature drift compensation).
267
268 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:517px" %)
269 |(% style="background-color:#4f81bd; color:white; width:53px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:63px" %)**1**
270 |(% style="width:53px" %)Value|(% style="width:30px" %)[[BAT>>||anchor="H2.3.4BatteryInfo"]]|(% style="width:53px" %)(((
271 (((
272 DS18B20_
273 Temperature
274 )))
275
276 (((
277
278 )))
279 )))|(% style="width:53px" %)Reserved position, meaningless|(% style="width:53px" %)[[Soil Moisture>>||anchor="H2.3.5SoilMoisture"]](raw)|(% style="width:53px" %)[[Soil Conductivity (EC)>>||anchor="H2.3.7SoilConductivity28EC29"]](raw)|(% style="width:53px" %)Reserved position, meaningless|(% style="width:53px" %)Soil Moisture 2(raw)|(% style="width:53px" %)Soil Conductivity 2 (EC)(raw)|(% style="width:53px" %)(((
280 MOD &
281 Interrupt_flag
282 & Sensor_flag
283 )))
284
285 Example in TTN:
286
287 [[image:image-20240603161726-4.png||height="401" width="1506"]]
288
289
290 === 2.3.3 Device Status, FPORT~=5 ===
291
292
293 (((
294 Users can use the downlink command(**0x26 01**) to ask SE02-LB to send device configure detail, include device configure status. SE02-LB will uplink a payload via FPort=5 to server.
295
296 The Payload format is as below.
297 )))
298
299 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:490px" %)
300 |=(% colspan="6" style="background-color:#4F81BD;color:white" %)Device Status (FPORT=5)
301 |(% style="width:60px" %)**Size(bytes)**|(% style="width:80px" %)**1**|(% style="width:140px" %)**2**|(% style="width:140px" %)**1**|(% style="width:70px" %)**1**|(% style="width:70px" %)**2**
302 |(% style="width:94px" %)Value|(% style="width:68px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:86px" %)Frequency Band|(% style="width:61px" %)Sub-band|(% style="width:61px" %)BAT
303
304 [[image:image-20240603144120-3.png||height="439" width="1525"]]
305
306
307 * (% style="color:#037691" %)**Sensor Model**(%%)**:** For SE02-LB, this value is 0xF1
308
309 * (% style="color:#037691" %)**Firmware Version**(%%)**:** 0x0110, Means: v1.1.0 version
310
311 * (% style="color:#037691" %)**Frequency Band**(%%)**:**
312
313 0x01: EU868
314
315 0x02: US915
316
317 0x03: IN865
318
319 0x04: AU915
320
321 0x05: KZ865
322
323 0x06: RU864
324
325 0x07: AS923
326
327 0x08: AS923-1
328
329 0x09: AS923-2
330
331 0x0a: AS923-3
332
333 0x0b: CN470
334
335 0x0c: EU433
336
337 0x0d: KR920
338
339 0x0e: MA869
340
341 * (% style="color:#037691" %)**Sub-Band**(%%)**:**
342 ** AU915 and US915: value 0x00 ~~ 0x08
343 ** CN470: value 0x0B ~~ 0x0C
344 ** Other Bands: Always 0x00
345
346 * (% style="color:#037691" %)**Battery Info:**
347
348 Check the battery voltage.
349
350 Ex1: 0x0B45 = 2885mV
351
352 Ex2: 0x0B49 = 2889mV
353
354
355 === 2.3.4 Battery Info ===
356
357
358 (((
359 Check the battery voltage for SE02-LB.
360 )))
361
362 (((
363 Ex1: 0x0B45 = 2885mV
364 )))
365
366 (((
367 Ex2: 0x0B49 = 2889mV
368 )))
369
370
371 === 2.3.5 Soil Moisture ===
372
373
374 (((
375 Get the moisture content of the soil. The value range of the register is 0-10000(Decimal), divide this value by 100 to get the percentage of moisture in the soil.
376 )))
377
378 (((
379 For example, if the data you get from the register is **__0x05 0xDC__**, the moisture content in the soil is (% style="color:blue" %)**05DC(H) = 1500(D) /100 = 15%.**
380 )))
381
382
383 === 2.3.6 Soil Temperature ===
384
385
386 (((
387 Get the temperature in the soil. The value range of the register is -4000 - +800(Decimal), divide this value by 100 to get the temperature in the soil. For example, if the data you get from the register is 0x09 0xEC, the temperature content in the soil is
388 )))
389
390 (((
391 **Example**:
392 )))
393
394 (((
395 If payload is 0105H: ((0x0105 & 0x8000)>>15 === 0),temp = 0105(H)/100 = 2.61 °C
396 )))
397
398 (((
399 If payload is FF7EH: ((FF7E & 0x8000)>>15 ===1),temp = (FF7E(H)-FFFF(H))/100 = -1.29 °C
400 )))
401
402
403 === 2.3.7 Soil Conductivity (EC) ===
404
405
406 (((
407 Obtain (% style="color:blue" %)**__soluble salt concentration__**(%%) in soil or (% style="color:blue" %)**__soluble ion concentration in liquid fertilizer__**(%%) or (% style="color:blue" %)**__planting medium__**(%%). The value range of the register is 0 - 20000(Decimal)( Can be greater than 20000).
408 )))
409
410 (((
411 For example, if the data you get from the register is 0x00 0xC8, the soil conductivity is 00C8(H) = 200(D) = 200 uS/cm.
412 )))
413
414 (((
415 Generally, the EC value of irrigation water is less than 800uS / cm.
416 )))
417
418 (((
419
420 )))
421
422 === 2.3.8 MOD ===
423
424
425 SE02-LB supports changing mode.
426
427 **For example,** bytes[16]=10
428
429 mod=(bytes[16]>>7)&0x01=0.
430
431
432 (% style="color:blue" %)**Downlink Command:**
433
434 If payload = 0x0A00, workmode=0
435
436 If** **payload =** **0x0A01, workmode=1
437
438
439 === 2.3.9 Interrupt_flag ===
440
441
442 Displays whether upstream packets are generated by interrupt.
443
444 **0:** Normal uplink packet.
445
446 **1:** Interrupt Uplink Packet.
447
448 **For example,** bytes[16]=10
449
450 mod=bytes[16] &0x01=0.
451
452
453 === 2.3.10 Sensor_flag ===
454
455
456 Displays whether sensors are connected.
457
458 **0:** Sensor connection not detected.
459
460 **1:** Sensor connection detected.
461
462 **For example,** bytes[16]=10
463
464 mod=(bytes[16]>>4)&0x01=1.
465
466
467
468 === 2.3.11 ​Decode payload in The Things Network ===
469
470
471 While using TTN network, you can add the payload format to decode the payload.
472
473 [[image:image-20240603163123-6.png||height="792" width="1120"]]
474
475 (((
476 The payload decoder function for TTN is here:
477 )))
478
479 (((
480 SE02-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
481
482
483 )))
484
485 == 2.4 Uplink Interval ==
486
487
488 The SE02-LB by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: [[Change Uplink Interval>>doc:Main.End Device AT Commands and Downlink Command.WebHome||anchor="H4.1ChangeUplinkInterval"]]
489
490
491 == 2.5 Downlink Payload ==
492
493
494 By default, LSE01 prints the downlink payload to console port.
495
496 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:480px" %)
497 |=(% style="width: 184px; background-color:#4F81BD;color:white" %)**Downlink Control Type**|=(% style="width: 56px; background-color:#4F81BD;color:white" %)FPort|=(% style="width: 94px; background-color:#4F81BD;color:white" %)**Type Code**|=(% style="width: 146px; background-color:#4F81BD;color:white" %)**Downlink payload size(bytes)**
498 |(% style="width:183px" %)TDC (Transmit Time Interval)|(% style="width:55px" %)Any|(% style="width:93px" %)01|(% style="width:146px" %)4
499 |(% style="width:183px" %)RESET|(% style="width:55px" %)Any|(% style="width:93px" %)04|(% style="width:146px" %)2
500 |(% style="width:183px" %)AT+CFM|(% style="width:55px" %)Any|(% style="width:93px" %)05|(% style="width:146px" %)4
501 |(% style="width:183px" %)INTMOD|(% style="width:55px" %)Any|(% style="width:93px" %)06|(% style="width:146px" %)4
502 |(% style="width:183px" %)MOD|(% style="width:55px" %)Any|(% style="width:93px" %)0A|(% style="width:146px" %)2
503
504 (((
505 (% style="color:blue" %)**Examples:**
506 )))
507
508 * (((
509 (% style="color:blue" %)**Set TDC**
510 )))
511
512 (((
513 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
514 )))
515
516 (((
517 Payload:    01 00 00 1E    TDC=30S
518 )))
519
520 (((
521 Payload:    01 00 00 3C    TDC=60S
522 )))
523
524 (((
525
526 )))
527
528 * (((
529 (% style="color:blue" %)**Reset**
530 )))
531
532 (((
533 If payload = 0x04FF, it will reset the SE02-LB
534 )))
535
536
537 * (% style="color:blue" %)**CFM**
538
539 Downlink Payload: 05000001, Set AT+CFM=1 or 05000000 , set AT+CFM=0
540
541
542 == 2.6 Datalog Feature ==
543
544
545 Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, SE02-LB will store the reading for future retrieving purposes.
546
547
548 === 2.6.1 Ways to get datalog via LoRaWAN ===
549
550
551 Set PNACKMD=1, SE02-LB will wait for ACK for every uplink, when there is no LoRaWAN network,SE02-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
552
553 * (((
554 a) SE02-LB will do an ACK check for data records sending to make sure every data arrive server.
555 )))
556 * (((
557 b) SE02-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but SE02-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if SE02-LB gets a ACK, SE02-LB will consider there is a network connection and resend all NONE-ACK messages.
558
559
560 )))
561
562 === 2.6.2 Unix TimeStamp ===
563
564
565 SE02-LB uses Unix TimeStamp format based on
566
567 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
568
569 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
570
571 Below is the converter example
572
573 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
574
575
576 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
577
578
579 === 2.6.3 Set Device Time ===
580
581
582 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
583
584 Once SE02-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to SE02-LB. If SE01-LB fails to get the time from the server, SE02-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
585
586 (% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
587
588
589 === 2.6.4 Datalog Uplink payload (FPORT~=3) ===
590
591
592 The Datalog uplinks will use below payload format.
593
594 **Retrieval data payload:**
595
596 (% style="color:blue" %)**MOD=0:**
597
598 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
599 |=(% style="width:60px;background-color:#4F81BD;color:white" %)(((
600 **Size(bytes)**
601 )))|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**1**|=(% style="background-color:#4F81BD;color:white" %)**4**
602 |Value|Humidity|(((
603 Temperature
604 )))|Soil Conductivity (EC)|(((
605 MOD& Level of PA8
606 )))|Unix Time Stamp
607
608 (% style="color:blue" %)**MOD=1:**
609
610 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
611 |=(% style="width:60px;background-color:#4F81BD;color:white" %)(((
612 **Size(bytes)**
613 )))|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**1**|=(% style="background-color:#4F81BD;color:white" %)**4**
614 |Value|soil dielectric constant|(((
615 raw water soil
616 )))|raw conduct soil|(((
617 MOD& Level of PA8
618 )))|Unix Time Stamp
619
620 (% style="color:blue" %)**Poll Message Flag**(%%): 1: This message is a poll message reply.
621
622 * Poll Message Flag is set to 1.
623
624 * Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
625
626 For example, in US915 band, the max payload for different DR is:
627
628 (% style="color:blue" %)**a) DR0:**(%%) max is 11 bytes so one entry of data
629
630 (% style="color:blue" %)**b) DR1:**(%%) max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
631
632 (% style="color:blue" %)**c) DR2:**(%%) total payload includes 11 entries of data
633
634 (% style="color:blue" %)**d) DR3:**(%%) total payload includes 22 entries of data.
635
636 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
637
638
639 **Example:**
640
641 If SE02-LB has below data inside Flash:
642
643 [[image:image-20230606163540-1.png]]
644
645 If user sends below downlink command: 31646D84E1646D856C05
646
647 Where : Start time: 646D84E1 = time 23/5/24 03:30:41
648
649 Stop time: 646D856C= time 23/5/24 03:33:00
650
651
652 === 2.6.5 Poll sensor value ===
653
654
655 Users can poll sensor values based on timestamps. Below is the downlink command.
656
657 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:425.818px" %)
658 |(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
659 |(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
660 |(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
661
662 (((
663 Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
664 )))
665
666 (((
667 For example, downlink command [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/image-20220518162852-1.png?rev=1.1||alt="image-20220518162852-1.png"]]
668 )))
669
670 (((
671 Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
672 )))
673
674 (((
675 Uplink Internal =5s,means SE02-LB will send one packet every 5s. range 5~~255s.
676 )))
677
678
679 == 2.7 Frequency Plans ==
680
681
682 The SE02-LB uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
683
684 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
685
686
687 == 2.8 Installation in Soil ==
688
689
690 (% style="color:blue" %)**Measurement the soil surface**
691
692 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSE01-LoRaWAN%20Soil%20Moisture%20%26%20EC%20Sensor%20User%20Manual/WebHome/1654506634463-199.png?rev=1.1||alt="1654506634463-199.png"]] ​
693
694 (((
695 (((
696 Choose the proper measuring position. Avoid the probe to touch rocks or hard things. Split the surface soil according to the measured deep. Keep the measured as original density. Vertical insert the probe into the soil to be measured. Make sure not shake when inserting.
697 )))
698 )))
699
700
701 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSE01-LoRaWAN%20Soil%20Moisture%20%26%20EC%20Sensor%20User%20Manual/WebHome/1654506665940-119.png?rev=1.1||alt="1654506665940-119.png"]]
702
703 (((
704 Dig a hole with diameter > 20CM.
705 )))
706
707 (((
708 Horizontal insert the probe to the soil and fill the hole for long term measurement.
709
710
711 )))
712
713 = 3. Configure SE02-LB =
714
715 == 3.1 Configure Methods ==
716
717
718 SE02-LB supports below configure method:
719
720 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
721
722 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
723
724 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
725
726 == 3.2 General Commands ==
727
728
729 These commands are to configure:
730
731 * General system settings like: uplink interval.
732
733 * LoRaWAN protocol & radio related command.
734
735 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
736
737 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
738
739
740 == 3.3 Commands special design for SE02-LB ==
741
742
743 These commands only valid for SE02-LB, as below:
744
745
746 === 3.3.1 Set Transmit Interval Time ===
747
748
749 (((
750 Feature: Change LoRaWAN End Node Transmit Interval.
751 )))
752
753 (((
754 (% style="color:blue" %)**AT Command: AT+TDC**
755 )))
756
757 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
758 |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
759 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
760 30000
761 OK
762 the interval is 30000ms = 30s
763 )))
764 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
765 OK
766 Set transmit interval to 60000ms = 60 seconds
767 )))
768
769 (((
770 (% style="color:blue" %)**Downlink Command: 0x01**
771 )))
772
773 (((
774 Format: Command Code (0x01) followed by 3 bytes time value.
775 )))
776
777 (((
778 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
779 )))
780
781 * (((
782 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
783 )))
784
785 * (((
786 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
787
788
789
790 )))
791
792 === 3.3.2 Quit AT Command ===
793
794
795 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
796
797 (% style="color:blue" %)**AT Command: AT+DISAT**
798
799 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:452px" %)
800 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 198px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 99px;background-color:#4F81BD;color:white" %)**Response**
801 |(% style="width:155px" %)AT+DISAT|(% style="width:198px" %)Quit AT Commands mode|(% style="width:96px" %)OK
802
803 (% style="color:blue" %)**Downlink Command:**
804
805 No downlink command for this feature.
806
807
808 === 3.3.3 Set Interrupt Mode ===
809
810
811 Feature, Set Interrupt mode for GPIO_EXTI of pin.
812
813 When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
814
815 (% style="color:blue" %)**AT Command: AT+INTMOD**
816
817 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
818 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
819 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
820 0
821 OK
822 the mode is 0 =Disable Interrupt
823 )))
824 |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
825 Set Transmit Interval
826 0. (Disable Interrupt),
827 ~1. (Trigger by rising and falling edge)
828 2. (Trigger by falling edge)
829 3. (Trigger by rising edge)
830 )))|(% style="width:157px" %)OK
831
832 (% style="color:blue" %)**Downlink Command: 0x06**
833
834 Format: Command Code (0x06) followed by 3 bytes.
835
836 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
837
838 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
839
840 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
841
842 === 3.3.4 Set Power Output Duration ===
843
844
845 Control the output duration 5V . Before each sampling, device will
846
847 ~1. first enable the power output to external sensor,
848
849 2. keep it on as per duration, read sensor value and construct uplink payload
850
851 3. final, close the power output.
852
853 (% style="color:blue" %)**AT Command: AT+5VT**
854
855 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
856 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
857 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
858 OK
859 |(% style="width:154px" %)AT+5VT=500|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK
860
861 (% style="color:blue" %)**Downlink Command: 0x07**
862
863 Format: Command Code (0x07) followed by 2 bytes.
864
865 The first and second bytes are the time to turn on.
866
867 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
868
869 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
870
871 = 4. Battery & Power Consumption =
872
873
874 SE02-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
875
876 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
877
878
879 = 5. OTA Firmware update =
880
881
882 (% class="wikigeneratedid" %)
883 User can change firmware SE02-LB to:
884
885 * Change Frequency band/ region.
886
887 * Update with new features.
888
889 * Fix bugs.
890
891 Firmware and changelog can be downloaded from : [[**Firmware download link**>>https://www.dropbox.com/scl/fo/x07vfok7xy7un557ercc0/AM_GV4LlQxARS2wPfJssKEk?rlkey=r2ud4zbtjnd1leyhbe56740sn&st=uh9gt4tq&dl=0]]
892
893 Methods to Update Firmware:
894
895 * (Recommanded way) OTA firmware update via wireless:   [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
896
897 * Update through UART TTL interface. **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
898
899 = 6. FAQ =
900
901 == 6.1 AT Commands input doesn't work ==
902
903
904 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.
905
906
907 == 6.2 Can I calibrate SE02-LB to different soil types? ==
908
909
910 SE01-LB can be used to measure EC/Moisture in different type of soil event concrete.
911
912 (((
913 SE02-LB is calibrated for saline-alkali soil and loamy soil. If users want to use it for other soil, they can calibrate the value in the IoT platform base on the value measured by saline-alkali soil and loamy soil. The formula can be found at [[this link>>https://www.dragino.com/downloads/downloads/LoRa_End_Node/LSE01/Calibrate_to_other_Soil_20230522.pdf]].
914 )))
915
916
917 == 6.3 ​Why I can't join TTN in US915 / AU915 bands? ==
918
919
920 It is due to channel mapping. Please see the [[Eight Channel Mode>>doc:Main.End Device AT Commands and Downlink Command.WebHome||anchor="H7.19EightChannelMode"]] section above for details.
921
922
923 = 7. Order Info =
924
925
926 **Part Number: (% style="color:blue" %)SE02-LB-XX (%%)**
927
928 (% style="color:red" %)**XX**(%%): The default frequency band
929
930 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
931
932 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
933
934 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
935
936 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
937
938 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
939
940 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
941
942 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
943
944 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
945
946 = 8. ​Packing Info =
947
948
949 (% style="color:#037691" %)**Package Includes**:
950
951 * SE02-LB LoRaWAN Soil Moisture & EC Sensor
952
953 (% style="color:#037691" %)**Dimension and weight**:
954
955 * Device Size: cm
956
957 * Device Weight: g
958
959 * Package Size / pcs : cm
960
961 * Weight / pcs : g
962
963 = 9. Support =
964
965
966 * 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.
967
968 * 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.cc>>mailto:Support@dragino.cc]].