分类 树莓派 下的文章

人们使用树莓派做各种各样的事情。有哪些用途让你特别好奇的吗?

最近,我在一个电话会议上听到有人说开源社区是好奇心和解决问题的文化的结合。好奇心是我们解决问题的基础。在解决各种规模的问题时,我们使用了大量的开源工具,其中包括在功能极为方便的树莓派上运行的 Linux

我们每个人都有各种不同的生活经历,所以我向我们的作者社区询问了他们所遇到的最奇特的树莓派用途。我有一种预感,这些令人惊奇的构建将会为其他人激发灵感。

使用树莓派进行实验

对我来说,树莓派是在家庭网络中增加额外开发资源的绝佳工具。如果我想要创建一个新的网站或者尝试一个新的软件工具,我不必让我的桌面 Linux 机器因为一堆我可能只在实验时使用一次的软件包而变得笨重。相反,我会将它设置在我的树莓派上。

如果我认为我将要做一些冒险的事情,我会使用备份的启动环境。我有两张 microSD 卡,这样我就可以在树莓派上插一张卡,同时设置第二张卡进行任何我想要的实验。额外的 microSD 卡成本并不高,但在我想要在第二个镜像上进行实验的时候,它能节省大量时间。只需关机,换下 microSD 卡,重新启动,立即就可以在专用的测试系统上工作。

当我不进行实验时,我的树莓派充当打印服务器,将我的非 WiFi 打印机连接到家庭网络上。它还是一个方便的 SSH 文件服务器,让我可以快速备份重要文件。

Jim Hall

树莓派的流行

我见过的树莓派最令人惊讶的事情是它使小型单板计算机的概念变得流行和通俗化,并使其真正实用于大众。

在树莓派出现之前,我们有类似的小型单板计算机,但它们往往是小众的、昂贵的,并且从软件角度来看让人拒之千里。树莓派价格便宜,便宜到任何人都可以轻松为一个项目获得一台(不考虑目前难以获得的情况)。一旦它变得便宜,人们就会克服软件挑战,使其足够好以解决许多基本的计算任务,甚至可以将完整的真正的计算机用于特定任务,而不仅仅是微控制器。

我们拥有大量好的、相对廉价的小型单板计算机,这促进了各种调试、玩耍和 实验。人们愿意尝试新的想法,甚至推动了更多业余爱好者的硬件开发来支持这些想法。

老实说,这是我从树莓派看到的最令人惊奇和激进的事情:它根本性地改变了人们对计算的认知,尤其是树莓派擅长的领域,并不仅仅催生了自己的生态系统,现在还催生了无数其他多样化的生态系统。

John ‘Warthog9' Hawley

蜜蜂的树莓派

在 2018 年,我和我的弟弟曾经养过几个蜂箱,并使用树莓派和各种传感器来监测蜂箱的温度和湿度。我们还计划在夏天实施蜂箱秤,以观察蜜蜂的产蜜情况,并在冬天测量重量,以查看蜜蜂是否有足够的食物。不过我们最终没有实施这个计划。

我们的小型监测解决方案基于树莓派 2B,运行 Raspbian Stretch(基于 Debian 9),并连接了一个温湿度传感器(DHT11)。在蜂箱内我们有三到四个这样的传感器,用于测量蜂箱入口孔、盖子下方和最低框架的温度。我们直接将传感器连接到树莓派,并使用 Python\_DHT 传感器库读取数据。我们还建立了 InfluxDB、Telegraf,并最终设置了 Grafana 来可视化数据。

如果你想了解更多关于我们的设置的信息,我们在 Linux Magazine 上发表了一篇关于我们小型监测解决方案的文章。

Heike Jurzik

树莓派的复古计算

我希望用树莓派创建一个模拟如何使用“开关和指示灯”将机器语言编程到旧式计算机的项目。使用树莓派的 GPIO 引脚,这看起来相当简单。例如,他们的在线手册上展示了如何使用 GPIO 开关控制 LED 的开关,或者使用按钮进行输入。我认为只需一些 LED 和开关,再加上在树莓派上运行的小程序,就可以模拟旧式计算机。不过,我缺乏空闲时间来从事这样的项目,这就是为什么我编写了 Toy CPU 来模拟它。

