ロボでサバゲ!Wiki - BeagleBoardでサバゲ!のFAQ

【1】 BeagleBoardでサバゲ!その1〜購入編〜

【2】 BeagleBoardでサバゲ!その2〜起動編〜

USBカメラ+BeagleBoard+無線LANアダプターを動かすには、どのぐらいの電池が必要でしょう?
単3アルカリ×3の4.5V、エネループ×4の4.8Vとかでは動きませんか?
後々のことを考えると、7.2Vか11Vのリポを5Vまで降圧するのが良いのかな。

A1

アルカリ電池やエネループで4.5または4.8V電源にしたを場合は、問題があります。

1.オーディオ関連の周辺機器用のICは入力が4.2Vなので、これ以下になってはならない。このICからCPUへ1.8Vを供給しているので4.2V以下は要注意。アルカリはこの時点でアウト。

2.電源からの5V電圧は(保護回路を通過してはいるが)基本的にUSBへの電源直結なので、USB機器が4.8とか4.5Vの電池で動くかというと疑問。用テスト。

3.かといってちょっと多めにして6Vにすると、5.3Vのリセット回路にひっかかりアウト。

電流は最大の場合で、Beagle本体750mA、USB無線LANアダプター450mA、そのほかUSBカメラ(100~150mA程度?)なので、1.5A程度を見込んでおく必要があります。ただしエネループ4本をモーターや発射装置と別バッテリーとして使用することは、試してみる価値があると思います。10分くらい持つかもしれません。

バッテリーをロードロップレギュレーターで降圧するなら、6Vとか7.2Vなどの5Vに近いバッテリーから電圧を下げないとすごい熱が出ると思います。熱が出ると出力電流値が下がるのでますますダメになっていきます。

最大1.5A出力と言うことは効率60%としても2A以上出力できないとマズイと思うのですが、そもそもそんなレギュレーターがあるのか?という疑問。だれか電源に詳しい人プリーズ。

リポは気づかないと空っぽになって壊れる可能性有り。気をつけて下さい。

A2

最大1.5A出力と言うことは効率60%としても2A以上出力できないとマズイと思うのですが、そもそもそんなレギュレーターがあるのか?という疑問。だれか電源に詳しい人プリーズ。

電源周り余り詳しくは無いですが、一応参考に。
大きいですがDC-DCならこれが、いけるのでは?
http://akizukidenshi.com/catalog/g/gM-02038/

後、レギュレーターならLT3080系なら最大出力1.1Aですが出力を束ねて(並列に)使えるので複数個分割しておけば放熱も楽なのでどうでしょうか?
http://akizukidenshi.com/catalog/g/gI-03246/

(普通のレギュレーターは出力を並列に使うのはNGですが、LT3080系は基板上で発熱、負荷を分散させる為に出力を並列運転できるように設計されています。)

A3

先日、BeagleBoardの電源にeneloop mobile boosterはどうかと言ったのですが、残念ながらBeagleBoardを動かすまでには電力が足りませんでした。

起動はするのですが、SDカード内のシステムをメモリーへ展開するときにCPUが俄然がんばりはじめてリセットがかかります。

なので、2A以上の電源回路をなにか探さないといけませんね。

A4

うちは、BeagleBoardの電源に、ラジコン用のBECユニットを使っています。

入力電圧: 5.5V〜23V (リポ2〜6セル、NiMH5〜15セル)
出力電圧: 5V/6V ジャンパーによる切り替え式
電流: 3A バースト5A
重量:11g

http://www.enroute.co.jp/store/index.php?main_page...

当初秋月のDC−DCコンバーターを用意しましたが、かさが大きく、積載に
難儀していたところに、たまたま見つけたものです。
モーター用の電源と共用でき、またユニット自体も小さく、便利ですよ。

【3】 BeagleBoardでサバゲ!その3〜ネットワーク接続編(1)〜

【4】 BeagleBoardでサバゲ!その4〜開発環境作成(1)〜

【5】 BeagleBoardでサバゲ!その5〜開発環境作成(2)〜

【6】 BeagleBoardでサバゲ!その6〜開発環境作成(3)〜

【7】 BeagleBoardでサバゲ!その7〜開発環境作成(4)〜

【8】 BeagleBoardでサバゲ!その8〜ネットワーク接続編(2)〜

「(2)無線LANを自動起動する」で、こんな表示が出ました。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ubuntu@omap:~$ cd /etc/network
ubuntu@omap:/etc/network$ sudo cp interfaces interfaces.org
[sudo] password for ubuntu:
ubuntu@omap:/etc/network$ sudo vi /etc/interfaces


E325: ATTENTION
Found a swap file by the name "/etc/.interfaces.swp"
owned by: root dated: Fri Apr 29 04:09:12 2011
file name: /etc/interfaces
modified: YES
user name: root host name: omap
process ID: 551
While opening file "/etc/interfaces"

(1) Another program may be editing the same file.
If this is the case, be careful not to end up with two
different instances of the same file when making changes.
Quit, or continue with caution.

