Fri 01/13, 2012
BeagleBone + Node.js [Computer and Networking , Electronics ]

BeagleBoard シリーズの末っ子 BeagleBone を仕入れた。これは標準では HDMI や Audio を実装していない(daughter board あり)ものの、EtherNet に USB serial + JTAG 機能を搭載していて更に Arduino ライクに多数の IO ピンがユーザに解放されている。面白いのが Cloud9 IDE で、これはサーバサイド JavaScript である Node.js での開発を Web ブラウザでできるものだ。サンプルプログラムの blink.js ではボード上の LED (と IO ピンのひとつ)をオンオフできる。ついでにこれを Web アプリケーションに仕立ててみることにした。そのための第一歩として Node.js とその Web アプリケーションフレームワークである express の勉強から。実は Node.js は初めてだし、JavaScript も不得手なのだ。express を使うまでもなく bone101 サンプルをベースにする手もあるのだが、それはそれ、ついでというもの。

more...
Sat 01/14, 2012
BeagleBone でリモートLチカ [Electronics ]

BeagleBone の Node.js に express を導入したところで Web ブラウザから LED のオンオフをさせてみる。http://address:port/led/ON で USER LED3 を点灯、http://address:port/led/OFF で消灯させる。実はとても簡単だ。

more...
BeagleBone + ajax でLチカ [Electronics ]

BeagleBone でリモートLチカ、とりあえず最終回。こんな Web ページで LED を操作してみる。チェックボックスをチェックすると LED 点滅が始まり、LED の点灯状態をその下に表示する。チェックを外すと点滅が停止する。

BeagleBone Express

Welcome to BeagleBone Express

LED Blink OFF

LED is OFF

more...
Wed 01/18, 2012
GPIO input on BeagleBone [Electronics ]

今回は BeagleBone (Angstrom) での GPIO 入力について。サンプルを探すと https://github.com/joelagnel/validation-scripts/tree/master/bone-tester/lib に led.sh とか util.sh があった。これを元に GPIO1_6 (拡張ヘッダ P8-3)の状態を取得してみる。

# echo 38 > /sys/class/gpio/export
# cat /sys/class/gpio/gpio38/value
1
--- ここで P8-1(GND) と P8-3 をショートさせる。 ---
# cat /sys/class/gpio/gpio38/value
0
#
こんな具合に期待通り入力状態が得られる。38 というのは GPIO1_6 に対応するシステム上の識別番号で、とりあえずは cloud9 IDE サンプルの bonescript/index.js を見れば判る。

more...
Tue 01/24, 2012
BeagleBone でアナログ入力 [Electronics ]

GPIO に続いてアナログ入力。
http://www.gigamegablog.com/2012/01/22/beaglebone-coding-101-using-the-serial-and-analog-pins/
このページに書いてある通りにすれば良い。と、これだけではあんまりなのでちょっと補足。

  • ピンヘッダ P9 の 33-40 に AIN0-AIN6 が出ている。AIN7 は出ていない。
  • ピンヘッダ P9 の 34 は AGND で、32 が ADC 用の VDD で 1.8V が出ている。これ以上の電圧をかけてはいけない。
  • /sys/devices/platform/tsc/ain* を読むことで 12bit (0-4095)の ADC 値を得ることができる。AIN0 が ain1、AIN1 が ain2 と言うように対応している。
  • AM335x プロセッサのマニュアルでは Touchscreen Controller の章に ADC の解説があり、tsc と言うのは TouchScreen Controller から来ているらしい。
/sys/device/platform ディレクトリには他にもシステム固有デバイスのエントリがあるが、どの辺りを調べれば良いだろうか。

Sun 01/29, 2012
BeagleBone 色々 [Computer and Networking , Electronics ]
その他、BeageBone でちょろっと試したこと等。

x11vnc on BeagleBonex11vnc. opkg で適当にインストールして Windows 上の vnc クライアントで表示。

mjpg-streamer on beagleboneMJPG-Streamer で WebCam.. 依存ライブラリを opkg で入れてソースコードから make. Qcam Orbit で Pan/Tilt 操作ができないのは uvideo ドライバの所為かな?

すべて Angstrom のデモイメージをベースに作業してます。