Jim Hall

使用树莓派打造玩具

当我女儿四岁的时候,她要求圣诞节时给她买一个“巨齿鲨音乐盒”。她能在脑海中完美地想像出来。它会是粉红色的、闪闪发光的,上面有她的名字。当她打开盒子时,会播放这部热门电影的主题曲。她可以将巨齿鲨和其他宝贝都放在盒子里。在网上和商店里到处搜索后,我发现没有一个能与她的想象相媲美。于是我和丈夫决定,在我们自己的玩具店(也就是他的家庭办公室)自己动手制作一个。而这一切的核心当然是树莓派。他使用光传感器和 Python 脚本,让音乐在恰当的时刻播放。我们将科技设备谨慎地放置在音乐盒的底部,并根据她的审美进行装饰。那一年,开源技术让圣诞魔法成为了可能!

Lauren Pritchett

(题图:MJ/aa8f1412-0f1d-4780-99db-22d6522010b7)


via: https://opensource.com/article/23/3/most-curious-uses-raspberry-pi

作者:AmyJune Hineline 选题:lkxed 译者:ChatGPT 校对:wxy

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

学习如何使用 Lua 编程语言为物联网(IoT)设备编程,并与树莓派上的通用输入/输出(GPIO)引脚互动。

Lua 是一种有时会被误解的语言。它与 Python 等其他语言不同,但它是一种通用的扩展语言,广泛用于游戏引擎、框架等。总的来说,我发现 Lua 对开发人员来说是一个有价值的工具,可以让他们以一些强大的方式增强和扩展他们的项目。

你可以按照 Seth Kenlon 的文章《Lua 值得学习吗?》的介绍下载并运行常用的 Lua,该文章中还包括了简单的 Lua 代码示例。但是,要充分利用 Lua,最好将它与采用该语言的框架一起使用。在本教程中,我演示了如何使用名为 Mako Server 的框架,该框架旨在使 Lua 程序员能够轻松地编写 IoT 和 Web 应用代码。我还向你展示了如何使用 API 扩展此框架以使用树莓派的 GPIO 引脚。

要求

在学习本教程之前,你需要一个可以登录的正在运行的树莓派。虽然我将在本教程中编译 C 代码,但你不需要任何 C 代码经验。但是,你需要一些使用 POSIX 终端的经验。

安装

首先,在树莓派上打开一个终端窗口并安装以下工具,以使用 Git 下载代码和编译 C 代码:

$ sudo apt install git unzip gcc make

接下来,通过运行以下命令编译开源 Mako Server 代码和 lua-periphery 库(树莓派的 GPIO 库):

$ wget -O Mako-Server-Build.sh \
  https://raw.githubusercontent.com/RealTimeLogic/BAS/main/RaspberryPiBuild.sh

查看脚本以了解它的作用,并在你觉得没问题后运行它:

$ sh ./Mako-Server-Build.sh

编译过程可能需要一些时间,尤其是在较旧的树莓派上。编译完成后,脚本会要求你将 Mako Server 和 lua-periphery 模块安装到 /usr/local/bin/。我建议安装它以简化软件的使用。别担心,如果你不再需要它,你可以卸载它:

$ cd /usr/local/bin/
$ sudo rm mako mako.zip periphery.so

要测试安装,请在终端中输入 mako。这将启动 Mako 服务器,并在你的终端中看到一些输出。你可以按 CTRL+C 停止服务器。

IoT 和 Lua

现在 Mako 服务器已在你的树莓派上设置好,你可以开始对 IoT 和 Web 应用进行编程,并使用 Lua 操作树莓派的 GPIO 引脚。Mako Server 框架为 Lua 开发人员提供了一个强大而简单的 API 来创建物联网应用,而 lua-periphery 模块让 Lua 开发人员可以与树莓派的 GPIO 引脚和其他外围设备进行交互。

首先创建一个应用目录和一个 .preload 脚本,其中插入用于测试 GPIO 的 Lua 代码。.preload 脚本是一个 Mako 服务器扩展,在应用启动时作为 Lua 脚本加载和运行。

