小孩儿玩的东西都要嵌入式了?Arm Linux+Arduino板=现代版游戏机

据外媒报道,去年在Kickstarter众筹了近30万美元制造了一台复古游戏机,并于去年夏天开始陆续向支持者发货。收到货物的作者进行了开箱和测评。

ClockworkPi Gameshell是一款便携式复古游戏机,硬件设计方面使用运行Linux的Allwinner R16处理器,以及兼容Arduino的Atmel AVR MCU。该机器是开源的,带有PDF原理图,并在Github上提供固件源代码。

ClockworkPi Gameshell拆箱

这款机器的包装非常大,里面包含“GameShell - 重新定义便携式游戏机”和一节1200毫安的电池。外包装的列表罗列了整个游戏机的规格:“四核Cortex A7处理器、WiFi和蓝牙连接、1GB RAM、带操作系统的16GB micro SD存储,微型HDMI输出。”

拆开包装,映入眼帘的是整洁的套装,如同一个收拾干净有序的行李箱。

拆开摊在桌子上,包括两个保护外壳的塑料部件、五个带有“高度可破解的开源设备”标识的黑色盒子、一张贴纸和一个装配指南。

是时候打开所有黑匣子了!原来拆开里面是这种画风,好像有点游戏机的感觉了。

第一个盒子(GS_PRT2)里面是按钮相关的部件:

第二个盒子(GS_FCWT)里面装的是白色的塑料外壳,这就是我们的机身顶盖:

第三个盒子(GS_RCII)里面则是游戏机标配的后盖,以及可以访问Arduino GPIO的制造商后壳和另外五个称为LightKey部件的按钮。

第四个盒子(GS_PRT1)包括封装电路板、电缆、两个扬声器、1,200mAh的电池和预装Linux的16GB micro SD卡。

第五个盒子(GS_PCBA)正如其名是我们的主角——封装功能主板,采用运行Linux的ClockworkPi Allwinner R16板、Arduino兼容板和显示模块。

仔细观察这块ClockworkPi(CPI)1.3板(下图),可以看到这款板子的全貌:Allwinner R16-J四核Cortex A7处理器、三星K4B8G1646D-MYK0 1GB DDR3 RAM芯片、Ampak AP6212 2.4GHz WiFi 4和蓝牙4.1无线模块、AXP223电源管理IC和ITE IT66121FN HDMI 1.4发射器。

电路板背面包括micro SD卡插槽,micro HDMI端口,micro USB端口,3.5mm音频插孔,各种按钮,显示器连接器,电池,Arduino板/键盘等。

Arduino板(下图)则基于Microchip Atmel ATMEGA168PA 8位AVR MCU,并配有微型USB端口,以及连接5“LightKeys”和其他I / O的连接器。

Arduino板的背面采用可编程keyboard,包括触摸板。

把它组装起来

看完有什么部件,我们应该理解这个游戏机到底该大概该怎么拼了,来吧,拿出说明书来进行最有趣的环节。

由于提供的指南非常详细,所以装配也异常简单。跟着编号走就没错了,建议使用专用工具,但本人则是裸手完成整个装配,如果你不想破坏塑料部件,还是要小心一点。强烈建议使用工具,最后成品会更干净完美一点。

好的,接下来第二个模块是组装是主板,和上面是同样的道理,小心操作。

按钮部分虽然有好多部件,但是非常容易组装。现在还没装完时候如果你转动键盘模块,D-Pad将脱落,但这是正常的,一旦安装完就不会出现问题了。

除了将电路板放置在正确的位置之外,现在还不是考验电池模块的时候,因为这个阶段不需要电缆。

GameShell安装默认最后一步安装两个扬声器,开始吧。当然安装模块时候还是要取下保护盖,确保扬声器连接接触扬声器板上的焊盘。 准备好了五个模块,开始使用布线。将显示器和Arduino键盘连接到主板,然后将扬声器和电池模块连接上,把所有东西都放在后壳中,另外再安装四个柔性塑料钻头,放上顶盖,大功告成。




把L1和L2的塑料盖扣紧,让我们自恋一下,欣赏一下成品吧。

激动人心的时刻,按开关开机:


不过我们还是有一些可以扩充的部分,这些是替代和可选的LightKey部件和制造商后壳,增加了5个用户键,还有乐高联动的后壳,以及连接到Arduino板的跳线的开口。

完整的构建,包括拍照的时间,花了大约一个小时。这个过程非常有趣,看着童年记忆自己拼出来也非常有成就感。从理论上讲,它也应该是一个很好的教育平台,孩子们可以创建自己的游戏,还能了解Linux和Arduino。

