JSON Configuration API

YuDash IoT devices have simple, yet innovative JSON based configuration mechanism. Effectively, all settings in configuration UI can also be done by simple editing of .json files.

Basic understanding of JSON syntax and format is required. JSON is primarily an hierarchical, key-value pair structure.

While making any changes, please validate the syntax before saving the file. jsonlint is a cool online JSON validator

YuDash Configuration JSON: lynx.json

This is main configuration file to control all functionality of IoT device. The file is typically internally stored lynx.json (for all devices) and downloaded to laptop with same name.

It contains various JSON blocks which are parsed by YuDash IoT devices. Each block has a unique key (name) under which all relevant information will contain.

dotFourSettings is primary block which controls most of top level functionality.

In most of cases, presence of a given configuration settings does not enable a given feature. It has to be enabled (or disabled) using a flag in dotFourSettings (or applicable) block..

The network settings (WiFi/4G/Ethernet) is not part of lynx.json. It has to be configured from YuDash configuration UI only.

dotFourSettings

This is primary block of YuDash IoT devices which defines the feature (enable/disable) or configuration (enable/disable, numerical value). Minimal dotFourSettings example:

   "dotFourSettings": {
        "modBus": 1,
        "loopDelay": "15",
        "cloudServer": 10,
        "displayName": "Thingsboard_demo",
        "dpPerPacket": "16"
    },

In a simple manner, above settings signify that

  1. modBus : Modbus/RS485 is enabled and we need to read a modbus instrument as per settings in a block for modbus/RS485 protocol.

  2. loopDelay: YuDash IoT device will have a loop cycle of 15 seconds.

  3. cloudServer: data has to sent on a MQTT (10) broker as per provided MQTT settings.

  4. displayName: YuDash IoT on-device display with show "Thingsboard_demo".

  5. dpPerPacket: is a configurable parameter which is set to 16.

Most of the parameters are optional in nature with a default value. During downloading of a configuration from YuDash IoT device, the configuration engine auto-generates default values in json. For example, above file will be converted to below when downloaded from YuDash IoT device:

  "dotFourSettings":{
      "modBus":1,
      "loopDelay":"15",
      "cloudServer":10,
      "displayName":"Thingsboard_demo",
      "dpPerPacket":"16",
      "debugFlag":0,
      "anaToDig":0,
      "useDefaultCloud":0,
      "snmp":0,
      "modBusTcp":0,
      "ethernet":0,
      "rms":0,
      "rmsStoreData":0,
      "rtc":0,
      "sdCard":0,
      "nfh":0,
      "dataScale":0,
      "nwFallback":"0",
      "modBus2":0,
      "tcpParse":0,
      "sensor":0,
      "modBusServer":0
   },

dotFourSettings parameters for Feature Enable/Disable

0 is disable (typically default) and 1 is enable.

Last updated