$ mkdir gpiotst
$ nano gpiotst/.preload

将以下内容复制到 Nano 编辑器 中并保存文件:

-- Load periphery.so and access the LED interface
local LED = require('periphery').LED

local function doled()
  local led = LED("led0") -- Open LED led0
  trace"Turn LED on"
  led:write(true)   -- Turn on LED (set max brightness)
  ba.sleep(3000)    -- 3 seconds
  trace"Turn LED off"
  led:write(false)  -- Turn off LED (set zero brightness)
  led:close()
end

ba.thread.run(doled) -- Defer execution
                     -- to after Mako has started

上面的 Lua 代码使用你编译并包含在 Mako 服务器中的 Lua-periphery 库控制树莓派 LED。该脚本定义了一个名为 doled 的函数来控制 LED。该脚本首先使用 Lua require 函数加载 periphery 库(共享库 periphery.so)。返回的数据是一个包含所有 GPIO API 函数的 Lua 表。但是,你只需要 LED API,你可以通过在调用 require 后附加 .LED 来直接访问它。接下来,代码定义了一个名为 doled 的函数,它执行以下操作:

  • 通过调用 periphery 库中的 LED 函数,并将字符串 led0 传给它,打开树莓派主 LED,识别为 led0
  • 将消息 Turn LED on 打印到跟踪(控制台)。
  • 通过调用 LED 对象上的 write 方法并将布尔值 true 传递给它来激活 LED,该值设置 LED 的最大亮度。
  • 通过调用 ba.sleep(3000) 等待 3 秒。
  • 将消息 Turn LED off 打印到跟踪。
  • 通过调用 LED 对象上的 write 方法并将布尔值 false 传递给它来停用 LED,这会将 LED 的亮度设置为零。
  • 通过调用 LED 对象上的 close 函数关闭 LED

.preload 脚本的末尾,doled 函数作为参数传递给 ba.thread.run 函数。这允许将 doled 函数的执行推迟到 Mako 服务器启动之后。

要启动 gpiotst 应用,请按如下方式运行 Mako 服务器:

$ mako -l::gpiotst

控制台中打印以下文本:

Opening LED:
opening 'brightness': Permission denied.

访问 GPIO 需要 root 访问权限,因此按 CTRL+C 停止服务器并重新启动 Mako 服务器,如下所示:

$ sudo mako -l::gpiotst

现在树莓派 LED 亮起 3 秒。成功!

Lua 解锁 IoT

在本入门教程中,你学习了如何编译 Mako 服务器,包括 GPIO Lua 模块,以及如何编写用于打开和关闭树莓派 LED 的基本 Lua 脚本。在以后的文章中,我将在本文的基础上进一步介绍 IoT 功能。

同时,你可以通过阅读它的 文档 来更深入地研究 Lua-periphery GPIO 库,以了解有关功能以及如何将其与不同外设一起使用的更多信息。要充分利用本教程,请考虑关注 交互式 Mako Server Lua 教程 以更好地了解 Lua、Web 和 IoT。编码愉快!

(题图:MJ/4514210d-5697-4cd3-8c44-450bbe56be64)


via: https://opensource.com/article/23/3/control-your-raspberry-pi-lua

作者:Alan Smithee 选题:lkxed 译者:geekpi 校对:wxy

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

CrowPi 是一个超棒的树莓派项目系统,安装在一个笔记本电脑般的外壳里。

 title=

我喜欢历史,也喜欢计算机,因此相比于计算机如何变成个人配件,我更喜欢听它在成为日常家用电器前的故事。我经常听到的一个故事 是很久以前(反正在计算机时代算久远了)的计算机是多么的简单。事实上,它们简单到对于一个好奇的用户来说,弄清楚如何编程并不是十分困难。再看看现代计算机,它具有面向对象的编程语言、复杂的 GUI 框架、网络 API、容器等,但愈发令人担忧的是,计算工具正变得越来越难懂,对于那些没有接受过专门培训的人来说基本上无法使用。

