上位机用什么做

 

 https://www.zhihu.com/question/295656875/answer/503429293
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

LabVIEW!

先放两个自己做的,巨丑勿喷,主要是接地气,后面放大招。

手机的三轴加速度计数据(步行)

烟雾报警器的上位机(当前没硬件随机数模拟的)

这个是烟雾报警器的历史记录查询与修改的

程序框图长这样

LabVIEW天生就是用来做上位机的,而且效率很高,适合工程技术人员使用,而不必专业的软件开发者。

最重要的是这个足够专业和成熟(工业上用的很多),学习成本也低,我学习LabVIEW之前只学过C/MATLAB/Python/Processing,主要是做单片机的编程,因为有C的基础,所以学习LABVIEW完全无压力基本就是熟悉操作一遍就会了,两个语言一脉相承,不同的地方是所有GUI的共同点,你要真正掌握的也是这部分。

要说LabVIEW能做什么,我之前真的没想到会有那么多的地方会用到这个,见识限制了我的想象力,没有它做不到,只有你想不到。(SpaceX的测控中心就是用LabVIEW,还有老美的电磁轨道炮测试系统。)

SpaceX的任务控制中心面板

具体的一个UI

这个是电磁炮的

但是如果是做系统辨识,我之前都是串口发过来,然后用MATLAB的系统辨识工具箱直接出结果,一样很方便。直接编个脚本就好了,干嘛非得要GUI呢?

还有只有你对GUI有个性化的要求(觉得LabVIEW的太丑了,或是因为版权的问题),这时我建议你用Qt/C#什么的,那就不在此问题的范围内了,毕竟大家都不是做商业软件的。

最后上位机如果是数据采集会简单些,数据流是单向的,怎么来都行。但是双向的就不是上位机的问题了,这时候通讯协议才是占大头的地方,这个才是最头痛的。具体的难点仔细体会。

 

 

 

 

 Python

 

用 Python吧,串口库,图形显示,系统辨识,都有现成的,拿来拼装就可以了。

不用担心慢,毕竟你的数据流量是串口的速度

PyQt

我用PyQt,,做过的一些小工具:https://github.com/XIVN1987

 

electron

 

我用electron做,装上node.js的serialport库,使用node.js的buffer处理二进制,devtools调试,js的回调函数,html5的各种成品库,开发起来那个叫feel倍爽!

 

 

C++

C++,C#, Python 都可以,Matlab 基本上没用过就不说了。

但是现实的项目不光需要考虑技术因素,还有政治问题。我作上位机时候的一个体会就是,作下位机的那帮人通常只了解并相信C,如果你在上位机程序上选择了其他语言,只要项目出现任何问题,他们第一本能的反应就是你选错语言的锅。偏偏他们的话语权通常都很大,怎么说服他们是件很麻烦的事情。如果你上下机都能自己作的话,那么恭喜你,你的自由度很大。如果不是的话,建议你还是选择“政治正确”的C/C++吧。


 c# 

 serialport类写串口贼无脑。可视化数据的dll网上也能找到不少。或者qt也行。python不适合做这种对数据类型长度比较有要求的任务。再说python的ui没一个漂亮的。matlab就更不行了。

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值