树莓派项目——基于树莓派的WIFI网络互传系统设计
一 实验原理
所需硬件:树莓派3B,TP-LINK WiFi模块,笔记本电脑,网线
所需软件:Putty、远程桌面链接、python、cmd界面
树莓派3B是只有信用卡大小的微型电脑,其系统基于Linux。在WIFI网络互传测试实验中作为服务器Server端,接收PC端的链接请求,并向其发射数据。
TP-LINK WiFi模块搭建在树莓派3B上为树莓派3B链接无线网络。
PC端作为客户端向树莓派3B发送链接请求,链接上后接收树莓派3B发送的数据。
无线网络为树莓派和PC端提供同一个网络信号。
网线首次连接树莓派获取IP。
二 实验步骤
- 树莓派安装系统,搭建TP-LINK WiFi模块,。
- Putty第一次链接树莓派可以通过网线链接获得一个IP地址,进入连接状态输入pi与密码raspberry,可以利用远程桌面连接工具连接到树莓派的桌面进行操作,并且设置无线的静态IP
设置静态IP步骤:
1)sudo vim /etc/dhcpcd.conf
2)interface wlan1
static ip_address=192.168.1.133/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
eth0是有线的配置 , wlan0是无线配置
ip_address就是静态IP , 后面要接/24
routers是网关
static domain_name_servers是DNS
3)sudo reboot
- 树莓派上利用python编写server程序:
1 import socket 2 3 import time 4 5 import sys 6 7 HOST_IP = "192.168.1.133" 8 9 HOST_PORT = 8888 10 11 #创建Socket,SOCK_STREAM表示类型为TCP 12 13 print("Starting socket: TCP...") 14 15 socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 16 17 #绑定IP和端口,并进行监听 18 19 #137.58.230.162为本机IP,端口为7654 20 21 print("TCP server listen @ %s:%d!" %(HOST_IP, HOST_PORT) ) 22 23 host_addr = (HOST_IP, HOST_PORT) 24 25 socket_tcp.bind(host_addr) 26 27 socket_tcp.listen(1) 28 29 #接受Client发出的连接请求,返回值包含了Client的IP和端口 30 31 socket_con, (client_ip, client_port) = socket_tcp.accept() 32 33 print("Connection accepted from %s." %client_ip) 34 35 #向Clinet发送数据 36 37 socket_con.send("Welcome to RPi TCP server!") 38 39 socket_tcp.close()
运行结果:
1 Starting socket: TCP... 2 3 TCP server listen @ 192.168.1.133:8888! 4 5 Connection accepted from 192.168.1.111.
注意:
端口号为8888可以自己设置,范围为0-65535,设置时不能占用已经使用的端口号。如Putty连接树莓派用到了22这个端口,就不能再设置成22.
- PC 机上利用python编写cline程序:
1 import socket 2 3 import time 4 5 import sys 6 7 SERVER_IP = "192.168.1.133" 8 9 SERVER_PORT = 8888 10 11 print("Starting socket: TCP...") 12 13 socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 14 15 print("Connecting to server @ %s:%d..." %(SERVER_IP, SERVER_PORT)) 16 17 server_addr = (SERVER_IP, SERVER_PORT) 18 19 socket_tcp.connect(server_addr) 20 21 data = socket_tcp.recv(512) 22 23 print("Server: %s" %data) 24 25 socket_tcp.close()
运行结果:
1 runfile('E:/socket_tcp_clinet1.py', wdir='E:') 2 3 Starting socket: TCP... 4 5 Connecting to server @ 192.168.1.133:8888... 6 7 Server: Welcome to RPi TCP server!
三 命令大全
sudo raspi-config 进入树莓派设置界面
hostname -I 树莓派查IP
sudo apt-get install xrdp 下载xrdp服务包
cmd arp -a 电脑查IP
man 查询命令
ls 查看文件夹里面的内容
cat /boot/config.txt -n 显示内容
mkdir 新建文件夹
cd /usr 进入目录
sudo reboot 重启树莓派
vim 进入vim
:q! 退出vim
:wq 保存并退出vim
i a o vim切换到输入状态
Esc 切换状态
ipconfig 电脑查IP
ifconfig 树莓派查IP
python test.py 运行python程序
netstat -an 电脑查端口号
netstat p 树莓派查端口号