从树莓派在 2012 年发布之日起,它就一直被定位为一个教育平台。一些第三方供应商通过附加组件和培训套件支持树莓派,以帮助所有年龄段的学习者探索编程、物理计算和开源。然而,直到最近,很大程度上还是要由用户来弄清楚市场上的所有部件如何组合在一起,直到我最近买了 CrowPi。

 title=

CrowPi2 介绍

乌鸦是非常聪明的鸟。它们能识别并记住面孔,模仿听到的声音,解决复杂的谜题,甚至使用工具来完成任务。CrowPi 使用乌鸦作为其徽标和名字是恰当的,因为这个设备充满了探索、实验、教育的机会,最重要的是,充满了乐趣。

其设计很巧妙:它看起来像笔记本电脑,但远不止于此。当你从机壳中取出蓝牙键盘时,它会显示一个隐藏的电子设备工坊,配有 LCD 屏幕、16 个按钮、刻度盘、RFID 传感器、接近传感器、线路板、扬声器、GPIO 连接、LED 阵列等等。而且这一切都是可编程的。

顾名思义,该装置本身完全由树莓派提供支持,它牢固地固定在机壳底部。

 title=

默认情况下,你应该用电源适配器为设备充电,包装附带一个壁式插头,你可以将其插入机壳,而不是直接为树莓派供电。你还可以使用插入外部微型 USB 端口的电池电源。机壳内甚至还有一个抽屉,方便你存放电池。这样做的时候,有一根 USB 线从电池抽屉中弹出,并插入机壳电源端口,因此你不会产生这是一台“普通”笔记本电脑的错觉。然而,这样一台设备能够有如此美观的设计已经很理想了!

首次启动系统

CrowPi2 提供一张安装了 Raspbian 系统,贴有 “System” 标签的 microSD 卡,不过它同时还提供了装载 RetroPie 的第二张 microSD 卡。作为一个负责任的成年人(咳咳),我自然是先启动了 RetroPie。

RetroPie 总是很有趣,CrowPi2 附带两个超任风格的游戏控制器,确保你能获得最佳的复古游戏体验。

令人赞叹不已的是,启动实际的 Raspbian 系统的过程同样有趣,甚至可以说更有趣。它的登录管理器是一个自定义项目中心,有一些快速链接,如编程示例项目、Python 和 Arduino IDE、Scratch、Python 示例游戏、Minecraft 等。你也可以选择退出项目中心,只使用桌面。

 title=

对于习惯使用树莓派或 Linux 的人来说,CrowPi 桌面很熟悉,不过它也足够简单,所以很容易上手。左上角有应用程序菜单,桌面上有快捷图标,右上角有网络选择和音量控制的系统托盘等等。

 title=

CrowPi 上有很多东西可供选择,所以你可能很难决定从哪里开始。对我来说,主要分为四大类:编程、物理电子学、Linux 和游戏。

盒子里有一本使用说明,所以你会知道你需要怎样进行连接(例如,键盘是电池供电的,所以它有时确实需要充电,它和鼠标总是需要一个 USB 适配器)。虽然说明书很快就能读完,但这一例子也充分体现了 CrowPi 团队是如何认真对待说明书的。

 title=

编程

如果你想学习如何编码,在 CrowPi 上有很多成功的途径。你可以从中选择你觉得最满意的路径。

1、Scratch

Scratch 是一个简单的可视化编码应用程序,可让你像拼 乐高积木 一样将代码块组合在一起,制作出游戏和互动故事。这是开启编程之旅最简单的方法,我曾见过年仅 8 岁的孩子会花数小时来研究自己设计的游戏的最佳算法。当然,它不仅适合孩子们!成年人也可以从中获得很多乐趣。不知道从哪里开始?包装盒中有一本 99 页的小册子(打印在纸张上),其中包含 Scratch 课程和项目供你尝试。

2、Java 和 Minecraft

Minecraft 不是开源的(虽然有 几个开源项目 复刻了它),但它有足够的可用资源,因此也经常被用来教授编程。Minecraft 是用 Java 编写的,CrowPi 同时装载有 Minecraft Pi EditionBlueJ Java IDE ,如此可使学习 Java 变得比以往更容易、更有趣。