趁热,盘它!

按下电源启动后,几秒钟后我们进入主菜单,其中包含几个图标,具体是设置、MAME、MGBA、NES和PCxs游戏模拟器,运行模拟器装在相应ROM/BIOS就可以运行游戏了。当然,也有着很有趣的独立游戏,诸如太空飞船设计、NyanCat。

进入右侧的独立游戏菜单,里面有著名的RetroArch模拟器,可以轻松扩展核心。另外两个图标为CaveStroy(洞穴大冒险)、FreeDM(一款射击游戏)。

一些功能如下。PICO-8进入后发现并不存在,需要付15美元添加。另外。还内置音乐播放器。



设定菜单就非常常见普通了,包括飞行模式,电源选项,WiFi,蓝牙,音量,背光亮度,存储,时区,语言,通知,更新,关于,关闭电源,按钮布局,GPU驱动程序切换,网络网关切换,使用WiFi或USB以太网。



接下来,连接到WiFi网络。不过遗憾的是,这款设备仅适用于2.4 GHz连接,因为硬件不支持双频段/ 5 GHz WiFi。

简单的升级一下固件,到最新的稳定1.24版。




我们现在完成了最基本的配置了,让我们回到最初的云图标上。

它将显示用户名和密码,IP地址,ssh / scp命令,用于游戏和音乐共享的Windows网络链接,Airplay名称和USB以太网IP地址。我可以通过SSH轻松连接到游戏机:


ssh cpi@192.168.1.116
Linux clockworkpi 4.14.2-clockworkpi-cpi3-g638f2a7 #1 SMP Mon Dec 10 07:46:56 UTC 2018 armv7l

___/\/\/\/\/\__/\/\/\/\/\____/\/\/\/\_
_/\/\__________/\/\____/\/\____/\/\___
_/\/\__________/\/\/\/\/\______/\/\___
_/\/\__________/\/\____________/\/\___
___/\/\/\/\/\__/\/\__________/\/\/\/\_
______________________________________
Welcome to clockworkPi

For more information please visit:
https://forum.clockworkpi.com

HAPPY HACKING

Last login: Sat Feb 23 16:26:10 2019
cpi@clockworkpi:~$ uname -a
Linux clockworkpi 4.14.2-clockworkpi-cpi3-g638f2a7 #1 SMP Mon Dec 10 07:46:56 UTC 2018 armv7l GNU/Linux
cat /etc/issue
Debian GNU/Linux 9 \n \l
cpi@clockworkpi:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 3.1G 11G 23% /
devtmpfs 471M 0 471M 0% /dev
tmpfs 503M 0 503M 0% /dev/shm
tmpfs 503M 9.1M 494M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 503M 0 503M 0% /sys/fs/cgroup
tmpfs 101M 0 101M 0% /run/user/1000
cpi@clockworkpi:~$ free -mh
total used free shared buff/cache available
Mem: 1.0G 156M 661M 9.2M 188M 819M
Swap: 0B 0B 0B
cpi@clockworkpi:~$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm


CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

processor : 1
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

processor : 2
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

processor : 3
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

Hardware : Allwinner sun8i Family
Revision : 0000
Serial : 16554153080e70bb


这个控制台在带有1GB RAM的Allwinner R16(sun8i)四核Cortex-A7处理器上运行带有Linux 4.14.2的Debian 9,以及16GB microSD卡提供的大约11GB存储空间。

不过问题来了,这些截图我是怎么截的?我是通过官方的下面的两个指令实现的:

1.安装imagemagick:



sudo apt update
sudo apt install


2.在SSH控制台中导出显示,并将帧缓冲区捕获到您选择的文件名:


export DISPLAY=:0
xwd -root | convert xwd:- screenshot01.png


完成后,您将在/ home / cpi中找到捕获就能找到截图了。

回归正题,我们连接到SAMBA共享中心查看游戏和音乐目录,我下载了一些版权的音乐:




好消息是最新的1.24固件里支持6种语言:英语,日语,简体中文,繁体中文,西班牙语和法语。

虽然有些模拟器没有ROM,不过控制台里面有预装的游戏和即时游戏,这简直是童年回忆满满啊,我心里已经要有万字长文要说。

我还装了RetroArch模拟器的游戏,我还尝试用它玩了2048。

总的来说,这款GameShell Kit非常有趣,既可以学习也可以玩,能够自定义Arduino和Linux代码非常灵活,学习嵌入式要从娃娃抓起。159美元的价格相对来说中规中矩。不过要感叹的是,以后小孩儿的游戏机都要学会玩嵌入式了,还真的是“长江后浪推前浪”。