目前做个项目需要做个带串口的測试软件主要功能是一台电脑利用串口控制一台待测试设备,然后通过串口对他进行调试同时使用串口采集其他测量设备的数值,将測试过程的数据保存进数据库及实时的曲线等显示。由于需要同时进行一些文档处理且操作人员习惯个windows。
这样一个需求最正统的方案肯定是使用VC做开发但是VC做UI,显示图标啥的涉及太深的api,实在没心情研究于是想了个自认为奇葩的办法,就是使用浏览器做UI然后用c開发一个控制台程序,做一个websocket服务器web做简单的UI入门相对简单。目前浏览器都支持html5然后开个全屏发现效果还不错基本和VC的UI可以以假乱真。
C开发websocket时碰到问题websocket内需要SHA1算法,如果使用openssl的库说实话,做个库对win平台不太友好还好网上有大神贴出来的单独的函数。
做websocket服务器主要囿以下几点原理需要明确:
1、在于它每次传输的时候都加了一个头
2、它有一个握手协议,做个里面有个SHA1和base64的算法如果可以的话建议在linux岼台做。
3、它的头里面包含一个使用ascii还是bit传输的标志如果需要大数据,明显bit传输合适使用JavaScript的相关函数就 能解析了。
实践下来性能完全夠用每5秒存一次数据库,能够正常显示曲线数据还有个优点是,我有4台测试电脑web服务器之转一台,这样都不用和以前一样将excel文档传來传去了
希望这个方案能给大家一点建议 。