树莓派推出8GB内存版本

树莓派4B上架快一年了。

虽然官方当时推出了最高4GB内存的版本,但要当“桌面系统”用的话,依然略有不足。

同时运行多个复杂应用或打开一大堆网页的话,系统会有些捉襟见肘。

这次树莓派基金会似乎是铁了心要巩固树莓派的桌面级存在。

8GB内存版本横空出世,价格仅为75美元。

为了给新内存提供所需的峰值电流,树莓派官方工程师 James Adams 调整了电路板上的电源组件,从电路板右侧靠近USB 2.0插槽的位置卸下了开关电源,而在USB-C电源连接器旁边添加了一个新开关。

不管你是编译和链接大型程序,还是运行较为繁重的工作负载,或是希望一次打开更多浏览器标签页,Raspberry Pi 4B的8GB内存版本都更适合你。

还有什么?

操作系统也要升级到64位了。

是的,就是大家千呼万唤,与其64位ARM芯片更配的64位树莓派官方操作系统。

此前,树莓派官方默认的操作系统映像使用32位LPAE内核和32位userland。

这允许多个进程共享所有8GB的内存,但会受到单个进程不能使用3GB以上内存的限制。

对于大多数用户而言,这并不是一个严格的限制,比如Chromium中的每个标签都有自己的进程。

而坚持使用32位userland的好处是,同一个镜像可以运行在从初代开始的多款树莓派主板上。

但是,希望将所有8GB映射到单个进程的高级用户,依然需要64位userland。

有些用户因为类似的需求,安装了UbuntuGentoo推出的64位树莓派专用系统镜像。

不过现在官方要出64位版本了,习惯Raspbian OS的用户终于迎来一次重大的性能释放。

虽然还在beta测试中,但离正式发布也快了,想要尝鲜的用户可以先下载。

地址:https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/2020-05-27-raspios-buster-arm64.zip

它包含32位系统映像中相同的应用程序和桌面环境,是基于Debian arm64 port构建的。

以后官方的32位和64位操作系统映像都会有一个新名称:Raspberry Pi OS。

随着社区的发展,树莓派官方希望新用户能够更轻松地找到他们推荐的操作系统,更有信心的使用他们的硬件和软件。

想了解更多资讯,可及时关注“IoT前哨站”。

线索:Raspberrypi.org

编译:王文文

树莓派音乐盒,让你像DJ一样玩音乐

用按钮来控制LED灯,是树莓派比较经典的一种应用。

那用按钮来控制音乐呢?

我们这次的任务是做个树莓派音乐盒,以便你能像DJ一样,通过它不停的切换和调整音乐。

硬件需求:

  • 树莓派1个
  • 面包板1个
  • 接触式开关4个
  • 公对母跳线5根
  • 母对母跳线4根
  • 扬声器或耳机1个

软件需求:

Raspbian 最新版

制作过程:

先找到你想播放的音频文件,如果你自己没有什么准备,可以在Raspbian系统的/usr/share/sonic-pi/samples目录中找一些示例音乐。

不过你要用Python播放声音的话,得将里面的.flac文件转换为.wav文件。

批量转换命令:

for f in *.flac; do ffmpeg -i "$f" "${f%.flac}.wav"; done

如果没出错,你现在应该得到大量的wav文件了。

挑出四个备用,对应4个按钮。将其保存在gpio-music-box目录中

drum_tom_mid_hard.wav
drum_cymbal_hard.wav
drum_snare_hard.wav
drum_cowbell.wav

电路最基本的接法:

当然,用面包板会让你更方便。

示例程序中有四个按钮,所以我们要分别接入GPIO4、10、17、27四个口。

接下来开始撸代码。

import pygame
from gpiozero import Button

pygame.init()

drum = pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_tom_mid_hard.wav")
cymbal = pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_cymbal_hard.wav")
snare = pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_snare_hard.wav")
bell = pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_cowbell.wav")

btn_drum = Button(4)
btn_cymbal = Button(17)
btn_snare= Button(27)
btn_bell = Button(10)

