python做上位机

参考文章:

https://blog.youkuaiyun.com/dgut_guangdian/article/details/78391270

https://www.cnblogs.com/lanceyu/p/10201236.html

https://blog.youkuaiyun.com/absinjun/article/details/81407790

首先安装pip

你可以通过以下命令来判断是否已安装:

pip --version

如果你还未安装,则可以使用以下方法来安装:

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py   # 下载安装脚本
$ sudo python get-pip.py    # 运行安装脚本


显示版本和路径

pip --version

安装serial、easygui模块,

windows下需要安装pyserial,安装步骤见:

https://learn.adafruit.com/arduino-lesson-17-email-sending-movement-detector/installing-python-and-pyserial

帮助文档见:

https://pyserial.readthedocs.io/en/latest/shortintro.html

代码:

import serial
import time
 
ser = serial.Serial()
ser.baudrate = 9600
ser.port = 'COM3'
print(ser)
ser.open()
print(ser.is_open)
i=1
while(1): 
    demo=b"1"
    ser.write(demo)
    s = ser.read(1)
    print(s)
    time.sleep(0.1)
    demo = b"2"
    ser.write(demo)
    s = ser.read(1)
    print(s)
    time.sleep(0.1)

  继续。。

转载于:https://www.cnblogs.com/zl0372/p/11011304.html

### Python 上位机开发框架和库 在进行 Python 上位机开发时,通常需要选择适合的框架和库来构建用户界面、处理通信协议以及实现数据交互等功能。以下是常用的框架和库: #### 1. 用户界面开发框架 - **PyQt/PySide**: PyQt 和 PySide 是基于 Qt 的 Python 绑定库,用于开发跨平台的图形用户界面 (GUI) 应用程序[^4]。它们提供了丰富的控件和信号槽机制,适合复杂的上位机界面开发。 - **Tkinter**: Tkinter 是 Python 标准库中自带的 GUI 工具包,简单易用,适合快速开发轻量级的用户界面[^2]。然而,其功能相对有限,对于复杂需求可能不够灵活。 #### 2. 串口通信库 - **pySerial**: pySerial 是一个强大的库,用于通过串口与硬件设备进行通信。它支持多种操作系统,并提供了简单易用的 API 来读取和写入串口数据[^3]。 ```python import serial ser = serial.Serial('COM3', 9600) # 打开串口 if ser.is_open: print("串口已打开") ser.write(b'Hello') # 发送数据 data = ser.read(10) # 接收数据 print(data) ser.close() # 关闭串口 ``` #### 3. 蓝牙通信库 - **PyBluez**: PyBluez 是一个用于蓝牙通信的 Python 库,支持经典蓝牙协议。它可以用来发现蓝牙设备、建立连接并传输数据[^3]。 ```python import bluetooth nearby_devices = bluetooth.discover_devices() for addr in nearby_devices: print("Address:", addr, "Name:", bluetooth.lookup_name(addr)) ``` #### 4. 网络通信库 - **socket**: Python 的标准库 `socket` 模块可以用来实现基于 TCP/IP 或 UDP 的网络通信。它适用于需要通过以太网或 WiFi 与设备通信的场景[^2]。 - **requests**: 对于 HTTP 协议的通信,`requests` 是一个非常方便的库,能够简化 HTTP 请求的编写过程。 ```python import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.1.100', 5000)) # 连接到服务器 s.sendall(b'Hello') # 发送数据 data = s.recv(1024) # 接收数据 print(data) s.close() ``` #### 5. 数据处理和可视化库 - **NumPy/Pandas**: 这些库用于高效的数据处理和分析,尤其适合需要对传感器数据进行复杂计算的场景。 - **Matplotlib/PyQtGraph**: 提供了强大的绘图功能,可以用来实时显示数据曲线或生成统计图表[^4]。 ```python import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) y = np.sin(x) plt.plot(x, y) plt.title("Sin Wave") plt.show() ``` #### 6. 其他常用工具 - **OpenCV**: 如果涉及图像处理或计算机视觉任务,OpenCV 是一个不可或缺的库。 - **Kivy**: Kivy 是一个多点触控应用框架,支持跨平台 GUI 开发,特别适合移动设备上的上位机应用[^1]。 --- ### 总结 Python 上位机开发的核心在于选择合适的框架和库来满足具体需求。例如,使用 PyQt 或 PySide 构建用户界面,pySerial 处理串口通信,NumPy 和 Matplotlib 实现数据处理与可视化。这些工具结合在一起,可以构建功能强大的上位机系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值