给树莓派 CM 的 eMMC 烧录系统的方法

树莓派 CM(计算模块) 上有一个 eMMC 设备连接在主 SD 卡接口上(Lite 版除外),下面将介绍几种方法,通过计算模块的 IO 底板将系统烧录到 eMMC 上。

你还可以在计算模块的 Datasheet 中查看到本文所介绍的方法。

首先需要准备一块树莓派 CM,和一块底板。CMIO 或者其他底板(如 ED-IOTGATEWAY)均可。

烧录步骤

你需要准备一个 Linux 系统(推荐使用树莓派或装了 Ubuntu 的 PC)或 Windows 7、Mac。

注意,对于 BCM2835 (CM1) 的 bootloader 有一个 BUG,它会给主机返回错误的 USB 数据包,但是大多数的 USB 主机会忽略这个无害的错误并能正常工作。这个错误在 BCM2837 中做了修正。

Windows 下的操作

在 Windows 下有一个安装工具来自动安装所需驱动和引导工具。或者你也可以使用 Cygwin 编译并手动安装驱动。

Windows 安装工具

1、下载并运行 安装程序 完成驱动和引导工具的安装。

2、将树莓派 CM 底板的 USB SLAVE 接口连上 PC 的 USB 接口。需确认 J4 跳线(USB SLAVE BOOT ENABLE)设定在 EN 的位置。

3、给树莓派 CM 底板上电,Windows 将自动发现新硬件并安装驱动。

4、驱动安装完成之后,运行 RPiBoot.exe。

5、等待几秒钟之后,计算模块的 eMMC 将作为 USB 大容量启动器出现在系统的磁盘列表中。

6、这时候就可以像 给 SD 卡烧录系统镜像 一样来给计算模块烧录系统了。在写入系统镜像时请将 J4 跳线设置到 disabled 的位置(或者不要使用 USB Slave 接口)。随后给底板上电,系统会从 eMMC 来启动。

Cygwin 手动安装驱动的方法

Cygwin 是一个在 Windows 平台上运行的类 UNIX 模拟环境,首先你需要在Windows 上安装好 Cygwin。

下载和安装参考 http://www.cygwin.com

接下来,和上面介绍的工具安装方法一样,设置好底板上 J4 跳线到 EN 的位置。用 micro USB 线把底板接到 PC 上,请不要给底板上电。

使用 Git 获取 rpiboot 的源码并编译安装。

sudo apt-get install git

如果系统时间没有设置的话, Git 会报错,使用下面的命令设置系统时间即可,此处 MM、DD、hh、mm 分别为月、日、小时、分钟。

sudo date MMDDhhmm
git clone –depth=1 https://github.com/raspberrypi/usbboot
cd usbboot

如果 libusb 没有安装的话,可以用下面的命令安装,若已安装则可忽略。

sudo apt-get install libusb-1.0-0-dev

编译源码

make

运行 rpiboot

sudo ./rpiboot

现在将计算模块底板的 USB Slave 接口(J15)连上 PC,并给底板上电。rpiboot 程序会检测到计算模块并发送启动代码来运行连接 eMMC。

Linux 下的操作

这部分和 Windows 下 Cygwin 的手动安装驱动方法类似。获取 usbboot 的源码并运行 rpiboot,所用到的命令和上面一样故不再赘述。下面说一下烧录这个步骤所用到的命令。

rpiboot 完成之后,你可以在 /dev/ 目录或者运行 lsblk 命令对比看到 rpiboot 运行前后的一些改变。会出现一个新的设备,就是计算模块的 eMMC。

使用 dd 命令将 Raspbian 镜像刷入到该设备即可。下面假设新的设备名为 sdX 则使用下面的命令。

sudo dd if=raw_os_image_of_your_choice.img of=/dev/sdX bs=4MiB

运行结果

/dev/sdX <- Device
/dev/sdX1 <- First partition (FAT)
/dev/sdX2 <- Second partition (Linux filesystem)

现在 /dev/sdX1 和 /dev/sdX2 可以被正常挂载到系统了。

在写入系统镜像时请将 J4 跳线设置到 disabled 的位置(或者不要使用 USB Slave 接口)。随后给底板上电,系统会从 eMMC 来启动。

来自:树莓派实验室

月黑风高无遁逃 —— 用树莓派自制夜视仪

小时候,我花了很多时间玩“细胞分裂”。这个游戏经常要在阴影中徘徊,光线和声音是完成各种任务的重要因素。

