一 实验原理

所需硬件:树莓派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. appium定位方法

    1.id定位 driver.find_element_by_id("这里是resource-id") 2.name定位 (新版本的appium 1.7 已经没有这个定位方法了) d ...

  2. python logging 日志模块的配置和使用

    import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(line ...

  3. [UE4]C++方法多个返回值给蓝图

    如果参数类型带上“&” void URegisterUserWidget::Login(FString& NickName, FString& Password, FStrin ...

  4. php multicast多播实现详解

    什么是多播? 网络中存在3中传播形式,单播,广播,多播. 1. 单播 : 就是1->1 2. 广播 : 1->多(广播域内) 3. 多播 : 1->组(一组ip) 1 2 3 4 5 ...

  5. Linux下XAMPP装完之后,Navicat无法连上数据库的问题的解决 注意'mypassword'是当前的mysql登录密码

    Linux下装完XAMPP之后,mysql是自带装好了的,这个时候,mysql的root用户没有密码. 在mac 下安装好xampp后,需要在终端命令行操作时,比如输入:mysql -u root - ...

  6. Android RIL Architecture

    Android RIL Architecture   by Gomathi Sankar   Introduction   The Article explains about the buildin ...

  7. X-Requested-With

    最近工作中发现,使用angular $http跨域的时候,虽然后台已经配置了跨域允许,但是还是报错. 查资料发现,angular $http 的request的请求头中,默认有: Access-Con ...

  8. Selenium 错误处理之:stale element reference: element is not attached to the page document

    出现该错误的原因是页面在获取到DOM元素之后到引用元素之间页面进行了刷新,所以需要再次获取该DOM元素即可.

  9. LINUX ifconfig 命令详解

    ifconfig 配置和显示Linux系统网卡的网络参数 补充说明 ifconfig命令 被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启 ...

  10. 6.requests编写企查查爬虫

    (为编写完善能拿下来数据) 企查查代码数据如下: #encoding:utf-8 import requests from lxml import etree import random import ...