【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
要开发上位机,主要还是看具体的用途是什么。比如说,是不是负责烧入固件;是不是调制参数;是不是监控;是不是系统控制、是不是仿真等等。当然,不管是什么样的上位机开发,有一些软件的架构设计是相通的。比如说图形框架、配置文件、日志、mysql、串口、协议、控件等等,这部分可以先了解下。
1、图形框架
图形框架方面,尽量选择简单的图形开发方法。原则上c# .net、mfc、python ui、qt都可以,不过个人建议还是用python。如果对界面有要求,可以用python+pyqt5,即import PyQt5。开发结束后,直接用pyinstaller生成安装包、然后部署到客户机即可。把重点还是尽量放在逻辑上面,界面简单大方就好。
2、配置文件
可以用json的方法来加载配置文件,即import json。
3、日志
有一个第三方模块,即import logging。
logging.debug logging.info logging.warning logging.error logging.critical
4、mysql访问
实际开发中可能需要访问数据库,直接import pymysql即可。
5、读取串口设备
python下面有直接访问串口的第三方库,即import serial。
6、自定义协议
以串口为例,自定义协议尽量简单,比如可以全部是问答的形式。也就是,所有协议的发起都是从上位机发出,下位机做出响应即可。一般协议包括的内容有,
从上往下的协议,
packet head: 0x55 0x55 packet cmd: 0x01 packet data len: 0x02 packet data: 0x00 0x00 packet crc: calculate data of previous data packet end: 0x55 0x55
从下往上的协议
packet head: 0xaa 0xaa packet cmd: 0x01 packet data len: 0x04 packet data: 0x00 0x00 0x00 0x00 packet crc: calculate data of previous data packet end: 0xaa 0xaa
7、图形界面常用的控件
控件这部分,本着够用就好的原则即可。一般来说,最好所有的功能都在一个对话框上面。常见的控件一般有标签、输入框、下拉框、按钮即可,如果是需要观察数据的变化情况,一般还需要再画布上描绘出数据的变化趋势,这也是十分必要的。如果我们使用PyQt5,这方面的资料就很多,直接copy过来使用即可。



