分类 树莓派 下的文章

这个树莓派教程用于制作一个可编程的 LED 灯光显示器,非常适合各种技能水平的人。

我喜欢圣诞装饰品和灯饰,因此很长一段时间以来我一直想做一个可编程的 LED 项目。最近,我制作了一个由 LED 灯、乒乓球和树莓派 Zero 组成的灯阵列。这个项目相对简单并且具有教学价值,因此我认为它非常值得分享。

整个彩灯由我设计,但其中一些灵感也来自 YouTube。你可以在我的 Git 存储库 中找到源代码和制作说明。

购物清单

  • 树莓派 Zero
  • 树莓派保护壳
  • 5V 2A 的电源线
  • 展架
  • 255 个乒乓球
  • 热熔胶枪和若干热熔胶棒
  • 烙铁
  • 焊锡丝
  • 22 AWG 0.35mm 实芯线
  • 10 米 WS2812(B) LED 灯带(每米 30 像素)
  • 万用表
  • 钢丝钳
  • 剥线钳

设计树莓派的灯光效果

这个设计是根据我展框的大小决定的。我在全球速卖通买到了每米 30 像素的灯带,它可以轻松地切成 0.5 米的长度,每条有 15 个 LED 灯。乒乓球的直径是 40 毫米,所以我测量并隔开 40 毫米划了线,LED 灯条放在每隔 40 毫米的中间部分,这就产生了 17 条线。因此我的灯光阵列是 15×17。你可以根据实际情况来调整尺寸。

为了给灯带和树莓派供电,我在电路板底部设置了数据线和电源线。我的 LED 灯不需要很多电,所以我使用树莓派 Zero 的 5V 输出 GPIO 为它们供电。当我以 50% 的亮度运行时,这个亮度已经足以在白天和晚上透过我的窗户看到。

布线

我从电路板的底部以之字形开始布线,这使得焊接非常容易,因为每行的末尾不必返回到每行的开头。

我的线路大致像这样(为清楚起见,这里进行了简化,实际上它一共有 17 行):

<---------------\
                |
/---------------/
|
\---------------< # 这里连接树莓派

使用树莓派制作显示屏

当设计和布线的工作完成后就可以开始制作显示屏了。

我在展板上测量并绘制了线路。我的灯带背面有胶带,所以我只需要取下背衬并将其贴在展板上。我检查了每个灯带的位置和数据线的方向,以确保灯带可以按照树莓派的指令正确串联起来。

连接好所有灯带后,我剪下三段长度相同的电线,并将每个灯带末端的电源线、数据线和接地线连接到其上方。

Connect each light strip at the end of each line.

在线路连接完成后,我检查了每条灯带之间的电源线和地线之间的连接,以确保其连通性。我还检查了是否存在错误的桥接,所以我验证了电源线和地线之间的连接。我还进行了一些测试以确保所有灯都正常点亮(链路测试参阅 测试代码)。

完成上述工作后,我开始在乒乓球上剪洞,用剪刀刺入乒乓球的底部,然后剪一个小洞让 LED 灯穿进去。手工不太行,每个球都不太一样,但效果真的很好。我使用的每米 30 个像素的 LED 灯,所以每个 LED 之间有大约 30 毫米的空隙。一个乒乓球是 40 毫米宽,但我不打算开始单独焊接每一个 LED!我想,这是很重要的。首先,我并不擅长焊接(正如我的照片所显示的),而且无论如何,我想“好吧,它们是乒乓球。我可以把它们压在一起!”

我是这样做的:

在 LED 灯上滴上热熔胶,然后在 LED 上放了一个乒乓球并按住大约五秒钟,就粘好了一个乒乓球。粘贴下一个乒乓球时我只需要挤着上一个乒乓球,就能让所有乒乓球都变得整齐了。我对它的外观很满意。它还有一个很好的好处,就是掩盖了我糟糕的焊接工作;)

It's a tight fit, but the 40mm ping pong balls fit in a 30mm space just fine.

我继续为余下的乒乓球进行焊接。尽管这个过程中有几个乒乓球被压碎了,但最终还是顺利完成了制作。

255 LEDs and 255 ping pong balls in an array.

测试代码

测试代码需要确保所有部件都能正常工作,为此我使用了这个 Adafruit 指南,它以红、绿和蓝点亮每个 LED,然后依次进行循环。我在测试时使用它来确保我连接无误并且焊接正常。

在此之后,我在电子表格中设计了一个网格,将每个像素映射到一个网格位置。由于我的像素编号呈之字形排列,因此很难跟踪每个 LED(例如 A1 为 256,B1 为 226)。重新映射网格位置能使得我在构建图像时更容易。

在所有准备工作完成之后,我就可以在纸上和电子表格中设计图像,然后编码。于是我开始添加一些动画(使用循环并将像素变为一种颜色,然后变为另一种颜色)。

最终的结果还算顺利。

A Christmas gift in LED.

Reindeer painted with light.

An LED snowflake.

能玩一年的树莓派彩灯

我不确定这是否已经完全完成了。自从把它摆放到橱窗里,几乎每个晚上我都会添加一些新的图像和动画。我已经在考虑除夕夜的时候要做成什么样了。它不会像圣诞装饰品一起在圣诞节后被放进储藏室。我只需要在上面显示其它图案,就能使它成为一个能玩一年的彩灯!我的一个朋友推荐了像素版马里奥,这听起来是个好主意!

我的代码仍然需要完善。例如,我做了一些滚动文本,但当我为文本的每个位置重新绘制时却花了很多时间。我想我可以用循环做一些事情,或者图像库可以帮助更轻松地滚动字母,并使添加文本更容易,而不是在每一步打开和关闭每个像素。

这里有一张照片记录了我制作的全过程:LED 乒乓墙

可以在此处观看它的运行视频:XMas 灯光展示

这个彩灯最终的效果我非常满意。以后我也会尝试更多利用 LED 彩灯完成的项目。我也鼓励大家亲自动手制作一个这样的彩灯,它会比你想象中更简单。


via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display

作者:Brian McCafferty 选题:lkxed 译者:Return7g 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用树莓派和电子纸显示屏开始倒计时你的下一个假期。

 title=

圆周率日 Pi Day (3 月 14 日) 来了又走,留下美好的回忆以及 许多树莓派项目 等待我们去尝试。在任何令人精神振奋、充满欢乐的假期后回到工作中都很难,圆周率日也不例外。当我们回望三月的时候,渴望那些天的快乐。但是不用害怕,亲爱的圆周率日庆祝者们,我们开始下一个节日的漫长倒计时!

好了,严肃点。我做了一个圆周率日倒计时器,你也可以!