游戏中最让人印象深刻的就是情报员 Sam Fisher 戴的夜视仪。因此我一直对能在黑暗中看清事物而着迷,并有了打造便携式夜视设备的想法。

功能要求:

能在黑暗中观察事物(2米到5米)
有图形界面可操作
10个不同功能的按钮
方便的手柄
可调整到最佳视角。
可保存实时视频
可拍照

主要思路:

这个夜视仪核心是红外摄像头(红外线可让你在黑暗中拍摄照片和视频),我买了一个旧的手持式相机闪光灯作为夜视仪的基础。

树莓派Zero小巧,放在这个闪光灯壳子里很完美,有足够的空间支持HyperPixel屏幕和摄像头。而且它还有一个倾斜手柄,这意味着你可以调整夜视角度并且随身携带。

所需硬件:

1、树莓派 Zero W

2、树莓派摄像头 NoIR Camera V2

3、触摸屏 HyperPixel 4.0

代码地址:

https://github.com/IoToutpost/Night-Vision

把程序部署完成之后,可以在桌面放置一个快捷方式,以便随时启动。

十个按钮的功能:

预览 10秒

预览 30秒

预览60秒

预览5分钟

预览10分钟

预览15分钟

拍照

捕捉一个10秒视频

保持预览(没有时间限制)

离开/关闭

因为默认的灰色在黑暗中太亮了,于是作者把按钮改为黑色背景和绿色字体。

编者按:这里用到的HyperPixel 4.0触摸屏似乎与2019年8月发布的Raspbian Buster不太兼容,建议使用Raspbian Stretch。

原先的手持式相机闪光灯没地方展示触摸屏,作者用小刀将其顶部塑料一点一点切掉,这才有了一个不规则的显示区。DIY真是锻炼人啊……

相关视频地址:

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

素材:Tecoed.co.uk

作者:TeCoEd

编译:王文文,前51CTO安全频道主编,RedHat认证工程师,华为HCIP-IoT认证工程师。

在树莓派上安装Scratch 3桌面版

Scratch 3于2019年1月发布后,树莓派和Scratch的团队就在努力为 Raspbian这个系统开发桌面版本。

与以前的版本相比,新版Scratch界面和功能都有了显著的改进。但这些改进需要更高配置的硬件和更先进的系统来支持。

随着树莓派4代的性能升级以及 Raspbian Buster 这款系统的发布,业界知名的积木编程工具Scratch 3,终于可以跑在树莓派上了。

哪些树莓派才能装Scratch 3呢?

理论上1G内存的树莓派3B就能跑起来。

但树莓派官方推荐2G或以上内存的树莓派4B,否则你的Scratch 3可能会因为内存不足而出现问题。

注意,Scratch 3只能装在Raspbian Buster以及后续版本上,老系统就别尝试了。

如果你还没有升级到Raspbian Buster,建议你在SD卡上安装一个新的Buster版本,而不是升级当前的Raspbian Stretch。

如果你已经在使用Raspbian Buster,但你不确定你是否在运行最新的版本,请执行:

sudo apt-get update
sudo apt-get install scratch3

或者在桌面进入菜单,然后Preferences > Recommended Software,选中Scratch 3并单击OK。

Scratch 3在树莓派上有哪些特别应用?

Scratch 3为Raspbian提供了新的扩展,允许你用Scratch代码控制GPIO针脚和Sense HAT。

GPIO扩展

GPIO扩展是Scratch 2时代出现的,这里对其做了强化,可以让你更便捷的连接和控制整个电子设备。

Simple Electronics扩展

如果你希望添加一些简单的电子模块,比如游戏用到的的LED或按钮控制器。你应该会发现新的Simple Electronics扩展比GPIO扩展更易于使用。

Simple Electronics扩展是对初学者非常友好的模块,也可以用来和树莓派GPIO引脚做交互。

在本例中,连接到GPIO引脚17的LED由引脚2和GND之间的按钮控制。

Sense HAT扩展

我们改进了Sense HAT扩展让其支持Scratch 3的新功能,另外还引入了许多新的积木块以便于:

感应设备的倾斜,摇晃和方向
使用操纵杆
测量温度,压力和湿度
在LED矩阵上显示文本,字符和图案

Micro:bit和LEGO扩展

