制作复古袋!
#python #项目 #raspberrypi #retropie

所以今天我们有一些不同的东西。这是我一直想与Raspberry Pi Zero W合作的项目。

Raspberry Pi Zero W

现在您可能会问我”

好吧,我没有得到pi Zero W 2,因为它在我购买pi Zero W之后出现了 2天 ...所以,很有趣!

Raspberry Pi Zero W是一个了不起的系统。它的一些功能包括:

  • 802.11 b/g/n无线lan
  • 蓝牙4.1
  • 1GHz,单核CPU
  • 512MB RAM
  • Mini HDMI端口和Micro USB on-the-go(OTG)端口
  • Micro USB Power
  • 与帽子兼容的40针头头 等。

,这使其成为自从看到这个惊人设备以来我想做的项目的理想选择。

远程缩回动力的书包是的

该计划是在袋子里放上覆盆子pi零w,并在袋子的USB端口中放置HDMI,该端口将在不使用时显示图片,每次我想播放任何内容,我都会插入HDMI并按下A按钮将启动Retropie的仿真station。

这就是为什么我打算将其用于输入Retropie的Button

Button

所以让我们开始吧!

我要在这个项目中使用的包是我从希腊Plaisio购买的Sentio Backpack 15.6" Casual Series Gray Antitheft Bag

Bag

对于我的操作系统,我与Raspberry Pi OS Lite一起去了,它基本上像Raspberry Pi OS,没有桌面接口,因此基本上只有一个控制台。

我最初是为覆盆子制作案例,因此在包中不会损坏。我使用了this adafruit的惊人设计

Pi's Case

,然后我继续为按钮检测和模拟仪处理软件。

我决定在Python中写所有内容,这是一种高级,通用的编程语言,我最熟悉的语言。

对于按钮检测,我需要将按钮连接到1 GPIO引脚以检测到压力机。

提示:如果您的按钮具有LED,请确保在电压和电压之间放置330欧姆电阻器,否则会破裂。我忘了这样做。

Pi zero Pinout

要检测我使用以下脚本的按钮:

# Import Rpi's Library for GPIO pins
import RPi.GPIO as GPIO
# Disables Warnings. 
# It's usually telling you that the gpio is already in use, 
# that's because you have stopped the program and started it again.
GPIO.setwarnings(False)
# The GPIO.BCM option means that you are referring to the pins by the 
# "Broadcom SOC channel" number, these are the numbers after "GPIO" 
# around the outside of the above diagram
GPIO.setmode(GPIO.BCM)
# It tells the library which pins you want to use
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Waits till the Button is Pressed
GPIO.wait_for_edge(3,GPIO.FALLING)
# The rest of the script gets executed when the button is pressed

当我不使用时,我想在覆盆子上显示图片时,我必须找到不需要界面来显示很难拍摄的图像的东西。

经过大量搜索,我找到了一个称为FBI的软件包,从我的理解来看,它是用于在计算机监视器上显示图形的内容,通常在系统控制台上,通常还包括图片!

让FBI运行的问题是,它完全冻结了控制台,这意味着如果我运行它并告诉它在打开FBI 2秒后运行日志,它将等到FBI退出,然后等待2秒钟才能执行我想要的命令。

用于检测按钮按下的脚本也有相同的内容,您在执行某件事时无法运行任何命令救生员。

子过程是一个Python模块,可让您产生新的进程,连接到其输入/输出/错误并获取其返回代码。它的作用是使您可以从当前的过程中创建一个不同的控制台/进程,因此您不必等待其他任务完成。

这很棒,因此我没有拥有1个Python文件,而是获得了3个不同的Python文件。

我会说他们每个人是什么以及它的作用:

Retropie Diagram

同样,当使用Retropie的主题工作时,我遇到了一个问题,当我启动模拟station时,主题会弄清楚,我无法将其更改为正常。

Retropie Theme Glitch

为我造成这一点的问题是对Retropie的VRAM有限制,可能是我重新启动的许多次,可能已经破坏了主题。

我用重新安装的retropie修复了它,值得庆幸的是,它没有删除我的任何ROM,并且通过将VRAM限制放在至少 80 上,以便菜单可以正常加载。解决了问题。

Retropie Vram Limit

另外,我遇​​到的另一个问题是,Retropie不想运行游戏,并在使用子过程脚本打开时将我放回菜单中。

对我有用的解决方案是,我在Screen中添加了所有脚本,这是您可以在该会话中启动会话然后打开任何数量的Windows(虚拟终端)的方式,从而允许Retropie启动游戏那样。

然后,在添加了大约5000个ROM并像4小时一样等待Retropie Scraper,以添加标题和图像,我用该项目的软件部分完成了。

另外,我喜欢Famicom-Mini主题,因为我喜欢它的设计!

也为任何进行该项目的人提供小费

我使用一个名为Termius的应用程序。 Termius是在台式机和移动设备上工作的SSH客户端,因此,如果有任何破坏,我可以通过手机进入RPI。

Termius

另外,快速提示,如果您是学生,您可以使用Github Student Developer Pack获得Termius Premium,我强烈建议您获得。

是时候去袋子了。

目前从蝙蝠出来时,它侧面的端口是一个USB端口,如果我尝试放置HDMI,电缆就会伸出。

我决定在侧面的端口周围缝制盖子,并在其末端戴上HDMI防尘盖,以防止任何东西在电缆内部驶入并损坏它。

几个小时后,缝制了很多意外的穿孔。

我终于完成了!

Bag Port Image 1
Bag Port Image 2

我还添加了一个小按钮将其固定在HDMI末端。

总的来说,我认为它最终很不错!

这个项目是一个非常有趣的项目,我能够与Raspberry Pi Zero W一起工作,并且在所有调试中,我还发现了许多新事物,例如子处理和屏幕,并学会了在Linux命令上工作。我一直想做的线。

我将来将继续进行这个项目,我正在考虑使用Java制作某种应用程序,以显示Raspberry Pi的统计数据,这将非常有趣。

我知道这篇文章很长,但是感谢您阅读我的博客:D

-
最初发布于:https://blog.arisamiga.rocks/post/retrobag/