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 141.1
edited by Xiaoling
on 2025/04/16 15:48
on 2025/04/16 15:48
Change comment:
There is no comment for this version
To version 166.2
edited by Mengting Qiu
on 2025/06/07 09:44
on 2025/06/07 09:44
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 11 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.ting - Content
-
... ... @@ -178,8 +178,6 @@ 178 178 [[image:image-20250416151406-3.jpeg]] 179 179 180 180 181 - 182 - 183 183 === 1.9.2 for LS version === 184 184 185 185 ... ... @@ -212,27 +212,34 @@ 212 212 [[image:image-20230426084456-1.png||height="241" width="519"]] 213 213 214 214 215 - Usercan enter this key in theirLoRaWAN Server portal. Below is TTNV3screen shot:213 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 216 216 217 -* *Create the application.**215 +**Create the application.** 218 218 219 -[[image:image-20250 329133946-2.jpeg]]217 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SAC01L_LoRaWAN_Temperature%26Humidity_Sensor_User_Manual/WebHome/image-20250423093843-1.png?width=756&height=264&rev=1.1||alt="image-20250423093843-1.png"]] 220 220 221 -[[image:image-202 50329134001-3.jpeg]]219 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111305-2.png?width=1000&height=572&rev=1.1||alt="image-20240907111305-2.png"]] 222 222 223 223 224 -* *Add devices to the created Application.**222 +**Add devices to the created Application.** 225 225 226 -[[image:image-202 50416154628-5.jpeg]]224 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111659-3.png?width=977&height=185&rev=1.1||alt="image-20240907111659-3.png"]] 227 227 226 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111820-5.png?width=975&height=377&rev=1.1||alt="image-20240907111820-5.png"]] 228 228 229 -* **Enter end device specifics manually.** 230 230 231 - [[image:image-20250416154700-6.jpeg]]229 +**Enter end device specifics manually.** 232 232 233 -[[image:image-202 50416154716-7.jpeg]]231 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112136-6.png?width=697&height=687&rev=1.1||alt="image-20240907112136-6.png"]] 234 234 235 235 234 +**Add DevEUI and AppKey.** 235 + 236 +**Customize a platform ID for the device.** 237 + 238 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112427-7.png?rev=1.1||alt="image-20240907112427-7.png"]] 239 + 240 + 236 236 (% style="color:blue" %)**Step 2: **(%%)Add decoder 237 237 238 238 While using TTN network, you can add the payload format to decode the payload. ... ... @@ -493,7 +493,7 @@ 493 493 === 2.3.4 Define periodically SDI-12 commands and uplink. === 494 494 495 495 496 -AT+COMMANDx & AT+DATACUTx 501 +AT+COMMANDx & AT+DATACUTx**&AT+DATACONVx** 497 497 498 498 User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB/LS will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB/LS will then combine these returns and uplink via LoRaWAN. 499 499 ... ... @@ -506,8 +506,10 @@ 506 506 507 507 (% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second) 508 508 509 -(% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 514 +(% 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: The returned data will not be clipped.(since v1.3.0)** 510 510 516 +(% style="color:red" %)**(When set to 2, AT+ALDATAMOD=1 does not intercept data returned by the current COMMAND command.)** 517 + 511 511 (% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB/LS will resend this command. Max 3 retries. 512 512 513 513 (% style="color:red" %)**0 **(%%) No validation check; ... ... @@ -649,6 +649,99 @@ 649 649 (% 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.** 650 650 651 651 659 + 660 +(% style="color:blue" %)**Automatically converts polled data to hex format for uplinking(Since v1.3.0)** 661 + 662 + 663 +This command can retrieve the returned data, convert the number after the positive or negative sign into a data, and then set the number of bytes to upload the data. 664 + 665 + 666 +* (% style="color:blue" %)**AT Command:** 667 + 668 +The maximum number can be set to 5 groups and the format of the command is as follows: 669 + 670 +(% style="color:#037691" %)**Example 1:AT+DATACONVx=var1, var2** 671 + 672 +(% style="color:#037691" %)**Example 2:AT+DATACONVx=var1, var2+ var3, var4** 673 + 674 +(% style="color:#037691" %)**Example 3:AT+DATACONVx=var1, var2+ var3, var4+ var5, var6** 675 + 676 +(% style="color:#037691" %)**Example 4:AT+DATACONVx=var1, var2+ var3, var4+ var5, var6+ var7, var8** 677 + 678 +(% style="color:#037691" %)**Example 5:AT+DATACONVx=var1, var2+ var3, var4+ var5, var6+ var7, var8+ var9, var10** 679 + 680 +(% style="color:red" %)**Notice: Among them, var1, var3, var5, var7, and var9 are the data to be selected for conversion, and var2, var4, var6, var8, and var10 are the number of bytes to be uploaded. The values of var2, var4, var6, var8, and var10 range from 1 to 4.** 681 + 682 +* (% style="color:blue" %)**Downlink Command:** 683 + 684 +Format: Command code (0xAC) followed by up to 20 bytes. 685 + 686 + 687 +Example 1 1:AT+DATACONVx=var1, var2 688 + 689 +Downlink Command:AC x var1 var2 690 + 691 +Example 1 2:AT+DATACONVx=var1, var2+ var3, var4 692 + 693 +Downlink Command:AC x var1 var2 var3 var4 694 + 695 +Example 1 3:AT+DATACONVx=var1, var2+ var3, var4+ var5, var6 696 + 697 +Downlink Command:AC x var1 var2 var3 var4 var5 var6 698 + 699 +Example 1 4:AT+DATACONVx=var1, var2+ var3, var4+ var5, var6+ var7, var8 700 + 701 +Downlink Command:AC x var1 var2 var3 var4 var5 var6 var7 var8 702 + 703 +Example 1 5:AT+DATACONVx=var1, var2+ var3, var4+ var5, var6+ var7, var8+ var9, var10 704 + 705 +Downlink Command:AC x var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 706 + 707 + 708 +Example: 709 + 710 +* Example 1: Downlink Payload: AC 01 01 02 02 02 ~/~/ AT+DATACONV1=1,2+2,2 711 +* Example 2: Downlink Payload: AC 02 01 02 02 02 03 02 ~/~/ AT+DATACONV2=1,2+2,2+3,2 712 + 713 + 714 + 715 + 716 + 717 +**For example:** 718 + 719 +This is my configuration: 720 + 721 +[[image:image-20250605091006-1.png]] 722 + 723 + 724 +* 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. 725 +* AT+COMMAND2=0M!,1,2,0 After sending the concurrent command of device 0, do not cut the data and wait for one second. (The last concurrent command needs to wait for the measurement time of all sensors) 726 +* AT+COMMAND3=0D0!,0,0,0 Query the data measured by device 0 727 + 728 +This is the data obtained: 729 + 730 +[[image:image-20250516145402-2.png]] 731 + 732 + 733 +When using the AT+DATACONVx command, 734 + 735 +The data of RETURN3 will be converted into 2 data, the first data is +95, and the second data is +260. 736 + 737 +* 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: 738 + 739 +[[image:image-20250516144559-1.png]] 740 + 741 +0C90 01 005F 0104 742 + 743 +(% style="color:#037691" %)**BAT**(%%): 0x0c90 = 3216mV = 3.216V 744 + 745 +(% style="color:#037691" %)**Payload Version**(%%): 0x01, Means: v1.0 version 746 + 747 +(% style="color:#037691" %)**Data 1: **(%%)0x005F(H) = 95(D) / 100 = 0.95 748 + 749 +(% style="color:#037691" %)**Data 2: **(%%)0x0104(H) = 260(D) / 10 = 26.0 750 + 751 + 652 652 == 2.4 Uplink Payload == 653 653 654 654 === 2.4.1 Device Payload, FPORT~=5 === ... ... @@ -1154,6 +1154,191 @@ 1154 1154 [[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]] 1155 1155 1156 1156 1257 + 1258 +== 2.9 Datalog Feature(Since v1.3.0) == 1259 + 1260 + 1261 +((( 1262 +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. 1263 +))) 1264 + 1265 + 1266 +=== 2.9.1 Ways to get datalog via LoRaWAN === 1267 + 1268 + 1269 +There are two methods: 1270 + 1271 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.8.4Pollsensorvalue"]] for specified time range. 1272 + 1273 + 1274 +(% 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. 1275 + 1276 + 1277 +(% style="color:red" %)**Note for method 2:** 1278 + 1279 +* a) SDI-12-LB will do an ACK check for data records sending to make sure every data arrive server. 1280 +* 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. 1281 + 1282 +=== 2.9.2 Unix TimeStamp === 1283 + 1284 + 1285 +SDI-12-LB uses Unix TimeStamp format based on 1286 + 1287 +[[image:https://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="image-20220523001219-11.png"]] 1288 + 1289 + 1290 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 1291 + 1292 +Below is the converter example 1293 + 1294 +[[image:https://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="image-20220523001219-12.png"]] 1295 + 1296 +So, we can use AT+TIMESTAMP=1742889625 or downlink 3067E26299 to set the current time 2025 – March ~-~- 25 Tuesday 08:00:25 1297 + 1298 + 1299 +=== 2.9.3 Set Device Time === 1300 + 1301 + 1302 +((( 1303 +(% style="color:blue" %)**There are two ways to set device's time:** 1304 +))) 1305 + 1306 +((( 1307 +**1. Through LoRaWAN MAC Command (Default settings)** 1308 +))) 1309 + 1310 +((( 1311 +User need to set SYNCMOD=1 to enable sync time via MAC command. 1312 +))) 1313 + 1314 +((( 1315 +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). 1316 +))) 1317 + 1318 +((( 1319 +(% 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.** 1320 +))) 1321 + 1322 + 1323 +((( 1324 +**2. Manually Set Time** 1325 +))) 1326 + 1327 +((( 1328 +User needs to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server. 1329 +))) 1330 + 1331 + 1332 +=== 2.9.4 Poll sensor value === 1333 + 1334 + 1335 +User can poll sensor value based on timestamps from the server. Below is the downlink command. 1336 + 1337 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:438.778px" %) 1338 +|(% style="background-color:#4f81bd; color:white; width:59px" %)**1byte**|(% style="background-color:#4f81bd; color:white; width:123px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:114px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:142.778px" %)**1byte** 1339 +|(% style="width:58px" %)31|(% style="width:123px" %)Timestamp start|(% style="width:114px" %)Timestamp end|(% style="width:137px" %)((( 1340 +Uplink Interval(range 5~~255s) 1341 +))) 1342 + 1343 +Timestamp start and Timestamp end use Unix TimeStamp format as mentioned above. Devices will reply with all data log during this time period, use the uplink interval. 1344 + 1345 +For example, downlink command (% _mstmutation="1" %)**31 68253B6E 68253E23 05**(%%) 1346 + 1347 +Is to check 2025/05/15 00:55:10 to 2025/05/15 01:06:43's data 1348 + 1349 +Uplink Internal =5s, means SDI-12-LB will send one packet every 5s. 1350 + 1351 + 1352 +=== 2.9.5 Datalog Uplink payload === 1353 + 1354 + 1355 +The Datalog poll reply uplink will use below payload format. 1356 + 1357 +**Retrieval data payload:** 1358 + 1359 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:480px" %) 1360 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 1361 +**Size(bytes)** 1362 +)))|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**4**|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**1**|=(% style="width: 220px; background-color: rgb(79, 129, 189); color: white;" %)**Length depends on the return from the commands** 1363 +|(% style="width:97px" %)Value|(% style="width:104px" %)Unix Time Stamp|(% style="width:109px" %)Payload Length|(% style="width:165px" %)Data returned by the sensor 1364 + 1365 +**Example:** 1366 + 1367 +If SDI-12-LB has below data inside Flash: 1368 + 1369 +(Soil sensors using the SDI-12 protocol are used for testing.) 1370 + 1371 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1372 +|=(% style="width: 88px; background-color:#4F81BD;color:white" %)Flash Add|=(% style="width: 98px; background-color: rgb(79, 129, 189); color: white;" %)**Unix Time**|=(% style="width: 82px; background-color: rgb(79, 129, 189); color: white;" %)Payload Length|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**BAT voltage**|=(% style="width: 92px; background-color: rgb(79, 129, 189); color: white;" %)Payload Version|=(% style="width: 64px; background-color:#4F81BD;color:white" %)**Value** 1373 +|(% style="width:89px" %)((( 1374 +0001 1375 +)))|(% style="width:98px" %)((( 1376 +2025/3/25 08:09:30 1377 +)))|(% style="width:82px" %)5|(% style="width:86px" %)((( 1378 +0c a8 1379 +)))|(% style="width:92px" %)01|(% style="width:131px" %)((( 1380 +08 21 1381 +))) 1382 +|(% style="width:89px" %)0002|(% style="width:98px" %)((( 1383 +2025/3/25 08:10:30 1384 +)))|(% style="width:82px" %)5|(% style="width:86px" %)((( 1385 +0c ae 1386 +)))|(% style="width:92px" %)01|(% style="width:131px" %)((( 1387 +08 22 1388 +))) 1389 +|(% style="width:89px" %)0003|(% style="width:98px" %)((( 1390 +2025/3/25 08:11:30 1391 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1392 +|(% style="width:89px" %)0004|(% style="width:98px" %)((( 1393 +2025/3/25 08:12:30 1394 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1395 +|(% style="width:89px" %)0005|(% style="width:98px" %)((( 1396 +2025/3/25 08:13:30 1397 +)))|(% style="width:82px" %)5|(% style="width:86px" %)((( 1398 +0c b4 1399 +)))|(% style="width:92px" %)01|(% style="width:131px" %)08 23 1400 +|(% style="width:89px" %)0006|(% style="width:98px" %)((( 1401 +2025/3/25 08:14:30 1402 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1403 +|(% style="width:89px" %)0007|(% style="width:98px" %)((( 1404 +2025/3/25 08:15:30 1405 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c b4|(% style="width:92px" %)01|(% style="width:131px" %)08 23 1406 +|(% style="width:89px" %)0008|(% style="width:98px" %)((( 1407 +2025/3/25 08:16:30 1408 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1409 + 1410 +If user sends below downlink command: (% style="background-color:yellow" %)3168253B6E68253E2305 1411 + 1412 +Where : Start time: (% _mstmutation="1" %)68253B6E (%%)= time 2025/05/15 00:55:10 1413 + 1414 + Stop time: (% _mstmutation="1" %)68253E23 (%%)= time 2025/05/15 01:06:43 1415 + 1416 + 1417 +**SDI-12-LB will uplink this payload.** 1418 + 1419 +**68253B6E 12 0C7801F10D302B312E31372B32362E390D0A ** 1420 +68253C5D 12 0C7801F10D302B312E31372B32372E340D0A 1421 +68253D33 12 0C7201F10D302B312E31352B32382E390D0A 1422 +68253DAB 12 0C7201F10D302B312E31342B32392E340D0A 1423 +68253E23 12 0C7201F10D302B312E31332B33302E300D0A 1424 + 1425 + 1426 +Where the first 23 bytes is for the first entry: 1427 + 1428 +**68253B6E 12 0C7801F10D302B312E31372B32362E390D0A** 1429 + 1430 +Unix Time Stamp: 68253B6E(H)=1747270510(D) ~-~-> time=2025-05-15 8:55:00 1431 + 1432 +Payload Length: 0x12(H)=18 bytes 1433 + 1434 +Battery voltage: 0x0C78(H)=3192 mV 1435 + 1436 +Payload Version: 01 1437 + 1438 +Value: For the distance sensor used for testing, this value is the mm distance value, 0xF10D302B312E31372B32362E390D0A(H) 1439 + 1440 + 1441 + 1157 1157 = 3. Configure SDI-12-LB/LS via AT Command or LoRaWAN Downlink = 1158 1158 1159 1159 ... ... @@ -1389,6 +1389,281 @@ 1389 1389 * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1390 1390 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1391 1391 1677 +== 3.7 Print data entries base on page(Since v1.3.0) == 1678 + 1679 + 1680 +Feature: Print the sector data from start page to stop page (max is 416 pages). 1681 + 1682 +(% style="color:#4f81bd" %)**AT Command: AT+PDTA** 1683 + 1684 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1685 +|(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function** 1686 +|(% style="width:156px" %)((( 1687 +AT+PDTA=1,2 1688 +Print page 1 to 2 1689 +)))|(% style="width:311px" %)((( 1690 +Stop Tx and RTP events when read sensor data 1691 + 1692 +8033330 2025/5/14 12:27:32 18 0c 84 01 f1 0d 30 2b 31 2e 30 1693 + 1694 +8033340 38 2b 32 34 2e 36 0d 0a 1695 + 1696 +8033350 2025/5/14 12:29:32 18 0c 72 01 f1 0d 30 2b 31 2e 30 1697 + 1698 +8033360 38 2b 32 34 2e 36 0d 0a 1699 + 1700 +8033370 2025/5/14 12:31:32 18 0c 78 01 f1 0d 30 2b 31 2e 30 1701 + 1702 +8033380 38 2b 32 34 2e 36 0d 0a 1703 + 1704 +8033390 2025/5/14 12:33:32 18 0c 72 01 f1 0d 30 2b 31 2e 30 1705 + 1706 +80333A0 38 2b 32 34 2e 36 0d 0a 1707 + 1708 +80333B0 2025/5/14 12:35:32 18 0c 72 01 f1 0d 30 2b 31 2e 30 1709 + 1710 +80333C0 38 2b 32 34 2e 36 0d 0a 1711 + 1712 + 1713 +OK 1714 +))) 1715 + 1716 +(% style="color:#4f81bd" %)**Downlink Command:** 1717 + 1718 +No downlink commands for feature 1719 + 1720 + 1721 +== 3.8 Print last few data entries(Since v1.3.0) == 1722 + 1723 + 1724 +Feature: Print the last few data entries 1725 + 1726 +(% style="color:#4f81bd" %)**AT Command: AT+PLDTA** 1727 + 1728 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:437px" %) 1729 +|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 192px;background-color:#4F81BD;color:white" %)**Function** 1730 +|(% style="background-color:#f2f2f2; width:158px" %)AT+PLDTA=10,0|(% style="background-color:#f2f2f2; width:192px" %)Printing the last ten data in hex format 1731 +|(% style="background-color:#f2f2f2; width:158px" %)AT+PLDTA=10,1|(% style="background-color:#f2f2f2; width:192px" %)Print the last ten data in string format 1732 + 1733 +* **Prints in hex format:** 1734 + 1735 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1736 +|(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function** 1737 +|(% style="width:156px" %)((( 1738 +AT+PLDTA=10,0 1739 +Print last 10 entries 1740 +)))|(% style="width:311px" %)((( 1741 +Stop Tx events when read sensor data 1742 + 1743 +0001-0001 2025/5/16 06:48:04 7 0c 7e 01 00 5f 01 05 1744 + 1745 +0002-0002 2025/5/16 06:50:04 7 0c 72 01 00 5f 01 05 1746 + 1747 +0003-0003 2025/5/16 06:52:04 7 0c 72 01 00 5f 01 05 1748 + 1749 +0004-0004 2025/5/16 06:54:04 7 0c 7e 01 00 5f 01 05 1750 + 1751 +0005-0005 2025/5/16 06:56:04 7 0c 7e 01 00 5f 01 07 1752 + 1753 +0006-0006 2025/5/16 06:58:04 7 0c 8a 01 00 60 01 07 1754 + 1755 +0007-0007 2025/5/16 07:00:04 7 0c 84 01 00 61 01 07 1756 + 1757 +0008-0008 2025/5/16 07:02:04 7 0c 72 01 00 61 01 07 1758 + 1759 +0009-0009 2025/5/16 07:04:04 7 0c 78 01 00 61 01 07 1760 + 1761 +0010-0010 2025/5/16 07:06:04 7 0c 78 01 00 61 01 07 1762 + 1763 +Start Tx events 1764 + 1765 +OK 1766 +))) 1767 + 1768 +* **Printing in String Format:** 1769 + 1770 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1771 +|(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function** 1772 +|(% style="width:156px" %)((( 1773 +AT+PLDTA=10,1 1774 +Print last 10 entries 1775 + 1776 +((( 1777 +(Printing in String Format) 1778 +))) 1779 +)))|(% style="width:311px" %)((( 1780 +Stop Tx events when read sensor data 1781 + 1782 +0001-0001 2025/5/16 06:48:04 7 ~~_ 1783 + 1784 +0002-0002 2025/5/16 06:50:04 7 r_ 1785 + 1786 +0003-0003 2025/5/16 06:52:04 7 r_ 1787 + 1788 +0004-0004 2025/5/16 06:54:04 7 ~~_ 1789 + 1790 +0005-0005 2025/5/16 06:56:04 7 ~~_ 1791 + 1792 +0006-0006 2025/5/16 06:58:04 7 ` 1793 + 1794 +0007-0007 2025/5/16 07:00:04 7 a 1795 + 1796 +0008-0008 2025/5/16 07:02:04 7 ra 1797 + 1798 +0009-0009 2025/5/16 07:04:04 7 xa 1799 + 1800 +0010-0010 2025/5/16 07:06:04 7 xa 1801 + 1802 +Start Tx events 1803 + 1804 +OK 1805 +))) 1806 + 1807 +(% style="color:#4f81bd" %)**Downlink Command:** 1808 + 1809 +No downlink commands for feature 1810 + 1811 + 1812 +=== 3.9 Clear Flash Record(Since v1.3.0) === 1813 + 1814 + 1815 +Feature: Clear flash storage for data log feature. 1816 + 1817 +(% style="color:#4f81bd" %)**AT Command: AT+CLRDTA** 1818 + 1819 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:503px" %) 1820 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:137px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:209px" %)**Response** 1821 +|(% style="width:155px" %)AT+CLRDTA |(% style="width:134px" %)Clear date record|(% style="width:209px" %)((( 1822 +Clear all stored sensor data… 1823 + 1824 +OK 1825 +))) 1826 + 1827 +(% style="color:#4f81bd" %)**Downlink Command: 0xA3** 1828 + 1829 +* Example: 0xA301 ~/~/ Same as AT+CLRDTA 1830 + 1831 +== 3.10 SDI12 timing(Since v1.3.0) == 1832 + 1833 + 1834 +Feature: Get or set the time of SDI12 timing. 1835 + 1836 +[[image:1747289896656-580.png||height="414" width="566"]] 1837 + 1838 + 1839 +(% style="color:#4f81bd" %)**AT Command: AT+SDITIMING** 1840 + 1841 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:503px" %) 1842 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:167px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:177px" %)**Response** 1843 +|(% style="width:155px" %)((( 1844 +AT+SDITIMING=13,9 1845 + 1846 + 1847 +)))|(% style="width:167px" %)Get or set the time of SDI12 timing|(% style="width:177px" %)((( 1848 +OK 1849 + 1850 +Default: 13,9 1851 +))) 1852 + 1853 +(% style="color:#4f81bd" %)**Downlink Command: 0xA9** 1854 + 1855 +* Example: 0xA90D09 ~/~/ Same as AT+SDITIMING=13,9 1856 + 1857 +== 3.11 add Pulse_count, VDC_input, IDC_input(Since firmware V1.3.0) == 1858 + 1859 + 1860 +(% style="color:blue" %)**Setting up external sensors:** 1861 + 1862 +* (% style="color:#037691" %)**AT Command:** 1863 + 1864 +(% style="color:#4472c4" %)**AT+EXT=a,b,c**(%%) 1865 + 1866 +(% style="color:#4472c4" %)**a:**(%%) **0:** Disable Counting function ( doesn't effect interrupt ). **1:** Enable Counting function(4 bytes). 1867 +(% style="color:#4472c4" %)**b: **(%%) **0:** Disable voltage acquisition function. **1:** Enable voltage acquisition function(2 bytes) 1868 +(% style="color:#4472c4" %)**c:**(%%) **0:** Disable current acquisition function. **1:** Enable current acquisition function(2 bytes). 1869 + 1870 +**Example:** 1871 + 1872 +(% style="color:#4472c4" %)**AT+EXT=1,1,1** 1873 + 1874 +Device will add counting, voltage and current acquisition function. 1875 + 1876 +The payload will be: 1877 +Battery(mV) & Interrupt _Flag + PAYLOAD_VER + ***counting + ** ***VDC_INPUT** + ***IDC_INPUT** + Length depends on the return from the commands 1878 + 1879 +(% style="color:#4472c4" %)**AT+EXT=1,0,0** 1880 + 1881 +Device will add counting support. 1882 + 1883 +The payload will be: 1884 +Battery(mV) & Interrupt _Flag + PAYLOAD_VER + ***counting** + Length depends on the return from the commands 1885 + 1886 +* (% style="color:#037691" %)**Downlink Command: 0x0B aa bb cc** 1887 + 1888 +Format: Command Code (0x0B) followed by 3 bytes. 1889 + 1890 +(% style="color:#037691" %)**aa:**(%%) Set Disable or Enable Counting Support. **00**: Disable, **01**: Enable. 1891 + 1892 +(% style="color:#037691" %)**bb:**(%%) Set Disable or Enable voltage acquisition. **00**: Disable, **01**: Enable. 1893 + 1894 +(% style="color:#037691" %)**cc:**(%%) Set Disable or Enable current acquisition. **00**: Disable, **01**: Enable. 1895 + 1896 +**Example:** 1897 + 1898 +Downlink payload: 0B 00 00 01 ~/~/AT+EXT=0,0,1 Enable current acquisition 1899 + 1900 +Downlink payload: 0B 01 00 01 ~/~/AT+EXT=1,0,1 Enable Counting Support and Current acquisition 1901 + 1902 + 1903 +(% style="color:blue" %)**Set the pulse count value:** 1904 + 1905 +* (% style="color:#037691" %)**AT Command:** 1906 + 1907 +(% style="color:#4472c4" %)**AT+SETCNT=aa **(%%)~/~/ Set the pulse count value. 1908 + 1909 +**Example:** 1910 + 1911 +AT+SETCNT=100 (% style="display:none" %) (%%)~/~/ Set the pulse count to 100.(% style="display:none" %) 1912 + 1913 +* (% style="color:#037691" %)**Downlink Command: 0x0C** 1914 + 1915 +Format: Command Code (0x0C) followed by 4 bytes. 1916 + 1917 +**Example:** 1918 + 1919 +Downlink Payload: 0C 00 00 00 64 ~/~/ AT+SETCNT=100 1920 + 1921 + 1922 +(% style="color:blue" %)**Connect counting sensor:** 1923 + 1924 +The counting sensor cables are connected to the **3V3 pin** and **GPIO_EXTI** pin of the **SIB v1.3** motherboard. 1925 + 1926 +[[image:image-20250519110640-1.jpeg||height="318" width="708"]] 1927 + 1928 + 1929 +(% id="cke_bm_1699404S" style="color:blue; display:none" %)** **(% style="color:blue" %)**Connect Voltage output sensor:** 1930 + 1931 +Example: 1932 + 1933 +**RED <~-~-~-~-> VDC_INPUT** 1934 + 1935 +**BLACK <~-~-~-~-~-~-> GND** 1936 + 1937 +[[image:image-20250519111415-3.jpeg||height="338" width="710"]] 1938 + 1939 + 1940 +(% style="color:blue" %)**Connect Current output sensor:** 1941 + 1942 +Example: 1943 + 1944 +**RED <~-~-~-~-~-~-~-~--> IDC_INPUT** 1945 + 1946 +**BLACK <~-~-~-~-~-~-> GND** 1947 + 1948 +[[image:image-20250519111732-4.jpeg||height="373" width="708"]] 1949 + 1950 + 1951 + 1392 1392 = 4. Battery & Power Consumption = 1393 1393 1394 1394
- 1747289896656-580.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.0 KB - Content
- image-20250516100849-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.2 KB - Content
- image-20250516103205-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.3 KB - Content
- image-20250516103652-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +14.5 KB - Content
- image-20250516144559-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +55.1 KB - Content
- image-20250516145402-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +9.6 KB - Content
- image-20250519110640-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +230.2 KB - Content
- image-20250519111322-2.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +228.0 KB - Content
- image-20250519111415-3.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +192.7 KB - Content
- image-20250519111732-4.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +193.7 KB - Content
- image-20250605091006-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.1 KB - Content