I am developing an application that must allow 20-30 remote users from different offices to scan and submit specific documents to a server to be processed. I want to pair a panasonic kv-s1037x (document scanner) with a raspberrypi 4 which will be onsite at these locations and connected to wifi/internet. The users must first create a job in the web app, which they will access from their own computers rather than the pi. When they do, the server must be able to send a command to the pi to scan the documents in the feeder and submit them to the server for processing.
I want to run a python program on the pi that controls the scanner and maintains a permanent websocket to the server so that the server can push scan commands etc… Panasonic have released sane linux drivers, but these are advertised as working on Ubuntu® 12 / 14 / 15 / 16 / 17 / 18 / 19 / 20. I have been able to develop a working version of the program on ubuntu 20.04. It uses GO object introspection to allow python to communicate with the libinsane library, which communicates to sane scanner driver provided by Panasonic. This allows me to control/use the scanner from python.
I want to try and get this working on ubuntu core. My issue is that I am completely new to Ubuntu Core and the snaps system and not sure whether what I am trying to do is possible given my app requires 3rd party device drivers. How can I install/use third party hardware (such as the kv-s1037x) device drivers in a ubuntu core environment? Do these get packaged into the snap along with my source code, the python interpreter, libinsane etc…? Or do I need to install them into the OS itself? Is this possible? If so, will this work given the drivers are not advertised for ubuntu core? Or do i need to ask the ubuntu core developers to add support for this device to the kernel-snap?
I am aware of the raw-usb interface for snaps on ubuntu core. This should allow the snap confined program to access the scanner but i am not sure how/where the panasonic drivers fit into the picture. Any help would be greatly appreciated. thanks.