新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 用树莓派控制小蜜蜂之自动全屏运行Scratch程序

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

作者:EEPW编译时间:2014-12-20来源:电子产品世界收藏

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

本文引用地址:http://www.eepw.com.cn/article/267106.htm

  用控制:实现Scratch与的通讯

  尽管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_handler.py' | grep -v grep | awk '{print $2}' | xargs sudo kill -9

  sudo python /home/pi/simplesi_scratch_handler/scratch_gpio_handler.py &

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

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

  scratch presentation /home/pi/Documents/Scratch/scratchApp.sb

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

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

  首先修改directory /home/pi/Scratch

  cd ~/Scratch

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

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

  #!/bin/bash

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

  sudo python /home/pi/simplesi_scratch_handler/scratch_gpio_handler.py &

  scratch presentation /home/pi/Scratch/scratchApp.sb

  授予执行许可

  chmod +x ScratchApp.sh

  然后创建一自启动脚本

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

  mkdir ~/.config/autostart

  改为如下目录

  cd ~/.config/autostart

  输入下列命令结束文件

  [Desktop Entry]

  Encoding=UTF-8

  Version=1.0

  Type=Application

  Exec=/home/pi/Scratch/scratchApp.sh

  Icon=scratch

  Terminal=false

  Name=Program name

  Comment=About the program

  Categories=Application;Education;Development;

  MimeType=application/x-scratch-project

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

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


上一页 1 2 下一页

关键词: 树莓派 小蜜蜂 GPIO

评论


相关推荐

技术专区

关闭