新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 用樹莓派控制小蜜蜂之自動全屏運行Scratch程序

用樹莓派控制小蜜蜂之自動全屏運行Scratch程序

作者:EEPW編譯 時間:2014-12-20 來源:電子產(chǎn)品世界 收藏

  最近我在忙于由小學(xué)發(fā)起的、和孩子們合作的一個基于的項目。我女兒用Scratch寫好了代碼,下面我需要做的是使其自動運行。本來僅僅通過一個自動啟動文件和Scratch演示模式就可實現(xiàn),但可惜它只支持GOPI端口。同時使用Scratch語言和另一種編程語言(這里是用Python與通信)時會彈出一個消息框“取消選定‘傳感器連接’”。如果有鼠標(biāo)和顯示器,那操作起來就方便的多了??杀卷椖孔畛踉O(shè)計時就不需鼠標(biāo),即使顯示器也是任選部件,因此需要找到實現(xiàn)Scratch與通訊的方法,以便Scratch運行自啟動“演示模式”,接下來一切就可以自動運行了。

本文引用地址:http://m.butianyuan.cn/article/267106.htm

  用控制:實現(xiàn)Scratch與的通訊

  盡管Scratch不識別樹莓派上的GPIO端口,好在能夠和其他程序通訊。因此需要后臺運行一個python程序,作為連接到GPIO的接口。對此能找到不少有用的資源。

  Scratch Wiki對Scratch如何與Python應(yīng)用程序通訊做了詳細(xì)闡釋:

  Scratch Wiki: Communicating between Scratch and Python.

  你可以從兩個示例RPI:GPIO和WiringPi參考如何實現(xiàn)python與樹莓派GPIO的通訊。值得慶幸的是Simplesi 已經(jīng)將其實現(xiàn),并對如何安裝逐步詳解,我們只需按照說明操作就可以了,在此我極力推薦:

ScratchGPIO5的安裝

  演示模式下Scratch自啟動運行

  演示模式下Scratch名副其實地全屏自啟動運行應(yīng)用程序。除了在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 &

  第一行阻止當(dāng)前處理程序運行,第二行重新啟動處理程序。如果當(dāng)前正在啟動(我之后會加以解釋)則不需要運行第一行命令。

  通過如下命令使Scratch進(jìn)入演示模式:

  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

  授予執(zhí)行許可

  chmod +x ScratchApp.sh

  然后創(chuàng)建一自啟動腳本

  創(chuàng)建目錄(如果目錄不存在)

  mkdir ~/.config/autostart

  改為如下目錄

  cd ~/.config/autostart

  輸入下列命令結(jié)束文件

  [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

  這樣無論何時登陸(假設(shè)無論何時啟動樹莓派,GUI自啟動和自動登錄都能正常運行),程序都可以運行了。

樹莓派文章專題:樹莓派是什么?你不知道樹莓派的知識和應(yīng)用


上一頁 1 2 下一頁

關(guān)鍵詞: 樹莓派 小蜜蜂 GPIO

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