不久前,我购买了一个 树莓派 Zero W,并且用它来 解决 WiFi 信号较差的原因 。我也对使用 电子纸 ePaper 来作为它的显示屏十分感兴趣。虽然我不知道该用它来干什么,但是!它看起来真的很有趣!我买了一个十分适合放在树莓派的顶部的 2.13 英寸的 WaveShare 显示器 。安装很简单:只需要将显示器接到树莓派的 GPIO 上即可。

我使用 树莓派操作系统 来实现该项目,虽然其他的操作系统肯定也能完成。但是下面的 raspi-config 命令在树莓派系统上很容易使用。

设置树莓派和电子纸显示屏

设置树莓派和电子纸显示屏一起工作,需要你在树莓派软件中启用串行外设接口(SPI),安装 BCM2835 C 库(来访问树莓派上的博通 BCM 2835 芯片的 GPIO 功能),安装 Python GPIO 库来控制电子纸显示屏。最后,你需要安装 WaveShare 的库来使用 Python 控制这个 2.13 英寸的显示屏。

下面是完成这些的步骤。

启用 SPI

树莓派上启用 SPI 最简单的方式是使用 raspi-config 命令。SPI 总线允许与设备进行串行数据通信——在本例中,电子纸显示:

$ sudo raspi-config

从弹出的菜单中, 选择 “ 接口选项 Interfacing Options -> SPI -> Yes ” 来启用 SPI 接口,然后启动。

安装 BCM2835 库

如上所述,BCM2835 库是用于树莓派博通 BCM2385 芯片的软件,它允许访问 GPIO 引脚来控制设备。

在我写这篇文章之时,用于树莓派的最新博通 BCM2385 库版本是 v1.68 。安装此库需要下载软件压缩包然后使用 make 来安装:

# 下载 BCM2853 库并解压
$ curl -sSL http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.g> -o - | tar -xzf -

# 进入解压后的文件夹
$ pushd bcm2835-1.68/

# 配置、检查并安装 BCM2853 库
$ sudo ./configure
$ sudo make check
$ sudo make install

# 返回上级目录
$ popd

安装需要的 Python 库

你用 Python 控制电子纸显示屏需要安装 Python 库 RPi.GPIO,还需要使用 python3-pil 包来画图。显然,PIL 包已经不行了,但 Pillow 可以作为代替方案。我还没有为该项目测试过 Pillow ,但它可行:

# 安装需要的 Python 库
$ sudo apt-get update
$ sudo apt-get install python3-pip python3-pil
$ sudo pip3 install RPi.GPIO

注意:这些是 Python3 的指令。你可以在 WaveShare 网站查到 Python2 的指令。

下载 WaveShare 示例和 Python 库

Waveshare 维护了一个 Python 和 C 的 Git 库,用于使用其电子纸显示屏和一些展示如何使用它们的示例。对这个倒计时时钟而言,你需要克隆这个库并使用用于 2.13 英寸显示屏的库:

# 克隆这个 WaveShare e-Paper git 库
$ git clone https://github.com/waveshare/e-Paper.gi>

如果你用不同的显示器或者其他公司产品,需要使用适配软件。

Waveshare 提供了很多指导:

获得有趣的字体(选做)

你可以随心所欲的使用显示器,为什么不搞点花样?找一个炫酷的字体!

这有大量 开放字体许可 的字体可供选择。我十分喜爱 Bangers 字体。如果你看过 YouTube 那你见过这种字体了,它十分流行。你可以下载到本地的共享字体目录文件中,并且所有的应用都可以使用,包括这个项目:

# “Bangers” 字体是 Vernon Adams 使用 Google 字体开放许可授权的字体
$ mkdir -p ~/.local/share/fonts
$ curl -sSL https://github.com/google/fonts/raw/master/ofl/bangers/Bangers-Regular.ttf -o fonts/Bangers-Regular.ttf

创建一个圆周率日倒计时器

现在你已经安装好了软件,可以使用带有炫酷字体的电子纸显示屏了。你可以创建一个有趣的项目:倒计时到下一个圆周率日!

如果你想,你可以从该项目的 GitHub 仓库 直接下载 countdown.py 这个 Python 文件并跳到文章结尾。

为了满足大家的好奇心,我将逐步讲解。

导入一些库

#!/usr/bin/python3
# -*- coding:utf-8 -*-
import logging
import os
import sys
import time

from datetime import datetime
from pathlib import Path
from PIL import Image,ImageDraw,ImageFont

logging.basicConfig(level=logging.INFO)

basedir = Path(__file__).parent
waveshare_base = basedir.joinpath('e-Paper', 'RaspberryPi_JetsonNano', 'python')
libdir = waveshare_base.joinpath('lib')

开始先导入一些标准库之后脚本中用。也需要你从 PIL 添加 ImageImageDrawImageFont,你会用到这些来画一些简单的图形。最后,为本地 lib 目录设置一些变量,该目录包含了用于 2.13 英寸显示屏的 Waveshare Python 库,稍后你可以使用这些变量从本地目录加载库。

字体大小辅助函数

下一部分是为你选择的 Bangers-Regular.ttf 字体建立一个修改大小的辅助函数。该函数将整型变量作为大小参数,并返回一个图形字体对象来用于显示:

def set_font_size(font_size):
    logging.info("Loading font...")
    return ImageFont.truetype(f"{basedir.joinpath('Bangers-Regular.ttf').resolve()}", font_size)

倒计时逻辑

接下来是计算这个项目的一个函数:距下次圆周率日还有多久。如果是在一月,那么计算剩余天数将很简单。但是你需要考虑是否今年的圆周率日是否已经过去了(允悲)。如果是的话,那么计算在你可以再次庆祝之前还有多少天:

def countdown(now):
    piday = datetime(now.year, 3, 14)

    # 如果错过了就增加一年
    if piday < now:
        piday = datetime((now.year + 1), 3, 14)

    days = (piday - now).days

    logging.info(f"Days till piday: {days}")
    return day

主函数

最后,到了主函数,需要初始化显示屏并向它写数据。这时,你应该写一个欢迎语然后再开始倒计时。但是首先,你需要加载 Waveshare 库:

def main():

    if os.path.exists(libdir):
        sys.path.append(f"{libdir}")
        from waveshare_epd import epd2in13_V2
    else:
        logging.fatal(f"not found: {libdir}")
        sys.exit(1)

上面的代码片段检查以确保该库已下载到倒计时脚本旁边的目录中,然后加载epd2in13_V2 库。如果你使用不同的显示屏,则需要使用不同的库。如果你愿意,也可以自己编写。我发现阅读 Waveshare 随显示屏提供的 Python 代码很有趣,它比我想象的要简单得多。

