SDI-12-LB/LS

32 views
Skip to first unread message

Dragino User

unread,
Jun 12, 2025, 3:56:46 AMJun 12
to Dragino-user
Hello,

I have an issue with the SDI-12 node.
We are able to receive 6 values from our sensor using 0M0! and 0M1! commands.
Because of the length (up to 6 floats) I cannot send them using the default ASCII (without AT+DATACONVx).
Then I tried to use the new AT+DATACONVx feature to encode them as hex payload.
Unfortunately this does also not work, because:

The float returned by the sensor can vary in their precision. The SDI-12 standard does NOT specify a fixed precision (see page 15 SDI-12 v.1.4 specification).

Because of that, it is not possible to use the AT+DATACONVx because we can not decode it anymore. Example: 0+17+17.123 is a valid response. When I use AT+DATACONVx=1,2+2,2 the first value will be converted to 0x0011 and the second value will be converted to 0x42E3. To decode these values, I would need to devide the first by 1 and the second by 1000. If I do so and the next valid sensor response is 0+17.456+17.789, then the first decoded value will be 17456 and the second will be 17.789.

Also the usage of AT+DATACUTx is not possible because it is not possible to cut the values correctly since they vary in its length. Also the benefit will be very small because I need all of the 6 values.

Using not AT+DATACUTx and no AT+DATACONVx will result in a payload length of > 60 bytes. Splitting with AT+DATAUP=1 is also not a possible solution as I am not able to decode the packets correctly in TTN because I need more than one packet for all data to be valid.

Possible solutions can be:
  • Instead of simply convert a float to integer by removing the dot, cast the ASCII value to a float and then multiply it by a number that can be defined by the user. For example: AT+DATACONVx=1,2,100+2,2,10 will cast 0+17+17.123 to 17.0 and 17.123 and then convert it by multiplying (and casting to int) to 1700 (0x06A4) and 171 (0x00AB). In this case the user can define the maximum precision of interest for his application himself.
  • Another solution can be that AT+DATAUP does not only split the response into multiple packets but also in packets per command. For example:
    • AT+DATAUP=0 means single uplink
    • AT+DATAUP=1 means multiple uplinks according the AT+DR
    • AT+DATAUP=2 means single uplink each AT+COMMANDx that has uplinks enabled
    • AT+DATAUP=3 means multiple uplinks each AT+COMMANDx that has uplinks enabled according the AT+DR
Thank you very much!

Mengting

unread,
Jun 13, 2025, 7:20:24 AMJun 13
to Dragino User, 'Dragino User' via Dragino-user
Hello,

Thank you for your detailed explanation of the SDI-12 data conversion challenge. We fully understand the limitations of the current AT+DATACONVx and AT+DATACUTx commands when handling variable-precision floats in SDI-12 responses.
A solution matching your second proposed approach (packet-per-command splitting via AT+DATAUP) is already in development. 
This is the cutting data separation processing function of our RS485-LB. Our engineers plan to add the same function to the SDI-12-LB as well. 
Firmware Update ETA: The feature is currently in testing and is scheduled for release in v1.3.2 (expected next week). 
We appreciate your thorough analysis and suggestions, which align perfectly with our planned improvements.

Best Regards
Ting
Technical Support Engineer

说明: 说明: DRAGINO-LOGO-签名 

Dragino Technology Co., Limited

Room 202, Block B, BCT Incubation Bases (BaoChengTai),  No.8 CaiYunRoad

LongCheng Street, LongGang District ; Shenzhen 518101,China

Direct: +86 755 86610829 |Fax: +86 755 86647123


------------------------------------------------------------------
发件人:'Dragino User' via Dragino-user <dragin...@googlegroups.com>
发送时间:2025年6月12日(周四) 15:56
收件人:"Dragino-user"<dragin...@googlegroups.com>
主 题:SDI-12-LB/LS
--
You received this message because you are subscribed to the Google Groups "Dragino-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dragino-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dragino-user/487ad0eb-6ea9-4f25-9a8d-50dd471b4e56n%40googlegroups.com.

temp4cj.png
InsertPic_CD64%2804-16-15-32-48%29%281%29.png
Message has been deleted
Message has been deleted

Steven M

unread,
Jul 1, 2025, 9:16:22 PMJul 1
to Dragino-user

Hello Ting,

I see there is a new firmware 1.3.2, but the changelog does not state that this issue was fixed or this feature was added.
I am assuming that there will be a 1.3.3 with this feature.
Can you provide any information about the planned release of this feature?

Thank you very much!

Mengting

unread,
Jul 1, 2025, 11:51:34 PMJul 1
to Steven M, 'Steven M' via Dragino-user
Hi, Steven,

In firmware V1.3.2, the AT+NEWLINE command has been added. You can find detailed instructions in the current user manual of SDI-12-LB.

Best Regards
Ting
Technical Support Engineer

说明: 说明: DRAGINO-LOGO-签名 

Dragino Technology Co., Limited

Room 202, Block B, BCT Incubation Bases (BaoChengTai),  No.8 CaiYunRoad

LongCheng Street, LongGang District ; Shenzhen 518101,China

Direct: +86 755 86610829 |Fax: +86 755 86647123


------------------------------------------------------------------
发件人:'Steven M' via Dragino-user <dragin...@googlegroups.com>
发送时间:2025年7月2日(周三) 09:16
收件人:"Dragino-user"<dragin...@googlegroups.com>
主 题:Re: SDI-12-LB/LS
temp4cj.png
temp4cj.png
InsertPic_CD64%2804-16-15-32-48%29%281%29.png
Reply all
Reply to author
Forward
0 new messages