一 实验原理

所需硬件:树莓派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. 接口测试3-4使用csv进行接口测试

    参照前面的例子 向URL发送corpid和corsecret2个参数,可以获取正确的tokenid https://qyapi.weixin.qq.com/cgi-bin/gettoken 数据 场景 ...

  2. 1084 Broken Keyboard (20 分)

    1084 Broken Keyboard (20 分) On a broken keyboard, some of the keys are worn out. So when you type so ...

  3. 如何干净的清除Slave同步信息

    MySQL> show master status; +------------------+-----------+--------------+------------------+---- ...

  4. jQuery的selector和context属性

    从jQuery1.3开始添加了这2个属性. 现在我们来看看那这2个属性的用法. selector属性是一个字符串.存储的字符串是选择器. HTML代码: <div class="guo ...

  5. C# implement java like CountDownLatch

    CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier.Semaphore.ConcurrentHashMap和BlockingQueue,它 ...

  6. C#获取电脑硬件信息(CPU ID、主板ID、硬盘ID、BIOS编号)

    最近学习过程中,想到提取系统硬件信息做一些验证,故而对网上提到的利用.NET System.Management类获取硬件信息做了进一步的学习.验证.验证是分别在4台电脑,XP SP3系统中进行,特将 ...

  7. MySQL数据库索引(中)

    上一篇回顾: 1.一个索引对应一颗B+树,所有的真实记录都是存在叶子节点里面的,所有的项目录都存在内节点或者说根节点上. 2.innodb会为我们的表格主键添加一个聚簇索引,如果没有主键的话数据库是会 ...

  8. C语言中字符串存储方法

    众所周知,C语言中没有数据类型能够存储字符串, char数据类型仅仅能够存储一个字符的数据,那么在C语言中关于存储字符串这一难题我们改何去何从呢? 下面将详述相关的字符串存储方法; 1,使用字符数组存 ...

  9. 《GPU高性能编程CUDA实战》第十章 流

    ▶ 本章介绍了页锁定内存和流的使用方法,给出了测试内存拷贝.(单 / 双)流控制下的内存拷贝的例子. ● 测试内存拷贝 #include <stdio.h> #include " ...

  10. 《内存数据库和mysql的同步机制》

    如下图