Changes for page SDI-12-LB/LS -- SDI-12 to LoRaWAN Converter User Manual
Last modified by Mengting Qiu on 2025/07/03 15:42
From version 179.1
edited by Mengting Qiu
on 2025/07/03 15:41
on 2025/07/03 15:41
Change comment:
There is no comment for this version
To version 171.1
edited by Mengting Qiu
on 2025/06/09 14:13
on 2025/06/09 14:13
Change comment:
Uploaded new attachment "image-20250609141343-1.png", version {1}
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 3 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,6 +1,7 @@ 1 1 2 2 3 -[[image:image-20240103165259-3.png||data-xwiki-image-style-alignment="center" height="433" width="591"]] 3 +(% style="text-align:center" %) 4 +[[image:image-20240103165259-3.png||height="433" width="591"]] 4 4 5 5 6 6 ... ... @@ -138,16 +138,16 @@ 138 138 139 139 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 140 140 |=(% 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** 141 -| [[image:1749523850351-927.png]]1~~3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)(((142 +|(% 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" %)((( 142 142 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 143 143 Meanwhile, BLE module will be active and user can connect via BLE to configure device. 144 144 ))) 145 -| [[image:1749523852387-583.png]]>3s|(% style="background-color:#f2f2f2; width:117px" %)Active Device|(% style="background-color:#f2f2f2; width:225px" %)(((146 +|(% 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" %)((( 146 146 (% 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. 147 147 (% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 148 148 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. 149 149 ))) 150 -| [[image:1749523825515-716.png]]x5|(% 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 SDI-12-LB/LS is in Deep Sleep Mode.151 +|(% 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 SDI-12-LB/LS is in Deep Sleep Mode. 151 151 152 152 == 1.7 Pin Mapping == 153 153 ... ... @@ -512,7 +512,7 @@ 512 512 513 513 (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. (% style="color:red" %)**2: When set to 2, AT+ALDATAMOD=1 does not intercept data returned by the current COMMAND command.(since v1.3.0)** 514 514 515 -(% style="color:red" %)**(Function set to 2: When the device is connected to more than two sensors with different sampling addresses, concurrent measurement can be used to reduce data acquisition time and save battery power; for example, when adevice is connected to two sensors with different addresses,and bothsensorsare to useconcurrent measurements,thenboth sensorscan bemeasured atthesametimewithoutthesecondonehavingtowaituntilafterthefirstone.)**516 +(% style="color:red" %)**(Function set to 2: When the device is connected to more than two sensors with different sampling addresses, concurrent measurement can be used to reduce data acquisition time and save battery power; for example, when the device is connected to two sensors with different addresses, the concurrent measurement function can be used and the two sensors can collect data at the same time.)** 516 516 517 517 (% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB/LS will resend this command. Max 3 retries. 518 518 ... ... @@ -709,6 +709,8 @@ 709 709 * Example 1: Downlink Payload: AC 01 01 02 02 02 ~/~/ AT+DATACONV1=1,2+2,2 710 710 * Example 2: Downlink Payload: AC 02 01 02 02 02 03 02 ~/~/ AT+DATACONV2=1,2+2,2+3,2 711 711 713 + 714 + 712 712 **For example:** 713 713 714 714 This is my configuration: ... ... @@ -716,8 +716,8 @@ 716 716 [[image:image-20250609134137-1.png]] 717 717 718 718 719 -* AT+COMMAND1=0C!,0,2,0 Use concurrentmeasurementcommandswithout interceptingthereturned data.720 -* AT+COMMAND2=1C!,1,2,0 Use concurrent measurement commands withoutintercepting the returneddata,with asecondparametertobe setat thelastconcurrent command(thesecondparametertakesthemaximumtransition timebetween the two sensors)722 +* AT+COMMAND1=0C!,0,2,0 After sending the concurrent command of device 0, the data will not be cut, and the next command will be sent immediately. 723 +* AT+COMMAND2=1C!,1,2,0 After sending a concurrent command to device 1, do not truncate the data and wait for one second. (Concurrent commands will be sampled with the command with the longest waiting time; for example, if the waiting time in the current device is set to 1s, the concurrent command will default to a maximum waiting time of 1s.) 721 721 * AT+COMMAND3=0D0!,0,0,0 Query the data measured by device 0 722 722 * AT+COMMAND4=1D0!,0,0,0 Query the data measured by device 1 723 723 ... ... @@ -728,36 +728,26 @@ 728 728 729 729 When using the AT+DATACONVx command, 730 730 731 -The data of RETURN3 will be converted into 2 data, the first data is + 192, and the second data is +258.734 +The data of RETURN3 will be converted into 2 data, the first data is +95, and the second data is +260. 732 732 733 -The data of RETURN4 will be converted into 3 data, the first data is +187716, and the second data is +252, and the third data is +1. 734 - 735 735 * AT+DATACONV3=1,2+2,2 The first data is uploaded as 2 bytes and the second data is uploaded as 2 bytes. The form converted to hexadecimal is as shown above,as below: 736 736 * ((( 737 737 AT+DATACONV4=1,3+2,2+3,2 The first data uploads 3 bytes, the second data also uploads 2 bytes, and the third data also uploads 2 bytes. The hexadecimal form is shown above and as shown in the following figure: 738 738 ))) 739 739 741 +[[image:image-20250516144559-1.png]] 740 740 743 +0C90 01 005F 0104 741 741 742 - **Forexample,the uplink payload as below:**745 +(% style="color:#037691" %)**BAT**(%%): 0x0c90 = 3216mV = 3.216V 743 743 744 -0CFC 01 00C0 0102 02DD44 00FC 0001 745 - 746 -(% style="color:#037691" %)**BAT**(%%): 0x0CFC = 3324mV = 3.324V 747 - 748 748 (% style="color:#037691" %)**Payload Version**(%%): 0x01, Means: v1.0 version 749 749 750 -(% style="color:#037691" %)**Data 1: **(%%)0x00 C0(H) =192(D) / 100 =19.2749 +(% style="color:#037691" %)**Data 1: **(%%)0x005F(H) = 95(D) / 100 = 0.95 751 751 752 -(% style="color:#037691" %)**Data 2: **(%%)0x010 2(H) = 258(D) / 10 = 25.8751 +(% style="color:#037691" %)**Data 2: **(%%)0x0104(H) = 260(D) / 10 = 26.0 753 753 754 -(% style="color:#037691" %)**Data 3: **(%%)0x02DD44(H) = 187716(D) / 100 = 1877.16 755 755 756 -(% style="color:#037691" %)**Data 4: **(%%)0x00FC(H) = 252(D) / 10 = 25.2 757 - 758 -(% style="color:#037691" %)**Data 5: **(%%)0x0001(H) = 1(D) = 1 759 - 760 - 761 761 == 2.4 Uplink Payload == 762 762 763 763 === 2.4.1 Device Payload, FPORT~=5 === ... ... @@ -1267,37 +1267,26 @@ 1267 1267 == 2.9 Datalog Feature(Since v1.3.0) == 1268 1268 1269 1269 1270 -Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, SDI-12-LB will store the reading for future retrieving purposes. 1271 - 1272 - 1273 -=== 2.5.1 How datalog works === 1274 - 1275 - 1276 -SDI-12-LB will wait for ACK for every uplink, when there is no LoRaWAN network,SDI-12-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. 1277 - 1278 -* ((( 1279 -a) SDI-12-LB will do an ACK check for data records sending to make sure every data arrive server. 1263 +((( 1264 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, SDI-12-LB will store the reading for future retrieving purposes. There are two ways for IoT servers to get datalog from SDI-12-LB. 1280 1280 ))) 1281 -* ((( 1282 -b) SDI-12-LB will send data in **CONFIRMED Mode**, but SDI-12-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 SDI-12-LB gets a ACK, SDI-12-LB will consider there is a network connection and resend all NONE-ACK messages. 1283 1283 1284 - 1285 -))) 1286 1286 1287 -=== 2. 5.2EnableDatalog ===1268 +=== 2.9.1 Ways to get datalog via LoRaWAN === 1288 1288 1289 1289 1290 - Userneedto make surebelowtwosettings are enable tousedatalog;1271 +There are two methods: 1291 1291 1292 -* (% style="color:blue" %)**SYNCMOD=1(Default)**(%%) to enable sync time via LoRaWAN MAC command, click here ([[AT+SYNCMOD>>https://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.6Settimesynchronizationmethod28ThenetworkservermustsupportLoRaWANv1.0.329]]) for detailed instructions. 1293 -* (% style="color:blue" %)**PNACKMD=1**(%%)** **to enable datalog feature, click here ([[AT+PNACKMD>>https://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H7.26RequesttheservertosendanACK]]) for detailed instructions. 1273 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.8.4Pollsensorvalue"]] for specified time range. 1294 1294 1295 1295 1276 +(% style="color:blue" %)**Method 2: **(%%)Set PNACKMD=1, SDI-12-LB will wait for ACK for every uplink, when there is no LoRaWAN network, SDI-12-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. 1296 1296 1297 -Once SDI-12-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to SDI-12-LB. If SDI-12-LB fails to get the time from the server, SDI-12-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 1298 1298 1299 -(% style="color:red" %)**Note :LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC commandfeature, Chirpstack,TTN V3 v3 and loriotsupport but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packetwiththis command,so user will lose the packet with time request for TTN V3 v2if SYNCMOD=1.**1279 +(% style="color:red" %)**Note for method 2:** 1300 1300 1281 +* a) SDI-12-LB will do an ACK check for data records sending to make sure every data arrive server. 1282 +* b) SDI-12-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but SDI-12-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 SDI-12-LB gets a ACK, SDI-12-LB will consider there is a network connection and resend all NONE-ACK Message. 1301 1301 1302 1302 === 2.9.2 Unix TimeStamp === 1303 1303 ... ... @@ -1316,6 +1316,39 @@ 1316 1316 So, we can use AT+TIMESTAMP=1742889625 or downlink 3067E26299 to set the current time 2025 – March ~-~- 25 Tuesday 08:00:25 1317 1317 1318 1318 1301 +=== 2.9.3 Set Device Time === 1302 + 1303 + 1304 +((( 1305 +(% style="color:blue" %)**There are two ways to set device's time:** 1306 +))) 1307 + 1308 +((( 1309 +**1. Through LoRaWAN MAC Command (Default settings)** 1310 +))) 1311 + 1312 +((( 1313 +User need to set SYNCMOD=1 to enable sync time via MAC command. 1314 +))) 1315 + 1316 +((( 1317 +Once SDI-12-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to SDI-12-LB. If SDI-12-LB fails to get the time from the server, SDI-12-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 1318 +))) 1319 + 1320 +((( 1321 +(% 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.** 1322 +))) 1323 + 1324 + 1325 +((( 1326 +**2. Manually Set Time** 1327 +))) 1328 + 1329 +((( 1330 +User needs to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server. 1331 +))) 1332 + 1333 + 1319 1319 === 2.9.4 Poll sensor value === 1320 1320 1321 1321 ... ... @@ -1841,9 +1841,6 @@ 1841 1841 1842 1842 * Example: 0xA90D09 ~/~/ Same as AT+SDITIMING=13,9 1843 1843 1844 - 1845 - 1846 - 1847 1847 == 3.11 add Pulse_count, VDC_input, IDC_input(Since firmware V1.3.0) == 1848 1848 1849 1849 ... ... @@ -1939,45 +1939,6 @@ 1939 1939 1940 1940 1941 1941 1942 -== 3.12 Cut data separation processing(Since firmware V1.3.2) == 1943 - 1944 - 1945 -AT+NEWLINE command, which only takes effect when AT+DATAUP=1 or AT+DATAUP=1, timeout. 1946 - 1947 -When not set, each part of AT+DATAUP is sent according to the maximum number of bytes of DR. 1948 - 1949 -When setting, each part of AT+DATAUP is sent according to the value set by AT+NEWLINE. 1950 - 1951 - 1952 -* ((( 1953 -(% style="color:#037691" %)** AT Command:** 1954 -))) 1955 - 1956 -(% style="color:#4472c4" %)//**AT+NEWLINE=ALL**//(%%)// //The data cut out by each AT+COMMANDx command is sent separately as an uplink. 1957 - 1958 -(% style="color:#4472c4" %)//**AT+NEWLINE=ALL**//(%%)// equal: (% style="color:#4472c4" %)**AT+NEWLINE=1+2+3+4+5+6+7+8+9+10+11+12+13+14+15**// 1959 - 1960 - 1961 -(% style="color:#4472c4" %)//**AT+NEWLINE=a+b+c**//(%%)// //The data returned by all commands is divided into three parts, COMMAND(1~~a) is the first part, COMMAND(a+1~~b) is the second part,COMMAND(b+1~~c) is the third part. 1962 - 1963 - 1964 -(% style="color:#4472c4" %)//**AT+NEWLINE=NULL**//(%%)// //Turn off the functionality of this AT command. 1965 - 1966 - 1967 -* ((( 1968 -(% style="color:#037691" %)** Downlink Payload:** 1969 -))) 1970 - 1971 -//AT+NEWLINE=ALL ~-~--> (% style="color:#4472c4" %)**0xA5 01**// 1972 - 1973 -// AT+NEWLINE= NULL ~-~--> (% style="color:#4472c4" %)**0xA5 00**// 1974 - 1975 -//AT+NEWLINE= a+b+c ~-~--> (% style="color:#4472c4" %)**0xA5 number of bytes a b c**// 1976 - 1977 -//AT+NEWLINE= 1+5+15 ~-~--> (% style="color:#4472c4" %)**0xA5 03 01 05 0F**// 1978 - 1979 - 1980 - 1981 1981 = 4. Battery & Power Consumption = 1982 1982 1983 1983 ... ... @@ -2000,22 +2000,12 @@ 2000 2000 2001 2001 = 6. OTA firmware update = 2002 2002 2003 -User can change firmware TS01-LB/LS to: 2004 2004 2005 -* Change Frequency band/ region. 2006 -* Update with new features. 2007 -* Fix bugs. 1977 +Please see this link for how to do OTA firmware update. 2008 2008 2009 - Firmware and changelogcan be downloaded from : [[**Firmwarewnload link**>>https://www.dropbox.com/scl/fo/ztlw35a9xbkomu71u31im/AMbGiR5K1fLcUTLbp44o22Q/LoRaWAN%20End%20Node/SDI-12-LB/Firmware?rlkey=ojjcsw927eaow01dgooldq3nu&subfolder_nav_tracking=1&dl=0]]1979 +[[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/]] 2010 2010 2011 -Methods to Update Firmware: 2012 2012 2013 -* (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/]]** 2014 - 2015 -* 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]]**. 2016 - 2017 - 2018 - 2019 2019 = 7. FAQ = 2020 2020 2021 2021 == 7.1 How to use AT Command via UART to access device? ==
- 1749523825515-716.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.4 KB - Content
- 1749523850351-927.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 KB - Content
- 1749523852387-583.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 KB - Content