3、Python 和 PyGame

CrowPi 上有几个非常有趣的游戏,它们是用 Python 和 PyGame 游戏引擎 编写的。你可以玩这些游戏,然后查看其源代码以了解游戏的运行方式。CrowPi 中包含 Geany、Thonny 和 Mu 编辑器,因此你可以使用 Python 立即开始编程。与 Scratch 一样,包装盒中有一本包含有课程的小册子,因此你可以学习 Python 基础知识。

电子器件

隐藏在键盘下的物理电子工坊本质上是一系列 Pi Hat(附着在上的硬件)。为了让你可以认识所有的组件,CrowPi 绘制了一张中英双语的折页图进行详细的说明。除此之外还有很多示例项目可以帮助你入门。 以下是一张小清单:

  • 你好:当你与 CrowPi 说话时,LCD 屏幕上打印输出“你好”。
  • 入侵警报:使用接近传感器发出警报。
  • 远程控制器:让你能够使用远程控制(是的,这个也包含在盒子里)来触发 CrowPi 上的事件。
  • RGB 俄罗斯方块:让你可以在 LED 显示屏上玩俄罗斯方块游戏。
  • 语音识别:演示自然语言处理。
  • 超声波音乐:利用距离传感器和扬声器创建简易版的 特雷门琴 Theramin (LCTT 译注:世上唯一不需要身体接触的电子乐器)。

这些项目仅仅是入门级别而已,因为你还可以在现有的基础上搭建更多东西。当然,还有更多内容值得探索。包装盒里还有网络跳线、电阻、LED 和各种组件,这样你闲暇时也可以了解树莓派的 GPIO (通用输入输出端口)功能的所有信息。

不过我也发现了一个问题:示例项目的位置有点难找。找到演示项目很容易(它们就在 CrowPi 中心上),但源代码的位置并不是很容易被找到。我后来发现大多数示例项目都在 /usr/share/code 中,你可以通过文件管理器或终端进行访问。

 title=

Linux

树莓派上运行的是 Linux 系统。如果你一直想更深入了解 Linux,那么 CrowPi 同样会是一个很好的平台。你可以探索 Linux 桌面、终端以及几乎所有 Linux 或开源应用程序。如果你多年来一直在阅读有关开源的文章,并准备深入研究开源操作系统,那么 CrowPi 会是你想要的平台(当然还有很多其他平台也可以)。

游戏

包装盒中包含的 RetroPie SD 卡意味着你可以重新启动切换为复古游戏机,并任意玩各种老式街机游戏。它跟 Steam Deck 并不完全相同,但也是一个有趣且令人振奋的小游戏平台。因为它配备的不是一个而是两个游戏控制器,所以它非常适合多人合作的沙发游戏。最重要的是,你不仅可以在 CrowPi 上玩游戏,还可以制作自己的游戏。

配备螺丝刀

自我坐下开始使用 CrowPi2 以来已经大约两周,但我还没有通关所有项目。有很多个晚上,我不得不强迫自己停下摆弄它,因为即使我厌倦了一个项目,我也会不可避免地发现还有其他东西可以探索。总而言之,我在盒子里找到了一个特别的组件,这个组件让我马上知道 CrowPi 和我就是天造地设:它是一把不起眼的小螺丝刀。盒子上没有撕开就不保修的标签。CrowPi 希望你去修补、拆解、探索和学习。它不是笔记本电脑,甚至也不仅仅是个树莓派;而是一个便携的、低功耗的、多样化的、开源的学习者工具包。


via: https://opensource.com/article/21/9/raspberry-pi-crowpi2

作者:Seth Kenlon 选题:lujun9972 译者:XiaotingHuang22 校对:wxy

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

用树莓派取代食品售货机上的投币箱是一个天才之举。

作为在公共图书馆工作的教育工作者,我一直在关注 树莓派 的有趣用途。在我看来,得克萨斯州达拉斯市的 问答售货机 Trivia Vending Machine 项目是这些神奇设备最具创意和最有趣的用途之一。使用树莓派取代食品售货机上的投币箱是 Greg Needel 和他的团队的一个天才之作。这个想法的潜在用途是深远的。请观看下面这个 YouTube 短视频,了解问答自动售货机的运行情况。