btn_drum.when_pressed = drum.play
btn_cymbal.when_pressed = cymbal.play
btn_snare.when_pressed = snare.play
btn_bell.when_pressed = bell.play

以上的代码应该能正常工作,但不够简洁优雅,我们用Python的字典功能来优化一下。

创建一个字典。

button_sounds = {Button(4): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_tom_mid_hard.wav"),
                 Button(17): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_cymbal_hard.wav"),
                 Button(27): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_snare_hard.wav"),
                 Button(10): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_cowbell.wav")}

然后用Button作为键,Sound作为值。

优化后的代码:

import pygame
from gpiozero import Button

pygame.init()

button_sounds = {Button(4): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_tom_mid_hard.wav"),
                 Button(17): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_cymbal_hard.wav"),
                 Button(27): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_snare_hard.wav"),
                 Button(10): pygame.mixer.Sound("/home/pi/gpio-music-box/samples/drum_cowbell.wav")}

for button, sound in button_sounds.items():
    button.when_pressed = sound.play

是不是简洁多了?

好了,拿去玩吧。

视频讲解地址:

https://v.qq.com/x/page/x0967xsxe7j.html

线索:Raspberrypi.org

编译:王文文

Raspberry Pi官方的高品质摄像头来了

为满足用户需求,树莓派基金会在2020年5月初发布了一套高品质(HQ)摄像头。

该摄像头可同时支持工业和消费级应用,例如安防或者野生动物拍摄等需要视觉高保真的场景。 

技术指标:

  • 1230万像素Sony IMX477传感器
  • 1.55μm×1.55μm像素尺寸– IMX219的像素面积的两倍
  • 背照式传感器架构,提高了灵敏度
  • 支持现成的C和CS卡口镜头(包括C-CS适配器)
  • 可调节的后焦距(12.5~22.4 毫米)
  • 三脚架安装1/4″-20

系统兼容:

从 Raspberry Pi 1 Model B 开始,此相机模块几乎与所有型号的树莓派开发板兼容(安装有最新操作系统)。

镜头规格:

默认模组不包含镜头,所以需要额外购买。树莓派官方认证的经销商会提供两个选择:6mm 焦距的CS卡口镜头,售价 25 美元;以及 16mm 焦距的C卡口镜头,售价 50 美元。

外挂式搭配:

摄影圈的朋友们有福了。

另类艺术时钟 让你的每一分钟都不同

为了庆祝乔迁之喜,哥本哈根的插画家兼UX设计师Riccardo Cereser为自己的新家做了一个独特的时钟。

这个名为Instaclock时钟的特点是,用特别的图案代替数字,且每分钟显示的图案都不一样。

在哥本哈根互动设计学院学习后,出生于意大利的里卡多(Riccardo)特别想在他的新公寓摆一个能够体现他艺术细胞的东西。

他先是在Photoshop中草拟构想,用图案来代表数字。比如伸出指头的手,类似数字0的车轮,蛋糕上的蜡烛,或录制开始前出现的倒数……

决定将这个idea用于交互式时钟后,他迅速想到了这种基于图案的时钟如何在显示器上展示出来。

接着,Riccardo出发前往哥本哈根。

他回忆道:“我开始拍摄任何类似于数字的东西,目的是根据特定主题创建十张一组的图片集合。如果可能的话,通过使用Instagram来切换主题并随时创建新的图案组合一定很棒。”

这就是该项目为何被称为Instaclock的原因。Riccardo能用Photoshop可视化他的计划,并为他自己的想法制作原型。

让其栩栩如生

接下来要弄清楚如何调用和刷新图案。Riccardo有使用Raspberry Pi的经验,甚至还装了RetroPie游戏机。

他找到交互式设计课上的一个朋友,创意编码人员Andreas Refsgaard,在他的帮助下,Instaclock项目所需要的 Processing sketch 被处理好了。

小提示:Processing是一个为开发面向图形的应用(visually oriented application)而生的简单易用的编程语言和编程环境。Processing的创造者将它看作是一个代码素描本。它尤其擅长算法动画和即时交互反馈,所以近年来在交互动画,复杂数据可视化,视觉设计,原型开发和制作方向越发流行,大家都喜欢这个可爱贴心,简洁好用的编程工具。

Riccardo花了数十个小时的时间研究了如何调用API​​来为自己的时钟提取特定图案,并且在cron中为每个Raspberry Pi设置计划任务参数,以便让Instaclock在启动时就加载图案,每隔十秒钟就切换。

为了让Instaclock尽可能地方便用户使用,他们还添加了一条规则,如果按下屏幕上方的按钮十秒钟或更长时间,则关闭屏幕。该脚本是他从The MagPi获得的。

地址:https://magpi.raspberrypi.org/articles/off-switch-raspberry-pi

组合时间

该项目最有趣的方面之一是有机会拍摄、绘制表示数字的图像。当然,这也是最耗时的。然后还得选择合适的屏幕和盒子来显示它们,如果不想自己做可以去宜家看看。

比如Riccardo就是偶然发现自己的Waveshare屏幕跟店里的Dragan文件整理盒比较适配,才买回去加以改造,做成了我们现在能看到的样子。

项目源代码:https://github.com/IoToutpost/InstaClock

线索:Raspberrypi.org

编译:王文文

树莓派官方刷系统工具Raspberry Pi Imager发布

之前给SD卡刷系统的时候, 或多或少会用到Win32 Disk Imager或 Etcher 之类的第三方工具。

而树莓派官方近期出了一个Raspberry Pi Imager ,以后大家刷系统基本不用别的工具了,用它可以轻松搞定。

安装前可以先选择自己想要的系统,比如Raspbian完整版还是Lite版,或者你自己下载好的版本。这部分结合了NOOBS的功能。

而且这个工具还细心的给你分好了硬件版本,以免你刷错系统。

关于它的主要工作机制:

Raspberry Pi Imager会先从官网下载JSON文件,获得所有当前下载选项,以确保你始终安装最新的系统。

用户选择好系统和SD卡的盘符/目录后,该程序将下载相关镜像,直接写入SD卡。与之前流行的方法相比,节约了很多操作。

最后要说的是,Raspberry Pi Imager 完全开源,最初是作为对PiBakery工具的修改编写的,后来由Floris Bos(NOOBS工具和PiServer工具的原始编写者)进行了修改和完善。

Windows版:

https://downloads.raspberrypi.org/imager/imager.exe

苹果版:

https://downloads.raspberrypi.org/imager/imager.dmg

Ubuntu版:

https://downloads.raspberrypi.org/imager/imager_amd64.deb

Enjoy it.

作者:王文文

树莓派加Steam Link 助你大屏玩游戏

很多玩家都会装Steam,以此在PC上畅玩各种炫酷的游戏。

但高性能PC一般都份量不轻,不便于随意搬动。那要想在其他房间或其他终端上玩Steam上的游戏,又不想搬来搬去或者另购新PC,那该怎么办呢?

还好这个世界上有一种叫做Steam Link的东西, 让我们在手机/平板/树莓派上也可以畅玩画质逆天的 PC 游戏大作

在早些时候,Steam Link还是个硬件盒子。

后来 Valve 公司力推软件版本,Steam Link 开始在各个终端百花齐放。

手机和平板上怎么用咱们就不多说了,应用商店里App一装就完事了。那树莓派上怎么用呢?

别担心,也很简单。

假如说以前大家还得自己编译代码的话,现在的树莓派系统装Steam Link简直So easy。

两行命令:

sudo apt update
sudo apt install steamlink

使用前,一定要记着你PC上要先运行Steam。

然后给树莓派接上游戏手柄,设置并输入PIN码连接到PC。

比如我家客厅有个大屏电视,而PC在书房,我就可以用连着大屏的树莓派来玩游戏了。

除了Steam上买的,你还可以通过它运行PC上的其他游戏。总之,这款应用基本能把你的PC当流媒体服务器用。

希望在这个不便外出的特殊时刻,游戏和树莓派能给你带去一丝安慰。

作者:王文文

无暇逗猫?加激光二极管的树莓派能帮忙

逗猫遛狗是假期必不可少的事情,但人们总要工作或学习,不能一直陪在宠物身边。

可想让猫单独在家也能玩的开心,只给一个毛线球可不够了。

抓激光小红点是猫喜欢的一个游戏,能不能做一个发现猫靠近就自动投射小红点的装置呢?

有个叫Enzo的老外养了一只猫,Enzo平时住在​​公寓里,外出工作时,他的猫Xander会无聊地呆在室内。

为了让猫咪有点娱乐活动,Enzo搞了一个由Raspberry Pi驱动的逗猫项目。

“我们注意到它喜欢追逐激光红点,所以我们决定做一个能让它自己玩起来的激光游戏装置 。” Enzo解释道。

演示视频地址:https://v.qq.com/x/page/i30629h4tyb.html

Enzo给这个装置起名为:Tri-Lasers for Felines。

当PIR运动传感器检测到猫在附近时,该装置会向房间内随机方位发射激光点,供Xander在生成的小红点之间追赶。从上面的演示视频来看,Xander似乎很喜欢这个装置。

云台控制

激光的主要运动轨迹,是通过控制水平和垂直的两个伺服电机处理的。其上层是一块Pan-Tilt HAT控制板。

“一对坐标(x,y)随机生成。” Enzo解释道。

“激光点以状态变量定义的速度从当前点移动到新坐标,并沿着连接两个点的线段移动。到达新坐标后,我们将循环回到第一个点。”

为了给Xander带来更多的趣味,该装置通过在三个激光二极管之间切换,以便非常快速地执行随机运动,频繁的移动红点。

Enzo表示:“在三个有源激光器之间切换,可以使激光点快速运动,从而让光线轨迹产生更多的变化,这对猫来说似乎更愉悦。”

虽然激光点在白天也可见,但在光线较暗的情况下会显示的更好。Xander在房间完全黑暗时很喜欢它。

该装置的三个激光二极管安装在3D打印的三角形支架中,该支架位于Pan-Tilt HAT的丙烯酸支架上,该支架通常用于固定相机。Enzo还设计了PIR传感器的外壳。

猫的日志

除了处理激光移动之外,Python脚本还保存了Xander活动的日志。

“我们会不时的检查一下它的好奇心,” Enzo说。

当Xander还是小猫时,会经常和这个装置一起玩。

现在Xander长大了,比起玩闹,它更喜欢睡觉。Enzo晚上出门的时候会打开这个装置,让自己长时间不在时,Xander也有的玩耍。

有一个问题是,猫是天生的好奇宝宝,很喜欢研究新事物。Enzo说:“我们把逗猫装置放得尽可能高,防止被它碰倒,但猫的爬高技巧非常娴熟,有几次都抓到了设备。因此,保护设备免受猫攻击的最佳方式是使其尽可能的保持静止,从而使猫失去兴趣。”

因此,Enzo将倾角传感器添加到装置中,这样可以让整个装置在Xander好奇的触碰下自动关闭,从而降低了损坏的风险。

相关材料清单:

激光二极管,3个

Raspberry Pi Zero ,1个

Pimoroni Pan-Tilt HAT ,1个

封装好的倾斜开关,1个

PIR运动传感器 (通用版),1个

跳线(通用版) ,10根

普通硬纸盒,1个

可能用到的工具:

3D打印机,电烙铁,热熔枪

该项目的Python代码:

https://github.com/IoToutpost/CatFitBot

这不是Enzo唯一专注于猫科动物的项目,他还构建了IoT食品秤来监控Xander的进餐时间和食用量,并将数据发送到Google Cloud的在线仪表板。

他现在正在研究轮式机器人,可以用摄像头追踪猫并进行一些互动,以便了解Xander会如何应对。

来自:RaspberryPi.org

编译:王文文,热爱物联网,喜欢研究开源软硬件和各种有意思的应用。前51CTO安全频道主编,RedHat认证工程师,华为HCIP-IoT认证工程师。

树莓派上设置OctoPrint实现3D云打印

如果你已经拥有3D打印机,那么你应该在3D打印的社区中听说过OctoPrint了。它会使你的3D打印工作变得更容易,更方便。

本指南将逐步指导你完成设置过程,并在此过程中提供一些有用的提示。

OctoPrint是一款开源软件,可以向具备USB接口的3D打印机添加Wi-Fi功能。

简单的说,你可以通过Web浏览器将本地文件拖放到打印机上,开始或停止打印。通过实时视频监视打印机,控制电机,控制温度等等。

当然,强大的功能也是会带来风险的。3D打印机超负荷工作的温度足以引起火灾,因此请确保自己有做好安全的设置,不要让它在未经监督的情况下运行。

OctoPrint需求清单:

•Raspberry Pi 3(或更高版本)
• MicroSD卡
•Raspberry Pi电源适配器
•USB线缆(连接器类型取决于你的打印机)
•Webcam / Raspberry Pi摄像头模块(可选)
•3D打印的摄像头安装架(可选)

在开始之前需要强调一下,不建议在该项目中使用低于Raspberry Pi 3的版本。在Pi Zero或更旧的Raspberry Pi上尝试这个软件,可能会遇到意外的打印失败。

下载OctoPrint

地址:https://octoprint.org/download/

截至到本文发布时,最新的版本应该0.17.0。

OctoPrint差不多算是Raspbian的一个分支,所以具体刷系统和Raspbian一样即可,这里不再累述。

设置Wi-Fi网络

刷完系统后,进到SD卡的boot目录,编辑octopi-wpa-supplicant.txt文件。

network={
    ssid="<your network name>"
    psk="<your password>"
}

改好之后,把SD卡插入树莓派,启动。

登陆Octopi

在你的浏览器中访问octopi.local,如果一切顺利。你应该能看到Web界面了。

如果没有看到OctoPrint启动画面?不要害怕,你不是第一个。常见的问题包括:仔细检查octopi-wpa-supplicant.txt文件中是否正确输入了Wi-Fi详细信息,将Raspberry Pi接上显示器并观察会发生什么情况。

https://community.octoprint.org/t/wifi-setup-and-troubleshooting/184 这个页面有详细的故障排除建议。

开始用OctoPrint打印

现在,我们可以根据向导为打印机设置OctoPrint。大部分步骤都简单明了——设置密码,注册。发送匿名使用情况、统计信息等等。

我们建议启用连接检查和插件黑名单,以帮助保持状态稳定。如果计划使用OctoPrint作为切片器和监视工具,可以用此步骤导入Cura配置文件。但是,我们建议跳过此步骤,因为在你自己电脑上切片更快。

最后,我们需要输入打印机详细信息。上面这个图我们是以Creality Ender-3的一些规格为例设置的。如果找不到打印机的确切信息,则可以通过快速网络搜索此部分所需的内容。

带摄像头的OctoPrint更好

现在,你已经设好了OctoPrint,可以开始打印。通过USB数据线将Raspberry Pi和3D打印机连起来。在浏览器中打开OctoPrint,然后单击“ Connect 按钮让已启用Wi-Fi的打印机开始工作。成功连接后,你可以设置“hot end”和“bed temperature”,然后观察实时读数的更新。

在“ Control”选项卡中,我们可以看到视频流(如果有使用摄像头的话)和电机控制,以及定位轴的命令。

有一个G-code文件查看器,可以查看当前加载模型的横截面,还有一个终端可以向打印机发送自定义的G-code命令。最后一个标签是用于设置延时的,有插件可以帮助完成这个过程。

毫无疑问,对打印图像进行视频监控的最简单方法是使用官方的Raspberry Pi摄像头模块。在Thingiverse上有很棒的Raspberry Pi摄像头模块支架,可让你在打印模型时获得最佳视角。还有一些很棒的以OctoPrint为主题的Raspberry Pi保护套可以容纳你新的打印机大脑。

虽然它没有得到OctoPrint的官方支持,但如果你手边有USB网络摄像头,或者只是想要一些高质量的视频流,你可以使用它。OctoPrint wiki有一个众包列表,其中列出了已知可以工作的网络摄像头,还有一个链接,提供了网络摄像头正常工作所需的额外步骤。 地址:http://hsmag.cc/aREXbo

综上所述, 设置完成后的操作,基本就三步:

  1. 用切片软件导出Gcode文件,
  2. 在OctoPrint的Web界面按Upload上传G-code,
  3. 点击Print开始打印。

你会看到文件/打印细节出现,包括打印对象需要多长时间……在开始之前,请查看右侧的G-code Viewer选项卡。你不仅可以滚动浏览对象的各个层,还可以使用底部的滑块来查看3D打印机用来“绘制”每一层的精确图案。现在点击“打印”,看你的打印机是怎么工作的。

OctoPrint拥有社区创建的大量插件,比如我最喜欢的Octolapse,能制造出梦幻般的延时摄影效果。该插件会改变打印对象的G-code,以便每一层打印结束, 挤出机就从打印物上移开,让摄像头毫无阻碍地拍摄模型。结果看起来像是魔法般凭空生长出来的物体。

相关视频效果:https://v.qq.com/x/page/z3050xutjrm.html

插件地址:https://plugins.octoprint.org/

来自:HackSpace & RaspberryPi.org

作者:  Alex Bate

译者:王文文

鸟巢盒子:用树莓派拍摄自己的《春日观察》

英国BBC有一档节目叫做《Springwatch》,翻译过来差不多叫《春日观察》。是在春天万物复苏之际,观察和报道野生动物生活的一档节目。

那持续的拍摄野生动物总会需要特制的道具,大的先不说,像鸟类一样娇小的动物,有没有好的办法可以拍到它从筑巢到孵卵的全过程呢?

英国利物浦的Jay Wainwright就做了这么一个带互联网属性的“鸟巢盒子”。

该巢盒通过树莓派将高质量图像和视频从英国的鸟巢盒子发到Facebook上。

Jay  运营着一个小型的巢盒直播网络,目前有3个已经部署,另外3个正在筹备中。令人兴奋的是,新的巢盒将包括一个红隼盒和一个谷仓猫头鹰盒!

在春季,所有摄像机的视频流都传向“鸟巢盒子”的Facebook页面,该页面稳定地吸引了数千名野生动物爱好者。

鸟巢盒子使用Raspberry Pi和摄像头模块以及Raspberry Pi PoE HAT来提供电源和Internet连接,因此只需要一根电缆接进去。

如果要收音的话,还可以外接USB麦克风,大约几十块钱RMB。

Jay还增加了LED灯和红外线滤光器,以确保白天和晚上都可获得高质量的画面。

最重要的是,他还写了一些Python代码来记录巢箱的访客以便在有突发事件时进入直播模式。

鸟巢盒子的设计显然已经过充分考虑,既能为鸟类提供有吸引力的空间,同时也便于集成所有电子组件。

鸟巢盒子的主要结构

如果想在Facebook上Follow这个项目,请访问:https://www.facebook.com/NestBoxLive

相关小鸟的视频地址:

https://v.qq.com/x/page/a30354fv7jw.html

素材:Facebook.com

编译:王文文,热爱物联网,喜欢研究开源软硬件和各种有意思的应用。前51CTO安全频道主编,RedHat认证工程师,华为HCIP-IoT认证工程师。

一个懂音乐的汽车雨刮器

有的人在车上听音乐的时候,遇到喜欢的节奏总会随着一起摇摆。

如果雨刮器能和音乐联动,那该是多么酷的事情啊。

国外有个伊恩·查纳斯(Ian Charnas)的创客,就改装了自己的汽车雨刮器,可以和车载音响播放的音乐联动。

一起来看看他是怎么让树莓派控制雨刮器的吧。

视频地址:https://v.qq.com/x/page/g3009vxldud.html