The Interface Box I envisage would be essentially passive - "driver" is not the word I would use - and it certainly wouldn't (couldn't) forsee the communication protocols from (and to) every device!
Instead I would suggest the word "interpreter" - being the computer code that would do the work of marrying up the output from one device to the input of another (device, network
etc. as mentioned before). That's what I meant by "the bit in the middle".
But yes, we (you, me, or the next guy) would have to write that code! And, as it would be "our" code - that is, we would have full knowledge of it - we should be able to extract from the data stream whatever our little hearts desire (export to our favourite formats, and all the rest).
Meanwhile (and hopefully), the hardware of the Box itself would be as simple (and cheap) as we could make it.
Conceptually then, a sandwich:- on one side we have the active device (one that we shall know all about from our Library of Device Comm Details); on the other the client we are passing the data to (again, about which we shall need to know all)!* And the special bit in the middle will depend upon what device(s) and (or) network(s)
etc. we are dealing with. If we write our code well, we should (I expect) be able to re-use at least the core of it over and over again.
OK ... it's only a dream. But it might be a bit of fun drawing up (and agreeing) a spec.

*
It could also be in the other direction (or, indeed, both), but let's keep it simple for now.