最初的问答售货机专注于科学问题,但你可以制作一个问答售货机来回答任何问题:历史、公民、文学等等。如果你鼓励学生写自己的问题,并回答对方的问题,那将是最有吸引力的用途。请考虑这样:自动售货机可以不发放食物,而是发放当地企业的优惠券。我谋生的方式之一是教吉他课,我很乐意捐出一节吉他课作为问答售货机的优惠券。然而,学生必须积累适当数量的积分才能获得我的一堂吉他课。

把你的想象力再延伸一点。是否有可能让学生解决逻辑谜题,以便从自动售货机获得食物(或优惠券)?是的,这并不难创造。也许是数独谜题、Wordle、KenKen、Sokoban 或任何其他谜题。学生可以用触摸屏玩这些谜题。国际象棋怎么样?当然,学生可以通过解决象棋谜题来获得食物(或优惠券)。

你是否注意到视频中原来的问答售货机又大又重? 设计一个更小的,可能是滚动手推车大小的三分之一,这可以在学校、图书馆、博物馆和创客嘉年华之间更容易运输。

问答售货机的内部由步进电机组成。你可以在网上购买二手的。在网络上搜索“二手自动售货机电机”会出现 Vending WorldVendMedic 网站。

如果你是创客空间的成员,请向其他成员介绍问答售货机。这是一个开放的发明,没有专利,所以任何人都可以制造它。(谢谢你,Greg Needel)我想为这样的设备编写代码并不太难。如果有人可以创建此类代码的 GitHub 仓库,以及可能附带的一些解释性截屏,那就太好了。

虽然问答售货机没有在红牛创意大赛中获奖,但这项发明还是值得获奖的。应该有人找到 Greg Needel 并给他一个合适的奖品。该奖项应该是什么样子的?可能是 2.5 万或 5 万美金的样子。我为 Greg Needel 和他的创意团队欢呼三声。他们把树莓派带到了这种计算机的发明者所希望的方向:修理工的快乐。大胆、美丽、开放。你还能要求更多吗?

最后一件事。问答售货机是几年前使用早期的树莓派型号制作的。当前的树莓派速度更快,响应更快。因此,你在上述视频中注意到的任何交互延迟在今天的树莓派上已不复存在。

哦,我非常想要一块糖果。我砸吧砸吧嘴。提醒我,我需要赚取多少积分才能获得士力架?不惜一切代价,我会不惜一切代价。


via: https://opensource.com/article/23/3/raspberry-pi-trivia-vending-machine

作者:Phil Shapiro 选题:lkxed 译者:geekpi 校对:wxy

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

用树莓派串流网络摄像头的实时视频,并将视频重新串流到社交网络。

出于各种原因,人们需要流式传输网络摄像头的实时视频。树莓派平台很适合此类应用。对于实时流媒体服务器等连续应用,它只需要很少的电力。可以与 Raspicam 相机模块、USB 摄像头或其他网络视频信号进行通信。该系统是一个 RTMP、HLS 和 SRT 服务器。这篇文章展示了如何将树莓派设置为流媒体服务器以使用 HLS 流媒体。你需要一个视频源才能把它作为流媒体服务器使用。

即使没有树莓派,你也可以完成这里描述的步骤。此外,还有针对 WindowsLinuxmacOS 的进一步安装说明。

设置

该应用程序是 datarhei Restreamer,是 datarhei Core 的图形用户界面。datarhei Core 在底层运行著名的媒体框架 FFmpeg。开始使用 datarhei Restreamer 的最简单方法是安装官方的 Docker 容器。通过 Docker Hub 的程序下载和安装是通过 docker pull 命令自动进行的。安装后,Restreamer 立即启动。如果你没有树莓派,可以使用 datarhei Restreamer GitHub 页面上的其他 Docker 容器之一(例如,支持 AMD64 或 GPU Cuda)。

datarhei Restreamer 和 datarhei Core 都是 Apache 许可证 2.0 下的开源软件。

