新聞中心

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

用樹(shù)莓派控制小蜜蜂之自動(dòng)全屏運(yùn)行Scratch程序

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

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

本文引用地址:http://2s4d.com/article/267106.htm

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

  盡管Scratch不識(shí)別樹(shù)莓派上的GPIO端口,好在能夠和其他程序通訊。因此需要后臺(tái)運(yùn)行一個(gè)python程序,作為連接到GPIO的接口。對(duì)此能找到不少有用的資源。

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

  Scratch Wiki: Communicating between Scratch and Python.

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

ScratchGPIO5的安裝

  演示模式下Scratch自啟動(dòng)運(yùn)行

  演示模式下Scratch名副其實(shí)地全屏自啟動(dòng)運(yùn)行應(yīng)用程序。除了在scratch命令中啟用演示選項(xiàng),首先還需要啟動(dòng)scratch處理程序。

  如果你是CympleCy用戶(hù),首先需要運(yùn)行下列代碼:

  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)前處理程序運(yùn)行,第二行重新啟動(dòng)處理程序。如果當(dāng)前正在啟動(dòng)(我之后會(huì)加以解釋)則不需要運(yùn)行第一行命令。

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

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

  注意,Scratch使用的缺省目錄叫做“Scratch Projects”。將其添加至腳本時(shí)(因?yàn)檫€有其他情況下需要無(wú)空格命名,因此操作并非簡(jiǎn)單地去掉空格),名字中的空格會(huì)造成一些麻煩,所以我直接去掉空格,將其放入了另一個(gè)目錄。

  為了簡(jiǎn)化可以將其放入一單獨(dú)的腳本。

  首先修改directory /home/pi/Scratch

  cd ~/Scratch

  (注意,這里我使用回到主目錄的快捷鍵)

  然后在如下目錄(leafpad ScratchApp.sh) 中建一個(gè)名為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)建一自啟動(dò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

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

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


上一頁(yè) 1 2 下一頁(yè)

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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