Part 2. Device Module Interface (DMI)

Device Configuration

Device Configuration schema (JSON)

The following data structure is determines the device configuration about SceneModes and CaptureModes.

There is an array of CaptureSequences which define each CaptureMode (See DeviceMode: CaptureMode Table external link icon). The App, User, or Example Account Service Provider may add additional capture modes in addition to the standard CaptureModes.

If more than one capture sequence is set active, the device shall sequentially execute the active capture sequences.

{
  "$schema":"http://json-schema.org/draft-04/schema#",
  "type":"object",
  "title":"My schema",
  "additionalProperties":false,
  "properties":{
    "Device ID":{
      "type":"number"
    },
    "Device Name":{
      "type":"string"
    },
    "Device Capability":{
      "type":"object",
      "additionalProperties":false,
      "properties":{
        "evice Type":{
          "required":[
            "RGB",
            "IR",
            "RGB IR",
            "Time of Flight",
            "Structured Light",
            "Dual Aperture",
            "Stereo"
          ]
        },
        "Lighting":{
          "required":[
            "IR Light Source",
            "RGB Light Source"
          ]
        },
        "Pan Tilt Zoom":{
          "required":[
            "Pan",
            "Tilt",
            "Zoom"
          ]
        }
      }
    },
    "SceneMode":{
      "description":"Scene Mode for the device",
      "required":[
        "Monitoring",
        "IoT",
        "Robotics",
        "Lifestyle",
        "AR/VR",
        "Commercial"
      ]
    },
    "Capture Sequences":{
      "type":[
        "array",
        "object",
        "string"
      ],
      "properties":{
        "Capture Mode Name":{
          "type":"string",
          "description":"Name of Capture Mode."
        },
        "Capture Mode ID":{
          "type":"number",
          "description":"Unique ID for the Capture Mode."
        },
        "Active":{
          "type":"boolean",
          "description":"If set active device is executing this capture mode. More than one capture mode can be active at one time. In this case the device will sequentially perform capture modes."
        },
        "Repeat":{
          "type":"boolean",
          "description":"If true the capture mode repeats continuously from the start time and date to end time and date."
        },
        "Delay":{
          "type":"number",
          "description":"Time in milliseconds between capture sequences when Repeat = true."
        },
        "Start Time and Date":{
          "type":"string",
          "description":"Start Time of Sequence"
        },
        "End Time and Date":{
          "type":"string",
          "description":"If Repeat = true then the loop continues until this time."
        },
        "Capture Sequence":{
          "type":"array",
          "description":"Sequence of captures of frames or groups of frames that make up the Capture Mode.",
          "items":[
            {
              "type":"object",
              "properties":{
                "Number of Frames":{
                  "type":"number"
                },
                "Resolution":{
                  "required":[
                    "Highest Still Resolution",
                    "Highest Depth Resolution",
                    "Highest Video Resolution",
                    "Highest Resolution at Highest Frame Rate"
                  ]
                },
                "Frame Rate":{
                  "type":"number",
                  "description":"Number of Frames Per Second."
                },
                "Focus":{
                  "required":[
                    "Near",
                    "Medium",
                    "Far",
                    "Auto"
                  ]
                },
                "Exposure":{
                  "description":"Under or Over Exposure Relative to the Automatic Exposure.",
                  "required":[
                    "+8",
                    "+4",
                    "+2",
                    "0",
                    "-2",
                    "-4",
                    "-8"
                  ]
                },
                "Zoom":{
                  "type":"number",
                  "description":"Number of pixels skipped when performing digital zoom."
                },
                "Pan X":{
                  "type":"integer",
                  "description":"Number of pixels left or right of center."
                },
                "Pan Y":{
                  "type":"number",
                  "description":"Number of pixels up or down"
                },
                "Sensor":{
                  "required":[
                    "RGB",
                    "RGB IR",
                    "IR",
                    "Depth Stereo",
                    "Depth Time of Flight",
                    "Depth Structured Light",
                    "Depth Dual Aperture"
                  ]
                }
              }
            }
          ]
        }
      }
    }
  }
}

▲ Top