以下是在支持 GPU 的树莓派 3 及以上机型上的安装命令:

docker run -d --restart=always --name restreamer \
   -v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \
   --privileged \
   -p 8080:8080 -p 8181:8181 \
   -p 1935:1935 -p 1936:1936 \
   -p 6000:6000/udp \
   datarhei/restreamer:rpi-latest

无论你使用哪条命令,你只需要 --privileged 选项来访问本地设备,如 USB 摄像头。

安装后,将 Raspberry Pi 连接到本地网络。然后在浏览器中进入 http://device-ip:8181/ui 打开基于 Web 的 GUI。

你应该看到以下屏幕:

First login into datarhei Restreamer

分配好密码,系统就可以进行首次登录了。向导正在开始配置第一个视频源。

提示:上述 Docker 命令将带有登录名和密码的配置数据永久保存在 /opt/restreamer/config 文件夹中。

实施

该应用程序由三个逻辑部分组成:视频输入、系统仪表板和视频输出。视频输入和输出相互独立运行。

视频输入

该向导将帮助你从头开始创建一个视频源。这可以是一个 USB 视频源、树莓派摄像头,或者是一个网络源,如 IP 摄像头或来自网络的 m3u8 文件。HLS、RTMP 和实时 SRT 协议都可以使用。该向导可以帮助正确配置视频分辨率和声音。在最后一步,你可以分配不同 知识共享 Creative Commons 许可证。值得看一下视频信号的设置。你会发现几个选项,例如为垂直视频平台转码或旋转视频。

仪表板

成功创建视频信号后,你将进入仪表板。

datarhei Restreamer dashboard

它是所有其他设置的中心起点。要看到程序的全部功能,你可以在系统偏好中切换到专家模式。

仪表板包含以下内容:

  • 视频信号设置。
  • RTMP、SRT、HLS 服务器和快照的活动内容 URL。
  • 用于重新流式传输的所有活动发布服务。
  • 启动向导来创建额外的视频源。
  • 系统菜单。
  • 实时视频信号统计。
  • 实时系统监控。

视频输出

有不同的方法来播放视频信号。

这个 发布网站 是 Restreamer 最简单、即时可用且内部托管的登录页面。播放页面也可以传输到 Chromecast 和 AirPlay。调整背景图片和在播放器中添加标识等基本设置可以直接在 Restreamer 中进行。那些懂 HTML 的人可以为自己定制页面。高级用户可以注入代码,以使用网站的外部模块,如聊天。视频播放器下的统计模块显示活跃的观众和所有视图。“ 分享 Share ” 按钮支持直播流的分发。网站的 HTTPS 证书通过 Let's Encrypt 激活,无需太多努力。通过简单的 HTTPS 端口转发到树莓派的 LAN IP,网站就可以公开访问。

Landingpage from datahrei Restreamer

发布服务是重新传输内容的一个好方法。对于流行的网站,如 YouTube、Twitch 或 PeerTube,有许多现成的模块。同样,对于其他流媒体软件、流行的 CDN 也是如此。对视频协议的完全控制允许流式传输到所有支持 RTMP、HLS 和 SRT 的目标地址。一个带有视频播放器的 HTML 片段代码在网页上工作。

Presets for publication services

使用树莓派播放流媒体节省电力

这篇文章展示了如何将树莓派变成一个流媒体服务器。树莓派平台允许你以省电的方式与各种视频信号互动。预先的设置使配置服务器变得很容易,高级用户可以对系统进行一些调整。你可以用它来做回放,在网站上托管实时流式传输,或使用 OBS 集成到系统环境中。使用不同的视频源和传输协议作为项目的基础,提供了极大的灵活性,使这个系统具有高度的可定制性。此外,带有 FFmpeg 的 datarhei Core 使软件开发者很容易扩展所有的应用进程。

该程序将树莓派变成一个专门的流媒体服务器。你可以独立地直播到网站或多路直播到不同的视频网络,而无需额外的视频提供商。

可以使用登录名 “admin” 和密码 “demo” 在项目网站上安装之前测试功能齐全的 演示


