Beaglebone(1)

とりあえずメモ

(1) MacOSXにUSBで接続する

USBに接続->BEAGLE_BONEがマウントされる。
OSX10.7 LionではFTDIドライバが動かない。

http://waxpraxis.tumblr.com/post/16772215153/talking-to-the-beaglebone-with-osx-10-7-lion

64ビットのドライバをインストールして、Info.plistを更新。

cd /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/
mv Info.plist Info.plist.old
cp ~/Downloads/Info.plist .
chmod 644 Info.plist
kextutil ../../FTDIUSBSerialDriver.kext

/dev/tty.usbserial-*B が見えたらOK。

screen /dev/tty.usbserial-*B 115200

GPIOの番号の対応がややわかりにくい。
GPIOの各ポートは32ピンあるので、GPIO1_0~GPIO1_31,GPIO2_0~GPIO2_31,…
ユーザが使えるのはexpansion headerP8,P9のヘッダであるが、
マニュアルBONESRM_latest.pdf p.54, table 8によると
1 GND
2 GND
3 GPIO1_6
4 GPIO1_7
5 GPIO1_2

のようになっている。これを次のように読み替える。
GPIO1_6 -> 32*1+6 = 38
GPIO1_7 -> 32*1+7 = 39
GPIO1_2 -> 32*1+2 = 34

この辺はcloud9を使う場合は別のマクロで処理されているので意識する必要はない。
しかし、ファイルシステムの対応を理解する上では、ある程度UNIXに慣れていると次のようにシェルで動かした方が理解は早いと思うのだが。

(2)shellによるLチカ

# gpio38を開放する
echo 38 > /sys/class/gpio/export
# gpio38をoutputポートにする。 pinMode(38, OUTPUT)みたいな
echo out > /sys/class/gpio/gpio38/direction
# ポートを開放
echo 70 > /sys/class/gpio/export
# gpio70をinputポートにする。
echo in > /sys/class/gpio/gpio70/direction
# 以下にアクセスすると状態を得ることができる high:1, low:0
/sys/class/gpio/gpio38/value
/sys/class/gpio/gpio70/value

LEDを10回点滅させるだけのshell script

#!/bin/sh
# use P8 3pin -> GPIO1_6
# GPIO1_6 = 32*1 + 6 = 38
echo 38 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio38/direction
for i in {1..10}
do
echo 1 > /sys/class/gpio/gpio38/value
sleep 1
echo 0 > /sys/class/gpio/gpio38/value
sleep 0
done
echo 38 > /sys/class/gpio/unexport

(参考)

BeagleBone GPIO (youtube)
http://www.adafruit.com/blog/2012/03/06/beaglebone-gpio

pythonのスクリプト
https://gist.github.com/1986926

C言語による例
https://github.com/nunoalves/BeagleBone-GPIO-in-C

Make: How-To: Get Started with the BeagleBone
http://blog.makezine.com/2012/03/14/how-to-get-started-with-the-beaglebone/

Hardware Interfacing on the BeagleBone
http://www.nathandumont.com/node/250

About these ads

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

フォロー

新しい投稿をメールで受信しましょう。

%d人のブロガーが「いいね」をつけました。