下一段代码创建一个 EPD(电子纸显示屏)对象以与显示器交互并初始化硬件:

    logging.info("Starting...")
    try:
        # 创建一个显示对象
        epd = epd2in13_V2.EPD()

        # 初始化并清空显示
        # ePaper 保持它的状态处分更新
        logging.info("Initialize and clear...")
        epd.init(epd.FULL_UPDATE)
        epd.Clear(0xFF)

关于电子纸的一个有趣之处:它仅在将像素从白色变为黑色或从黑色变为白色时才耗电。这意味着当设备断电或应用程序因任何原因停止时,屏幕上的任何内容都会保留下来。从功耗的角度来看,这很好,但这也意味着你需要在启动时清除显示,否则你的脚本只会覆盖屏幕上已有的内容。 因此,epd.Clear(0xFF) 用于在脚本启动时清除显示。

接下来,创建一个“画布”来绘制剩余的显示输出:

    # 创建一个图形对象
    # 注意:"epd.heigh" 是屏幕的长边
    # 注意:"epd.width" 是屏幕的短边
    # 真是反直觉…
    logging.info(f"Creating canvas - height: {epd.height}, width: {epd.width}")
    image = Image.new('1', (epd.height, epd.width), 255)  # 255: clear the frame
    draw = ImageDraw.Draw(image)

这与显示器的宽度和高度相匹配——但它有点反直觉,因为显示器的短边是宽度。我认为长边是宽度,所以这只是需要注意的一点。 请注意,epd.heightepd.width 由 Waveshare 库设置以对应于你使用的设备。

欢迎语

接下来,你将开始画一些画。这涉及在你之前创建的“画布”对象上设置数据。这还没有将它绘制到电子纸显示屏上——你现在只是在构建你想要的图像。由你为这个项目绘制带有一块馅饼的图像,来创建一个庆祝圆周率日的欢迎信息:

 title=

很可爱,不是吗?

    logging.info("Set text text...")
    bangers64 = set_font_size(64)
    draw.text((0, 30), 'PI DAY!', font = bangers64, fill = 0)

    logging.info("Set BMP...")
    bmp = Image.open(basedir.joinpath("img", "pie.bmp"))
    image.paste(bmp, (150,2))

最后,真是是最后了,你可以展示你画的图画:

    logging.info("Display text and BMP")
    epd.display(epd.getbuffer(image))

上面那段话更新了显示屏,以显示你所画的图像。

接下来,准备另一幅图像展示你的倒计时:

圆周率日倒计时

首先,创建一个用来展示倒计时的图像对象。也需要设置数字的字体大小:

    logging.info("Pi Date countdown; press CTRL-C to exit")
    piday_image = Image.new('1', (epd.height, epd.width), 255)
    piday_draw = ImageDraw.Draw(piday_image)

    # 设置字体大小
    bangers36 = set_font_size(36)
    bangers64 = set_font_size(64)

为了使它显示的时候更像一个倒计时,更新图像的一部分是更加有效的手段,仅更改已经改变的显示数据部分。下面的代码准备以这样方式运行:

    # 准备更新显示
    epd.displayPartBaseImage(epd.getbuffer(piday_image))
    epd.init(epd.PART_UPDATE)

最后,需要计时,开始一个无限循环来检查据下次圆周率日还有多久,并显示在电子纸上。如果到了圆周率日,你可以输出一些庆祝短语:

    while (True):
        days = countdown(datetime.now())
        unit = get_days_unit(days)
        
        # 通过绘制一个填充有白色的矩形来清除屏幕的下半部分
        piday_draw.rectangle((0, 50, 250, 122), fill = 255)

        # 绘制页眉
        piday_draw.text((10,10), "Days till Pi-day:", font = bangers36, fill = 0)

        if days == 0:
            # 绘制庆祝语
            piday_draw.text((0, 50), f"It's Pi Day!", font = bangers64, fill = 0)
        else:
            # 绘制距下一次 Pi Day 的时间
            piday_draw.text((70, 50), f"{str(days)} {unit}", font = bangers64, fill = 0)

        # 渲染屏幕
        epd.displayPartial(epd.getbuffer(piday_image))
        time.sleep(5)

脚本最后做了一些错误处理,包括捕获键盘中断,这样你可以使用 Ctrl + C 来结束无限循环,以及一个根据计数来打印 daydays 的函数:

    except IOError as e:
        logging.info(e)

    except KeyboardInterrupt:
        logging.info("Exiting...")
        epd.init(epd.FULL_UPDATE)
        epd.Clear(0xFF)
        time.sleep(1)
        epd2in13_V2.epdconfig.module_exit()
        exit()

def get_days_unit(count):
    if count == 1:
        return "day"

    return "days"

if __name__ == "__main__":
    main()

现在你已经拥有一个倒计时并显示剩余天数的脚本!这是在我的树莓派上的显示(视频经过加速,我没有足够的磁盘空间来保存一整天的视频):

 title=

安装 systemd 服务(选做)

如果你希望在系统打开时运行倒计时显示,并且无需登录并运行脚本,你可以将可选的 systemd 单元安装为 systemd 用户服务

将 GitHub 上的 piday.service 文件复制到 ${HOME}/.config/systemd/user,如果该目录不存在,请先创建该目录。然后你可以启用该服务并启动它:

$ mkdir -p ~/.config/systemd/user
$ cp piday.service ~/.config/systemd/user
$ systemctl --user enable piday.service
$ systemctl --user start piday.service

# Enable lingering, to create a user session at boot
# and allow services to run after logout
$ loginctl enable-linger $USER

该脚本将输出到 systemd 日志,可以使用 journalctl 命令查看输出。

它开始看起来像是圆周率日了!

这就是你的作品!一个显示在电子纸显示屏上的树莓派 Zero W 圆周率日倒计时器!并在系统启动时使用 systemd 单元文件启动!现在距离我们可以再次相聚庆祝圆周率日还有好多天的奇妙设备———树莓派。通过我们的小项目,我们可以一目了然地看到确切的天数。

但实际上,每个人都可以在每一天在心中庆祝圆周率日,因此请使用自己的树莓派创建一些有趣且具有教育意义的项目吧!


via: https://opensource.com/article/21/3/raspberry-pi-countdown-clock

作者:Chris Collins 选题:lujun9972 译者:Donkey 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在你的网络路由器上使用 OpenWRT 获得更多控制功能。

 title=

树莓派是一种小型单板电脑,尽管只有信用卡大小,但是能做许多事情。实际上,这个小电脑几乎可以成为你想让它成为的任何东西,只要你打开想象力。

