CAN controller + CAN Transciever 조합이 뒷받침되어야 통신이 되는 통신 규격인데,
Windows OS쪽에서는 기본적으로 제공되지 않아서
USB 나 PCI 컨버터 제조사 들이 제공하는 C# Wrapper 로 통신을 해야하더라구요.
근데, 닷넷이 현재에 와서는 Linux 에서도 많이 호환성이 좋아졌는데,
Linux 는 커널 측에서 SocketCAN module 을 지원해서 신호만 땡겨올 수 있으면
바로 socket 을 열고 통신이 된다 하더라구요.
그래서, Linux 에서도 닷넷을 이용하여 CAN 통신을 하려 하는데
SocketCANSharp 라는 package 를 제외하고는 마땅한 사례가 없어 보입니다.
혹시 닷넷을 이용하여 CAN 통신을 구현해보신 분이 계실까요?
일단 제 목표는 2가지 입니다.
Linux 에서 닷넷을 이용하여 can 통신을 구현하고 싶습니다.
GUI 로 Avalonia UI 를 많이 사용해봤기 때문에 닷넷을 이용해서 CAN 통신을 구현하고,
프론트엔드까지 구현하고 싶습니다.
만약, Windows 와 Linux 에서 모두 구동이 가능한 호환성 가능한 CAN 통신 사례가 있다면 뭐가 있을까요?
python의 경우에는 CAN 통신 라이브러리가 있던데, python 으로 CAN 통신하는 엔진을 fasapi 로 구동시켜놓고 소켓통신으로 땡겨오는 방법 정도가 있을까요?
일단 시작은 해봤는데,
궁금했던 점은
Linux 는 socketcan 을 이용하여 raw CAN 을 이용하여 c#으로도 포트를 직접 열고 닫으면서
범용적인 통신이 될 것 같은데
똑같이 C#으로 테스트를 해볼 때 WIndows 는 uCan (usb) 나 sCAN (serial) 등을 이용할 때
해당 장비 제조사가 제공해주는 라이브러리나 wrapper 가 없으면 어떻게 하지? 란 질문이 들더라구요.
근데 또 막상 Linux 에서 socketcan 을 이용하려 하니 이미 wrapping 되어있는 Linux 에서만 사용가능한
SocketCANSharp nuget 을 이용하는 것 말곤 마땅히 좋은 방법을 모르겠네요…