玻璃棉家厂家
免费服务热线

Free service

hotline

010-00000000
玻璃棉家厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

用树莓派控制小蜜蜂之自动全屏运行Scratch程序

发布时间:2020-06-30 20:34:20 阅读: 来源:玻璃棉家厂家

最近我在忙于由小学发起的、和孩子们合作的一个基于树莓派的项目。我女儿用Scratch写好了代码,下面我需要做的是使其自动运行。本来仅仅通过一个自动启动文件和Scratch演示模式就可实现,但可惜它只支持GOPI端口。同时使用Scratch语言和另一种编程语言(这里是用Python与GPIO通信)时会弹出一个消息框“取消选定‘传感器连接’”。如果有鼠标和显示器,那操作起来就方便的多了。可本项目最初设计时就不需鼠标,即使显示器也是任选部件,因此需要找到实现Scratch与GPIO通讯的方法,以便Scratch运行自启动“演示模式”,接下来一切就可以自动运行了。

本文引用地址:用树莓派控制小蜜蜂:实现Scratch与树莓派GPIO的通讯

尽管Scratch不识别树莓派上的GPIO端口,好在能够和其他程序通讯。因此需要后台运行一个python程序,作为连接到GPIO的接口。对此能找到不少有用的资源。

Scratch Wiki对Scratch如何与Python应用程序通讯做了详细阐释:

Scratch Wiki: Communicating between Scratch and Python.

你可以从两个示例RPI:GPIO和WiringPi参考如何实现python与树莓派GPIO的通讯。值得庆幸的是Simplesi 已经将其实现,并对如何安装逐步详解,我们只需按照说明操作就可以了,在此我极力推荐:

ScratchGPIO5的安装

演示模式下Scratch自启动运行

演示模式下Scratch名副其实地全屏自启动运行应用程序。除了在scratch命令中启用演示选项,首先还需要启动scratch处理程序。

如果你是CympleCy用户,首先需要运行下列代码:

sudo ps aux | grep 'python.*scratch_gpio_' | grep -v grep | awk '{print $2}' | xargs sudo kill -9

sudo python /home/pi/simplesi_scratch_handler/scratch_gpio_ &

第一行阻止当前处理程序运行,第二行重新启动处理程序。如果当前正在启动(我之后会加以解释)则不需要运行第一行命令。

通过如下命令使Scratch进入演示模式:

scratch presentation /home/pi/Documents/Scratch/

注意,Scratch使用的缺省目录叫做“Scratch Projects”。将其添加至脚本时(因为还有其他情况下需要无空格命名,因此操作并非简单地去掉空格),名字中的空格会造成一些麻烦,所以我直接去掉空格,将其放入了另一个目录。

为了简化可以将其放入一单独的脚本。

首先修改directory /home/pi/Scratch

cd ~/Scratch

(注意,这里我使用回到主目录的快捷键)

然后在如下目录(leafpad ) 中建一个名为的文件。

#!/bin/bash

sudo ps aux | grep 'python.*scratch_gpio_' | grep -v grep | awk '{print $2}' | xargs sudo kill -9

sudo python /home/pi/simplesi_scratch_handler/scratch_gpio_ &

scratch presentation /home/pi/Scratch/

授予执行许可

chmod +x

然后创建一自启动脚本

创建目录(如果目录不存在)

mkdir ~/.config/autostart

改为如下目录

cd ~/.config/autostart

输入下列命令结束文件

[Desktop Entry]

Encoding=UTF-8

Version=1.0

Type=Application

Exec=/home/pi/Scratch/

Icon=scratch

Terminal=false

Name=Program name

Comment=About the program

Categories=Application;Education;Development;

MimeType=application/x-scratch-project

这样无论何时登陆(假设无论何时启动树莓派,GUI自启动和自动登录都能正常运行),程序都可以运行了。

树莓派文章专题:树莓派是什么?你不知道树莓派的知识和应用

沈阳制做工作服

订做服装

青岛制做工服

辽宁西装定做