Micro:bit和LEGO扩展已经在Scratch 3 Desktop的Windows版和Mac版上提供。这是因为两个系统上都已支持Scratch Link蓝牙通信软件。而目前Raspbian这样的Linux系统还不支持。

Raspbian的Scratch Link版本是我们计划的一部分,但到目前为止,我们还没有正式的发布日期。大家可能要等一段时间。

一轮感谢

长期以来,Scratch和 Raspberry Pi 团队都有一个共同目标,那就是在Raspberry Pi上运行Scratch 3。如今能看到它发布,真是太棒了!

非常感谢 Raspberry Pi 工程师 Simon Long 为Scratch 3的构建和打包,也非常感谢Scratch团队给予的支持。

来自:Raspberrypi.org

作者: Martin O’Hanlon 

译者:王文文,前51CTO安全频道主编,Redhat认证工程师,华为HCIP-IoT认证工程师。

把站台上的电子提示牌建到桌边

一般轻轨和火车的站台上都会有电子提示牌,提醒乘客当前时间、下一班车还要等多久以及该班车的始发站和终点站等等。

那类似的电子提示牌用到了哪些东西?我们能不能自己做一个?

用树莓派Zero、OLED显示器和3D打印的小盒子就可以搞定。它会涉及一些软件,一点焊接工作,还有一些3D打印材料。

引言

不久前,我看到克里斯·哈钦森(Chris Hutchinson)发布的帖子。

Pretty hyped about my most recent @Raspberry_Pi project — a realistic, real-time, train departure board

I’ve open sourced the software over at: 
https://t.co/vGQzagsSpi

Next step: find a case and make it a permanent fixture! 
pic.twitter.com/HEXgzdH8TS— Chris Hutchinson (@chrishutchinson) June 6, 2019

他从交通网站的API中提取数据,并在一个小型OLED上实时显示列车发车信息,以模仿英国列车站台上的那些电子提示牌。

我很欣赏他的项目,所以决定自己也做一个。主要是打算改变软件工作的方式,使其在 balendCloud 上运行,这样部署和配置会更加容易。

此外,我重新设计了显示布局,以实现字体的1:1像素映射。避免任何缩放,以便看起来更像真正的点阵显示。

至此,我已大功告成,并对结果感到满意。你可以按照本教程做一个类似的版本。

列车信息来源

https://www.transportapi.com/

硬件需求

这个项目的硬件需求不多,主要就是下面这几项。

·树莓派Zero W
·8G容量的SD卡
·USB电缆(用于电源)
·SSD1322 OLED显示器

如果你想自己做外壳,那还需要一台3D打印机或3D打印服务。

软件需求

该项目构建在 balenaCloud 上的 Docker 容器中运行,这意味着你只需几步就可以部署项目,从而节省任何耗时的手动包安装或配置。

所以你需要:

• 从GitHub下载项目

https://github.com/IoToutpost/UK-Train-Departure-Display

• 准备好刷系统的工具
• 一个免费的 balenaCloud 账户,用于设置和管理Pi下载并安装balena CLI工具——安装在你的计算机上,允许你在树莓派上安装项目代码。

组合在一起

第一个任务是将显示器连接到树莓派的GPIO头。

我用的是树莓派Zero W,它没有引脚针。虽然可以把它放在一个小得多的空间,但这意味着我必须自己焊接跳线。

我已经在下面列出了2.8英寸显示器(从AliExpress买来的)的引脚分配。

其他基于 SSD1322 的显示器应该也是可以的,你只需要留意一下引脚,并在上电前仔细检查它们是否连接正确。

无论你是否把线焊接到Raspberry Pi,都肯定要将线焊接到显示器上。

设置软件

用 balenaCloud & Docker 大大简化了软件的设置过程。

这意味着你不必手动安装或配置软件包,只需设置应用程序,添加设备并刷写SD卡,然后用 balena CLI 工具从计算机推送代码。我不会在这里详细介绍这个过程,你可以访问以下链接查看相关文档。

https://www.balena.io/docs/learn/deploy/deployment/

• 设置balenaCloud应用程序

首先你要有一个balenaCloud账户。然后添加一个新的应用程序,确保为正在使用的设备选择匹配的硬件类型。

接下来,向应用程序添加一个新设备,配置网络并下载balenaOS映像。

• 给设备刷写SD卡并接通电源

用Etcher或其他工具把下载好的操作系统刷入SD卡。
将SD卡插入树莓派并启动设备。几分钟内,它应该会出现在balenaCloud仪表板上。

