Matlab上位机开发(一) —— 了解上位机

2020-07-16 14:59:19 浏览数 (1)

1. 上位机的作用

在嵌入式项目开发中,无论是单片机项目、嵌入式Linux项目、FPGA项目,上位机始终是一个很重要的部分,主要用于:

  • 数据显示(波形、温度等)
  • 用户控制(LED,继电器等)
  • 文件传输(图像、音频等)

下位机(单片机)与 上位机之间进行数据通信有四种主要方式:

  • 串口

主要适用于下位机和上位机在一起的系统,使用USB转串口与PC相连,也可以使用无线透传串口模组,将串口信号转化为射频信号传输;

  • USB

速度相较于串口大幅提升,适合于工控设备传输文件(比如3D打印机、激光切割机等),但是对下位机要求较高,需要支持USB协议;

  • 网络

一方面适用于物联网项目,一方面适用于嵌入式Linux系统(已经移植支持了网络);

  • 蓝牙

不多用。

2. 常用上位机开发方式

上位机软软件开发主要包括以下两种:

Windows上位机(基于串口通信)

  • WinForm或者WPF(C#)

在Windows上,最早用VB语言开发,后来由于C 的发展,采用MFC开发,再后来微软发布了基于.NET框架的面向对象语言C#,更加稳定安全,再配合微软强大的VS进行开发,效率奇高;

c#和Java的语法类似,WPF相较于WinFormden优势在于,可以使用xml语言编写更加炫酷的界面;

  • Qt(C )

一方面可以跨平台运行,另一方面,对于嵌入式Linux中已经熟练掌握Qt开发的开发者,使用Qt再来开发上位机非常方便;

  • Labview

有着更加丰富好看的数据显示控件和逼真的交互控件,并且可以图形化开发;

  • Matlab

多适合于需要上位机进行信号处理的项目,比如本身掌握Matlab中基本信号处理的科研人员,只需要使用下位机(Arduino)来读取ADC的数据并发送到PC进行处理,还可以进行图像处理,语音信号处理等;

Android上位机(基于网络通信)

  • 使用Java或者kotlin编写(APP)

利用Android Studio开发,多适用于物联网项目的数据显示和控制;

  • 使用XML CSS JavaScript编写(小程序)

微信提供了开发工具,多适用于物联网项目的数据显示和控制,相对APP比较轻量级,并且开发方式和网页开发类似。

3. 教程概况

目前作者已经出的教程有:

3.1. C#上位机开发教程

地址:https://blog.csdn.net/mculover666/category_8632945.html

3.2. IoT App开发

这个系列教程由作者和B站up主“阿正啷个哩个啷”联合出品,有文字教程和视频教程,非常简单粗暴,没有Java基础也能开发:

  • 文字教程:

地址:https://blog.csdn.net/mculover666/category_9780817.html

  • bilibili视频教程:

地址:https://space.bilibili.com/265908761/video

3.3. Matlab上位机开发

从本篇文章开发,我将带领大家一起掌握如何通过 Matlab 开发上位机,目前计划的有以下这些,敬请期待:

  • Matlab上位机开发(二)Hello,World
  • Matlab上位机开发(三)波形显示(幅度和频率可调节)
  • Matlab上位机开发(四)Matlab调用自带摄像头或者USB摄像头并显示
  • Matlab上位机开发(五)Mtalab串口通信

希望本系列教程可以给你带来帮助~

0 人点赞