基于树莓派的Scratch儿童编程环境定制

文章目录

  • 背景
    • 装系统
    • 装VNC
    • 关闭任务栏taskbar并设置scratch开机启动
    • 界面定制(更换开机背景、桌面背景、清除桌面)
    • 界面显示方案
      • 投影仪方案
      • 触摸屏方案
        • 安装屏幕软件
    • 机壳加工
    • 更换raspberry 4B 4G版本
      • 更改最大化启动
      • 更改字体、图标等等的大小
      • 静态IP
    • 声音

背景

再三考虑后决定给刚过完两岁生日的女儿开通电子产品权限,允许其使用电子产品进行scratch编程。为保证学习目的,准备定制一款只能用于登录scratch的专用平台。

想到五六年前德国留学的时候买过一款树莓派,从箱底翻出来,打开看了下还是命令界面,输入指令看了下硬件,是 Pi 2 Model B,还是UK版本的,算是古董收藏版。(剧透:在安装阶段此货挂了,文章的后部分升级到了4B 4G内存版本)

去官网看了下,准备重新装一下系统,开始搞。

作者还拥有个人公众号,会写一些感悟文章,知圈,二维码如下,欢迎扫描关注:
知圈二维码

装系统

下载Raspbian。下载的推荐的最新的raspbian 界面预装软件版。
下载Windows下的Imager。

安装并运行Imager,打开后只有三个操作:

  • 1.选系统。可选在线下载,由于我已经下载了,直接选择下载的包。
  • 2 选择内存卡。
  • 3 点击写入。
    基于树莓派的Scratch儿童编程环境定制_第1张图片
    基于树莓派的Scratch儿童编程环境定制_第2张图片
    基于树莓派的Scratch儿童编程环境定制_第3张图片
    由于micro SD卡也是五六年前的古董,巨慢,漫长的等待后终于写完了:
    基于树莓派的Scratch儿童编程环境定制_第4张图片
    点击continue后关掉就可以了。内存卡拔出来插到raspberry里面,通电就正常启动了。

装VNC

由于个人的平台是Windows,所以安装一个在Windows端远程控制的软件。经Raspberry的官网推荐,选择装VNC。由于我系统装的时候选择的是预装了很多常用软件的版本,看了下,该app已经在raspbian上安装好了,配置下就可以。如果未安装,点击此处查看raspberry官网教程。
点击raspbian左上角的树莓图标进入菜单:Menu > Preferences > Raspberry Pi Configuration > Interfaces.将VNC项设置为 enable 使能。
基于树莓派的Scratch儿童编程环境定制_第5张图片
将raspberry与Windows放在同一个路由下。由于我这边简陋,直接用网线连接了Windows和raspberry。

在命令框输入ifconfig获取raspberry的IP:
基于树莓派的Scratch儿童编程环境定制_第6张图片

根据官网推荐下载Windows端的VNC viewer。我的Windows是64位的,直接选择的64位。默认是32/64位一起的。
基于树莓派的Scratch儿童编程环境定制_第7张图片
是免安装版的,第一次双击会弹出条款,同意了就可以了。下次直接双击运行。
基于树莓派的Scratch儿童编程环境定制_第8张图片
打开Windows的网络连接选项,将IP设置到与raspberry同一个网段,如下:
基于树莓派的Scratch儿童编程环境定制_第9张图片
在Windows端的VNC Viewer上的地址栏输入raspberry的地址,回车确定,连接上后会要求输入raspbian的用户名和密码。由于我没有改过密码,直接用装完系统后默认的用户名和密码登录,并且选择记住密码,如下:

基于树莓派的Scratch儿童编程环境定制_第10张图片
点击ok后就登陆上了:
基于树莓派的Scratch儿童编程环境定制_第11张图片
内存卡崩溃了,文件会毁坏直接影响系统运行,网上新买了朗科天猫联名款32G A1内存卡,换个新的,也希望速度也能再快一点。按照上面的步骤重新做了一遍,唯一的不同是这一次直接插到了路由器上,方便远程连接,IP地址跟上一次不一样。

打开scratch以后发现窗口太大,显示不全,进入raspbian后点击:Menu > Preferences > Raspberry Pi Configuration > Display 将分辨率设置的高一点,如果要scratch全部显示至少要1280*720的分辨率。
基于树莓派的Scratch儿童编程环境定制_第12张图片
设置完后重启,重启后再次打开scratch,完美显示:
基于树莓派的Scratch儿童编程环境定制_第13张图片

关闭任务栏taskbar并设置scratch开机启动

上面有个taskbar,小孩子瞎点会点出很多东西,隐藏掉,通过更改如下配置文件:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

将里面的 @lxpanel --profile LXDE-pi 这一句用#注释掉,如下:

#@lxpanel --profile LXDE-pi

保存退出并重启raspberry。重启之后任务栏就没了,从此之后进入terminal命令窗用快捷键:Ctrl+Alt+T
任务栏消失后:

再次进入到:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart 

在最后加上:

@scratch3

