本帖最后由 damiaa 于 2025-3-16 20:54 编辑
【 STM32MP135F-DK测评】+(11)python3 tcp通信测试
今天接着STM32MP135F-DK的实验,这次是实验它的tcp通信。
一.准备工作:
- 准备一个tcp调试工具并安装。我这里用SocketTool V4
- 板子上有tcpdump,想用可以用一下
- 上面已经安装了ssh。
- 板子上以太网通信是通的,只要插上网线,可以用ifconfig查看,如果没有就自己想办法搞通。
- 注意pc电脑的防火墙是要关闭,否则搞不定的。
二.编写一个服务器程序和一个客服端程序,代码如下:
板上跑服务器程序:
-
- import socket
-
-
- server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-
-
- server_host = '192.168.0.102'
- server_port = 12345
- server_socket.bind((server_host, server_port))
- clients =5
-
- server_socket.listen(clients)
- print(f"Listening on {server_host}:{server_port}")
-
-
- def cleanup():
-
- server_socket.close()
-
- for client_socket in range(clients):
- client_socket.close()
-
- client_socket, client_address = server_socket.accept()
- print(f"Connection from {client_address}")
- try:
- while True:
-
- data = client_socket.recv(1024)
- print(f"Received: {data.decode()}")
-
- client_socket.sendall("stm32mp135-dk server 192.168.0.102 12345 now connect!".encode())
- except KeyboardInterrupt:
-
- cleanup()
- except:
-
- cleanup()
- raise
板上跑客服端程序:
- import socket
-
-
- client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-
-
- server_host = '192.168.0.103'
- server_port = 12345
- client_socket.connect((server_host, server_port))
-
-
- client_socket.sendall("Hello, Server!".encode())
-
-
- data = client_socket.recv(12345)
- print(f"Received: {data.decode()}")
-
-
- client_socket.close()
三.实验:
1,先把程序的网址都改成stm32mp135-dk的,在一个板子上测试,看行不行,行的话再测试和pc通信。
这里测试是OK的,就不贴图了。
2.板子和pc通信:
板子跑服务器程序:
板子跑客服端程序:
tcp通信测试结果是OK的。
先写到这里,谢谢