• 推送App代码

这一步是将代码推送到balenaCloud,之后它会将其分发到你刚才添加的树莓派。具体步骤:

从GitHub下载代码(本文前面提到的链接),然后在你的计算机上安装 balena CLI 工具,进入项目目录,执行 balena push <appName> ,其中 <appName> 是你之前在 balenaCloud 仪表板中创建的应用程序的名称。例如:balena push TrainDepartureDisplay。

如果一切顺利,你将看到balena 独角兽吉祥物,并且你刚刚推送的代码将自动分发到设备上。

准备好硬件并部署代码后,下一步是配置运行应用程序所需的环境变量。

添加配置信息

不需要手动编辑配置文件,你可以用 balloud 仪表板来设置并随时更改任何变量。如果需要的话,你可以看看如何设置环境变量的文档。

https://github.com/balena-io-playground/UK-Train-Departure-Display#configuration

在获得传输API的密钥和应用ID之前,你需要在 Transport API 上注册一个帐户。这样你才能知道列车目的地和到站时间等信息。

一个基础帐户是免费的,每天只能有1000个请求,但是对于这个项目来说已经足够了。

如果前面工作都没问题,整个系统应该可以运行了,你第一眼看到的画面应该是这样。

做个外壳

接下来要把这个电子提示牌做的更真实一些,至少在外观方面。

我设计了一个外壳来装显示器和树莓派。这样可以把所有的东西紧密地放在一起,不会浪费太多的空间。

然后用Autodesk Fusion 360和Creality Ender 3(通过Cura)将其打印出来。这个外壳的模型可以在balena Thingiverse页面上找到。

将 Raspberry Pi Zero 放进壳中,然后熔化少许卡槽以便将其固定。

然后,用四个2.6毫米螺丝封住后盖。

我的电脑显示屏背面有USB接口,所以我剪了一条旧的USB电缆来供电。用细电线做这样的连接时,两根导线外侧可以加上热收缩管。给它们加热后,会形成一个坚固的接头。

供电线通过外壳顶部引出,以获得清爽的外观,然后用双面胶将我们的成品固定在电脑显示屏的下面。

后记

非常感谢Chris Hutchinson,是他最初启动这个项目,并促使我做进一步的开发。Blake也做了一些改进,这个项目就是他那里 fork 出来的。

Blake的项目地址:
https://github.com/ghostseven/UK-Train-Departure-Display

本项目用到的字体:
https://github.com/DanielHartUK/Dot-Matrix-Typeface

来自:Balena.io

作者:Chris Crocker-White

译者:王文文,前51CTO安全频道主编,Redhat认证工程师,华为HCIP-IoT认证工程师。

在命令行下构建“过期即焚”的临时网盘

前一阵子,Mozilla宣布推出免费的共享服务Firefox Send,不但同时支持多平台,还分别可以用浏览器和命令行操作。

除了使用端到端加密保护,还允许用户将要共享的文件设置为一次性下载或24小时下载有效。

使用方法则和百度网盘类似,把生成的链接和密码告诉要下载的人即可。简单的说,你可以把它当作临时网盘使用。

用浏览器操作的话相信大家都会了,这次我将在Fedora系统上用命令行操作。以便程序可以后台执行,或者跟其他程序做集成。

首先在系统中安装 Firefox Send 的命令行工具 ffsend。

1、如果你是Fedora的桌面/服务器版,该工具已经在源站了。

你只需执行:

sudo dnf install ffsend

2、如果你和我一样用的是Fedora IoT版,可以执行:

sudo rpm-ostree install ffsend

该工具的基本操作就两个:上传和下载。

ffsend upload 文件名
ffsend download 链接地址

但扩展参数还不少。

这里将本地的test.go文件上传并分享,链接密码为1234。

顺便打开浏览器看一下,OK。

用命令查看文件是否存在:

ffsend exists 链接地址

查看文件完整信息,比如还有多久过期:

ffsend info 链接地址

如果时间没到24小时,又想取消分享怎么办?

ffsend delete 链接地址

怎么样,是不是很灵活?

大家顺便可以想想,多文件共享的时候怎么快捷实现并确认状态。

注:目前该服务最高支持 2.5GB 文件,相关程序也已经开源。

地址:https://gitlab.com/timvisee/ffsend

作者:王文文

WebThings Gateway附加组件:扩展网关的功能

