Extracting data from devices in the field

Hello,

We are planning on using the mender solution to manage and deploy updates to our upcoming embedded device. Our embedded device currently collects various data and logs it on in a SQLite data base.

We have a requirement in which the end user should be able to filter and download data from the SQLite data base. We have a utility which will take a date range and extract data from the sqlite database and convert it to various csv files and zip those csv’s together.

Our issue:

We would like to simplify the process of extracting the data from the device .

We currently have 2 possible solutions:

  1. Embed a ncurses based c application into our product which allows the user to filter and select the data they want. The application generates the zipped file which the user can download. All this is done via the Remote Terminal and File Transfer add-on provided with mender-connect.
  • The con to this approach is we have to give our end users terminal access to the system.

  1. Write a Desktop application which is essentially wrapper over mender-cli. User uses the application to get the data need onto their system.
  • The con to this approach is we have to develop/maintain and ship an additional application with our product. In addition we will have to have some kind of user management so the customers only see their devices.

Does mender have any type of add-on or built in solution for our problem ? Can we write our own html page to accomplish the above and host it on the mender server?

Hi,
the remote terminal can be customized so that it’s accessed as a user with reduced privilege on the device.

You might have to define the expected bandwidth usage for the use case, the remote terminal is primarily a troubleshooting tool and expecting it to serve as download channel might not work as expected (highly dependent on the use case, might also work just fine).

There isn’t an-add on at the moment for a simple way to expose content from the devices to the users of the server.
Regarding the hosting of a custom HTML app, for the open source server version you’re responsible for the hosting so no limitations there.
If you’re looking for the server with enterprise features (hosted or as a SAAS service) it’s best to contact one of the sales representatives to explore options for custom solutions.

Cheers

Assuming you can modify the data and expose it as a key=value pairs to the user, there is a possibility to use the device inventory.
Perhaps is might fit keeping in mind that it is not a real time telemetry solution.

One thing which comes to mind is making a service on the device responsible for generating the archive and deploying that to some location on the cloud (you’d have to solve that part).
This results in a generated download link you can expose to the customer through the device inventory.

This way the actual transfer happens outside of mender, but you’re using the mender interface as means to expose that download link to the correct user.

Cheers