一 實驗原理
所需硬件:樹莓派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 樹莓派查端口號