除了常规功能以外,WebThings Gateway还有一个附加组件系统。你可以用它来扩展网关的功能。

默认情况下已安装Web Thing、Zigbee和Z-Wave等组件,足以支持大量的商业设备。但是,如果有其他不同类型的设备要加进来。你会需要附加组件来增强对它们的支持。

根据需要找到并安装更多附加组件:

从“设置”菜单中选择“附加组件”。

如果首屏没看到你想要的组件,请单击右下角的“(+)”按钮浏览附加组件列表,然后选择“+ Add”以启用任何附加组件。

例如,你家里有TP-Link或HomeKit兼容的设备,你可以安装它们的附加组件,然后发现这些设备,并且配对。以便它们由你的IoT网关管理。

有些附加组件需要配置才能正常工作(例如Pulse、Weather、ONVIF)。另一些则在添加后立即工作(例如Virtual Things)。

适配器

适配器页面显示当前安装并激活了哪些插件。转到“附加组件”页面,你可以添加或删除系统中适配器。

新的组件将继续被开发,以便能管控更多新的设备。因此请定期检查以扫描列表中的附加组件。你可以在网关开发站点的issues选项卡中提交对额外设备支持的请求。

实验中的功能

你可以在“experiments”选项中启用智能助手和日志记录等实验中的功能。

从“设置”菜单中选择“实验”,然后勾选“启用智能助手”和“日志”。

使用智能助手

一旦启用,智能助手页面就会在主菜单中出现。它允许你用语音和消息命令来控制家里的设备。无论你是使用语音还是输入文本,都可以达到同样的效果。

Web页面会显示你最近发出的打字和语音命令,以及命令的结果。如果你所说的命令被误解或者没说全,请再试一次。记得对麦克风大声清晰地说话。

你可以给它一些指令,比如“打开厨房的灯”。它会回应你,并确认你的动作。到目前为止,它能够理解一组基本的命令来打开和关闭设备、设置级别,设置颜色和色温。

当你第一次点击麦克风图标时,你的浏览器将请求允许使用麦克风。在弹出对话框中,点击“记住这个决定”复选框,然后选择“允许”。

注意,在0.8网关版本中,基于浏览器的语音命令调用的是谷歌语音API,因此音频是在云端处理的。如果你在智能助手的文本框中输入一个命令,那将直接在本地处理,不需要连接到谷歌。

使用日志

一旦启用,日志页面将在主菜单中可见。单击右下角的加号图标,选择要记录的设备、属性以及要存储(日志数据)的持续时间。任何已连接的智能设备都能被记录,并在配置屏幕上可见。

好了,Webthings Gateway的高级功能差不多就到这里。其他的功能大家可以自行探索。

素材:iot.mozilla.org

编译:王文文

WebThings Gateway平面图:让智能家居的位置一目了然

在使用 WebThings Gateway 管控家里的智能设备以后,大家是不是觉得生活比以前方便一些了?

如果你设备少,或者房间不多。那倒是能记得各个设备的不同位置。

但要部署的智能设备和房间很多,怎么直观的区分它们在哪些房间呢?

我们来看一下 WebThings Gateway 的“Floorplan”,平面图功能。

该功能可以让你家中的所有智能设备位置,完全反映到 WebThings Gateway 页面上,你可以看到你家智能家居的整体布局,以及各区域设备的开关状态。你仍然可以单击图标来操作它们,或者查看该对象的详细视图。

创建一个平面布置图

首先你要先绘制屋子的平面图,并保存为数字图像。你可以用手画一个,然后给它拍照,或者使用illustrator工具(如果你用智能手机拍摄平面图,你可以直接从手机的浏览器把图片上传到你的网关上) 。

提示:使用 Inkscape 或 Sketch 之类的工具可将数字绘图保存为带有白线和透明背景的svg文件,以获得极简外观。

点击“平面图”页面右下角的铅笔图标进入编辑模式。将会出现一个“上载文件”按钮,选择要上载的平面图。

在平面图上传完成后,确保你仍然处于编辑模式,然后将插座和灯泡等图标从页面顶部拖到平面图上。单击右下角的勾号,搞定。

这下房间再多也不用担心了。设备在什么位置,是否在工作,一目了然。

素材:iot.mozilla.org

编译:王文文

怎样用WebThings Gateway管控你的智能家居

普通计算机联网要普通网关,物联网设备联网要用物联网网关。

