There are many points where I can't follow you line of thought.
First let's replace SerialK with SignalK, then it gets a little more logical for me.
I do hope I don't interprete you wrong.
Right now you have everything working on you OpenCPN pi (I assume?).
You want an (external) pypilot/device where the IMU is used (I assume?).
You want to use the IMU-data from the pypilot/device in signalK from your OpenCPN pi.
From the OpenCPN pi you can distribute the data via NMEA0183 / NMEA2000 / whatever??
I believe that is what SignalK is designed for. It basically depends on whether the pypilot device uses SignalK to share the information over the network.
The easy part is connecting the SignalK server as input to another SignalK server.
In the receiving SignalK server add a connection. Input type= SignalK, source is network, port should be googled but I think either 10110 or 3000, and probably UDP (but you could try both UDP and TCP).
The hard part will be filtering all information not required (I don't have experience here).
If you are talking about the pypilot software
on the same hardware
as OpenCPN you completely lost
me. I'd think all data is already input in the same SignalK server and there is no problem.
Some things I have not discussed above:
- when I talk about connection I use OpenCPN 5.0.522 with direct SignalK connection (port 3000). I see no added value of KPlex in that configuration.
- when using OpenPlotter and OpenCPN 5.0.0 you use the "convert to NMEA0183" plugin and configure KPlex with input source SignalK. Then you connect OpenCPN to KPlex (port 10110 I think).
- when using KPlex it might be prefeable to connect the USBGPS to KPlex directly (less translations is better but it depends on where you use the data).
Also: you might find more experience on these issues in the openmarine.net forum (openplotter)