IoT Agent (JSON)

Official documentation of this IoT Agent: here

Requirements

Please make sure you read the welcome page and followed the steps explained in the installation guide.

MQTT Transport

What you can customise

Via ENV variables

For the documentation of the variables please refer to the global configuration docs.

  • MOSQUITTO_VERSION: Version number (tag) of the Mosquitto Docker Image. Defaults to 1.4.12.

  • IOTA_MQTT_HOST: Defaults to mosquitto, which is the name of the docker service.

  • IOTA_MQTT_PORT: Defaults to 1883.

  • IOTA_VERSION: Version number (tag) of the Agent Docker Image. Defaults to 1.6.0.

  • IOTA_LOG_LEVEL: Defaults to DEBUG.

  • IOTA_TIMESTAMP: Defaults to true.

  • IOTA_CB_HOST: Defaults to orion.

  • IOTA_CB_PORT: Defaults to 1026.

  • IOTA_NORTH_PORT: Defaults to 4041.

  • IOTA_REGISTRY_TYPE: Defaults to mongodb.

  • IOTA_MONGO_HOST: Defaults to mongo.

  • IOTA_MONGO_PORT: Defaults to 27017.

  • IOTA_MONGO_DB: Defaults to iotagentjson.

  • IOTA_MONGO_REPLICASET: Defaults to rs. Unset to disable replicaset option.

  • IOTA_HTTP_PORT: Defaults to 7896.

  • IOTA_PROVIDER_URL: Defaults to http://iotagent:4041.

Via Files

  • config.js: Feel free to edit this file before deployment, it will be used by the agent as its config file. It is treated by docker as a config. Remember that values specified via ENV variables will override those set in the file.

  • mosquitto.conf: Feel free to edit this file before deployment, it will be used by mosquitto as its config file. It is treated by docker as a config.

Deploying this recipe

We assume you have already setup your environment as explained in the Installation.

    docker stack deploy -c docker-compose.yml iota-json

The deployed services will be:

Important Things to keep in mind

  • As of today, the official Mosquitto Docker Image is not including the mosquitto-clients, so if you want to execute commands like mosquitto_sub and mosquitto_pub, you basically have 2 options:

  • Install them in your system and add the host parameter to point to the docker mosquitto service.

  • Install the clients in the mosquitto container. Note this will not persist after a container restart! If you need this to persist create your docker image accordingly.

       docker exec -ti mosquitto_container sh -c "apk --no-cache add mosquitto-clients"    

TODO

  • Complete testing of the step-by-step guide to make sure this recipe provides all the minimum requirements for a first successful walkthrough with the Agent. Depends on this issue.