物联网网关,作为一个新的名词,在物联网时代将会扮演非常重要的角色,它将成为连接感知网络与传统通信网络的纽带。作为网关设备,它可以感知网络与通信网络,以及不同类型感知网络之间的协议转换.既可以实现广域互联.也可以实现局域互联。

我们这次就在树莓派上搭一个物联网网关。

WebThings Gateway是一款面向智能家居的物联网网关,来自国际知名的Web浏览器厂商Mozilla。

安装所需要的核心零件:

1、 树莓派

2、SD卡

3、支持ZigBee或Z-Wave协议的USB适配器

WebThings Gateway 镜像地址:

https://github.com/mozilla-iot/gateway/releases/download/0.8.1/gateway-0.8.1.img.zip

安装步骤:

1、刷卡

2、插入USB适配器

3、通电

注:第一次启动可能要等2-3分钟,后面会快一些。

启动系统后,你会在Wi-Fi连接中看到一个名为 “WebThings Gateway XXXX” 的SSID,连上去。

此时会自动跳转到网关的Web管理页面,如果没有自动跳转,就在浏览器里输入“http://192.168.2.1”

然后你必须再次设置Wi-Fi连接,以便物联网网关能接到你家无线路由器上。

将Webthings联网后,系统会问你要不要创建个子域名。

下一步就是添加设备的环节了。

你可以把家里的智能灯泡、插座、门锁……都加进去。

一般的添加过程:

选择要添加的设备,并为其配对。这方面Zigbee和Z-Wave的都差不多。

灯泡拧入(配对时应点亮灯泡),插头插好。

电池驱动的设备,如门/窗传感器、运动探测器、按钮、调光开关、检漏器、温度传感器等等,也都要先通电。

远程控制和规则设置:

添加完相关智能设备后,你可以在手机或平板电脑上直接控制它们。在浏览器中输入WebThings的域名或IP,然后用你设置的用户名密码登录即可。

也可以在“规则”栏里面做设置,比如你想让卧室灯在晚上10点后自动熄灭。

当然,你也可以随时删除它们。

好了,开始享受物联网时代的智能家居生活吧!下一篇文章我再给大家讲WebThings的高级用法。

作者:王文文

用LAKKA和树莓派做复古游戏机

树莓派可以做复古游戏机和街机,想必大家都已经听说过了。

包括RetroPie、Recalbox和Lakka在内的几个游戏机系统,在业内都是小有名气。

我们这次就用 树莓派3b+ 和 Lakka 来做一台。

Lakka在树莓派3b+上的安装

在树莓派3b+上安装 Lakka 非常简单。安装过程与以前的 Lakka 版本完全相同。只需前往官方的 Lakka 网站,下载合适的镜像,并将其安装到 microSD 卡。然后用安装好的 microSD 卡插入树莓派3b+。

Lakka for 树莓派2/3版本下载地址:

http://le.builds.lakka.tv/RPi2.arm/Lakka-RPi2.arm-2.2.2.img.gz

Lakka启动后的界面:

如果你们在屏幕上看到如下画面,基本就算装成功了。第一件事,先进“设置区”把 Wi-Fi 连上。看到自己 SSID 边上有个“Online”就是连成功了。

注:如果想查看 IP 什么的可以进“System Information”菜单。

添加游戏

首先要进“Services”菜单把 Samba 启用,不然你没法往里面拷游戏。

生效之后就可以往里面拷游戏了,在 Windows 网上邻居里找到它的共享目录。

找到 ROMs 目录,然后把你能找到的游戏镜像拷贝进去。接着,你要回到游戏机操作界面,选择“Scan This Directory”。让 Lakka 知道你的游戏镜像对应的是哪些模拟器。屏幕底部会提示你扫描的进度。

然后你就可以“load content”加载游戏了,系统会自己调用相关模拟器解析。完成后,您将在菜单的右端看到一个新选项卡。

开始玩吧

转到刚刚创建的选项卡,你会在列表中看到装好的游戏。

选择并运行,看到画面出来的一刻。也就意味着你的游戏机已经做好了。

目前测下来是 红白机镜像 的识别和运行还不错,FB Alpha 类的稍差。

关于 Lakka 背景颜色和语言环境都可以自己调,比如我自己用的是一个蓝色背景的中文环境。

关于一般操作,键盘就够了。但如果想玩的开心,还是去买两个手柄吧, Xbox 和 PS 的都可以。