保存退出,重启就会发现scratch3自动运行了。

如果重启后没自动运行,可以用 @lxterminal 代替上面的 @scratch3 来测试,正常的话开机后会弹出命令窗。关于此节自启动的内容参见raspberry官网。

界面定制(更换开机背景、桌面背景、清除桌面)

垃圾桶实在是太丑了,删掉,直接右击:
基于树莓派的Scratch儿童编程环境定制_第14张图片
从桌面移除后好看多了:
基于树莓派的Scratch儿童编程环境定制_第15张图片
界面也换掉,桌面右击进入菜单:
基于树莓派的Scratch儿童编程环境定制_第16张图片
换上了我在德国留学时在图书馆的墙上看到的一幅图,图像上的对话大体意思是:“这个不算‘猎物’”,“为什么不算?”。换完之后的界面如下:
基于树莓派的Scratch儿童编程环境定制_第17张图片
把开机画面也换了,我先把图像放到桌面有剪切替换的。

sudo mv /home/pi/Desktop/Being-toward-death.png /usr/share/plymouth/themes//pix/splash.png 

开机时还会出现四个小树莓,这个可以去除,但是我计划留着。

界面显示方案

投影仪方案

从网上买了个巨便宜的山寨投影仪,500块钱,单LCD技术的,除了便宜,不好用,当天退货。

晚上用电脑打开scratch的在线版跟闺女试了下,编程很喜欢,但是鼠标根本控不住。决定上触摸屏。

触摸屏方案

网上四百多买了创乐博的13.3寸IPS触摸屏,发现很好用。但是不会弹出触摸键盘,无法完成更改数字等操作。

安装屏幕软件

先安装了raspbian的matchbox-keyboard,不好用,卸载了,又试了下onboard,感觉这个比那个好,但是自动弹出功能始终没解决,用悬浮按钮解决输入问题。
安装onboard,安装后发现系统少一个依赖软件,安如下顺序装:

sudo apt install at-spi2-core
sudo apt install onboard

安完之后发现scratch竟然报错了,试了几次,折腾了很久,最后根据提示更新了nodejs和node,然后就好了。

sudo apt install node
sudo apt install nodejs

默认触摸键盘是没有悬浮图标的,用如下命令打开设置:

sudo onboard-settings

弹出配置框后至少选中如下floating的选项:
基于树莓派的Scratch儿童编程环境定制_第18张图片

然后隐藏onboard后会有一个如下的悬浮窗,方便弹出:
基于树莓派的Scratch儿童编程环境定制_第19张图片
弹出后键盘如下:
基于树莓派的Scratch儿童编程环境定制_第20张图片
然而键盘并没有自动弹出,再次进入到:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart 

在最后加上:

@onboard

最后装起来测试了下,临时用放屏幕的盒子做了支架。附上第一版的启动视频:

纸盒版试运行

机壳加工

基于树莓派的Scratch儿童编程环境定制_第21张图片
用solidworks 2017画了机壳,然后选用亚克力3MM板材进行了加工,加工安装完后产品图如下:


也能看出来,由于尺寸测量失误,屏幕安装孔挖大了。。。好在不影响使用,只是难看些。

更换raspberry 4B 4G版本

安装完后上电,竟然没启动。。。经反复测试,确定raspberry烧坏了。。。

去官网看了下,最后选了4B 4G版本替换了老版本,速度也快了很多。

到货后把内存卡拔下来,直接放到新的里面,就可以了。

更改最大化启动

基于树莓派的Scratch儿童编程环境定制_第22张图片
新版本启动后发现,启动后scratch并没有最大化,惯例,在进行动作之前,先检查升级:

sudo apt-get update && sudo apt-get upgrade -y

经过漫长的升级后,终于完成。然而目前并没有找到完美的方法,目前暂时用更改分辨率的方法使其填充。

更改字体、图标等等的大小

小孩子手指头太小,点不准,把图标搞大些。搞之前如下:
基于树莓派的Scratch儿童编程环境定制_第23张图片
然而并没有找到好的解决方案。

静态IP

发现WiFi分配的IP总是变动,改为固定IP:

sudo nano /etc/dhcpcd.conf

打开后添加如下代码:

interface wlan0

static ip_address=192.168.0.110/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

声音

发现没有声音。打开rasp-config命令。进入advanced,然后audio:
基于树莓派的Scratch儿童编程环境定制_第24张图片

选择headphones
基于树莓派的Scratch儿童编程环境定制_第25张图片
还是没有声音,把 ALSA装上再说。

sudo apt-get update
sudo apt-get install alsa-utils
sudo apt-get install mpg321

无果,将隐藏的任务栏显示出来。(参见前面隐藏方法)。出来后右击声音,看下是否选择的是Analog,不是的话选择Analog,声音就出来了。
基于树莓派的Scratch儿童编程环境定制_第26张图片
声音出来后可以再次将任务栏隐藏。

至此,所有内容配置完成。

你可能感兴趣的:(嵌入式,linux操作系统,电子DIY)