Version 81.1 by Bei Jinggeng on 2023/06/27 18:03

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20230131183542-1.jpeg||_mstalt="470678" height="694" width="694"]]
3
4 **Table of Contents:**
5
6 {{toc/}}
7
8
9
10
11
12
13
14
15
16
17
18
19
20 = 1. Introduction =
21
22 == 1.1 ​What is SDI-12 to LoRaWAN Converter ==
23
24
25 (((
26 The Dragino (% style="color:blue" %)**SDI-12-LB**(%%) is a (% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution.
27 )))
28
29 (((
30 SDI-12 (Serial Digital Interface at 1200 baud) is an asynchronous [[serial communications>>url:https://en.wikipedia.org/wiki/Serial_communication]] protocol for intelligent sensors that monitor environment data. SDI-12 protocol is widely used in Agriculture sensor and Weather Station sensors.
31 )))
32
33 (((
34 SDI-12-LB has SDI-12 interface and support 12v output to power external SDI-12 sensor. It can get the environment data from SDI-12 sensor and sends out the data via LoRaWAN wireless protocol.
35 )))
36
37 (((
38 The LoRa wireless technology used in SDI-12-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.
39 )))
40
41 (((
42 SDI-12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
43 )))
44
45 (((
46 Each SDI-12-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.
47 )))
48
49
50 [[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]]
51
52
53 == ​1.2 Features ==
54
55
56 * LoRaWAN 1.0.3 Class A
57 * Ultra-low power consumption
58 * Controllable 3.3v, 5v and 12v output to power external sensor
59 * SDI-12 Protocol to connect to SDI-12 Sensor
60 * Monitor Battery Level
61 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
62 * Support Bluetooth v5.1 and LoRaWAN remote configure.
63 * Support wireless OTA update firmware
64 * Uplink on periodically
65 * Downlink to change configure
66 * 8500mAh Battery for long term use
67
68
69 == 1.3 Specification ==
70
71
72 (% style="color:#037691" %)**Micro Controller:**
73
74 * MCU: 48Mhz ARM
75 * Flash: 256KB
76 * RAM: 64KB
77
78 (% style="color:#037691" %)**Common DC Characteristics:**
79
80 * Supply Voltage: 2.5v ~~ 3.6v
81 * Support current: 5V 300mA
82 12V 100mA
83 * Operating Temperature: -40 ~~ 85°C
84
85 (% style="color:#037691" %)**LoRa Spec:**
86
87 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
88 * Max +22 dBm constant RF output vs.
89 * RX sensitivity: down to -139 dBm.
90 * Excellent blocking immunity
91
92 (% style="color:#037691" %)**Current Input Measuring :**
93
94 * Range: 0 ~~ 20mA
95 * Accuracy: 0.02mA
96 * Resolution: 0.001mA
97
98 (% style="color:#037691" %)**Voltage Input Measuring:**
99
100 * Range: 0 ~~ 30v
101 * Accuracy: 0.02v
102 * Resolution: 0.001v
103
104 (% style="color:#037691" %)**Battery:**
105
106 * Li/SOCI2 un-chargeable battery
107 * Capacity: 8500mAh
108 * Self-Discharge: <1% / Year @ 25°C
109 * Max continuously current: 130mA
110 * Max boost current: 2A, 1 second
111
112 (% style="color:#037691" %)**Power Consumption**
113
114 * Sleep Mode: 5uA @ 3.3v
115 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
116
117
118 == 1.4 Connect to SDI-12 Sensor ==
119
120
121 [[image:1675212538524-889.png||_mstalt="298272"]]
122
123
124 == 1.5 Sleep mode and working mode ==
125
126
127 (% 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.
128
129 (% 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.
130
131
132 == 1.6 Button & LEDs ==
133
134
135 [[image:1675212633011-651.png||_mstalt="291538"]]
136
137
138 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
139 |=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
140 |(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT between 1s < time < 3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)(((
141 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
142 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
143 )))
144 |(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT for more than 3s|(% style="background-color:#f2f2f2; width:117px" %)Active Device|(% style="background-color:#f2f2f2; width:225px" %)(((
145 (% style="background-color:#f2f2f2; 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.
146 (% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
147 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.
148 )))
149 |(% style="background-color:#f2f2f2; width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB-NA is in Deep Sleep Mode.
150
151
152 == 1.7 Pin Mapping ==
153
154
155 [[image:1675213198663-754.png||_mstalt="297167"]]
156
157
158 == 1.8 BLE connection ==
159
160
161 SDI-12-LB support BLE remote configure.
162
163 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:
164
165 * Press button to send an uplink
166 * Press button to active device.
167 * Device Power on or reset.
168
169 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
170
171
172 == 1.9 Mechanical ==
173
174
175 [[image:image-20230201090139-2.png||_mstalt="428623"]]
176
177 [[image:image-20230201090139-3.png||_mstalt="428987"]]
178
179 [[image:image-20230201090139-4.png||_mstalt="429351"]]
180
181
182 = 2. Configure SDI-12 to connect to LoRaWAN network =
183
184 == 2.1 How it works ==
185
186
187 The SDI-12-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 activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
188
189
190 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) ==
191
192
193 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.
194
195
196 [[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]]
197
198
199 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.
200
201
202 (% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.
203
204 Each SDI-12-LB is shipped with a sticker with the default device EUI as below:
205
206 [[image:image-20230426084456-1.png||height="241" width="519"]]
207
208
209 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
210
211
212 (% style="color:blue" %)**Register the device**
213
214 [[image:1675213652444-622.png||_mstalt="293657"]]
215
216
217 (% style="color:blue" %)**Add APP EUI and DEV EUI**
218
219
220 [[image:1675213661769-223.png||_mstalt="295217"]]
221
222
223 (% style="color:blue" %)**Add APP EUI in the application**
224
225
226 [[image:1675213675852-577.png||_mstalt="297947"]]
227
228
229 (% style="color:blue" %)**Add APP KEY**
230
231 [[image:1675213686734-883.png||_mstalt="298064"]]
232
233
234 (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB
235
236
237 Press the button for 5 seconds to activate the SDI-12-LB.
238
239 (% 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.
240
241
242 [[image:1675213704414-644.png||_mstalt="293748"]]
243
244
245 == ​2.3 SDI-12 Related Commands ==
246
247
248 User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes.
249
250
251 === 2.3.1 Basic SDI-12 debug command ===
252
253
254 User can run some basic SDI-12 command to debug the connection to the SDI-12 sensor. These commands can be sent via AT Command or LoRaWAN downlink command.
255
256 If SDI-12 sensor return value after get these commands, //SDI-12-LB// will uplink the return on FPORT=100, otherwise, if there is no response from SDI-12 sensor. //SDI-12-LB// will uplink NULL (0x 4E 55 4C 4C) to server.
257
258 The following is the display information on the serial port and the server.
259
260
261 [[image:image-20230201091027-6.png||_mstalt="429065"]]
262
263
264 [[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]]
265
266
267
268 ==== (% style="color:blue" %)**al!  ~-~- Get SDI-12 sensor Identification**(%%) ====
269
270
271 * AT Command: AT+ADDRI=aa
272 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa
273
274 (% style="color:#037691" %)**Parameter:  **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)
275
276 (% style="color:blue" %)**Example :   **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
277
278
279 The following is the display information on the serial port and the server.
280
281
282 [[image:image-20230201091257-8.png||_mstalt="431392"]]
283
284
285 [[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]]
286
287
288 ==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ====
289
290
291 (% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement
292
293 (% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
294
295 (% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements
296
297 (% style="color:red" %)**aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
298
299
300 * AT Command : AT+ADDRM=0,1,0,1
301
302 * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01
303
304 Downlink:AA 01 aa bb cc dd
305
306 (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
307
308 (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
309
310 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
311
312 (% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
313
314
315 The following is the display information on the serial port and the server.
316
317
318 [[image:image-20230201091630-10.png||_mstalt="449995"]]
319
320
321 [[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]]
322
323
324
325 ==== (% style="color:blue" %)**aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! **(%%) ====
326
327
328 (% style="color:red" %)**aC!**(%%) : Start Concurrent Measurement
329
330 (% style="color:red" %)**aCC!** (%%): Start Concurrent Measurement – Request CRC
331
332 (% style="color:red" %)**aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
333
334 (% style="color:red" %)**aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
335
336
337 * AT Command : AT+ADDRC=0,1,0,1 
338
339 * LoRaWAN Downlink(0xAA02): 0xAA 02 30 01 00 01
340
341 Downlink: AA 02 aa bb cc dd
342
343 (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
344
345 (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
346
347 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
348
349 (% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)__ __to get return.
350
351
352 The following is the display information on the serial port and the server.
353
354
355 [[image:image-20230201091954-12.png||_mstalt="453687"]]
356
357
358 [[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]]
359
360
361
362
363 ==== (% style="color:blue" %)**aR0!- aR9!,  aRC0!- aRC9!**(%%) ====
364
365
366 Start Continuous Measurement
367
368 Start Continuous Measurement – Request CRC
369
370
371 * AT Command : AT+ADDRR=0,1,0,1 
372 * LoRaWAN Downlink (0xAA 03): 0xAA 03 30 01 00 01
373
374 Downlink: AA 03 aa bb cc dd
375
376 (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
377
378 (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
379
380 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
381
382 (% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
383
384
385 The following is the display information on the serial port and the server.
386
387
388 [[image:image-20230201092208-14.png||_mstalt="452283"]]
389
390
391 [[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]]
392
393
394 === 2.3.2 Advance SDI-12 Debug command ===
395
396
397 This command can be used to debug all SDI-12 command.
398
399
400 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc dd
401
402 (% style="color:#037691" %)**aa **(%%): total SDI-12 command length
403
404 (% style="color:#037691" %)**xx **(%%): SDI-12 command
405
406 (% style="color:#037691" %)**bb **(%%): Delay to wait for return
407
408 (% style="color:#037691" %)**cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100
409
410 (% style="color:#037691" %)**dd: **(%%) 0: Do not use aD0! command access, 1: use aD0! command access.
411
412
413 (% style="color:blue" %)**Example1: **(%%) AT+CFGDEV =0RC0!,1
414
415 (% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,
416
417 (% style="color:#037691" %)**1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
418
419 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01
420
421
422 The following is the display information on the serial port and the server.
423
424
425 [[image:image-20230201092355-16.png||_mstalt="453960"]]
426
427
428 [[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]]
429
430
431 (% style="color:blue" %)**Example2: **(%%) AT+CFGDEV =0M!,1,1  or  AT+CFGDEV =0C!,1,1
432
433 (% style="color:#037691" %)**0M! **(%%): SDI-12 Command,
434
435 (% style="color:#037691" %)**1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
436
437 (% style="color:#037691" %)**1 **(%%):Use aD0! command access.
438
439 Equal Downlink: 0xA8 03 30  4D 21 01 01 01
440
441
442 === 2.3.3 Convert ASCII to String ===
443
444
445 This command is used to convert between ASCII and String format.
446
447 AT+CONVFORM ( Max length: 80 bytes)
448
449
450 (% style="color:blue" %)**Example:**
451
452 1) AT+CONVFORM=0, string Convert String from String to ASCII
453
454 [[image:1675214845056-885.png||_mstalt="297622"]]
455
456
457 2) AT+CONVFORM=1, ASCII Convert ASCII to String.
458
459 [[image:1675214856590-846.png||_mstalt="297739"]]
460
461
462 === 2.3.4 Define periodically SDI-12 commands and uplink. ===
463
464
465 AT+COMMANDx & AT+DATACUTx
466
467 User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB will then combine these returns and uplink via LoRaWAN.
468
469
470 * (% style="color:blue" %)**AT Command:**
471
472 (% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**
473
474 (% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!
475
476 (% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)
477
478 (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
479
480 (% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries.
481
482 (% style="color:red" %)**0 **(%%) No validation check;
483
484 (% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E);
485
486 (% style="color:red" %)**2**(%%)  Check if there is return from SDI-12 sensor
487
488 (% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
489
490
491 Each AT+COMMANDx is followed by a (% style="color:blue" %)**AT+DATACUT**(%%) command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink.
492
493
494 (% style="color:blue" %)**AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
495
496 (% border="1" style="width:436px" %)
497 |(% style="background-color:#f2f2f2; width:433px" %)(((
498 (% style="color:#0070c0" %)**AT+DATACUTx=a,b,c**
499
500 **a**:  length for the return of AT+COMMAND
501
502 **b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
503
504 **c**:  define the position for valid value. 
505 )))
506
507 For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload:
508
509
510 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
511 |=(% style="width: 164px;background-color:#D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width: 344px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload**
512 |(% style="background-color:#f2f2f2; width:164px" %)34,1,1+2+3|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33
513 |(% style="background-color:#f2f2f2; width:164px" %)34,2,1~~8+12~~16|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
514 |(% style="background-color:#f2f2f2; width:164px" %)34,2,1~~34|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A
515
516 * (% style="color:blue" %)** Downlink Payload:**
517
518 (% style="color:blue" %)**0xAF**(%%)  downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
519
520
521 (% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
522
523
524 Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY(%%)**
525
526 Where:
527
528 * (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
529 * (% style="color:#037691" %)**NN **(%%):  1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.
530 * (% style="color:#037691" %)**LL **(%%):  The length of AT+COMMAND or AT+DATACUT command
531 * (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command
532 * (% style="color:#037691" %)**YY **(%%):  If YY=0, SDI-12-LB will execute the downlink command without uplink; if YY=1, SDI-12-LB will execute an uplink after got this command. 
533
534 (% style="color:blue" %)**Example:**
535
536 [[image:image-20230201094129-18.png||_mstalt="455065"]]
537
538
539
540 (% style="color:blue" %)**Clear SDI12 Command**
541
542 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
543
544
545 * (% style="color:#037691" %)**AT Command:**
546
547 (% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase
548
549
550 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
551
552
553 * (% style="color:#037691" %)** Downlink Payload:**
554
555 (% style="color:#4f81bd" %)**0x09 aa bb**(%%)  same as AT+CMDEAR=aa,bb
556
557
558
559 (% style="color:blue" %)**command combination**
560
561 Below shows a screen shot how the results combines together to a uplink payload.
562
563 [[image:1675215745275-920.png||_mstalt="295334"]]
564
565
566 If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1.
567
568 (% style="color:blue" %)**AT+ALLDATAMOD**(%%) will simply get all return and don't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command.
569
570
571 (% style="color:#4f81bd" %)**For example: **(%%) as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.
572
573
574 [[image:1675215782925-448.png||_mstalt="297466"]]
575
576
577 If AT+ALLDATAMOD=1, (% style="color:#4f81bd" %)**FX,X**(%%) will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes.
578
579
580
581 (% style="color:blue" %)**Compose Uplink**
582
583 (% style="color:#4f81bd" %)**AT+DATAUP=0**
584
585 Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**.
586
587 Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__**
588
589 Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
590
591
592 [[image:1675215828102-844.png||_mstalt="294645"]]
593
594
595 (% style="color:#4f81bd" %)**AT+DATAUP=1**
596
597 Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**.
598
599 Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
600
601 1. Battery Info (2 bytes): Battery voltage
602 1. PAYVER (1 byte): Defined by AT+PAYVER
603 1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
604 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
605 1. DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
606
607 [[image:1675215848113-696.png||_mstalt="296998"]]
608
609
610 (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
611
612 * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
613 * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
614 * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
615 * For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
616
617 (% style="color:red" %)**When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
618
619 (% style="color:red" %)**When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**
620
621
622 == 2.4 Uplink Payload ==
623
624 === 2.4.1 Device Payload, FPORT~=5 ===
625
626
627 Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server.
628
629 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
630
631 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
632 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
633 |(% style="background-color:#f2f2f2; width:103px" %)**Size (bytes)**|(% style="background-color:#f2f2f2; width:72px" %)**1**|(% style="background-color:#f2f2f2" %)**2**|(% style="background-color:#f2f2f2; width:91px" %)**1**|(% style="background-color:#f2f2f2; width:86px" %)**1**|(% style="background-color:#f2f2f2; width:44px" %)**2**
634 |(% style="background-color:#f2f2f2; width:103px" %)**Value**|(% style="background-color:#f2f2f2; width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2; width:91px" %)Frequency Band|(% style="background-color:#f2f2f2; width:86px" %)Sub-band|(% style="background-color:#f2f2f2; width:44px" %)BAT
635
636 Example parse in TTNv3
637
638 [[image:1675215946738-635.png||_mstalt="297778"]]
639
640
641 (% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17
642
643 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
644
645 (% style="color:#037691" %)**Frequency Band**:
646
647 0x01: EU868
648
649 0x02: US915
650
651 0x03: IN865
652
653 0x04: AU915
654
655 0x05: KZ865
656
657 0x06: RU864
658
659 0x07: AS923
660
661 0x08: AS923-1
662
663 0x09: AS923-2
664
665 0x0a: AS923-3
666
667 0x0b: CN470
668
669 0x0c: EU433
670
671 0x0d: KR920
672
673 0x0e: MA869
674
675
676 (% style="color:#037691" %)**Sub-Band**:
677
678 AU915 and US915:value 0x00 ~~ 0x08
679
680 CN470: value 0x0B ~~ 0x0C
681
682 Other Bands: Always 0x00
683
684
685 (% style="color:#037691" %)**Battery Info**:
686
687 Check the battery voltage.
688
689 Ex1: 0x0B45 = 2885mV
690
691 Ex2: 0x0B49 = 2889mV
692
693
694 === 2.4.2 Uplink Payload, FPORT~=2 ===
695
696
697 There are different cases for uplink. See below
698
699 * SDI-12 Debug Command return: FPORT=100
700
701 * Periodically Uplink: FPORT=2
702
703 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
704 |=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)(((
705 **Size(bytes)**
706 )))|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 240px;background-color:#D9E2F3;color:#0070C0" %)**Length depends on the return from the commands**
707 |(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
708 Battery(mV)
709 &
710 Interrupt_Flag
711 )))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)(((
712 If the valid payload is too long and exceed the maximum support.
713 Payload length in server,server will show payload not provided in the LoRaWAN server.
714 )))
715
716 [[image:1675216282284-923.png||_mstalt="295633"]]
717
718
719 === 2.4.3 Battery Info ===
720
721
722 Check the battery voltage for SDI-12-LB.
723
724 Ex1: 0x0B45 = 2885mV
725
726 Ex2: 0x0B49 = 2889mV
727
728
729 === 2.4.4 Interrupt Pin ===
730
731
732 This data field shows if this packet is generated by (% style="color:#037691" %)**Interrupt Pin**(%%) or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.7PinMapping"]].
733
734 **Example:**
735
736 Ex1: 0x0B45:0x0B&0x80= 0x00    Normal uplink packet.
737
738 Ex2: 0x8B49:0x8B&0x80= 0x80    Interrupt Uplink Packet.
739
740
741 === 2.4.5 Payload version ===
742
743
744 The version number of the payload, mainly used for decoding. The default is 01.
745
746
747 === 2.4.6 ​Decode payload in The Things Network ===
748
749
750 While using TTN network, you can add the payload format to decode the payload.
751
752 [[image:1675216779406-595.png||_mstalt="298376"]]
753
754
755 There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case.
756
757 SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
758
759
760 == 2.5 Uplink Interval ==
761
762
763 The SDI-12-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:
764
765 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]]
766
767
768 == 2.6 Examples To Set SDI commands ==
769
770 === 2.6.1 Examples 1 ~-~- General Example ===
771
772
773 COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication.
774
775 [[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]]
776
777
778 (% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:**
779
780 a. Send the first command and get the first reply:
781
782 (% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1**
783
784 b. Send the second command and get the second reply:
785
786 (% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1**
787
788 c. Send the third command and get the third reply:
789
790 (% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1**
791
792 d. Send the fourth command and get the fourth reply:
793
794 (% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1**
795
796 e. Send the fifth command plus the sixth command, get the sixth reply:
797
798 (% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1**
799
800 f. Send the seventh command plus the eighth command, get the eighth reply:
801
802 (% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1**
803
804 g. Send the ninth command plus the tenth command, get the tenth reply:
805
806 (% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1**
807
808 h. Send the eleventh command plus the twelfth command, get the twelfth reply:
809
810 (% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1**
811
812
813 (% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:**
814
815 a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”
816
817 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %);
818
819 b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>”
820
821 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
822
823 c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>”
824
825 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
826
827 d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>”
828
829 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %);
830
831 e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>”
832
833 Partial cut, the cut sensor address and the first two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”**.
834
835
836 === 2.6.2 Example 2 ~-~- Connect to Hygrovue10 ===
837
838 ==== 2.6.2.1 Reference Manual and Command ====
839
840
841 * [[Hygrovue10 Product Page>>https://www.campbellsci.com/hygrovue10]]
842
843 * Commands to be used in PC and output.
844
845 ~1. check device address
846
847 2. change device address
848
849 3. check device ID
850
851 4. start measure
852
853 5. Get Meausre result
854
855 [[image:image-20230603120209-2.png||height="281" width="267"]]
856
857
858 ==== 2.6.2.2 Hardware Connection to SDI-12-LB ====
859
860
861 [[image:image-20230603120515-3.png]]
862
863
864 ==== 2.6.2.3 Commands set in SDI-12-LB and uplink payload ====
865
866
867 [[image:image-20230603120648-4.png]]
868
869 [[image:image-20230603120726-5.png]]
870
871
872 **Data in TTN:**
873
874 [[image:image-20230603120859-6.png||height="118" width="1285"]]
875
876
877 === (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.3 Example 3 ~-~- Connect to SIL-400 ===
878
879 ==== 2.6.3.1 Reference Manual and Command ====
880
881
882 * [[SIL-400 Product Page>>https://www.apogeeinstruments.com/sil-411-commercial-grade-sdi-12-digital-output-standard-field-of-view-infrared-radiometer-sensor/]]
883
884 * Commands to be used in PC and output.
885
886 ~1. check device address
887
888 2. change device address
889
890 3. check device ID
891
892 4. start measure
893
894 5. Get Meausre result
895
896 [[image:image-20230603121606-7.png||height="242" width="307"]]
897
898
899 ==== 2.6.3.2 Hardware Connection to SDI-12-LB ====
900
901
902 [[image:image-20230603121643-8.png||height="442" width="656"]]
903
904
905 ==== 2.6.3.3 Commands set in SDI-12-LB and uplink payload ====
906
907
908 [[image:image-20230603121721-9.png]]
909
910 [[image:image-20230603121752-10.png]]
911
912 Data in TTN:
913
914 [[image:image-20230603121826-11.png||height="155" width="1104"]]
915
916
917
918 === (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.4 Example 4 ~-~- Connect to TEROS-12 ===
919
920 ==== 2.6.4.1 Reference Manual and Command ====
921
922
923 * [[TEROS-12 Product Page>>https://www.metergroup.com/en/meter-environment/products/teros-12-soil-moisture-sensor]]
924
925 * Commands to be used in PC and output.
926
927 1.check device address
928
929 2.change device address
930
931 3.check device ID
932
933 4.start measure
934
935 5.Get Meausre result
936
937 [[image:image-20230603122248-16.png||height="196" width="198"]]
938
939
940 ==== 2.6.4.2 Hardware Connection to SDI-12-LB ====
941
942
943 [[image:image-20230603122212-15.png||height="502" width="667"]]
944
945
946 ==== 2.6.4.3 Commands set in SDI-12-LB and uplink payload ====
947
948
949 [[image:image-20230603122040-12.png]]
950
951 [[image:image-20230603122109-13.png||height="469" width="762"]]
952
953
954 **Data in TTN:**
955
956 [[image:image-20230603122139-14.png||height="148" width="1128"]]
957
958
959 === (% id="cke_bm_1489640S" style="display:none" %) (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.5 Example 5 ~-~- Connect to SIL-400/TEROS-12 & Hygrovue10 ===
960
961 ==== 2.6.5.1 Important Notice! ====
962
963
964 * The product page and reference command see above example 2,3,4
965
966 * All of these SDI-12 sensors use the same address (address 0) by default. So we need to change their address to different address, by using **aAb!** command. See above example.
967
968 * The sensor needs to be powered to a steady statue. So the 12VT time need to be set to the maximum stable time for the sensors. in this example, it is 13 seconds.
969
970 * If these SDI-12 sensors are powered by external power source. It will add 300uA in the total current in SDI-12-LB.
971
972
973 ==== 2.6.5.2 Hardware Connection to SDI-12-LB ====
974
975
976 [[image:image-20230603122508-17.png||height="526" width="742"]]
977
978
979 ==== 2.6.5.3 Commands set in SDI-12-LB and uplink payload ====
980
981
982 [[image:image-20230603122549-18.png]]
983
984 [[image:image-20230603122623-19.png||height="483" width="1121"]]
985
986
987 **Data in TTN:**
988
989 [[image:image-20230603122719-20.png||height="151" width="1179"]]
990
991
992 === (% id="cke_bm_4783S" style="display:none" %) (%%)2.6.6 Example 6 ~-~- Connect to ENTELECHY-EP_SDI-12 ===
993
994 ==== 2.6.4.1 Reference Manual and Command ====
995
996
997 * [[https:~~/~~/enviroprosoilprobes.com/wp-content/uploads/2019/11/ENTELECHY-EP_SDI-12-Commands.pdf>>url:https://enviroprosoilprobes.com/wp-content/uploads/2019/11/ENTELECHY-EP_SDI-12-Commands.pdf]]
998
999 * Commands to be used in PC and output.
1000
1001 1.check device address
1002
1003 2.change device address
1004
1005 3.check device ID
1006
1007 4.start measure
1008
1009 5.Get Meausre result
1010
1011
1012 [[image:image-20230627174559-3.png]]
1013
1014 ==== 2.6.4.2 Hardware Connection to SDI-12-LB ====
1015
1016 [[image:image-20230627174446-2.png]]
1017
1018
1019
1020 ==== 2.6.4.3 Commands set in SDI-12-LB and uplink payload ====
1021
1022
1023 [[image:image-20230627175513-4.png||height="596" width="576"]]
1024
1025 [[image:image-20230627175736-5.png||height="429" width="693"]]
1026
1027
1028 **Data in TTN:**
1029
1030 [[image:image-20230627180303-6.png||height="292" width="1171"]]
1031
1032 == 2.7 Frequency Plans ==
1033
1034
1035 The SDI-12-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
1036
1037 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
1038
1039
1040 == 2.8 Firmware Change Log ==
1041
1042
1043 **Firmware download link:**
1044
1045 [[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]
1046
1047
1048 = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
1049
1050
1051 Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink.
1052
1053 * AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]].
1054 * LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
1055
1056 There are two kinds of commands to configure SDI-12-LB, they are:
1057
1058 * (% style="color:blue" %)**General Commands**.
1059
1060 These commands are to configure:
1061
1062 * General system settings like: uplink interval.
1063 * LoRaWAN protocol & radio related command.
1064
1065 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
1066
1067 [[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/]]
1068
1069
1070 * (% style="color:blue" %)**Commands special design for SDI-12-LB**
1071
1072 These commands only valid for SDI-12-LB, as below:
1073
1074
1075 == 3.1 Set Transmit Interval Time ==
1076
1077
1078 Feature: Change LoRaWAN End Node Transmit Interval.
1079
1080 (% style="color:blue" %)**AT Command: AT+TDC**
1081
1082 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1083 |=(% style="width: 160px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 160px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1084 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
1085 30000
1086 OK
1087 the interval is 30000ms = 30s
1088 )))
1089 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((
1090 OK
1091 Set transmit interval to 60000ms = 60 seconds
1092 )))
1093
1094 (% style="color:blue" %)**Downlink Command: 0x01**
1095
1096
1097 Format: Command Code (0x01) followed by 3 bytes time value.
1098
1099 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1100
1101 * Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
1102 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
1103
1104
1105 == 3.2 Set Interrupt Mode ==
1106
1107
1108 Feature, Set Interrupt mode for GPIO_EXIT.
1109
1110 (% style="color:blue" %)**AT Command: AT+INTMOD**
1111
1112 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1113 |=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1114 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)(((
1115 0
1116 OK
1117 the mode is 0 =Disable Interrupt
1118 )))
1119 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)(((
1120 Set Transmit Interval
1121 0. (Disable Interrupt),
1122 ~1. (Trigger by rising and falling edge)
1123 2. (Trigger by falling edge)
1124 3. (Trigger by rising edge)
1125 )))|(% style="background-color:#f2f2f2; width:157px" %)OK
1126
1127 (% style="color:blue" %)**Downlink Command: 0x06**
1128
1129 Format: Command Code (0x06) followed by 3 bytes.
1130
1131 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1132
1133 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
1134 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1135
1136
1137 == 3.3 Set the output time ==
1138
1139
1140 Feature, Control the output 3V3 , 5V or 12V.
1141
1142 (% style="color:blue" %)**AT Command: AT+3V3T**
1143
1144 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
1145 |=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 201px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 116px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1146 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)(((
1147 0
1148 OK
1149 )))
1150 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=0|(% style="background-color:#f2f2f2; width:201px" %)Normally open 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)(((
1151 OK
1152 default setting
1153 )))
1154 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=1000|(% style="background-color:#f2f2f2; width:201px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:116px" %)(((
1155 OK
1156 )))
1157 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=65535|(% style="background-color:#f2f2f2; width:201px" %)Normally closed 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)(((
1158 OK
1159 )))
1160
1161 (% style="color:blue" %)**AT Command: AT+5VT**
1162
1163 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %)
1164 |=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 114px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1165 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)(((
1166 0
1167 OK
1168 )))
1169 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=0|(% style="background-color:#f2f2f2; width:196px" %)Normally closed 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)(((
1170 OK
1171 default setting
1172 )))
1173 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=1000|(% style="background-color:#f2f2f2; width:196px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:114px" %)(((
1174 OK
1175 )))
1176 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=65535|(% style="background-color:#f2f2f2; width:196px" %)Normally open 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)(((
1177 OK
1178 )))
1179
1180 (% style="color:blue" %)**AT Command: AT+12VT **
1181
1182 (% style="color:blue" %)**(The v1.2 version is enabled for 1 second by default, and the version below v1.2 is disabled by default)**
1183
1184 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %)
1185 |=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 199px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 83px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1186 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)(((
1187 0
1188 OK
1189 )))
1190 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=0|(% style="background-color:#f2f2f2; width:199px" %)Normally closed 12V power supply.|(% style="background-color:#f2f2f2; width:83px" %)OK
1191 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=500|(% style="background-color:#f2f2f2; width:199px" %)Close after a delay of 500 milliseconds.|(% style="background-color:#f2f2f2; width:83px" %)(((
1192 OK
1193 )))
1194
1195 (% style="color:blue" %)**Downlink Command: 0x07**
1196
1197 Format: Command Code (0x07) followed by 3 bytes.
1198
1199 The first byte is which power, the second and third bytes are the time to turn on.
1200
1201 * Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
1202 * Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
1203 * Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
1204 * Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
1205 * Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
1206 * Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1207
1208
1209 == 3.4 Set the all data mode ==
1210
1211
1212 Feature, Set the all data mode.
1213
1214 (% style="color:blue" %)**AT Command: AT+ALLDATAMOD**
1215
1216 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1217 |=(% style="background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1218 |(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=?|(% style="background-color:#f2f2f2" %)Show current all data mode|(% style="background-color:#f2f2f2" %)(((
1219 0
1220 OK
1221 )))
1222 |(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=1|(% style="background-color:#f2f2f2" %)Set all data mode is 1.|(% style="background-color:#f2f2f2" %)OK
1223
1224 (% style="color:blue" %)**Downlink Command: 0xAB**
1225
1226 Format: Command Code (0xAB) followed by 1 bytes.
1227
1228 * Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
1229 * Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1230
1231
1232 == 3.5 Set the splicing payload for uplink ==
1233
1234
1235 Feature, splicing payload for uplink.
1236
1237 (% style="color:blue" %)**AT Command: AT+DATAUP**
1238
1239 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1240 |=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 266px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1241 |(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =?|(% style="background-color:#f2f2f2; width:266px" %)Show current splicing payload for uplink mode|(% style="background-color:#f2f2f2" %)(((
1242 0
1243 OK
1244 )))
1245 |(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =0|(% style="background-color:#f2f2f2; width:266px" %)(((
1246 Set splicing payload for uplink mode is 0.
1247 )))|(% style="background-color:#f2f2f2" %)(((
1248 OK
1249 )))
1250 |(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =1|(% style="background-color:#f2f2f2; width:266px" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|(% style="background-color:#f2f2f2" %)OK
1251 |(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =1,20000|(% style="background-color:#f2f2f2; width:266px" %)(((
1252 Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1253 )))|(% style="background-color:#f2f2f2" %)OK
1254
1255 (% style="color:blue" %)**Downlink Command: 0xAD**
1256
1257 Format: Command Code (0xAD) followed by 1 bytes or 5 bytes.
1258
1259 * Example 1: Downlink Payload: AD 00  ~/~/  AT+DATAUP=0
1260 * Example 2: Downlink Payload: AD 01  ~/~/  AT+DATAUP =1
1261 * Example 3: Downlink Payload: AD 01 00 00 14  ~/~/  AT+DATAUP =1,20000
1262
1263 This means that the interval is set to 0x000014=20S
1264
1265
1266 == 3.6 Set the payload version ==
1267
1268
1269 Feature, Set the payload version.
1270
1271 (% style="color:blue" %)**AT Command: AT+PAYVER**
1272
1273 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1274 |=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 192px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1275 |(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=?|(% style="background-color:#f2f2f2; width:192px" %)Show current payload version|(% style="background-color:#f2f2f2" %)(((
1276 1
1277 OK
1278 )))
1279 |(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=5|(% style="background-color:#f2f2f2; width:192px" %)Set payload version is 5.|(% style="background-color:#f2f2f2" %)OK
1280
1281 (% style="color:blue" %)**Downlink Command: 0xAE**
1282
1283 Format: Command Code (0xAE) followed by 1 bytes.
1284
1285 * Example 1: Downlink Payload: AE 01  ~/~/  AT+PAYVER=1
1286 * Example 2: Downlink Payload: AE 05  ~/~/  AT+PAYVER=5
1287
1288
1289 = 4. Battery & Power Consumption =
1290
1291
1292 SDI-12-LB uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1293
1294 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1295
1296
1297 = 5. Remote Configure device =
1298
1299 == 5.1 Connect via BLE ==
1300
1301
1302 Please see this instruction for how to configure via BLE: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]
1303
1304
1305 == 5.2 AT Command Set ==
1306
1307
1308
1309 = 6. OTA firmware update =
1310
1311
1312 Please see this link for how to do OTA firmware update.
1313
1314 [[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/]]
1315
1316
1317 = 7. FAQ =
1318
1319 == 7.1 How to use AT Command  via UART to access device? ==
1320
1321
1322 See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]
1323
1324
1325 == 7.2 How to update firmware via UART port? ==
1326
1327
1328 See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]
1329
1330
1331 == 7.3 How to change the LoRa Frequency Bands/Region? ==
1332
1333
1334 You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]].
1335 When downloading the images, choose the required image file for download. ​
1336
1337
1338 = 8. ​Order Info =
1339
1340
1341 (((
1342 (% style="color:blue" %)**Part Number: SDI-12-LB-XXX**
1343 )))
1344
1345 (((
1346 (% style="color:blue" %)**XXX**(%%): The default frequency band
1347 )))
1348
1349 (((
1350 (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1351 (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1352 (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1353 (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1354 (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1355 (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1356 (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1357 (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1358 )))
1359
1360
1361 = 9. Packing Info =
1362
1363
1364 (% style="color:#037691" %)**Package Includes**:
1365
1366 * SDI-12-LB SDI-12 to LoRaWAN Converter x 1
1367
1368 (% style="color:#037691" %)**Dimension and weight**:
1369
1370 * Device Size: cm
1371 * Device Weight: g
1372 * Package Size / pcs : cm
1373 * Weight / pcs : g
1374
1375
1376 = 10. ​Support =
1377
1378
1379 * 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.
1380
1381 * 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]]
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0