一 实验原理

所需硬件:树莓派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. sersync基于rsync+inotify实现数据实时同步

    一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...

  2. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(六)GameplayEffect的级别设置

    本节的内容不难,权当是复习.如果没有完成前面的教程,请前往学习. 第一步:用一个csv文件表示级别数据,下图中的Hurt随级别1~7表示其损伤值在1~7级别时分别是-7,-14,-20等.写好之后关闭 ...

  3. javascript的焦点管理

    HTML5也添加了辅助管理DOM焦点的功能. 元素获得焦点的方式有页面加载,用户输入和代码中调用的focus()方法. 而document.activeElement属性保存着当前获得焦点的引用. v ...

  4. C# 获取物理网卡Mac地址

    // <summary> /// 获取网卡物理地址 /// </summary> /// <returns></returns> public stat ...

  5. hive的安装,一般不容易察觉的hdfs的配置问题导致hive安装的失败

    在安装hive的过程中,一般需要的准备环境就是hadoop集群的正常启动,要装有mysql,zookeeper. 具体怎么安装配置我在这里不多说,安装教程网上有挺多的. 我这里说下我遇到的问题,首先从 ...

  6. diskspd的使用

    参数翻译 可测试目标: file_path 文件abc.file #<physical drive number> #1为第一块物理磁盘[谨慎,别拿系统盘测试,一般用于准备投入的数据磁盘测 ...

  7. 洛谷P1415 拆分数列

    题目背景 [为了响应党中央勤节俭.反铺张的精神,题目背景描述故事部分略去^-^] 题目描述 给出一列数字,需要你添加任意多个逗号将其拆成若干个严格递增的数.如果有多组解,则输出使得最后一个数最小的同时 ...

  8. 修改IP

    查看系统版本 [root@host ~]# cat /etc/issueCentOS release 6.5 (Final)Kernel \r on an \m [root@host ~]# cat ...

  9. MyEclipse jsp 中文乱码

    在最开始加上 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  10. Windows 域用户

    Windows 2000 组及说明 分类: Windows 2000 的组分为Security 和 Distribution 两种. Security 类型是Windows 2000 唯一用于赋予权限 ...