(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r /etc/interfaces"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file "/etc/.interfaces.swp"
to avoid this message.

"/etc/interfaces" [New File]
Press ENTER or type command to continue

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

詰まったら、電源を落として再起動させていたので、
2重になってしまったのかも。

A1

いきなし電源を切ったのでファイル(というよりもファイルシステム)が壊れそうになったので、元のファイルをリカバリーして使うか、待避したファイルを消してくれというメッセージですね。編集中にWORDが吹っ飛んだ時と一緒ですね。

1. リカバリーファイルを消すには、
$ sudo rm /etc/.interfaces.swp

2. リカバリーファイルから編集を始めるには、
$ sudo vi -r /etc/interfaces

上記どちらかでよいかと。

A2

1.ubuntu@o...:~$ cd /etc/network
2.ubuntu@o...:/etc/network$ sudo cp interfaces interfaces.org
  [sudo] password for ubuntu:
3.ubuntu@o...:/etc/network$ sudo vi /etc/interfaces

2項目目を何の為に行っているかを理解すれば3項目目が??と判ります。

掲示板294を参照。
sudo vi /etc/network/interfaces
で行わないとメッセージに有るとおりにNewFileとなってしまいます。
余計なことですがviエディタ
http://net-newbie.com/linux/commands/vi.html

あと mjpeg-streamerをコンパイルする場合は現在のRevisionではコンパイルエラーが出ます。
mjpeg-streamerの各ソースファイルで使用されているヘッダーファイルが変更されています。
各ソースファイルで使用されている #include <linux/videodev.h> --> #include <linux/videodev2.h>に変更する必要があります。
変更するファイルは10数個あります。
各ファイルの変更が面倒であれば禁じ手かもしれないが /usr/include/linux にあるvideodev2.hをコピーしてvideodev.hにしてしまうか

【9】 BeagleBoardでサバゲ!その9〜アップデート〜

【10】 BeagleBoardでサバゲ!その10〜uvc_streamの作成〜

また途中で変なことになりました。

BeagleBoardでサバゲ!その10〜uvc_streamの作成〜
の(1)gccをインストール までは順調に進んだのですが、

(2)が、何やら変なことに。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
After this operation, 10.8MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Err http://ports.ubuntu.com/ubuntu-ports/ maverick-updates/main openssl armel
0.9.8o-1ubuntu4.4
Could not connect to ports.ubuntu.com:80 (91.189.92.175), connection timed out
Err http://ports.ubuntu.com/ubuntu-ports/ maverick/main ca-certificates all 20090814
Unable to connect to ports.ubuntu.com:http:
Err http://ports.ubuntu.com/ubuntu-ports/ maverick/main libgpg-error0 armel
1.6-1ubuntu2
(中略)
http://ports.ubuntu.com/ubuntu-ports/pool/main/s/s...
Unable to connect to ports.ubuntu.com:http:
Failed to fetch
http://ports.ubuntu.com/ubuntu-ports/pool/main/s/s...
Unable to connect to ports.ubuntu.com:http:
E: Unable to fetch some archives, maybe run apt-get update or try with
    • fix-missing?
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
どうすれば良いのか、指示願います。m(_ _)m

A1

ダウンロード先のサイトにつながっていないようです。

有線ネットワークに切り替えて、自宅のハブにつなげて再チャレンジしてみてください。またはsudo apt-get updateでファイルリストの更新をしてみてください。

ダメそうなら、サーバーがダウンしているかも知れませんので(そんなことはなさそうですが)、しばらく待ってみて、再度実行してください。

念のために。

有線ネットワークを使うときは、無線LANアダプターははずしてください。

(3) mjpeg-streamerのダウンロードを行ってみると、

ubuntu@omap:~$ mkdir ~/uvc_stream
mkdir: cannot create directory `/home/ubuntu/uvc_stream': File exists

とかなるんですけどーヽ('A`)ノ

そのエラーメッセージは、「ディレクトリ(ウィンドウズのフォルダのこと)を作れ言わはりましてもなぁ、あんさん、もうありまっせ。作れまへんな。」というメッセージです。

以前作ったものがあるのでしょう。ですので、そのmkdirコマンドはすっ飛ばして次へ進んでください。

(5)でv4l1_compatが確認できません。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ubuntu@omap:~$ lsmod
Module Size Used by
snd_usb_audio 96473 0
snd_hwdep 5824 1 snd_usb_audio
rtc_twl 4562 0
snd_usbmidi_lib 27786 1 snd_usb_audio
snd_rawmidi 20028 1 snd_usbmidi_lib
rtc_core 18149 1 rtc_twl
uvcvideo 66471 0
smsc95xx 12673 0
videodev 75649 1 uvcvideo
gpio_keys 6280 0
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
後行程の指示を願います。m(_ _)m

ブログを書いた後に、システムが微妙にアップデートされています。

v4l1_compat、v4l2_common、v4l2_int_device、v4l2_mem2memあたりをmodprobeコマンドで追加してみてください。下は例です。

$ sudo modprobe v4l2_int_device

前のシステムではuvcvideoドライバーにv4l1_compat.koが連動していたのですが、新しいのは別扱いになっているようです。

