You are reading content from Scuttlebutt
@neftaly

kbox-web

I'm having a shot at building a web UI for kbox, a Signal-K/NMEA-2000/NMEA-0183/WiFi enabled Arduino.

111.png
One thing I want is to be able to connect arbitrary devices to the input pins, and convert calibrated analog voltages to discreet NMEA 2000 messages (as N2K has a well-defined set of reverse-engineered message types). The idea is that you can enter several values then automatically generate a reference curve. I want an expansion board to interface with anything from water tank level sensors to engine controls.

112.png
I made a little 3D CSS thing for orientating the IMU/accellerometer.

{
  self: "urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
  vessels: {
    "urn:mrn:imo:mmsi:276780000": {
      "name": "KAROLIN",
      "navigation": {
        "speedOverGround": 14.71,
        "courseOverGroundTrue": 3.4942,
        "position": {
          "longitude": 24.7878483,
          "latitude": 59.82894
        }
      }
    },
    "urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d": {
      "name": "signalk-server",
      "roles": [
        "master",
        "main"
      ],
      "navigation": {
        "speedOverGround": 3.23,
        "courseOverGroundTrue": 3.4697,
        "log": 17442136,
        "position": {
          "longitude": 24.731313,
          "latitude": 59.715775
        },
        "logTrip": 80988,
        "magneticVariation": 0.1414,
        "headingTrue": 3.6059,
        "speedThroughWater": 2.94,
        "datetime": "2014-08-15T19:05:09.02090Z"
      },
      "environment": {
        "depth": {
          "belowTransducer": 15.34,
          "transducerToKeel": -0.001,
          "belowKeel": 15.339
        },
        "current": {
          "setTrue": 1.9519,
          "drift": 0.46
        },
        "wind": {
          "speedApparent": 6.59,
          "angleApparent": 0.7683
        },
        "water": {
          "temperature": 313.15
        }
      },
      "electrical": {
        "batteries": {
          "1": {
            "voltage": 14.55
          }
        }
      }
    },
    "urn:mrn:imo:mmsi:236586000": {
      "name": "TRANSOSPREY",
      "navigation": {
        "speedOverGround": 6.68,
        "courseOverGroundTrue": 4.5187,
        "position": {
          "longitude": 25.1587117,
          "latitude": 59.8669633
        }
      }
    }
  }
}

Signal K is actually really nice. It's just a JSON object representing the state of several vessels. It's much higher level than NMEA2000/CANBUS/DeviceNet, and doesn't define things like physical connector standards or sensors types, so sK and N2K both work together. I've started working on a little module for implementing it on web apps.

Join Scuttlebutt now