Packaging and Deployment

Applications must be packaged in Debian installer format (.deb) and deployed to execute on the readers.

Development and Testing of user applications

During development phase, developers can run and debug app from the SSH command line of the reader using rfidadm user.

  • Copy the app to /apps folder on the reader (e.g. scp rfidadm@ip-addr-of-reader:/apps/)

  • Login into to the reader over SSH as user rfidadm (no password needed).

  • Then run the app from command line. For e.g., for a Python application do

cd /apps


Once applications are developed/tested to confirm its functional, it can be packaged for deployment to one or more readers. Use an Ubuntu Linux host PC for packaging the application into a Debian installer.


Make sure dpkg-deb command line tool is available on the host.

Following is the procedure to create a package of an any application. This procedure assumes an application needs to be packaged for installation.

  • Create a any application. Example Python DA app.

  • Create a Start script namely ‘’. Rename the ‘sample’ with actual name of the DA application.

    python3 /apps/${EXECUTABLE_NAME}.py &
  • Create a Stop script namely ‘’. Rename the ‘sample’ with actual name of the DA application.

    PID=`ps -C 'python3 /apps/${EXECUTABLE_NAME}.py' -o pid=`
    kill -9 $PID
    unset PID
  • Replace line EXECUTABLE_NAME= sample in and with name of the DA application.

  • Create a control file with the below content in it.

    Package: sample
    Version: 1.0.1
    Source: base
    Priority: optional
    Architecture: all
    Maintainer: Zebra
    Description: "Sample DA application"
  • In a suitable folder on the Linux host PC (e.g. ~/projects/sample_1.0.1) keep the application file and the scripts created in above step, and an empty folder named DEBIAN for manifest.

    sample_1.0.1 (folder)
    ├── DEBIAN (folder)
    |   └──  control
  • From shell prompt issue command: dpkg-deb with –build and -Zgzip options, followed by the folder tree where python script, start/stop bash scripts and DEBIAN manifest folder are present.

    user@dev-host:~/projects$ dpkg-deb --build -Zgzip sample_1.0.1/
  • Output Debian package generated can then be used for reader deployment.


Application may be deployed to the reader using one of the following methods:

Reader Administrative Web Console

  • Access reader using Reader Administrative Console and navigate to Applications page.

  • In Install New Package click Browse and select the Debian package to be installed and click Install.

  • After installation, click Start. If app needs to be run at startup, keep the AutoStart option enabled.

Using IoT connector API

IoT connector provides commands through which the userapps can be installed. The supported commands are listed in the table below and can be sent using the management interface.

IoT Connector commands for UserApp management




Gets the list of all installed UserApps


Installs the userapp.


Uninstalls the app.


Starts the user app


Stops the user app


Enables/disables the autostart flag on the user app.

Please refer to API documentation for details on usage of these APIs.