树莓派爱好者已经做了许多不同的项目,从简单的程序到复杂的自动化项目和解决方案,如气象站,甚至智能家居设备。这篇文章将展示怎样使用 OpenWRT 项目将你的树莓派变成带有 LTE 移动网络连接功能的路由器。

关于 OpenWRT 和 LTE

OpenWRT 是一个利用 Linux 内核为嵌入式设备开发的开源项目,它已经存在超过 15 年了,拥有一个庞大而活跃的社区。

有许多使用 OpenWRT 的方法,但是它的主要目的还是用在路由器上。它提供了包管理功能和一个完全可写的文件系统,并且因为它的的开源属性,你可以查看和修改代码,并贡献到开源生态。如果你想对你的路由器获得更多的控制,这就是你想要的系统。

长期演进技术 Long-term evolution (LTE)是一个基于 GSM/EGDE 和 UMTS/HSPA 技术的无线宽带通信标准。我使用的 LTE 调制解调器是一个 USB 设备,可以为树莓派电脑增加 3G 或 4G(LTE)蜂窝连接。

 title=

安装前的准备

对这个项目来说,你需要:

  • 一个带有电源线的树莓派
  • 一台运行 Linux 的电脑
  • 一张至少 16GB 的 SD 储存卡
  • 以太网线
  • LTE 调制解调器(我使用的是 Teltonika TRM240
  • 一张移动网络的 SIM 卡

安装 OpenWRT

首先,下载最新的 兼容树莓派的 OpenWRT 的发布版本。在 OpenWRT 官网,你可以看到 4 个镜像:两个 ext4 文件系统的和两个 squashfs 文件系统的。我使用 ext4 文件系统。你可以下载 factory 或者 sysupgrade 镜像,这两个都运行良好。

 title=

下载了镜像后,你按照 以下的说明 需要解压并安装它到 SD 卡上。这将会花些时间安装固件,需要些耐心。一旦安装完成,在你的 SD 卡上将会有两个分区。一个是用来放 bootloader ,另一个是 OpenWRT 系统。

启动系统

要启动你的新系统,插入 SD 卡到树莓派,用以太网线把树莓派和你的路由器(或者交换机)相连,然后点亮。

如果你有使用树莓派的经验,你可能习惯于通过终端使用 SSH 访问过它,或者通过显示器和键盘连接到树莓派。OpenWRT 工作有一点点不同。你与这个系统交互是通过网页浏览器,所以你必须能够通过网络来访问你的树莓派。

缺省状态下,树莓派使用的 IP 地址是:192.168.1.1。用来配置树莓派的计算机必须和树莓派在同一个子网中。如果你的网络没有使用 192.168.1.x 地址,或者你不能确定,在 GNOME 打开 “ 设置 Settings ” ,导航到网络设置,选择 “ 手动 Manual ” ,然后键入以下的 IP 地址和子网掩码:

  • IP 地址:192.168.1.15
  • 网络掩码:255.255.255.0

 title=

在你的电脑上打开浏览器然后导航到 192.168.1.1 。这将打开一个验证网页,你可以登录到你的树莓派。

 title=

首次登录不需要密码,所以直接点击 “ 登录 Login ” 按钮继续。

设置网络连接

树莓派只有一个以太网口,而普通路由器有两个:一个是 WAN(有线区域网络)口,另一个是 LAN (本地区域网络)。

你有两个选择:

  1. 使用你的以太网口接入互联网
  2. 使用 WIFI 接入互联网

使用以太网连接

你决定使用以太网,导航到 “ 网络 Network 接口 Interfaces ”。在这个设置页面,按下与 “LAN” 接口对应的蓝色 “ 编辑 Edit ” 按钮。

 title=

应该会出现一个弹窗,在这个窗口中,你需要键入与你将要连接树莓派的路由器子网匹配的 IP 地址。如果需要的话,修改子网掩码,并输入树莓派将要连接的路由器的 IP 地址。

 title=

保存设置,然后通过以太网将你的树莓派连接到路由器。你现在可以用这个新的 IP 地址访问树莓派。

当你在把树莓派投入生产环境使用之前,确保为你的 OpenWRT 设置一个密码!

使用 WiFi 连接

如果你想通过 WiFi 将树莓派连接到互联网,导航到 “ 网络 Network 无线 Wireless ” 。在 “ 无线 Wireless ” 菜单里,按下蓝色的 “ 扫描 Scan ” 按钮查找你的家庭网络。

 title=

在弹出的窗口中,找到你的 WiFi 网络然后连接它。不要忘记 “ 保存并应用 Save and Apply ” 设置。

在这 “ 网络 Network 接口 Interfaces ” 部分,你应该看到了一个新的接口。

 title=

当你在把树莓派投入生产环境使用之前,确保为你的 OpenWRT 设置一个密码!

安装必要的软件包

默认状态下,路由器并没有安装许多软件包。OpenWRT 提供了一个包管理器,带有一系列你需要安装的。导航到 “ 系统 System 软件 Software ” 然后通过按下标有 “ 更新列表… Update lists... ” 的按钮来更新你的包管理器。

 title=

你将会看到许多软件包;你需要安装以下这些:

  • usb-modeswitch
  • kmod-mii
  • kmod-usb-net
  • kmod-usb-wdm
  • kmod-usb-serial
  • kmod-usb-serial-option
  • kmod-usb-serial-wwan(如果没有安装的话)

另外,下载这个调制解调器管理软件包,然后在弹出的窗口中按下标有 “ 上传软件包… Upload Package... ” 的按钮来安装它。重启树莓派让安装包生效。

设置移动网络接口

所有这些软件包被安装完之后,你可以设置移动网络接口。在连接调制解调器到树莓派之前,请阅读 调制解调器的说明书,对其进行设置。然后连接你的移动调制解调器到树莓派,然后等待一会直到调制解调器启动。

导航到 “ 网络 Network 接口 Interfaces ”。在页面底部,按下 “ 添加一个新接口… Add new interface... ” 按钮。在弹出的窗口中,给你的接口起一个名字(比如 “mobile”),然后从下拉列表中选择 “ModemManager” 。

 title=

按下一个标有 “ 创建接口 Create Interface ” 的按钮。你应该看到一个新的弹出窗口。这是设置接口的一个主窗口。在这个窗口中,选择你的调制解调器,然后键入像 接入点名称 Access Point Name (APN)或是 PIN 码之类的信息。

 title=

注意: 如果在列表中没有调制解调器设备出现,尝试重启树莓派或者安装 kmod-usb-net-qmi-wwan 软件包 。

当你已经配置完你的接口,按下 “ 保存 Save ” 然后 “ 保存并应用 Save and Apply ”。给系统一些生效的时间。如果一切正常,你应该看到像这样的一些东西。

 title=

如果你想通过接口查看你的网络连接,你可以使用 SSH 连接到你的树莓派 shell。在终端里,键入:

ssh [email protected]

缺省 IP 地址是 192.168.1.1:如果你修改了它,就用修改后的 IP 地址连接。当连接后,在终端里执行命令:

ping -I ppp0 google.com

如果一切正常运行,那么你应该从 Google 的服务器接收到 ping 回包 。

 title=

ppp0 是你创建的移动网络接口的默认接口名称。你可以通过使用 ifconfig 命令检查你的接口。它只显示活动的接口。

设置防火墙

要让移动网接口运行,你需要为移动网络接口和本地网络接口配置防火墙,以便引导流量到正确的接口。

导航到 “ 网络 Network 防火墙 Firewall ”。在页面的底部,你应该看到一个叫做 “ 区域 Zones ” 的部分。

 title=

设置防火墙最简单的方法就是调整 “wan” 区域。在 “ 已覆盖的网络 Covered networks ” 选项里按下 “ 编辑 Edit ” 按钮,选择你的移动网络接口,然后 “ 保存并应用 Save and Apply ” 你的设置。如果你不想用 WiFi 连接你的树莓派,你可以从 “ 已覆盖的网络 Covered networks ” 里删除 “wwan” 接口,或者关闭 WiFi 连接。

 title=

如果你想为每个接口设置一个独立区域,只需创建一个新区域然后分配必要的接口即可。举个例子,你可能想有一个覆盖移动网络接口的区域,并且通过它来转发 LAN 接口流量。按下 “ 添加 Name ” 按钮,然后给你的区域 “ 命名 Name ”, 检查 “伪装” 复选框,选中 “ 已覆盖的网络 Covered networks ” ,并选择哪些区域可以转发其流量。

 title=

然后 “ 保存并应用 Save and Apply ” 这些修改。现在你有一个新的区域。

设置一个接入点

最后一步是为你的设备接入互联网设置一个网络接入点。要设置一个接入点,导航到 “ 网络 Network 无线 Wireless ” 。你将会看到一个 WiFi 设备接口,一个名为 OpenWRT 的禁用的接入点,以及一个用于通过 WiFi 连接互联网的连接(如果你之前没有禁用或删除它)。在这个禁用的接口上,按下 “ 编辑 Edit ” 按钮,然后 “ 启用 Enable ” 该接口。

 title=

如果你想,你可以通过编辑 “ESSID” 选项来修改接口名称。你也可以选择它要关联的网络。默认情况下,它会与 LAN 接口关联。

 title=

要为这个接口添加密码,选择 “ 无线安全 Wireless Security ” 选项,选择 “WPA2-PSK” 加密方式然后在 “ 密钥 Key ” 选项字段键入接口的密码。

 title=

然后 “ 保存并应用 Save and Apply ” 设置。如果设置正确的话,当用你的设备扫描可用接入点的话,你应该可以看到你分配了名称的新接入点。

额外的软件包

如果你愿意,你可以通过网页界面为你的路由器下载额外的软件包。只需到 “ 系统 System 软件 Software ” 然后安装你想从列表或者互联网上下载的软件包并上传它。如果你在列表中没有看到任何软件包,请按下 “ 更新列表… Update lists... ” 按钮。

你也可以添加其他拥有适合与 OpenWRT 一起使用的软件包的仓库。软件包和它们的网页界面是分开安装的。软件包名称是以 “luci-” 开始的是网也界面软件包。

 title=

试试看

这就是我的树莓派路由设置的过程。

 title=

从树莓派建立一个路由器不是很困难。缺点是树莓派只有一个以太网接口。你可以用一个 USB-to-Ethernet 适配器来增加更多的网口。不要忘记在接口的网站上设置网口。

OpenWRT 支持大量的移动调制解调器,你可以用管理调制解调器的通用工具 modemmanager 为它们设置移动网络接口。

你有没有把你的树莓派当作路由器使用?请在评论中告诉我们情况。


via: https://opensource.com/article/21/3/router-raspberry-pi

作者:Lukas Janėnas 选题:lujun9972 译者:hwlife 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

不要急着丢弃那台旧树莓派,这个详细步骤的指南展示了我怎样用最小化设置来充分利用我珍贵的树莓派系统资源。

 title=

最近,我的 树莓派 上的 microSD 储存卡不工作了。它已经作为服务器持续使用将近两年了,这为我提供了一个开始探索和修正问题的好机会。在初始化安装完成以后,它开始出现一些磁盘方面的问题,并且官方的树莓派操作系统发布了一个有重大意义的更新(并从 Raspbian 更名为 树莓派操作系统 Raspberr Pi OS )。所以我买了一个新的储存卡并开始重装。

尽管树莓派 3B 不是最新的硬件,但对于运行多样化服务的最小化的服务器还是足够的。我认为我之前的安装使用了完整的安装镜像,包括了图形用户界面和许多其他的软件包是没有必要的。

这个详细步骤的指南展示了我怎样用最小化设置来充分利用我珍贵的树莓派系统资源。

开始

首先,要为树莓派创建一个新的系统驱动器。这需要两样东西:系统镜像文件和一张 microSD 储存卡。

下载树莓派系统镜像文件

虽然有好几种操作系统可供选择,但我坚持选择树莓派官方支持的系统。

第一步是从 树莓派操作系统 官方网站上下载最新的系统镜像文件到计算机,然后后写入储存卡。他们提供了三个不同的镜像,我选择了精简版。它是最小化的操作系统,只包含基本系统必要的文件,所以它占用最少的磁盘空间和系统内存。(当我下载系统的时候,发布日期是 2020 年 8 月 20 日,但是它现在肯定已经更新了。我觉得不会有什么巨大不同,但是我建议读一下发行说明。)

将树莓派系统镜像写到储存卡

第二步是写下载的系统镜像到储存卡。我的卡之前用过,当我把它插入我的 Linux 桌面计算机之后,它自动加载了两个存在的分区。在我卸载这两个分区前,我不能写入镜像。

要这样做,我必须得用下面的 lsblk 命令来确定它们的路径,经确定,该设备路径为 /dev/mmcblk0

# lsblk -p

我用 umount 命令卸载了这两个分区:

# umount /dev/mmcblk0p2
# umount /dev/mmcblk0p1

一旦分区被卸载,就可以将镜像文件写入到储存卡了。尽管有许多图形化的写入工具,我还是习惯是用古老的 dd 命令:

# dd bs=4M if=/home/alan/Downloads/raspios/2020-08-20-raspios-buster-armhf-lite.img of=/dev/mmcblk0 status=progress conv=fsync

启动树莓派

你只需要一个显示器、键盘、电源适配器来使用树莓派。我还有一个以太网网线用于网络连接,相比无线网络,我更喜欢通过网线来连接一个专用的服务器。

插入储存卡并打开树莓派的电源。一旦成功启动,用默认的缺省密码来进行登录:用户名 pi,密码raspberry

系统设置

按照以下步骤尽可能最小化设置磁盘空间、内存使用等。我建议尽可能的花时间研究每个配置,使之尽量正确。通常有几种应用配置的方法,有些配置文件和选项可能会被丢弃,所以要查看产品文档确保你没有应用过时的配置。

运行 raspi-config

树莓派系统的主设置程序叫做 raspi-config。登录以后立即运行它:

# raspi-config

 title=

它出现了一个扩展根文件系统的选项,可以利用储存卡上所有可利用的空间。选择这个选项之后,重启并重新登录。

df 命令来验证储存卡的总容量是否被完全使用:

# df -h

如果你需要设置其他选项,请再次运行 raspi-config。它们中的一些选项可以根据你的偏好和配置进行变化。仔细检查所有这些选项,确定没有任何遗漏。为了获得最佳性能,我建议做以下调整。(我跳过了一些我们没有做任何变化的选项。)

  • 系统选项 System options :在此你可以设置主机名,最好使用完全限定的域名(FQDN)。你也能在这里更改你的密码,这始终是强烈建议的。
  • 接口选项 Interface options :开启 SSH 服务。
  • 性能选项 Performance options :将 GPU 内存减少到最低值(16MB)。
  • 本地化选项 Localization options :选择你的时区、位置、键盘类型。
  • 高级选项 Advanced options :这个选项包括扩展根文件系统的选项。如果你在上面没扩展,一定要在这里做。这样你可以访问储存卡上的所有可用空间。
  • 更新 Update :进入更新选项会立即检查 raspi-config 工具是否有更新。如果更新可用,它将被下载并应用,raspi-config 将在几秒钟后重启。

一旦你在 raspi-config 中完成这些配置,选择“ 完成 Finish ”退出该工具。

手动配置

我还建议几个其他更改,它们全都要求编辑某种配置文件来手动更改设置。

设置静态 IP 地址

一般来说,最好用静态 IP 地址设置服务器。通过 ip 命令来验证网络接口,并设置 IP 地址和你的缺省网关(路由器)和域名服务(DNS)地址:

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether b8:27:eb:48:3f:46 brd ff:ff:ff:ff:ff:ff

你还需要知道你的缺省网关和一个及以上的 DNS 服务器地址。将这些信息添加到 /etc/dhcpcd.conf 配置文件中(我强烈建议更改之前对这个文件做一个备份):

# cd /etc
# cp -a dhcpcd.conf dhcpcd.conf.original

按照以下来编辑文件:

# vi dhcpcd.conf

# static IP configuration:
interface eth0
static ip_address=192.168.1.5/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.3 192.168.1.4
关闭 IPv6 协议

除非你有特别需要使用 IPv6,否则你可能倾向于禁用它。为此,你可以创建两个新文件,其中包括一个单行指令,指示 Linux 内核不要使用 IPv6。

首先,创建 /etc/sysctl.d/disable-ipv6.conf 文件,其中包含一行指令:

# cd /etc/sysctl.d
# echo "net.ipv6.conf.all.disable_ipv6 = 1" > disable-ipv6.conf

然后创建 /etc/modprobe.d/blacklist-ipv6.conf 文件包含一行指令:

# cd /etc/modprobe.d
# echo "blacklist ipv6" > blacklist-ipv6.conf
关闭 Wi-Fi、蓝牙和音频

我的服务器的具体用途并不需要蓝牙和音频,同时,它用以太网连接,并不使用无线(Wi-Fi)。除非你计划用它们,否则按照以下步骤来关闭它们。

/boot/config.txt 这个文件做以下更改(再次强调,我建议为这个文件做个备份):

# cd /boot
# cp -a config.txt config.txt.original

加入以下两个指令到文件底部来禁用蓝牙和 Wi-Fi:

  • dtoverlay=disable-bt
  • dtoverlay=disable-wifi

这些 echo 命令就可以完成:

# cd /boot
# echo "dtoverlay=disable-bt" >> config.txt
# echo "dtoverlay=disable-wifi" >> config.txt

要关闭音频,更改 dtparam=audio 的参数为 off。你可以用一个简短的命令 sed 来完成:

# sed -i '/dtparam=audio/c dtparam=audio=off' config.txt

最后一步是禁用 Wi-Fi 服务,用 systemctl mask 命令来操作:

systemctl mask wpa_supplicant.service

如果你不需要其他服务的话,也可以禁用它们:

  • 禁用调制解调器服务:systemctl disable hciuart
  • 禁用 Avahi 守护进程:systemctl disable avahi-daemon.service

最后一步

检查你的内存使用量:

# free -h

我震惊了:我的系统只用了 30MB 的内存。

创建个人账户:建议为登录这台服务器的个人创建用户账户。你能分配他们到 sudo 组允许他们运行管理命令。举个例子,创建一个用户名为 George 的一个账户。

# adduser george
# usermod -a -G adm,sudo,users george 

进行更新:这是一个重要的步骤。应用更新来获取树莓派操作系统的最新修复。

# apt update
# apt full-upgrade

重启:重启你的新服务器是一个好主意:

# systemctl reboot`

安装 Cockpit:你可以在树莓派系统上安装著名的 Linux Web 控制台 Cockpit,它提供了一个基于 HTML 界面来远程管理和监控你的服务器。我最近写了一篇 Cockpit 入门 的文章。用这个命令来安装它

# apt install cockpit

现在我的树莓派服务器已经准备好托管服务器了,我能用它来做 网页服务器VPN 服务器Minetest 等游戏服务器,或者就像我做的基于 Pi-Hole 的广告屏蔽器

保持旧硬件的活力

不论你有什么硬件,仔细地精简并控制你的操作系统和软件包,可以使你的系统资源使用量保持在低水平,以便你获得最大收益。这还可以通过减少试图利用漏洞的潜在恶意行为者可用的服务和软件包数量,提高了安全性。

因此,在你丢弃旧硬件之前,考虑一下能够继续使用的各种可能性。


via: https://opensource.com/article/21/1/minimal-server-raspberry-pi

作者:Alan Formy-Duval 选题:lujun9972 译者:hwlife 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

最近股市又哀鸿遍野……于是,那句 “树莓派是最好的理财产品” 又开始在我耳边萦绕。“缺芯”笼罩之下,开发板的供货出了问题,小伙伴的一句玩笑话,恰若人世间真实。因为稀缺,好板子再贵也有人要,理财属性显露无疑!笔者游走在各大软硬件社区、众阿婆主频道,评论区最常见的就是: “那么……在哪里才能买得到呢?”

本着寻找未来开发板二手交易市场“扛把子”的初心,我给大家整理了 5 款值得收藏的 Linux 开发板,有些已经涨价很多了。至于未来还能不能继续“理财”,大家自行判断哈~ 还是那句话,投资有风险。

树莓派 4B

先看个价格趋势图吧,进入 2022 年,4GB 内存树莓派 4B 在欧洲市场的价格基本稳定在 €90,8GB 的价格基本在 €160 以上,涨幅均在 50% 以上。这在中国市场也差不多。要知道,树莓派 4 和树莓派 3 两兄弟的价格在 2021 年已经整整翻了一倍……写到这里,我留下了悔恨的泪水,为什么没有趁着便宜多买几片……

来自 Geizhals price comparison website

言归正传,为什么推荐树莓派 4 呢? 树莓派本身可玩性极高,与 3 代相比,树莓派 4 全面升级,拥有更快的运行速度、更大内存,桌面性能堪比入门级 x86 PC,接口全面升级。麻雀虽小,五脏俱全,插上 micro-SD 卡,接上鼠标、键盘、显示器后,树莓派 4 便能当成电脑使用。

规格就不多介绍啦,请 查看官网 了解。

官方提供的 树莓派操作系统 Raspberry Pi OS 是基于 Debian 的操作系统,针对树莓派的硬件进行了优化。该操作系统带有超过 35,000 个软件包,预编译的软件以一种很好的格式捆绑在一起,便于安装。强大的软件生态,是树莓派在众多开发板中脱颖而出的关键之一。

大胆预测,“缺芯”问题解决不了,树莓派 4 的价格还会有一波上涨,至于哪里能买到,就各凭本事了……

昉·星光 VisionFive

国货之光!RISC-V 的开山之作!现在业内普遍认为,RISC-V 最终将与 x86、ARM 形成三分天下的局面。

星光板由国内领先的 RISC-V 芯片公司赛昉科技倾力打造,在去年 12 月正式登场。作为全球首款可运行 Linux 的 RISC-V 开发板,星光板承载了 RISC-V 软件生态建设的使命,是各大社区进行 RISC-V 软件适配的“必备”。

目前,官方推荐的操作系统是 Fedora,工具链成熟度较高。在各大社区也有热心网友制作了 Ubuntu、Debian 等主流操作系统的镜像包。为了促进 RISC-V 软件生态的快速发展,赛昉推出了 RVspace 开源社区 https://rvspace.org/。作为芯片原厂支持下的开源社区,RVspace 提供最专业的文档、技术支持。

目前,该社区已经吸引了众多国内外 RISC-V 大牛入驻。这也是我看好星光板的一大原因,依托芯片原厂的社区支持,在开源世界众多开发者的贡献下,星光板在未来一定有极大的可玩空间!多提一嘴,星光板搭载的 JH7100 SoC 已经并入 Linux 内核 5.17 主线,说明 Linux 社区还是很认可这款芯片的。

星光板在国内的售价有点小贵,1100 元,在 iceasy 上搜 VisionFive 就能找到。

ODROID C4

有朋友说,这是一款秒杀树莓派的板子。我不置可否,不过个人感觉,ODROID C4 是 ODROID 家族中性价比最高的一位,售价 $54 。能不能买到真的要看运气了,产量据说极少。它的外观几乎照抄了树莓派的设计,对于习惯使用树莓派的小伙伴来说再亲切不过了~

ODROID C4 搭载效能很高的 Amlogic S905X3 SoC,具有 4 个最高主频为 2GHz 以上的 Arm Cortex-A55 处理器核心,下图是 ODROID C4 与其他 ODROID 及树莓派 4 的 CPU 跑分对比,性能略优于树莓派 4。主频高达 650MHz 的 Mali-G31MP GPU的跑分也给大家列出来了。

CPU 跑分

GPU 跑分

ODROID C4 有着不逊于甚至超过树莓派 4 的性能,并拥有丰富的原生接口。尽管它的软件生态没有树莓派那么丰富,在一些对性能要求很高的细分领域,如需要高解析力的图像编码应用领域,它一定是树莓派 4 的完美替代者。由于其产量极少,相信在软件生态逐步完善的过程中,其价值也会逐步放大。

特别提一下 ODROID HC4,在 ODROID C4 基础上多了两个 SATA 口,适合用于家庭 NAS 存储的开发板,售价 $65,有这方面需求的小伙伴也可以看看。

Odyssey X86J4105

看它的名字就知道,这款微型 PC 使用英特尔赛扬 J4105 处理器,拥有 4M 高速缓存,工作频率高达 2.5GHz。除了运行官方推荐的 Windows 10,强大的处理器也能完美运行 Linux 发行版。

这是一款接口功能非常强大的开发板,它提供集成了兼容 Microchip SAMD21 Arduino 微控制器,以及与树莓派兼容的 40 针 GPIO 接头。CNXSoft 还专门做了一期做了树莓派和 Arduino 接头测试

UHD GPU 使这块板子拥有强大的图像处理功能,可以完美播放 4K 视频。M.2 PCIe 2.0 x4 插槽可容纳高性能 NVMe SSD,全尺寸 SATA-III 连接器可以连接任何标准 SATA 驱动器, 8GB 的 RAM 让这台机器有足够的空间来运行 FreeNAS 和 XigmaNAS。

Seeed 的官方商城 上这款开发板目前处在缺货状态。

作为一款算力强大、功能丰富的开发板,它已然是树莓派的极有力竞争者。可以想象,一旦重新上架,需要秒抢。

NVIDIA Jetson Nano

这款入门级的边缘 AI 计算平台,在 2021 年已经涨价近 80%!!!笔者逛遍了海内外各大商场,全部没有现货,如果你手里有的话,一定要好好珍惜~

它的性能当然比不上老大哥 Jetson TX2 和 Jetson Xavier,但价格和功耗也是最低,算是一个平衡。在对算力要求较低的嵌入式 AI 应用场景中,Jetson Nano 是再好不过的选择,比如小型移动机器人、人脸识别打卡、智能门锁、智能音箱等。Jetson Nano 最大优势还是在体积上,其核心板可拆且只有 70 x 45 mm 大小,方便集成在各种嵌入式应用中。

Jetson Nano 使用 Ubuntu 系统,安装过程十分简单,而且英伟达提供纯中文页面的资料库和操作指南,不愧是国际大厂!英伟达为 Jetson 产品提供社区支持,开发者在社区中积极发布各种视频、指南和开源项目。英伟达也提供各种免费教程,看了一下,从入门级的 “Hello AI World”,一直到机器人项目如开源 NVIDIA JetBot AI 机器人,都有。

官方给这块板子的用途定义为产品开发、学习和教育。随着越来越多关心嵌入式 AI 的同学出现,相信这块板子会经常被拿出来讨论。

写在最后

树莓派依托良好的生态获得众多拥趸,英伟达的 AI 产品一枝独秀,类树莓派的开发板来势汹汹,架构新贵 RISC-V 扬帆启航,未来,谁能成为开发板中的“最佳理财产品”,让我们拭目以待~

祝大家不论炒股还是购买开发板,都能玩得开心,早日暴富~

树莓派是一种物美价廉的单板计算机,在很多场景都很有用。不过,在树莓派 4 之前,它作为快速的桌面替代品并不是一个特别合适的选择。

所以,树莓派 4 以其新的功能改变了游戏规则。但是,它与树莓派 3 相比如何?

树莓派 3 仍然值得考虑吗?或者,你应该去买最新和更强大的树莓派 4?

在这篇文章中,我们试图通过强调两者之间的一些关键差异来为你提供一些答案。

首先,让我们看一下两者提供的规格:

树莓派 3 的规格

树莓派 3 满足了一个基本入门 DIY 项目的所有要求。如果 树莓派 Zero 或 树莓派 Zero W 不符合你的要求,那么树莓派 3 是一个物美价廉的选择:

  • 四核 1.2GHz 博通 BCM2837 64 位 CPU
  • 1GB 内存
  • 无线局域网和低功耗蓝牙(BLE)
  • 以太网
  • 40 针扩展 GPIO
  • 4 个 USB 2 端口
  • 4 极立体声输出和复合视频端口
  • 全尺寸的 HDMI
  • CSI 摄像机端口
  • DSI 显示端口
  • 用于操作系统和存储数据的微型 SD 端口
  • 升级后的开关式微型 USB 电源,最高可达 2.5A 电流

树莓派 4 的规格

  • 博通 BCM2711,四核 Cortex-A72(ARM v8)64 位 SoC @ 1.5GHz
  • 2GB、4GB 或 8GB LPDDR4-3200
  • 2.4 GHz 和 5.0 GHz IEEE 802.11ac 无线,蓝牙 5.0,BLE
  • 千兆位以太网
  • 2 个 USB 3.0 端口
  • 2 个 USB 2.0 端口
  • 40 针 GPIO 接头(向后兼容)
  • 2 个微型 HDMI 端口(最多可支持 4kp60)
  • 2 线 MIPI DSI 显示端口
  • 2 线 MIPI CSI 摄像头端口
  • 4 极立体声音频和复合视频端口
  • H.265(4kp60 解码),H264(1080p60 解码,1080p30 编码)
  • OpenGL ES 3.1,Vulkan 1.0
  • 用于操作系统和存储数据的 MicroSD 卡插槽
  • 通过 USB-C 接口的 5V 直流电
  • 通过 GPIO 接头的 5V 直流电
  • 通过以太网供电

内存(RAM)选项

对于树莓派机型,通常情况下,你会得到一个包括 1 或 2GB 内存的单一产品阵容。

树莓派 3B+ 就是这种情况。如果你不需要更多的内存,树莓派 3 可以就是一个不错的解决方案,可以满足所有常规 DIY 项目的需求。

然而,对于树莓派 4,你可以选择 2GB、4GB 和 8GB 的版本。所以,如果你想完成更多的事情,或者在你的树莓派板上实现多个任务,树莓派 4 应该是一个不错的选择。

性能差异

尽管这两块板子都采用了博通公司的芯片,但树莓派 4 的性能明显更快。

如果你想把它作为你的迷你桌面的替代品,或者想为你的任务获得更好的计算能力,树莓派 4 将是明显的选择。

说到树莓派 3,它配备了一个四核 1.2GHz 的博通 BCM2837 64 位 CPU。它是一个能够完成各种任务的芯片。

连接能力

两块树莓派板都提供了一个 40 针的扩展 GPIO 接头。

然而,说到 USB 连接时,树莓派 4 提供了两个 USB 3.0 端口以及另外两个 USB 2 端口。而树莓派 3 只限于两个 USB 2 端口。

因此,如果你需要更快的数据传输速度,USB 3.0 端口应该会有帮助。例如,如果你要使用任何 媒体服务器软件,这可以派上用场。

除此之外,树莓派 4 上还有 USB-C 的存在,如果 USB 配件需要,它可以用来给电路板供电(5V DC)。

双显示器与相机支持

虽然树莓派 3 提供了一个全尺寸的 HDMI 端口、DSI 端口和 CS 端口,但它并不具有双显示器支持。

有了树莓派 4,你可以得到两个微型 HDMI 端口,一个双通道 DSI 端口和一个双通道 CSI 摄像头端口。

你应该买哪一个?

规格树莓派 3树莓派 4
处理器四核 1.2GHz 博通 BCM2837四核 1.5GHz 博通BCM2711
RAM1 GB高达 8 GB
蓝牙BLE蓝牙 5.0
USB端口4 x USB 2.02 x USB 3.0,2 x USB 2.0
无线连接是,2.4 GHz & 5 GHz 频段支持
显示端口1 x HDMI,1 x DSI2 x micro-HDMI,1 个 DSI
电源microUSB 和 GPIO,高达 2.5 A5V DC,通过 USB-C 和GPIO(3 A)
MicroSD 插槽
价格35 美元35 美元(1 GB 内存)、45 美元(2 GB 内存)、55 美元(4 GB 内存)、75 美元(8 GB 内存)

如果你想要更快的数据传输,支持双显示器,以及更好的性能,树莓派 4 是一个很好的选择。

考虑到 2GB 内存的树莓派 4 基本型号的价格约为 35 美元。以几乎相同的价格选择 1GB 的树莓派 3 型号,实在是毫无意义。

当然,除非你能得到一个更便宜的价格,并且有特定的要求。树莓派 4 总体上是一个明确的选择。

然而,有一些事情,如板子发热和其他潜在的问题,你可能想在决定之前探讨一下。树莓派 3 已被证明能在许多项目中发挥作用,而树莓派 4 是相当新的,可能还没有经过各种项目的测试。

一旦你确定了这一点,你就可以继续得到它们中的任何一个。

你喜欢用什么?你都试过了吗?请在下面的评论中告诉我们。


via: https://itsfoss.com/raspberry-pi-3-vs-4/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出