P4Pi AP转wifi模式
创始人
2024-05-05 22:32:51
0

调试时间:2022.11.07

        树莓派在安装P4Pi后,会自动设置为AP热点模式。本文档通过配置将树莓派系统从ap模式转变为wifi模式。


1   调试环境

        Raspberry 4B 4GB-SDcard 32GB

        Raspberry Pi Imager v1.7.3

Raspberry Pi OS – Raspberry PiFrom industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.https://www.raspberrypi.com/software/

        P4Pi镜像版本:p4pi-2022-08-25-6932c3b7-lite.img

Release v.0.0.4 · p4lang/p4pi · GitHubP4 on Raspberry Pi for Networking Education. Contribute to p4lang/p4pi development by creating an account on GitHub.https://github.com/p4lang/p4pi/releases/tag/sigcomm2022

        网线+网线转换器(试连接端口)


2   镜像安装

SD卡需要安装一个P4Pi镜像而不只是树莓派官方镜像

        (1)打开树莓派镜像烧录器,选择存储卡,首先擦除SD卡。

        (2)擦除完成后继续选择该SD卡,选择自定义镜像,点击烧录。

        (3)烧录完成后,将SD卡插入树莓派,安装系统。

        附:烧录完成后,p4pi系统本身没有做GUI界面。但笔记本可以检测到自动开启的热点(SSID:p4pi,密码:raspberry),即烧录成功。连接热点后常用两种方法:一种是在浏览器访问192.168.4.1登入浏览器的web界面;另一种是利用CLI进行ssh连接(用户名:pi,密码:raspberry)。


3   系统网络调试

3.1 p4pi-ap模式

       初始系统将内置网卡设为网桥ap模式,ssid为p4pi。

        p4pi利用hostapd开启ap模式。配置文件路径:/etc/hostapd/hostapd.conf。

                配置主要参数:Linux 配置 WiFi 为 AP 模式 - Linux系统区 - 无忧启动论坛 - Powered by Discuz! Linux 配置 WiFi 为 AP 模式 ,无忧启动论坛icon-default.png?t=MBR7http://bbs.wuyou.net/forum.php?mod=viewthread&tid=431080&ordertype=1

        p4pi利用udhcpd为连接到树莓派的终端设备分配ip地址。

                查看系统信息                    uname -a                    显示:Linux p4pi 5.15.33-v8+…

                查看wlan0连接状态          iw wlan0 link                显示:not connected

3.2 p4pi-ap模式转wifi模式连接外网

       不能直接将网卡变为wlan模式,树莓派在网卡不能自动连接至局域网的情况下,将没有手段连接树莓派。因此为调整内置网卡连入局域网,按以下步骤进行调试:

       1.将树莓派和PC用网线相连,调整两端的eth0接口使其在同一网段。

       2.修改内置网卡转变为wifi模式。

       3.利用有线接入对树莓派进行控制,使其连接上室内局域网。

       4.利用wifi进行通信。

(1)配置静态eth0

        将树莓派与PC用网线相连,配置有线网段192.168.5.0/24。

        树莓派配置vim /etc/dhcpcd.conf,PC配置有图形化界面不做赘述。

        1)树莓派-ip 192.168.5.1/24,网关192.168.5.2/24

               interface eth0

               static ip_address = 192.168.5.1/24

               static router = 192.168.5.2/24

               static domain_name_servers = (DNS地址,非必)

        2)PC-ip 192.168.5.2/24,网关 192.168.5.1/24

        注意:配置后需要reboot重启树莓派,eth0地址才会更改。最后,在关闭WLAN情况下,PC也可以正常登录p4pi的web页面并进行ssh访问,证明有线配置成功。(如果无法有线连接尝试刷新PC配置或插拔网线)

(2)树莓派无线网配置:

        1)首先关闭AP模式

                sudo update-rc.d hostapd disable

                sudo service hostapd stop

        2)配置网口参数

                vi /etc/network/interfaces

        3)预设wifi账户密码(priority配置保留)

               vi /etc/wpa_supplicant/wpa_supplicant.conf

        4)运行wpa_supplicant.conf文件(检测上一步是否有误)

                sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

        5)配置静态ip地址(eth0在wlan0连接成功后去除)

                sudo vim /etc/dhcpcd.conf

        修改后 sudo reboot now 重启树莓派

        PC在与树莓派有线相连的情况下可以利用192.168.5.1访问web界面(树莓派配置的有线静态ip)。也可以在连入同一局域网的情况下利用192.168.1.101访问web界面(树莓派配置的无线静态ip)。利用ssh工具,PC端可以通过192.168.1.101或192.168.5.1访问p4pi系统。之前ap模式下设置的虚拟桥接br0为访问ap模式下的p4pi系统提供ip端口,ap关闭后br0也随之失效。

        netstat -rn查看网关

       配置临时网关sudo route add default gw 192.168.1.1 wlan0 (重启后会失效)


附录

P4pi GitHub:Home · p4lang/p4pi Wiki · GitHubP4 on Raspberry Pi for Networking Education. Contribute to p4lang/p4pi development by creating an account on GitHub.https://github.com/p4lang/p4pi/wikiP4-SDNLAB:

P4 网络编程语言 学习资料整理 - 爱吃西瓜的番茄酱 - 博客园前言 2014年,可编程、协议无关的数据包处理器(Programming Protocol-Independent PacketProcessors,P4)的发布,开启了SDN数据平面可编程的先河。 https://www.cnblogs.com/youcoding/p/15343829.html

P4官网:

P4 – Language Consortiumhttps://p4.org/

P4完整版编程环境搭建:

P4编程环境搭建icon-default.png?t=MBR7https://www.bbsmax.com/A/KE5Qlmv0JL/

树莓派镜像:

Raspberry Pi OS – Raspberry PiFrom industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.https://www.raspberrypi.com/software/

P4学习笔记:

YAOJ - 知乎学生 回答数 6,获得 566 次赞同https://www.zhihu.com/people/yaoj-x/posts

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...