zoukankan      html  css  js  c++  java
  • 树莓派项目——基于树莓派的WIFI网络互传系统设计

    实验原理

    所需硬件:树莓派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程序:
     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.

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

    萍水相逢逢萍水,浮萍之水水浮萍!
  • 相关阅读:
    PyMongo系列一:操作MongoDB
    MongoDB副本集配置系列十一:MongoDB 数据同步原理和自动故障转移的原理
    MongoDB副本集配置系列十:MongoDB local库详解和数据同步原理
    MongoDB副本集配置系列九:MongoDB 常见问题
    MongoDB副本集配置系列八:MongoDB监控
    MySQL模拟:线上误update的恢复
    Atlas+Keepalived系列二:管理Atlas
    BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)
    数据仓库设计小知识之一个属性的维度设计
    Microsoft 家族新成员 Datazen 移动BI 介绍
  • 原文地址:https://www.cnblogs.com/AIBigTruth/p/9625706.html
Copyright © 2011-2022 走看看