使用python帮我写一个实时监测树莓派温度、CPU、内存、硬盘使用情况并利用tcp传输给上位机的代码
时间: 2023-06-05 08:04:24 浏览: 111
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
好的,以下是基于Python的代码实现:
```python
import socket
import psutil
TCP_IP = '192.168.1.100' # 上位机IP地址
TCP_PORT = 5005 # 上位机通信端口
def get_data():
"""获取树莓派的各项数据"""
cpu_usage = psutil.cpu_percent()
mem_usage = psutil.virtual_memory().percent
disk_usage = psutil.disk_usage('/').percent
temperature_file = open('/sys/class/thermal/thermal_zone0/temp')
temperature = temperature_file.read()
temperature = float(temperature)/1000
temperature_file.close()
return cpu_usage, mem_usage, disk_usage, temperature
def transmit_data(data):
"""将数据通过TCP传输到上位机"""
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP Socket
s.connect((TCP_IP, TCP_PORT)) # 连接上位机
s.sendall(str(data).encode()) # 发送数据
s.close() # 关闭连接
while True:
data = get_data() # 获取树莓派各项数据
transmit_data(data) # 将数据传输到上位机
```
此段代码可以实时监测树莓派的CPU、内存、硬盘使用情况以及温度,并将这些数据通过TCP传输到上位机。若需要修改TCP通信的IP地址和端口号,可在代码开始部分进行修改。
阅读全文