GoForum › 🌐 V2EX
Windows 平台的上位机开发,需要用 CAN 通信,能用 go 吗?
TirionHo ·
2026-05-21 14:13 ·
0 次点赞 · 10 条回复
之前做互联网的,现在转到了搞嵌入式的公司做物联网相关工作,小公司要求啥都会,现在把服务器、小程序、APP 、上位机这些都交给我来做。 小程序、APP 这些有点经验都好说,但是现在要做上位机,功能是连接 BMS 进行数据监控和参数配置,需要使用 CAN 通信。 我一开始想的是用 electron 之类的,但是发现只对串口通信支持较好,做 CAN 通信很难。又调研了下,发现了 wails 这个东西,问了下 AI ,说 go 可以做底层开发,但是深入了解后发现还是需要用 cgo 之类的,感觉坑有点多,主要是之前没做过这方便,完全不知道可行性如何。不知道有没有大佬用 go 实现过类似的功能呢? 如果用 go 实现难度很大,要做上位机是不是从学习成本、开发效率这些来说,应该选择 avalonia ,这个相对来说能更快速的上手?
10 条回复
supemaomao · 2026-05-21 14:43
can 转网络模块,你直接用 TCP/UDP 通讯就行了。模块有个好处,自带滤波。不然数据大了,你处理不过来。
liuliuliuliu · 2026-05-21 14:43
上位机下位机的话 C#是第一选择,至于 UI ,其实没必要 avalonia 这个是跨平台的,你也不需要,winform 和 wpf 就行,当然用 avalonia 也没问题
添加回复
你还需要 登录
后发表回复
UI 和 CAN 通信肯定不会跑在一个线程上,干脆把界面和通信拆开来做 electron 之类的做界面,负责 CAN 通信的部分单独起一个服务