上位机和下位机概念
在进行单片机项目开发时,我们避免不了与计算机进行通讯,这里就有几个非常重要的概念(来自百度百科):
- 上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。
- 下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。
这里概念已经非常清楚了,总结来说:
- 上位机对下位机进行控制,是“控制者”
- 下位机响应来自上位机的控制,是“被控制者”
简单的例子:
为了大家理解方便,下文把上位机说成计算机,下位机说成单片机。
上位机和下位机之间通信
这里需要注意使用“通讯”和“通信”这两个词:
- 通讯:特指采用电报,传输和处理的信号是模拟的
- 通信:仅指数据通信,信息的载体是二进制数据
“通讯”系统早已实现了数字化、计算机网络化改造,因此可以认为目前的数据通信系统已涵盖了过去的“通讯”系统的功能,所以我们在文章中一律使用“通信”。
我所了解的单片机通讯大都是通过串口通信的,比如
- 串口直接通信:单片机连接计算机直接传递数据
- WIFI串口通信:两者基于TCP/IP协议通过WIFI传输数据
了解桌面软件开发
运行的平台:
- Windows操作系统:早期用VB语言开发,现在有了效率更高更强大的基于.NET框架的C#面向对象编程语言
- Linux发行版:一般都是采用Qt跨平台开发
- Android智能手机:采用Java语言开发
程序
大家可以到我的GitHub下载。