一 实验原理

所需硬件:树莓派3B,TP-LINK WiFi模块,笔记本电脑,网线

所需软件:Putty、远程桌面链接、python、cmd界面

树莓派3B是只有信用卡大小的微型电脑,其系统基于Linux。在WIFI网络互传测试实验中作为服务器Server端,接收PC端的链接请求,并向其发射数据。

TP-LINK WiFi模块搭建在树莓派3B上为树莓派3B链接无线网络。

PC端作为客户端向树莓派3B发送链接请求,链接上后接收树莓派3B发送的数据。

无线网络为树莓派和PC端提供同一个网络信号。

网线首次连接树莓派获取IP。

二 实验步骤

  1. 树莓派安装系统,搭建TP-LINK WiFi模块,。
  2. 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

  1. 树莓派上利用python编写server程序:
 import socket

 import time

 import sys

 HOST_IP = "192.168.1.133"

 HOST_PORT = 

 #创建Socket,SOCK_STREAM表示类型为TCP

 print("Starting socket: TCP...")

 socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

  #绑定IP和端口,并进行监听

 #137.58..162为本机IP,端口为7654

 print("TCP server listen @ %s:%d!" %(HOST_IP, HOST_PORT) )

 host_addr = (HOST_IP, HOST_PORT)

 socket_tcp.bind(host_addr)

 socket_tcp.listen()

 #接受Client发出的连接请求,返回值包含了Client的IP和端口

 socket_con, (client_ip, client_port) = socket_tcp.accept()

 print("Connection accepted from %s." %client_ip)

 #向Clinet发送数据

 socket_con.send("Welcome to RPi TCP server!")

 socket_tcp.close()

运行结果:

 Starting socket: TCP...

 TCP server listen @ 192.168.1.133:!

 Connection accepted from 192.168.1.111.

注意:

端口号为8888可以自己设置,范围为0-65535,设置时不能占用已经使用的端口号。如Putty连接树莓派用到了22这个端口,就不能再设置成22.

  1. PC 机上利用python编写cline程序:
 import socket   

 import time

 import sys    

 SERVER_IP = "192.168.1.133"

 SERVER_PORT = 

 print("Starting socket: TCP...")

 socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

 print("Connecting to server @ %s:%d..." %(SERVER_IP, SERVER_PORT))

 server_addr = (SERVER_IP, SERVER_PORT)

 socket_tcp.connect(server_addr)  

 data = socket_tcp.recv()

 print("Server: %s" %data)

 socket_tcp.close()

运行结果:

 runfile('E:/socket_tcp_clinet1.py', wdir='E:')

 Starting socket: TCP...

 Connecting to server @ 192.168.1.133:...

 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        树莓派查端口号

树莓派项目——基于树莓派的WIFI网络互传系统设计的更多相关文章

  1. 基于树莓派的智能家居项目的设想与实现 Hestia

    注:本人内容的准确性仅限于笔者写该篇文章时的情况,不保证后续与实际项目代码一致.实时内容还请关注Github项目托管页面:https://github.com/GenialX/hestia-serve ...

  2. 使用命令行设置树莓派的wifi网络

    假设你没有登录到经常使用的图形用户界面.这样的方法就适合用来设置树莓派的wifi.尤其是在你没有屏幕或者有线网络,仅使用串口控制线的时候.另外,这样的方法也不须要额外的软件,全部须要的东西都已经包括进 ...

  3. 树莓派配置wifi网络+更换镜像源

    刚安装完系统后,采用的是树莓派通过网线连接笔记本wifi共享方式联网,后面考虑不使用网线,让树莓派使用wifi联网. 一.配置无线网络 1.通过ssh登录树莓派,输入用户名和密码后,输入如下命令进入图 ...

  4. 树莓派(Raspberry Pi 3) 使用wifi模块连接网络

    树莓派3B内置了wifi和蓝牙模块,启动WIFI模块有两种方式,一种是图形界面,一种是命令行模式. 使用图形界面: 在桌面右上角的菜单栏里面选择wifi,输入密码就可以了. 使用命令行: 第一步:配置 ...

  5. 树莓派2安装使用小米WIfi(360 小度 腾讯wifi)

    更新2015年11月16日,jessie内核版本号4.1.13(uname -a 可以查看)直接可以驱动MT7601U,无需手动编译. 截止2015-4-6,本文基于树莓派2,raspbian,内核版 ...

  6. DIY一个基于树莓派和Python的无人机视觉跟踪系统

    DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站差点儿已经是标配.假设想来点高级的--在无人机上直接处理拍摄的图像并实现自己主动控制要怎么实现 ...

  7. 树莓派Raspberry命令行配置无线网络连接

    前言: 树莓派有多种联网的方式,通过有线网或者通过无线网.通过有线网连接是比较简单的,在开启dhcp的路由器下,直接插上网线就可以联网,本文介绍树莓派无线联网的方式.再没联网的情况下,如果没有屏幕等外 ...

  8. 基于树莓派3的CAN总线编程

    基于树莓派3的CAN总线编程 原创 2016年09月08日 10:16:13 标签: 树莓派3 / MCP2515 / CAN总线 / python / 命令行 5254 简介 树莓派3使用Pytho ...

  9. Win10通过SSH与树莓派Raspbain系统互传文件

    1.在Linux系统上安装ssh-server(由于Raspbain系统自带ssh-server,这个步骤可以省略) 查看ssh是否运行的命令: ps -ef | grep ssh 如果没有安装,则安 ...

随机推荐

  1. jquery ztree异步搜索

    一.初始异步加载树 初始化默认给出一个根结点,再结合异步加载的方式手动触发默认加载第一层,如图: 代码如下: var treeSetting = { async: { enable: true, ur ...

  2. [转]my97 datepicker IE9+ 故障修复方法

    转自:http://blog.csdn.net/xuwj1984/article/details/38733483 问题1:my97 datepicker 不能弹出日期下拉框. 解决方法: 1.下载最 ...

  3. Java 导入证书

    在这个目录下: ${JAVA_HOME}\jre\lib\security 执行 keytool -importcert -trustcacerts -file yourcerfile.pem -al ...

  4. golang web框架 beego 学习 (四) 连接mysql

    1 DB参数配置在app.conf appname = gowebProject httpport = runmode = dev [db] host= localhost port= databas ...

  5. 6.27-JSTL、标签、分页

    一.JSTL 条件标签: <c:if> if if(){ }else if(){ }else{ } <c:choose> <c:when></c:when&g ...

  6. git超详细教程留着当手册

    GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :gi ...

  7. jquery函数写法

    普通jquery函数写法 <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script&g ...

  8. 34. Studio字符串分割split用法

    var v = "1,2,3"; var arr = v.toString().split(","); 备注:最好先toString()转为字符串,不然有些情况 ...

  9. 1. myeclipse设置jsp默认打开方式为jsp Editor

    1.windows - preferences - General - Editors - File Associations

  10. leetcode118

    public class Solution { public IList<IList<int>> Generate(int numRows) { var list = new ...