
- 型 号
- A/A+/B/B+/2代B型/3代B型/3代B+型/Compute Module/4代B型
- 外文名
- Raspberry Pi [1]
- 内 存
- 256MB/512MB/1GB/2GB/4GB/8GB
- 开发组织
- Raspberry Pi 基金会
- 用 处
- Linux开发等
- 中文名
- 树莓派 [1]
- 网 站
- raspberrypi.org
- 简 写
- RPi
-
树莓派
2019-03-03 23:17:41树莓派 树莓派是什么 树莓派(英文名为Raspberry Pi,简写为RasPi/RPi/RPI) 是为学生计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。 随着Windows 10 IoT的发布,我们也将可以用上运行Windows...树莓派
树莓派是什么
树莓派(英文名为Raspberry Pi,简写为RasPi/RPi/RPI) 是为学生计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。 随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。 自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。
树莓派的由来
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这 一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。
树莓派的配置
RasPi是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。 Raspberry Pi B款只提供电脑板,无内存、电源、键盘、机箱或连线。支持的语言
树莓派基金会提供了基于ARM的Debian和Arch Linux的发行版供大众下载。还计划提供支持Python作为主要编程语言,支持Java、BBC BASIC (通过 RISC OS 映像或者Linux的"Brandy Basic"克隆)、C 和Perl等编程语言.
功能
Raspberry Pi 可以像其他任何一台运行Linux系统的台式计算机或者便携式计算机一样,可以做很多事情。Raspberry Pi 与普通计算机不同的地方是使用SD卡作为“硬盘”,也可以外接USB硬盘。
安装操作系统
1、准备一张8G以上的SD卡,
2、下载树莓派的系统树莓派官方下载地址
3、准备Windows下安装镜像文件的工具启动
1、安装了树莓派系统的SD卡
2、USB接口电源
3、USB接口的键盘和鼠标
4、HDMI线,用于接显示器
5、树莓派系统登录
用户名:pi 密码:raspberry远程桌面访问VNC VNC远程客户端
树莓派安装 tightvncserver,电脑安装RealVNC
远程桌面访问 RDP(比VNC效果好)
树莓派安装xrdp,windows使用 mstsc命令
远程通过SSH方式访问树莓派,windows下可用的软件,putty和XSHELL
Windows下开源且好用的解压软件Bandizip网络配置
准备一个USB无线网卡使用无线网卡将树莓派接入以太网中。启动树莓派 在命令窗口输入: sudo lsusb //用来查看树莓派已连接的USB设备
搜索无线信号 输入sudo iwlist wlan0 scan
系统会显示找到的所有无线网络的MAC地址,SSID等相关信息
配置无线网络 输入:sudo apt-get install wpasupplicant
安装完成后,创建一个配置文件,输入如下命令:sudo nano /etc/wpa.conf
在创建好的配置文件中输入:network={ ssid=”你用的WIFI的SSID” proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk=”WIFI的密码” }
接下来编辑网络配置文件:
输入:sudo nano /etc/network/interfaces将配置文件修改成如下形式: auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa.conf #wpa-roam/etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
按Ctrl+X,会询问你是否保存修改,输入Y,回车,即可完成修改。退出,重启树莓派,树莓派将自动连上无线网络。之后若要更换无线网,只需要输入 sudo nano /etc/wpa.conf修改其中的ssid和psk即可。
-
树莓派学习笔记——GPIO功能学习
2013-10-13 20:34:37树莓派现在越来越火,网上树莓派的资料也越来越多。树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个。0.前言
树莓派现在越来越火,网上树莓派的资料也越来越多。树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个。【开发语言】——python【开发语言】——C语言【相关博文】更多树莓派学习笔记请参考——【树莓派学习笔记——索引博文】1.硬件准备
【树莓派】——在开始所有的实验之前,你需要一块完整的树莓派。【IO扩展板】——可以通过淘宝购买IO扩展板,或者购买万用板和杜邦线自行制作IO扩展板。图1 树莓派扩展板——图片来自 天猫 大菠萝数码专营店图2 运行效果图2.注意事项
【编号方式】图3 GPIO编号方式——该图片来自wiringPi说明文档树莓派的软件扩展库虽然很多,但也导致了扩展库“碎片化”的问题,例如操作树莓派的GPIO端口,GPIO的编号便存在三种不同的方式【1】插座编号方式编号侧重P1插座侧,从上到下,从左到右。正如图3的Header一栏。【2】BCM2835编号方式编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号。正如图3 BCM GPIO一栏。【3】wiringPi编号方式编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程。正如图3 WiringPi一栏。【举例说明】插座编号方式 11 -> BCM2835编号方式 17 -> wiringPi编号方式 GPIO0。无论如何它都是同一个IO管脚。【代码写在哪里】【1】直接在树莓派中编写树莓派中有几款代码(文本)编辑软件,可以在树莓派中编写代码。【2】在windows中编写可以在windows中编写代码,如果是Python脚本可通过FTP软件传输到树莓派中,然后使用SSH客户端登录到树莓派中执行Python脚本。如果是C语言文件,除了使用FTP传输之外还需要在树莓派上编译才可以生成可执行文件(相当于windows上的exe文件)。相关软件操作请参考【树莓派学习笔记——常用软件汇总】【3】在其他linux中编写与windows中编写代码不同,在其他linux发行版(例如ubuntu)中可安装交叉工具链,交叉编译C文件生成在树莓派的可执行文件,那么使用FTP传输可执行文件至树莓派即可。其实方式【1】和方式【3】是几乎相同的。【本例原理图】为了说明问题本例只有一个LED,接在了树莓派IO扩展插座的11脚。图4 原理图2 Python GPIO实现
【安装过程】【1】先安装python-dev,输入以下指令。sudo apt-get install python-dev【2】安装RPi.GPIO,依次输入以下指令。特别说明,由于RPi.GPIO仍处于不断完善的过程中,请参考前言中的链接下载最新的安装代码。# 下载# 解压缩
$ tar xvzf RPi.GPIO-0.5.3a.tar.gz
# 进入解压之后的目录
$ cd RPi.GPIO-0.5.3a
# 启动安装
$ sudo python setup.py install【示例代码】新建一个名为led.py的文件,该文件具体内容如下:# -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time # BOARD编号方式,基于插座引脚编号 GPIO.setmode(GPIO.BOARD) # 输出模式 GPIO.setup(11, GPIO.OUT) while True: GPIO.output(11, GPIO.HIGH) time.sleep(1) GPIO.output(11, GPIO.LOW) time.sleep(1)
【运行】如果在windows上编写代码,请使用FTP软件下载到树莓派中,使用SSH客户端登陆树莓派,cd命令进入文件所在目录,然后输入指令sudo python led.py好吧,扩展板上的LED等开始闪烁了。最后使用Ctrl+C结束Python程序。【简单说明】【2】由于采用插座引脚编号方式,此处的11脚相当于BCM2835寄存器编号方式的引脚11。4 WiringPi实现
【安装过程】【示例代码】新建一个名为blink.c文件,该文件具体内容如下:#include <wiringPi.h> int main(void) { wiringPiSetup() ; pinMode (0, OUTPUT) ; for(;;) { digitalWrite(0, HIGH) ; delay (500) ; digitalWrite(0, LOW) ; delay (500) ; } }
【运行】如果在windows上编写代码,请使用FTP软件下载到树莓派中,使用SSH客户端登陆树莓派,cd命令进入文件所在目录,然后输入gcc指令gcc -Wall -o blink blink.c -lwiringPi接着输入以下命令执行程序sudo ./blink程序顺利运行,最后使用ctrl+c可以结束程序。【简单说明】【1】不确定的最后状态,由于程序停止的时间未知,所有LED可能为点亮状态也可能会熄灭状态。【2】和python的程序相比,GPIO的端口号似乎发生了变化,但是实际上为同一个IO,只是IO的编号方式略有不同。【3】-lwiringPi表示动态加载wiringPi共享库,如果不熟悉gcc指令和makefile,请参考系列博文——【Linux学习笔记——例说makefile 索引博文】5 BCM2835 C Library
【安装过程】特别说明,由于BCM2835 C Library仍处于不断完善的过程中,请参考前言中的链接下载最新的安装代码。# 下载
$ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.35.tar.gz
# 解压缩
$ tar xvzf bcm2835-1.35.tar.gz
# 进入压缩之后的目录
$ cd bcm2835-1.35
# 配置
./configure
# 从源代码生成安装包
make
# 执行检查
sudo make check
# 安装 bcm2835库
sudo make install【示例代码】新建一个名为blink.c的程序,程序的具体内容如下:#include <bcm2835.h> // P1插座第11脚 #define PIN RPI_GPIO_P1_11 int main(int argc, char **argv) { if (!bcm2835_init()) return 1; // 输出方式 bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP); while (1) { bcm2835_gpio_write(PIN, HIGH); bcm2835_delay(100); bcm2835_gpio_write(PIN, LOW); bcm2835_delay(100); } bcm2835_close(); return 0; }
【运行】如果在windows上编写代码,请使用FTP软件下载到树莓派中,使用SSH客户端登陆树莓派,cd命令进入文件所在目录,然后输入gcc指令gcc -o blink blink.c -lbcm2835接着执行该程序,输入以下指令sudo ./blink程序顺利运行,最后使用ctrl+c可以结束程序。【1】和wiringPi的情况相似,若关闭程序LED灯可能点亮也可能熄灭。【2】虽然GPIO端口再次发生了变化,但还是指向那个LED灯。【3】-lbcm2835表示动态加载bcm2835共享库,如果不熟悉gcc指令和makefile,请看看我的其他博文吧。6 未来做些什么
实践GPIO输入功能,实践SPI功能,实践I2C功能等。最后综合以上若干内容结合web做些好玩的应用。 -
【树莓派】树莓派4B新手篇:安装官网Raspbian Buster系统及基础配置
2019-08-19 20:05:312、树莓派4B有什么特色? 3、树莓派新手准备 4、烧录Raspbian Buster系统到Micro SD卡 开启SSH及配置无线连接 5、启动安装树莓派系统 启动树莓派 6、树莓派的基本配置 6.1 系统配置 6.2 更改apt软件源与系统...目录
4、烧录Raspbian Buster系统到Micro SD卡
1、前言
对于很多程序员而言,树莓派如今已经如雷贯耳,对于我一个新入行AI领域研究的新人而言,树莓派激发了我极大的兴趣。最开始知道树莓派,是因为我之前做了一个语音对话机器人,然后在查询有关资料的时候发现有人用树莓派做了一个语音对话机器人,于是乎很惊奇,心中一直想自己动手实验一下。刚好那时候听说树莓派4B新上市,各方面的性能至少提升了3倍以上,好奇心害死猫,所以我决定入坑树莓派了。
作为入门级玩家,内心还是希望用最新版本的树莓派4B,避免刚入行就落伍。树莓派到手了,新手玩家第一件事肯定是要搞明白如何使用它了,这篇文章就是用来介绍新手如何给树莓派安装系统并进行基本配置的。树莓派可以安装的系统有几十种,我主要介绍树莓派官网的最新版本系统如何安装,并对系统进行基本配置,达到新手开箱的目的。
2、树莓派4B有什么特色?
树莓派4B是流行的树莓派系列单板计算机中的最新产品,目前已经正式发布。
相比上一代的树莓派3B+,树莓派4B在处理器速度,多媒体性能,内存和连接方面提供了突破性的增长,同时保留了向后兼容性和类似的功耗。对用户来说,树莓派4B提供的桌面性能可与入门级x86 PC系统相媲美。
树莓派4B的主要功能包括高性能64位四核处理器,通过一对micro-HDMI端口支持分辨率高达4K的双显示屏,高达4Kp60的硬件视频解码,高达4GB的RAM,双频2.4/5.0 GHz无线局域网,蓝牙5.0,千兆以太网,USB 3.0和PoE功能(通过单独的PoE HAT插件)。双频无线局域网和蓝牙具有模块化合规认证,允许将电路板设计到最终产品中,大大降低了合规性测试,从而降低了成本和上市时间。
3、树莓派新手准备
需要准备一个树莓派及电源线、一个SD卡、一根HDMI线、一个USB鼠标、一个USB键盘、一个显示器,流程大概如下:
1、先去官网下载树莓派官方系统,并将系统烧录到Micro SD卡中;
2、然后将SD插入树莓派,插好电源线,插上鼠标、键盘、连接显示器,启动,亮灯,进入系统;
3、通过鼠标键盘进行相关配置即可。
下面通过图文的形式依次介绍这三个主要过程。
4、烧录Raspbian Buster系统到Micro SD卡
先去官网下载树莓派官方系统,有如下三个版本:
Lite版本是最小化安装,没有桌面环境;Desktop版本则带有桌面; Desktop and recommended software版本还带有推荐软件,但比较大。我选择了最完整的版本,点Download ZIP按钮下载压缩包并解压,得到扩展名为.img的系统镜像文件。不放心的话可以自己SHA256一下。
准备好Micro SD卡(≥16G,Class 10及以上就行,比如我用的闪迪高速)和读卡器,先用SDFormatter格式化Micro SD卡,界面很简单。
然后用Win32 Disk Imager将解压出的Raspbian系统镜像文件写入Micro SD卡,树莓派的系统盘就做好了。
用磁盘管理工具看的话,可以发现分成了3个区:boot、系统以及空闲空间。
注意:系统写完后,如果弹出来要格式化剩余空间的盘,一定不要格式化!!!不然可能会遇到树莓派开机时,系统无法启动的问题!这是因为树莓派系统启动时默认只使用操作系统需要的SD卡空间。这意味着即使你有一个很大容量的SD卡,操作系统也不会使用那么多容量。如果系统启动报错: end Kernel panic - not syncing:vfs unable to mount root fs on unknown -block(179,2),则可能是你在SD卡中做完系统格式化剩余盘导致的,不要选择格式化,再插入树莓派中重新启动即可。
所有需要用到的软件都可以在我的百度云盘中下载下来直接使用,包含如下内容,内附使用说明,更新日期为2019-08-16,链接:https://pan.baidu.com/s/14UJlTrh20Z2ogceqCP7Olw 提取码:4qlp
开启SSH及配置无线连接
其实这一步是为了方便在headless(即没有I/O设备,包括显示器)的情况下通过远程连接配置树莓派的。
在boot分区下新建一个空文件,名为ssh,就可以开启SSH。macOS下就以终端运行
touch /Volumes/boot/ssh
。再在boot分区下新建wpa_supplicant.conf文件,并写入无线的相关配置。为了不泄漏信息,下面只是示例。可以同时配置多个无线网络。
country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="wi-fi name here" psk="wi-fi password here" key_mgmt=WPA-PSK } network={ ssid="another wi-fi name here" psk="another wi-fi password here" key_mgmt=WPA-PSK }
如果无线网没有密码或者采用WEP加密方式的话,key_mgmt应设为NONE,密码字段由psk改成wep_key0即可。
5、启动安装树莓派系统
(这里是树莓派3B的GIF,供参考!)
1.先将安装好系统的SD卡插入树莓派。
2.再将USB接口的键盘和鼠标接上树莓派。
3.用HDMI线连接树莓派和电视或显示器。如果你的显示器是 VGA 接口输出,那么还需要一根 HDMI 转 VGA 线缆。
4.用网线连接树莓派和路由器。(可选)
5.接上电源线,并打开电源。启动树莓派
将Micro SD卡插到树莓派背面的卡槽中,接通电源开机。当你看到树莓派主板上红色电源指示灯亮起,绿色指示灯间或闪烁说明系统已经开始启动。如果接了显示器的话,这时会看到树莓派的 Logo,会进入Raspbian系统的桌面,并弹出一个Welcome to Raspberry Pi窗口,作为设置向导,如下图所示。在引导下根据实际情况配置国家、语言、时区,设置好登录密码、WiFi。
若上一步的设置正确,树莓派会自动联网。去自己路由器的管理页面找到给树莓派分配的IP(用网段扫描工具也行),保证电脑与其在同一网段,然后用SSH工具(PuTTY、XShell等)或者命令行SSH到树莓派。默认用户名为pi,密码raspberry。这是登录后用MBP截的图。
6、树莓派的基本配置
6.1 系统配置
修改pi和root账户的密码
sudo passwd pi sudo passwd root
顺便解锁root用户,不用每次sudo。
sudo passwd --unlock root
6.2 更改apt软件源与系统源
Raspbian与Ubuntu都是基于Debian的Linux系统,所以在Ubuntu上常见的apt、dpkg这些东西到了Raspbian都是一样的。注意自带编辑器不是vim,而是傻瓜式的nano。
第一步,先备份源文件。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
第二步,编辑系统源文件。
sudo nano /etc/apt/sources.list
第三步,将初始的源使用#注释掉,添加如下两行清华的镜像源。
注意:这里咱们用的树莓派系统是Raspbian-buster系统,所以在写系统源链接时要注意是buster,网上很多教程都是之前stretch版本,容易出错!
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
第四步,按Ctrl+O保存,Ctrl+X退出。
第五步,最后执行如下命令 sudo apt-get update,完成源的更新软件包索引。
sudo apt-get update
最后一步,可选,更新升级软件包,sudo apt-get upgrade。
然后就可以用apt-get安装自己想要的东西,比如vim。然后还需要更改系统源。
sudo nano /etc/apt/sources.list.d/raspi.list
系统源也可以使用中科大的,注释前面的代码,加上如下代码即可。
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main ui
6.3 更改pip源
树莓派上的主要编程语言是Python,国外的pip源都很慢,要换成国内的。新建~/.pip/pip.conf文件,写入其地址。阿里云、中科大、豆瓣等都有pip源。
[global] index-url = http://pypi.douban.com/simple/
豆瓣对Python是真爱,我也很喜欢豆瓣,祝它越来越好(又跑题了
Buster系统自带两个版本的Python,2.7.16和3.7.3,所以使用时最好区分开,例如:
root@raspberrypi:~# python2 -m pip show RPi.GPIO Name: RPi.GPIO Version: 0.6.5 Summary: A module to control Raspberry Pi GPIO channels Home-page: http://sourceforge.net/projects/raspberry-gpio-python/ Author: Ben Croston Author-email: ben@croston.org License: MIT Location: /usr/lib/python2.7/dist-packages Requires: Required-by: skywriter, rainbowhat, phatbeat, motephat, envirophat, Cap1xxx, blinkt, automationhat
6.4 安装远程桌面
一般来讲通过SSH管理树莓派已经足足够用。如果需要远程登录桌面,就得在树莓派上安装VNC Server,并启动一个VNC流。启动时会要求设置密码,限制8位。
sudo apt-get install tightvncserver tightvncserver :1
然后在实际使用的机器上下载VNC Viewer,输入树莓派的IP地址、VNC流的代号(就是
:1
)以及刚才配置的密码,就可以使用远程桌面了。为了防止树莓派的IP地址每次都变动,可以将DHCP改为静态IP。编辑/etc/dhcpcd.conf文件,加入以下配置即可。如果是有线网,就将wlan0改为eth0。
interface wlan0 static ip_address=192.168.1.111/24 static routers=192.168.1.1 static domain_name_servers=114.114.114.114
6.5 安装中文字体
Raspbian系统对中文支持不是很好,因此系统语言保留为英文。但是有时我们必须用它看中文,就需要安装字体。
执行以下命令安装文泉驿正黑、文泉驿微米黑。Linux下好用的开源中文字体基本只有他家的。
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei
效果如下。
好了,以上就是树莓派4B新手入门的基本操作及配置,希望你能够入门,并且发挥你的想象力,用树莓派来创造属于你的“玩具”!——From Nieson ,2019.08.19.
-
【树莓派4B】八、树莓派软路由,Ubuntu18.04配置路由转发
2020-07-16 12:58:34我的目的是通过把树莓派做成一个软路由,相当于一个智能路由器。 材料 树莓派4B,操作系统其实可以是其他的Linux版本。以为4B自带无线网卡,就用自带无线网卡作为路由出口。 大概思路 具体步骤 配置两个网卡的IP ...我的目的是通过把树莓派做成一个软路由,相当于一个智能路由器。
材料
树莓派4B,操作系统其实可以是其他的Linux版本。以为4B自带无线网卡,就用自带无线网卡作为路由出口。我的系统是Ubuntu 18.04
大概思路
具体步骤
配置两个网卡的IP
sudo vim /etc/network/interface
这里设置静态IP,也可以动态获取。
#Local loopback auto lo iface lo inet loopback #Ethernet0 auto eth0 iface eth0 inet static address 192.168.137.10 netmask 255.255.255.0 gateway 192.168.137.1 dns-nameserver 8.8.8.8 allow-hotplug wlan0 #iface wlan0 inet dhcp iface wlan0 inet static address 192.168.4.1 netmask 255.255.255.0
安装hostapd创建热点
sudo apt-get install hostapd
配置hostapd服务器,建立配置文件:
vi /etc/hostapd/hostapd.conf
,并输入以下内容:DAEMON_CONF="/etc/hostapd/hostapd.conf"
sudo vi /etc/hostapd/hostapd.conf
写入如下配置项。注意要根据自己的实际情况,替换 ??? 处的内容:
- ssid: WiFi 名称,8~64 个字符,最好用英文字母,不要出现特殊字符
- hw_mode: WiFi 网络模式,一般填 g 即可,设备支持的话可以填 a 启用 5G 频段:
a = IEEE 802.11a (5 GHz)
b = IEEE 802.11b (2.4 GHz)
g = IEEE 802.11g (2.4 GHz) - channel: 信道编号。如果上面配置了 hw_mode=g 使用 2.4G 频段,则一般填 7 即可。如果配置了 5G 频段,则信道编号有所不同,具体参考:WLAN信道列表
- wpa_passphrase: WiFi 密码,最好用英文加数字,不要出现特殊字符
#5GHz MODE # 设置默认的接入点为无线网卡 wlan0 interface=wlan0 #设置驱动程序为 nl80211 driver=nl80211 #无线路由器工作模式为802.11a(5G) hw_mode=a ieee80211n=1 ieee80211ac=1 ieee80211d=1 ieee80211h=1 require_ht=1 require_vht=1 vht_oper_chwidth=1 channel=149 vht_oper_centr_freq_seg0_idx=155 ht_capab=[HT40-][HT40+][SHORT-GI-40][DSSS_CCK-40] # 设置加密模式为 WPA2 wpa=2 # 开启 WMM wmm_enabled=1 country_code=US # 设置加密方式为CCMP wpa_key_mgmt=WPA-PSK # 使用 AES, 而非 TKIP rsn_pairwise=CCMP # 设置无线网络 SSID 为 Lili ssid=Lili # 设置密码为741852123 wpa_passphrase=741852123
最后,启动 hostapd 服务。
sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo systemctl start hostapd sudo reboot
如果出现:
Interface wlan0 wasn't started
#sudo nmcli nm wifi off sudo rfkill unblock wlan sudo ifconfig wlan0 192.168.4.1/24 up sudo service hostapd restart
注意配置文件不能有行是单独的空格,等号两边不要留空格。
这个时候已经可以看到热点了,但是手机连接会发现没有IP分配。
配置DHCP服务
- 安装
sudo apt-get install isc-dhcp-server
- 配置
sudo vi /etc/default/isc-dhcp-server
改成目标网卡
DHCP池sudo vi /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.10 192.168.4.100; option routers 192.168.4.1; option broadcast-address 192.168.2.255; option domain-name "lili.com"; option domain-name-servers 8.8.8.8,8.8.4.4; default-lease-time 600; max-lease-time 7200; }
subnet <eth0的地址> netmask <eth0的地址掩码> { range <DHCP起始地址> <DHCP结束地址>; option routers <wlan0地址>; option broadcast-address <广播地址>; option domain-name-servers 8.8.8.8,8.8.4.4; default-lease-time 600; max-lease-time 7200; }
如下图:
注释掉以 option domain - name 为开头的两行,以取消对域名的设置。
开启服务sudo service isc-dhcp-server start
如果不成功:
sudo ifconfig wlan0 192.168.4.1/24 up
这个时候已经能够连上树莓派的的热点了,有IP分配,但是不能上网
打开Linux系统的路由转发功能
这里是Ubuntu 18.04
开启IP转发sudo vi /etc/sysctl.conf
去掉这一行的注释
#net.ipv4.ip_forward=1
保存,用下列命令使命令生效sudo sysctl -p
配置路由表
sudo iptables -A FORWARD -i wlan0 -j ACCEPT sudo iptables -A FORWARD -o wlan0 -j ACCEPT sudo iptables -t nat -A POSTROUTING ! -o wlan0 -j MASQUERADE #把eth0网卡的数据包通过nat转发到wlan0,根据自己的需要修改相应的网卡
注意这里
/proc/sys/net/ipv4/ip_forward
里面内容为为1
,表示开启IP转发,但是重启后会失效,故需要修改/etc/sysctl.conf
这个时候能够正常连接热点并且上网了
完成配置,检查是否配置成功
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
如果最后两行出现了如下,则为正常
wlan0: interface state UNINITIALIZED->ENABLE wlan0: AP-ENABLED
遇到任何问题,包括之前的服务配置,都可以使用
sudo nano /var/log/syslog
调到最后一行查看,分析原因
最后的结果:
开机启动
在树莓派Raspberry Pi系统或者其他linux。
可以加在/etc/rc.local 中,开机自动添加路由规则!注意!:请一定在exit 0之前添加
#/etc/rc.d/rc.local 用于添加开机启动命令 sudo vi /etc/rc.local #在exit 0之前加入 #这三句根据需求加入开机启动 #sudo ifconfig wlan0 192.168.4.1/24 up #sudo service isc-dhcp-server start #sudo service hostapd start sudo iptables -A FORWARD -i wlan0 -j ACCEPT sudo iptables -A FORWARD -o wlan0 -j ACCEPT sudo iptables -t nat -A POSTROUTING ! -o wlan0 -j MASQUERADE
但是Ubuntu 18.04开机启动的方式不同
Ubuntu18.04 不再使用initd管理系统,改用systemd.改变太大,跟之前的完全不同。不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发挥作用。参阅下列链接
https://www.cnblogs.com/airdot/p/9688530.html1、建立rc-local.service文件
sudo vi /etc/systemd/system/rc-local.service
2、将下列内容复制进
rc-local.service
文件[Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
3、创建文件rc.local
sudo vi /etc/rc.local
4、将下列内容复制进rc.local文件
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log exit 0
5、给rc.local加上权限
sudo chmod +x /etc/rc.local
6、启用服务
sudo systemctl enable rc-local
7、启动服务并检查状态
sudo systemctl start rc-local.service sudo systemctl status rc-local.service
8、重启并检查test.log文件
cat /usr/local/test.log
如果能看到内容,说明设置成功,你就可以通过编辑rc.local文件来设置启动脚本了
现在,连接到树莓派的无线热点,即可正常连接互联网。
树莓派(Raspberry Pi 3) - 树莓派打造无线路由器
无线hostapd错误"nl80211: 无法配置驱动程序模式"
[趴会儿project]No.003 基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器
Ubuntu Server(18.04)开启路由转发搭建软路由
用dnsmasp
树莓派3B+ 无线路由(hostapd)
其他资料
WLAN信道列表
开机启动
ubuntu-18.04 设置开机启动脚本快速调试命令汇总
sudo ifconfig wlan0 192.168.4.1/24 up sudo service isc-dhcp-server start sudo service hostapd start
ifconfig sudo vim /etc/network/interface ip add sudo ifconfig wlan0 192.168.4.1/24 up sudo systemctl start dnsmasq sudo systemctl restart dnsmasq sudo systemctl stop dnsmasq sudo systemctl status dnsmasq vi /etc/dhcp/dhcpd.conf sudo vim /etc/default/isc-dhcp-serve /etc/init.d/isc-dhcp-server restart sudo service isc-dhcp-server restart sudo systemctl start isc-dhcp-server sudo systemctl restart isc-dhcp-server sudo systemctl stop isc-dhcp-server
#不想要dnsmasp dpkg --list sudo apt-get --purge remove 包名 #--purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get remove 包名
下期树莓派搭建局域网Web服务器
附录
其他配置参考
# 设置默认的接入点为无线网卡 wlan0 interface = wlan0 # 设置驱动程序为 nl80211 driver = nl80211 # 设置网卡工作模式为 802.11G hw_mode = g # 设置无线网络 SSID 为 RaspberryPi ssid = RaspberryPi # 设置无线通道为5,如果发现连接速度慢或有干扰,也可以设置为其他数值 channel = 6 # 设置加密模式为 WPA2 wpa = 2 # 设置密码为123456789 wpa_passphrase = 123456789 # 设置加密方式为CCMP wpa_key_mgmt = WPA-PSK wpa_pairwise = CCMP rsn_pairwise = CCMP beacon_int = 100 auth_algs = 3 wmm_enabled = 1 wmm_enabled=1
5GHz Mode
interface=wlan0 driver=nl80211 hw_mode=a ieee80211n=1 ieee80211ac=1 ieee80211d=1 ieee80211h=1 require_ht=1 require_vht=1 wmm_enabled=1 country_code=US vht_oper_chwidth=1 channel=149 vht_oper_centr_freq_seg0_idx=155 ht_capab=[HT40-][HT40+][SHORT-GI-40][DSSS_CCK-40] wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP ssid=wifiname wpa_passphrase=1234567890
// 基本信息 # 无线网卡的名称 interface=wlan0 # 网卡对应的驱动名 driver=nl80211 # 无线网络的名称是Pi-wifi ssid=Pi-wifi # 无线路由器工作模式为802.11g(2.4G) hw_mode=g # 无线网卡使用的信道 channel=10 # 支持 802.11n ieee80211n=1 # 采用WPA2配置 wpa=2 # 无线网络密码是123456789 wpa_passphrase=123456789 # 认证方式为WPA-PSK wpa_key_mgmt=WPA-PSK # 开启 WMM wmm_enabled=1 # 开启 40MHz channels 和 20ns guard interval ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] # 接受所有 MAC 地址 macaddr_acl=0 # 使用 WPA 认证 auth_algs=1 # 需连接者知道ssid ignore_broadcast_ssid=0 # 使用 WPA2 wpa=2 # 使用预先共享的 key wpa_key_mgmt=WPA-PSK # 使用 AES, 而非 TKIP rsn_pairwise=CCMP
DHCP配置解释
subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.10 10.0.0.100; option domain-name-servers 202.206.192.33, 223.5.5.5; option domain-name "mylab.com"; option subnet-mask 255.255.255.0; option routers 10.0.0.1; option broadcast-address 10.0.0.255; default-lease-time 600; max-lease-time 7200; }
逐行进行解释
#subnet后跟子网网段,netmask后跟子网掩码 subnet 10.0.0.0 netmask 255.255.255.0 { #地址池 range 10.0.0.10 10.0.0.100; #DNS服务器地址(多个地址用","隔开) option domain-name-servers 202.206.192.33, 223.5.5.5; #为所分配的域分配域名 option domain-name "lili.com"; #为所分配的主机分发子网掩码 option subnet-mask 255.255.255.0; #分发默认网关 option routers 10.0.0.1; #分发广播地址 option broadcast-address 10.0.0.255; #默认租期时间(秒) default-lease-time 600; #最大租期时间(秒) max-lease-time 7200; }
-
修改树莓派用户密码
2017-12-09 17:30:19树莓派在安装系统之后都会有原始默认的用户名和密码,接下来我们可以自行修改树莓派的用户密码。 -
树莓派更换国内源
2019-07-26 10:31:02树莓派系统安装后默认使用国外的镜像源来更新软件,由于不可描述原因,国内访问速度非常慢,而且会遇到各种各样连接错误的蛋疼问题,因此需要换成国内源。树莓派官方提供了一个更新源列表,在这里我们使用中科大的... -
树莓派在配置开机启动服务时候遇到的问题
2020-10-08 23:24:54最近我在使用树莓派 + Raspbian部署个人服务器,在安装好Tomcat后为其配置开机启动服务时,遇到了类似以下报错。 问题一: insserv: warning: script 'tomcat' missing LSB tags and overrides 解决方案: 我们在... -
树莓派入门(一)—— 树莓派4B介绍
2020-03-10 21:13:302012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。 自问世以来,受... -
树莓派安装系统详细步骤
2018-01-13 13:49:49现在越来越多的人在使用树莓派,而拿到手的第一步就是为自己的树莓派安装一个自己想要的系统,现在我将详细的讲述树莓派安装系统的步骤 1.第一部下载你所要的树莓派系统 ... 在这里 ...你可以选择raspbian这个是官方... -
【树莓派】初识树莓派
2017-12-30 16:11:55【树莓派】初识树莓派什么是树莓派 树莓派(英语:Raspberry Pi),是一款基于Linux的单板机电脑。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。 换句话说,树莓派就是... -
使用树莓派实现的口罩检测
2020-05-17 11:48:53基于树莓派3B+ 官方摄像头 两个指示灯 实现的口罩检测 项目演示 链接 口罩检测项目地址 使用的口罩检测 项目是AIZOO团队实现的 使用的是目标检测常用的SSD算法。 (由于疫情在家 连不上实验室的服务器我无法训练) ... -
查看树莓派ip地址的几种方法
2018-03-20 22:14:59在开始准备玩树莓派的时候,除了外接一块显示器,进行开发之外,还可以通过ssh服务,或者vnc服务,可以很方便地通过另一台电脑进行远程登录操作。远程登录的前提就是需要获得树莓派的ip地址。下面我介绍几种方法可以... -
树莓派 树莓派初始化
2018-05-21 13:03:53什么是树莓派 树莓派是为学习计算机编程教育而设计,其系统基于Linux,是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接... -
树莓派开发笔记(一): 入手树莓派3b,成功运行树莓派系统
2018-03-22 21:33:08若该文为原创文章,未经允许不得转载 原博主博客地址:... 目录 前话 树莓派3b 外包装与配置 基础配件清单 树莓派系统下载 给树莓派刷系统 运行树莓派系统 供电不足 安装树莓派中文环境 ... -
树莓派GPIO控制
2018-07-15 12:21:35树莓派GPIO控制 陈拓chentuo@ms.xab.ac.cn 2018.06.09/2018.06.10 0. 概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果。也适宜于树莓派3B+。 0.1 树莓派GPIO编号方式 功能物理引脚 从左到右,从上到下:... -
树莓派opencv调用树莓派摄像头
2016-12-03 07:46:46在树莓派3上安装了opencv,用opencv去掉用usb接上的摄像头可以,但是不能获取树莓派的标准摄像头?应该怎么去设置 -
【树莓派】树莓派SD卡的烧录、树莓派启动、远程桌面连接树莓派
2019-02-15 21:31:29树莓派SD卡的烧录 软件下载 1、树莓派系统烧录软件:Win32 Disk Imager 2、官方树莓派控制器的系统文件 Raspbian 烧录步骤 1、解压下载的系统文件、解压Win32 Disk Imager 系统烧录软件,双击文件夹中的.... -
【方法】树莓派小车自动循迹(摄像头)
2018-12-28 10:35:07今天我们来介绍一下树莓派小车的循迹教程 首先看一个效果视频 说明 该小车的硬件是:树莓派+L298N,其实用Arduino也是一样的,下位机只提供一个车轮的控制,视觉识别都是通过树莓派完成的 看到这样一个赛道,赛道是... -
树莓派4B,以树莓派官方系统为蓝本,定制自己的树莓派系统
2019-12-17 19:57:07树莓派4B已于2019年6发布,终于在2019年快结束前把“大飞品树莓”系列教程配套的树莓派4B镜像制作完毕,后续所有课程将在树莓派4B上进行。本文将定制树莓派4B系统过程进行记录,为大家提供定制自己树莓派系统提供... -
树莓派打卡签到
2020-02-02 12:23:05树莓派是一款信用卡大小的超小型电脑 那么我们有个大胆的想法,能不能用树莓派实现打卡的心愿呢。好歹也是个计算机,对吧。 树莓派的购买及组装 购买清单 就我实际的使用而言,必需品:一块主板,网线,3个散热片,... -
第二课:基于树莓派的10个经典项目(树莓派能做什么)
2020-04-11 11:08:101)树莓派长什么样 2)为什么叫树莓派 3)树莓派来自哪个国家 4)树莓派的创始人是谁 5)树莓派的使命 6)树莓派的销量 7)树莓派基金组织 第二课:我们来了解树莓派能做什么 树莓派能做什么,莫过于来看一遍树莓派... -
[玩转树莓派]树莓派配置成路由器
2019-09-03 11:57:26现在手头上正好有一个树莓派3b+的板子,想折腾一下,用树莓派搞个简单的路由器玩玩。 树莓派3B+ / 4B板载了无线网络适配器,不需要额外增加无线网卡就可以把它打造成一个无线路由器。有一种方法是给树莓派刷上... -
树莓派串口
2018-11-09 15:20:49树莓派上自带一个串口,用于连接蓝牙或是串口命令行,串口资源很少,对于嵌入式的应用来说串口设备很多,需要的串口数量也很多,因为通过USB外接串口是一个不错的选择。树莓派的 raspberry 2018.04.18 stretch版本的... -
【树莓派】通过xrdp服务远程桌面连接树莓派
2019-03-26 00:49:28本文主要介绍了如何通过xrdp服务远程桌面连接树莓派,实现树莓派的远程桌面登录。 -
树莓派体验1 - 初次启动树莓派
2017-05-10 09:16:31做嵌入式开发以来,工作期间经历了多种TI、NXP、高通以及其他厂家的arm-linux系列平台,一直对于树莓派这个风靡全球的开发板心驰神往,想要体验一番。最近在做物联网操作系统多平台适配,对于树莓派这种拥有庞大用户... -
【树莓派】使用NOOBS安装树莓派系统
2018-01-02 10:18:09【树莓派】使用NOOBS安装树莓派系统通过NOOBS进行安装什么是NOOBSNew Out Of Box Software (NOOBS)(NOOBS)是Raspberry Pi的一个简单的操作系统安装管理器。下载sd卡格式化安装器下载地址为 ... -
树莓派介绍
2018-07-15 11:16:09什么是树莓派(Raspberry Pi)树莓派是由树莓派基金会研发的一种只有信用卡大小的单板机电脑,最初的设计目标是用较为廉价的硬件和开源软件为儿童提供一个计算机教育平台。但其优秀的扩展性和易于开发的特性,使其... -
树莓派笔记15:手机控制树莓派小车
2018-09-01 12:03:53下面的图片是成果的展示,树莓派小车由树莓派、小车地盘、电机及电机控制模块、摄像头、舵机云台和OLED显示屏等组成,手机端写了一个简单的App,可以控制小车的行进,控制摄像头云台转动,同时可以接收显示摄像头的... -
树莓派安装phddnsSN码登陆后绑定账号却无法进行树莓派的映射配置
2020-01-28 23:30:09使用phddns在树莓派上的客户端后,忽然发现电脑关闭后,主账号显示离线,而树莓派的显示在线,并且公网ip无法访问。 尝试删除设备,重新添加 还是不行, 重新申请账号,卸载客户端,重新绑定,都没有效果,... -
树莓派入门(一)之树莓派简介
2019-03-26 18:15:44准备写一些树莓派入门教程,本教程采用c语言教学。大概涉及树莓派的gpio口的控制,树莓派介绍,以及具体通过几个例子使用gpio口。主要是针对树莓派入门者。 我们使用的wiringPi库,所以我们只看wiringPi...
-
leetcode 9 回文数
-
捕获瞬间摄影展示网页模板
-
大数据Hive on MR/TEZ与hadoop的整合应用
-
Oracle 、 MySQL 、 PostgreSQL 等 各数据库关于数据块(页)的一点唠叨
-
黑沙登录表单响应式网页模板
-
【计算机网络系列】广播链路MAC协议
-
橙色定价表网页模板
-
一张图看清继承方式
-
复古图书馆登录注册表单网页模板
-
CodeForces - 28A Bender Problem【水题】
-
朋友聊天历史窗口网页模板
-
LeetCode打卡Day11
-
彩色长方形价格表网页模板
-
高校网上教材征订系统.
-
pip安装Python库超时解决办法
-
WPF上位机数据采集与监控系统零基础实战
-
如何在企业推行OKR?
-
HTML5新特性、多媒体标签、CSS3盒子模型
-
ECharts
-
酒店介绍服务预订响应式网页模板