via: https://opensource.com/article/23/3/raspberry-pi-streaming-server

作者:Sven Erbeck 选题:lkxed 译者:geekpi 校对:wxy

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

这个使用树莓派集群的学术实验向远程教育学生介绍了并行和分布式计算(PDC)的概念。

自从树莓派推出以来,创造者们已经在这个简陋的袖珍芯片系统上开展了无数的计算机科学教育项目。其中包括许多探索低成本树莓派集群的项目,以介绍 并行和分布式计算 Parallel and Distributed Computing (PDC)概念。

英国 开放大学 Open University (OU)为不同年龄、经历和背景的学生提供远程教育,这就提出了一些在更传统的大学中没有面临的问题。开放大学使用树莓派集群向远程教育学生介绍 PDC 概念的实验始于 2019 年,并在一篇 学术论文 中进行了介绍,但值得更广泛地了解。

该项目使用基于 OctaPi 教程 的树莓派集群,该指令由 GCHQ 在知识共享许可协议下发布。八个树莓派使用一个路由器和一个交换机连接在一个私人网络中。其中一个树莓派充当主控,而其他的是服务器,将结果反馈给主控设备。用 Python 编写的程序运行在主控树莓派,而 dispy 包将活动分发在集群的各个处理核心上。

OctaPi 教程

他们为该集群开发了三个程序,你可以从 Git 仓库 下载它们。

其中两个程序是基于文本的,并与搜索问题有关:旅行推销员和密码散列。作为完整的搜索问题,这些是教授 PDC 概念的理想选择。第三个程序是图形化的。图像组合器将三幅图像作为输入,其中有不重叠的障碍物。它通过对三幅图像的 RGBA 值进行逐个像素的比较并选择中位数来构建一个没有任何障碍物的图像。

使用集群

开放大学是一个远程学习机构,所以学生通过网页界面访问集群。对集群的远程访问使用大学的 OpenSTEM 实验室的基础设施。10 个集群(8 个用树莓派 4 构建,2 个用树莓派 3B+ 建造)被安装在机架上,用网络摄像头对准每个集群。

学生们选择要运行的程序,使用的核心数量,以及所选程序的参数。作为输出,他们可以看到该程序在单个树莓派上运行的时间与使用所选核数的集群的时间相比。学生还可以看到程序的输出,如密码散列结果、最小和最大的旅行推销员路线,或未遮挡的图像。

Generating a fourth image from information in three images

网络摄像头显示了集群的实时流。主控树莓派有一个 LED 显示屏,显示程序运行时的状态。网络摄像头让学生清楚地知道,他们是在用真正的专用硬件做实验,而不是得到模拟的或预先录制的结果。

Raspberry Pi cluster

每个程序都有两个与之相关的活动,描述了程序设计和 PDC 操作的不同方面。其中一个主要的学习点是,PDC 计算可以提供显著的性能优势,但代价是划分和分发问题以及反过来重新组合结果所花费的时间和资源。第二个学习点是,效率受程序设计的影响很大。

学生喜欢

目前,树莓派集群的使用是可选的。不过根据目前的研究结果,学生们很喜欢它,并因能远程接触到物理硬件而受到激励。

一位学生说:“能够使用真正的集群,而不是让它虚拟化,这真的很有趣”。

另一名学生补充说:“能够真正看到集群的工作,看到多核工作的真实效果,这真的很令人兴奋。能够亲自尝试,而不仅仅是阅读有关理论,这真是太好了!”

学生们正在使用集群开展旨在教授 PDC 原理的学习活动,而不是编写和运行他们自己的程序。开发低成本的树莓派集群供远程大学学生使用的经验表明,远程实践活动对教授 PDC 概念和吸引学生有好处。

当我向该项目背后的团队成员之一 Daniel Gooch 询问时,他说:“对我来说,我们的不同之处在于,我们采用了一套现有的树莓派教程,并致力于整合更多外围材料,以确保它能够应对我们操作的距离和规模。”


via: https://opensource.com/article/23/3/parallel-distributed-computing-raspberry-pi-clusters

作者:Peter Cheer 选题:lkxed 译者:geekpi 校对:wxy

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