上のドライバーを追加した後にuvc_streamコマンドを実行してエラーが出なければオーケーです。あと、当たり前ですけど、カメラはつながった状態で実行してください。

$ sudo modprobe v4l2_int_device

やってみたのですが…
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ubuntu@omap:~$ sudo modprobe v4|1_compat
  • bash: 1_compat: command not found
[sudo] password for ubuntu:
FATAL: Module v4 not found.
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ヽ('A`)ノ

えと、パイプ「|」ではなくて、エル「l」です。「v4l2」は「Video For(4) Linux version 2」と覚えておくと間違えにくくなります

(7) Google chromeで画像を見る Google Chromeを起動してアドレス欄に「192.168.1.40:8080」と入力してください。

入力したら、この画面のようになりました。

これは、ルーターの設定の問題??

A1

スクリーンショットからはいろいろ間違えてるのではないかと思いますが、判然としませんので、とりあえず下のようにセッティングしてもらえますか?

1)ルーターをアクセスポイントモードにしてください。コレガのルーターならルーターモードとアクセスポイントモードの切り替えが背面(ケーブル差込口がある面)にありますので、切り替えて電源を入れ直します。
2)イーサネットケーブルをPCにつなぎ、反対側をルーターの「LAN」差込口につなぎます。
3)PCのネットワークのプロパティ(Windowsにより違います)を開いて、IPアドレスを固定にセットします。具体的にはアドレスを192.168.1.XXXにして、サブネットマスクを255.255.255.0にしてください。
4)アドレスをセットしたらコマンドプロンプトを開いて、接続を確認します。「ping 192.168.1.220」と入力して返事が来るか確認します。返事ごなければルーターがアクセスポイントモードになっていないか、PCのアドレスが間違っています。
5)返事が来たら、Chromeを開き、192.168.1.220にアクセスしてください。タナカさんの添付した画像のような画面になるはずです。この時点で文字化けしているならば、必要なフォントがないか、Chromeにセットされている文字コードが違います。コレについてはまだ家に到着していないので、後述。でも、読めないだけで取り急ぎ問題はありません。
6)アクセスポイントになったルーターにビークルボードをつなぎます。無線LANの設定が正しくセットされているなら、電源オンでつながると思います。ビークルボードはルーターの設定通りにセットしてくださいね。
7)PCでChromeを開き、ブログのように接続してください。先にWEBカメラを取り付けて、uvc_streamを起動してから行います。
8)繋がらない時はPCからビークルボードに「ping」コマンドを打ってください。コマンドプロントでpingの後にビークルボードにセットしたアドレスを入力します。返事がないならビークルボードがネットワークにつながっていません。
9)802.11aにつなぐ場合、SSIDはXXXXXXXXX_naの方を指定してください。

A2

ルータの問題も考えられますが以下の事も留意していただければ。

1.文字化け
 文字コードが合っていないように見えます。
 google chromeの文字コードを変更
 手順
  1)ブラウザの右上にあるスパナのアイコン(Google chcromの設定ツール)−>ツール−>エンコード
  2)エンコードで4個ほど表示されますが現在選択されているもの以外を選択クリックして表示が正常に変わるか確認する。
    選択項目
    ・Unicode(UTF-8)<−−ubuntuであればこのコード体系ですが
    ・日本語 Shift-JIS
    ・日本語 EUC-JP
    ・日本語 ISO-2022-JP

   化けている画面表示はBASIC認証のような気がします。(?)
    今の問題の本質的なものではありませんが。

2.IPアドレスの確認
 無線LANでの接続か有線LANでの接続かは不明ですが

   ifconfig コマンドを実行してみてください。
   有線LANの場合usb0またはeth0の所。(ubuntuのバージョンによってusb0またはeth0になります)
   無線LANの場合 wlan0。
   結果で inet addr 192.168.1.40 になっている確認します。
   違っていれば、そのIPアドレスをGoogle Chromeでurl指定します。

BeagleBoardでサバゲ!その8〜ネットワーク接続編(2)〜
で記述されているように 無線LANの設定で 固定アドレス address 192.168.1.40
が設定されて無線LAN接続していれば問題はないと思われますが。

【11】 BeagleBoardでサバゲ!その11〜uvc_stream番外編〜

【12】 BeagleBoardでサバゲ!その12〜シリアルUSBアダプターでコマンド送信〜

【13】 BeagleBoardでサバゲ!その13〜RCB-3のRXポートにコマンド送信〜

【14】 BeagleBoardでサバゲ!その14〜RXポートに送信するコマンドについて〜

【15】 BeagleBoardでサバゲ!その15〜低速シリアルコード〜

【16】 BeagleBoardでサバゲ!その16〜拡張低速シリアルコード〜

【17】BeagleBoardでサバゲ!その17〜uvc_stream自動起動〜

【18】BeagleBoardでサバゲ!その18〜起動時にメッセージを表示する〜

【19】BeagleBoardでサバゲ!その19〜シリアル通信プログラム解説〜

【20】BeagleBoardでサバゲ!その20〜プログラムインストールと自動起動〜