Paid Project - SDi-12 serial protocol

Posted on
  • Hi all I have a wee project to interface SDi-12 protocol to Espruino.

    SDI-12 is a arcane protocol used in environmental sensing. It consists of 2 wires: data and ground and runs at 1200 baud. The bus is bidirectional, and the logger is the master, and the sensors are slave devices on the bus. https://en.wikipedia.org/wiki/SDI-12

    As we often find someone has done this with the Arduino
    http://sdiserial-arduino-sdi-12.readthed­ocs.org/en/latest/

    One challenge is as yet I can't find cheap hardware to test against.
    My customer is lending me a test device, so if your happy to code I can't test.

    I don't have a big budget as I'm not being paid for the project I'm pitching.
    I'm happy to pay by bank transfer or by kit (e.g purchase Any hardware or software).

    Once development is done I/developer will contribute the module to Espruino Lib.

    Hope this is of interest to someone in or knowen to the community.
    BTW I have @Gordon 's approval to use the forum for this request.

    Lawrence

  • Hmm - the Arduino library may be a lot more complicated than it needs to be, since it looks like it's got a full on software serial implementation in it (since arduino only has one measly uart on most parts).

    It looks like it's 1200 baud serial, 7 data bit, even parity - I think you can use any of the UARTs on Espruino for this, and if you send the right data down it, it may 'just work'?

  • @DrAzzy thank but it's more like 1-wire as the tx/rx line are shared. Also like RS232 bit's have to be be inverted e.g a 1 is approx 0V on tx/rx line. After a lot of goolging I've found a UART to SDi-12 but it ain't cheap.

  • SDI-12 (1.2 and 1.3) is quite an tricky protocoll... Just glancing over the specs and documentation on the Web of some avilable products, implementing it looks to be some work... The tight timing/squencing/coupling between application, recorder/controller/master and sensors/slaves make it difficult for a reasonable layering/abstraction... Best approach would be to model the sensors with recorder and sensor facing 'halfs' that use implementaions of recorder services and sensor services. This could make an app reasonably 'simple'. If the app has to deal with the protocol's intrisic (corner) cases, it becomes an extremely comples state machine. A reasonable continuation of this discussion requires more details about the scope of the project, and about where SDI-12 as a technology is going.

  • Here's the specification http://www.sdi-12.org pdf

    And a schematic:

    Checked some instruments and oh my they were expensive! This is the cheapest I've found Decagon 5TM

  • The box in the lower left corner can be filled with attached schema. I do though not know about polarity. Furhermore - for creating the 12 ms break to wake up the sensors. This would require to override the USART#'s tx pin for that duration...


    1 Attachment

    • SDI12-schemaSignal.png
  • @alexanderbrevig & @allObjects thank both for your contribution I got the quote "SDI-12 is a arcane protocol.." from the site that @allObjects got the circuit diagram from and it is...

    The cost of sensors it's very high but some schools rung projects using SDi-12 and I'm wondering what these guys/gals are going to use https://connectedseeds.wordpress.com/

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Paid Project - SDi-12 serial protocol

Posted by Avatar for LawrenceGrif @LawrenceGrif

Actions