附注:

虽然树莓派3b+的速度比树莓派3快,但性能并没有特别大的增长,主要改进集中在网络方面。

有些游戏系统可能还没支持树莓派3b+,但 Lakka 很早就兼容了。也就是说,上面那个镜像同时支持树莓派2、3、3b+,大家可以放心刷。IoT前哨站已经帮你们挨个试过了。

相关视频讲解(英语):

http://v.qq.com/x/page/n0864t98yof.html

编译:IoT前哨站

素材:Lakka.tv

只要有想象力,打印机都能做游戏

不知道为什么,文本冒险游戏最近频频被人提及。这不,现在又出来一个基于实时打印的文本冒险游戏 —— Quest Smith。

这位脑洞较大的创客名叫 Bekir Dağ ,他用微型打印机和树莓派做出了这个手持游戏设备。

关于文本冒险游戏的背景知识:

1975年左右,程序员兼业余洞穴探险者 威尔·克劳瑟(Will Crowther)编写了第一个文本冒险游戏 —— Adventure。最初名为 ADVENT,因为在他使用的操作系统中,文件名不能超过六个字符,后来被命名为《巨大的洞穴冒险》 —— Giant Cave adventure。

玩家需要阅读周围环境的描述并从一组选项中进行选择,或者输入下一步并希望游戏能够理解玩家提及的内容。

Bekir Dağ 的创新之处是他把一个文本冒险游戏做成实时打印剧情了。玩家用 Yes 和No 两个按钮来决定游戏的走向 。

Quest Smith是个啥?

在柏林的一家游戏博物馆里,Bekir Dağ 看到了一个手持式游戏设备,于是他决定用树莓派 Zero W自己做一个。

他设计了Quest Smith 的躯壳,用3d绘图软件输出了 STL 文件并在
Thingiverse 网站上免费分享。

下载地址:

https://www.thingiverse.com/thing:3471217

树莓派 Zero W 与热敏打印机、电池和各种按钮紧密贴合在一起。由安装在外壳上的太阳能电池板供电,所有组件都连接到 TP4056 板,该板允许电池为树莓派供电。

硬件材料:

1、Raspberry Pi Zero Wireless 一个

2、GOOJPRT 热敏打印机一个

3、五伏电压升压模块 一个

4、 TP4056 板 一个

5、 18650电池 一个

6、瞬时触碰式开关

7、 Micro usb 转大口接头

8、螺钉 3.5 x 20毫米 四个

9、 滑动开关 一个

10、太阳能电池板60 x 60毫米 5.5V

另外要准备热熔枪、电烙铁和3D打印机。

相关的代码:

https://github.com/IoToutpost/quest_smith

1、系统需要安装的组件

sudo apt-get install libpython3-dev libpython3-stdlib libqt5printsupport5 php7.0-mbstring python3-rpi.gpio python-rpi.gpio python-setuptools python-dev build-essential

2、安装composer

步骤在此: https://getcomposer.org/download/

3、安装两个python库

pip install setuptools
pip install locustio

4、拉取代码

mkdir quest_smith
cd quest_smith
git clone git@github.com:bekirdag/quest_smith.git .
composer install

5、 在重新启动时,通过在crontab上添加一行来运行 Quest Smith 脚本

crontab -e
@reboot sudo /usr/bin/screen -dmS story-game /usr/bin/python3 /home/pi/thermal/push3.py

6、 再次向 crontab 添加另一行代码,以便在每次重启时更新软件,这样你的故事就会是最新的。

@reboot sudo cd /home/pi/quest_smith && sudo git pull origin master

Quest Smith 目前仍在开发中。虽然用户现在可以构建并开始玩这个游戏,但作者呼吁社区用户提交他们自己的故事(有好的分支剧情就发过去)。

Bekir Dağ 说:“每个关卡都需要两个版本的故事,这使得可能性呈指数级增长。所以一个人完成整个故事线对我来说是非常困难的。比如为了让玩家达到9级,我们需要编写1023个故事部分。如果你能帮我,那就太好了! ”

如果想看这个设备是怎么玩的点这里:

http://v.qq.com/x/page/y0846fbymnz.html

相关阅读:

Python写文本冒险游戏的要点

https://mp.weixin.qq.com/s/jtxOqDlYLt3VjdsnLXfdAg

新手可以在研究这篇文章的同时学会面向对象编程。

来自:Raspberrypi.org

编译:王文文