How to develop a new Protocol
Create a repo with agile-<yourprotocolname>
These two repositories both use the Java implementation of the AGILE protocol API called agile-dbus-java-interface. Alternatively, you can also implement the same API in your own service.
Customize you agile-stack by adding your new container
Make sure a proper Dockerfile is created as well (see examples in the above repositories).
Then, add your protocol to the AGILE stack. For this, edit docker-compose.yml of agile-stack, and add a new block with the agile-<yourprotocolname> service. Make sure it connects to the Agile DBus as the example services above. The following is an example of what should be added.
agile-<yourprotocolname>: container_name: agile-<yourprotocolname> image: agileiot/agile-<yourprotocolname>-$AGILE_ARCH build: <path to yourprotocolname code> depends_on: - agile-dbus volumes: - $DBUS_SESSION_SOCKET_DIR:/usr/src/app/.agile_bus environment: - DBUS_SESSION_BUS_ADDRESS=unix:path=/usr/src/app/.agile_bus/agile_bus_socket restart: always
Note that the build line should be anabled and point to the folder containing your code.
if you use the Agile CLI, build your code with
Build you code using
agile compose build
or directly with compose: