2014年3月9日日曜日

BeagleBoneBlackをUbuntuで動かす

<http://tomowatanabe.hatenablog.com/entry/2013/12/15/202806>
ここを参考にして、
ubuntu-saucy-13.10-armhf-3.8.13-bone30.img.xz 
をSDに焼く。


i$ sudo dd bs=1m if=/Users/toshifumi/BeagleBoneBlack/ubuntu-saucy-13.10-armhf-3.8.13-bone30.img of=/dev/rdisk3

5分で焼けた。

BBBにいれてBootボタンを押しながら起動。

シリアルコンソールでログインOK。
$ ifconfig
eth0      Link encap:Ethernet  HWaddr d0:ff:50:08:dd:33  
          inet addr:192.168.111.107  Bcast:192.168.111.255  Mask:255.255.255.0
          inet6 addr: fe80::d2ff:50ff:fe08:dd33/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:95 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:19865 (19.8 KB)  TX bytes:3244 (3.2 KB)
          Interrupt:56 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)



etherもつながっています。

uEnv.txtを編集して再起動。Bootボタンを押さずにUbuntuが立ち上がりました。

mmcpart=2
bootfile=zImage  <---- 追加
optargs=fixrtc
uenvcmd=i2c mw 0x24 1 0x3e; kd=0; if test $mmcdev -eq 1; then mmc dev 0; if mmc
rescan; then kd=1; fi; mmc dev 1; fi; setenv mmcroot /dev/mmcblk${kd}p${mmcpart} ro
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${bootdir}/dtbs/${fdtfile}
loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${bootfile}
mmcboot=echo Booting from mmc ...; run mmcargs; bootz ${kloadaddr} - ${fdtaddr}  <---- 追加


そして、2GBから4GBに拡張。
作業は参考ページと同じ。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          3.6G  296M  3.2G   9% /
/dev/root       3.6G  296M  3.2G   9% /
devtmpfs        248M  4.0K  248M   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none             50M  216K   50M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            248M     0  248M   0% /run/shm
none            100M     0  100M   0% /run/user

/dev/mmcblk0p1 1004K  490K  514K  49% /boot/uboot


ubuntu@ubuntu-armhf:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.8G  244M  1.5G  15% /
/dev/root       1.8G  244M  1.5G  15% /
devtmpfs        248M  4.0K  248M   1% /dev
none             50M  224K   50M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            248M     0  248M   0% /run/shm
/dev/mmcblk0p1 1004K  480K  524K  48% /boot/uboot
今はまだサイズが1.8GBになってますので、fdiskで拡張します
ubuntu@ubuntu-armhf:~$ sudo fdisk /dev/mmcblk0
ommand (m for help): p

Disk /dev/mmcblk0: 4023 MB, 4023386112 bytes
4 heads, 16 sectors/track, 122784 cylinders, total 7858176 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80008000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     3751935     1873920   83  Linux

Command (m for help): d
Partition number (1-4): 2

Command (m for help): p

Disk /dev/mmcblk0: 4023 MB, 4023386112 bytes
4 heads, 16 sectors/track, 122784 cylinders, total 7858176 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80008000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 
Using default value 2
First sector (4096-7858175, default 4096): 
Using default value 4096
Last sector, +sectors or +size{K,M,G} (4096-7858175, default 7858175): 
Using default value 7858175

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
ここまで来たら、先のBootボタンを押しながらリブートします
ubuntu@ubuntu-armhf:~$ sudo reboot
起動したら再びsshで接続してログイン後、resizeコマンドを叩きます
ubuntu@ubuntu-armhf:~$ sudo fdisk /dev/mmcblk0

Command (m for help): p

Disk /dev/mmcblk0: 4023 MB, 4023386112 bytes
4 heads, 16 sectors/track, 122784 cylinders, total 7858176 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80008000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     7858175     3927040   83  Linux

Command (m for help): q           

ubuntu@ubuntu-armhf:~$ sudo resize2fs /dev/mmcblk0p2   
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 981760 blocks long.

ubuntu@ubuntu-armhf:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          3.7G  246M  3.3G   7% /
/dev/root       3.7G  246M  3.3G   7% /
devtmpfs        248M  4.0K  248M   1% /dev
none             50M  224K   50M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            248M     0  248M   0% /run/shm
/dev/mmcblk0p1 1004K  480K  524K  48% /boot/uboot
ubuntu@ubuntu-armhf:~$ 

BeableBoneBlankのAngstomを更新する

コンソールを開いてみるとうちのBBBはA6Aだけど、Angstromはv2012.12だった。
試しに更新してみる。
<http://beagleboard.org/latest-images>ここから最新を保存。
xzを展開と思ったらそのままではできない。

<https://itunes.apple.com/jp/app/the-unarchiver/id425424353>
で、Unarchiverをインストールして展開。

<http://d.hatena.ne.jp/seinzumtode/20130713/1373727628>
を参考に。

$ df -h
Filesystem      Size   Used  Avail Capacity   iused    ifree %iused  Mounted on
/dev/disk0s2   839Gi  711Gi  127Gi    85% 186477609 33333211   85%   /
devfs          186Ki  186Ki    0Bi   100%       646        0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%         0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%         0        0  100%   /home
/dev/disk0s4    92Gi   29Gi   63Gi    32%     92756 66228120    0%   /Volumes/BOOTCAMP
$ df -h


Filesystem      Size   Used  Avail Capacity   iused    ifree %iused  Mounted on
/dev/disk0s2   839Gi  711Gi  127Gi    85% 186477613 33333207   85%   /
devfs          189Ki  189Ki    0Bi   100%       653        0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%         0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%         0        0  100%   /home
/dev/disk0s4    92Gi   29Gi   63Gi    32%     92756 66228120    0%   /Volumes/BOOTCAMP

/dev/disk2s1   3.7Gi  2.5Mi  3.7Gi     1%         0        0  100%   /Volumes/Untitled

/dev/disks1がSDカード。
/devの中をみるとrdisk2が該当するみたい。

$ diskutil umount /Volumes/Untitled/
Volume (null) on disk2s1 unmounted

$ sudo dd bs=1m if=/Users/xxxxxx/BeagleBoneBlack/BBB-eMMC-flasher-2013.09.04.img of=/dev/rdisk2
3488+0 records in
3488+0 records out

3657433088 bytes transferred in 579.227012 secs (6314334 bytes/sec)

20分くらいで終わった。

BEAGLE_BONEがマウントされていた
/dev/disk2s1 on /Volumes/BEAGLE_BONE (msdos, local, nodev, nosuid, noowners)

$ ls -al /Volumes/BEAGLE_BONE/
total 1004
drwxrwxrwx@ 1 xxx  staff   16384 Mar  8 23:44 .
drwxrwxrwt@ 6 root       admin     204 Mar  8 23:44 ..
drwxrwxrwx  1 xxx  staff    2048 May  9  2012 .Spotlight-V100
drwxrwxrwx@ 1 xxx  staff    2048 May  9  2012 .Trashes
-rwxrwxrwx  1 xxx  staff    4096 May  9  2012 ._.Trashes
-rwxrwxrwx  1 xxx  staff     250 May 21  2012 .apdisk
drwxrwxrwx  1 xxx  staff    2048 Mar  8 23:44 .fseventsd
-rwxrwxrwx  1 xxx  staff      41 Sep  4  2013 ID.txt
-rwxrwxrwx  1 xxx  staff   99976 Jun 19  2013 MLO
-rwxrwxrwx  1 xxx  staff  379428 Jun 19  2013 u-boot.img

-rwxrwxrwx  1 xxx  staff      14 Mar 18  2013 uEnv.txt

SDを取り外して、BBBに差し込んでBootボタンを押しながら電源ON

1時間ほど待つとLED4つ点灯。

1回目のリブートではうまく起動していなかったが、2回目でhttp://192.168.7.1/が見えた。
でも、UART0がうまくつがらない。(SSHはできる)
これは、単にボーレートの設定が違っていただけ。
ちゃんと動きました。


2014年3月7日金曜日

BeagleBoneBlackが届いた

ちゃんと届きました、が箱はつぶれでました。。。
中身は無事だったので許します。

アマゾンからもいろいろ届きました。

Getting Startは動いたのでつぎは
Ubuntuかな。

IOはCまで制御したいけど、
<a href=www.rutles.net/download/393/>書籍のサンプル</a>を除くかな。

2014年3月6日木曜日

BeagleBoneBlackでモーター制御

モータードライバは、以前にXBeeから使ったことがあるものと同じチップがのっていて安価な

デュアルモータードライバTB6612FNG(連続最大1A)
<http://www.switch-science.com/catalog/236/>

をスイッチサイエンスから購入。

PWMはブレーキがかかるので、ON/OFFにつかってstanbyにPWMを入れて速度制御。

  2014/05/08
    PWMで制御してみたら上手くいった。前はXBEEから制御したからか?
    周波数が低すぎたのかもしれない。

あとはインバーターICだけど、XORもいるので74HC86でやる?

GPIOの設定は/sys/kernel/debug/pinctrl/44e10800.pinmux/pins
pinの番号はSRMの8.2.5に書いてある

電源はモバイルバッテリーの5Vをレギュレーターで3Vにする。

続く。。

2014年3月5日水曜日

BeagleBoneBlackを注文した

http://www.kohgakusha.co.jp/books/detail/978-4-7775-1807-4
この本を買って、
著者の所属の店でポチッとな。
http://linuxtoybox.com/

ちゃんと届くか、ちょっと不安。

でも、早速以下をアマゾンのカートにいれた。
(まだ入れただけ)

2014.3.6
  ポチッとな、実行してしまった^_^;

Groovy Y字型USB(Aオス-Aメス)延長ケーブル 全長50cm GM-UH009Y
¥ 345
ELECOM USBハブ USB2.0対応 バスパワー 3ポート 直挿しブラック U2H-PP3B...
¥ 664
カモン USB→DC(外径5.5mm内径2.1mm)電源供給ケーブル
¥ 489
ELECOM モバイルバッテリー 急速充電 リチウムイオン電池 スマートフォン各種対応 5200m...
¥ 1,769
¥ 980
東芝 microSDHC 16GB Class10 30MB/s UHS-I 防水 耐X線 TOS...
¥ 986
iBUFFALO マイク内蔵200万画素WEBカメラ 120°広角ガラスレンズ搭載モデル BSW2...
¥ 3,172
楽しい工作シリーズ No.100 トラック&ホイールセット (70100)
¥ 455
楽しい工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ (70168)
¥ 698 
楽しい工作シリーズ No.157 ユニバーサルプレート 2枚セット (70157)
¥ 455
¥ 396

2013年5月8日水曜日

XBee WiFiにUDPのアドレス設定

定期的に温度と電圧を送るようにしているが、送信先のIPアドレスが固定であったので、
接続時にHost(iPhone)のアドレスを送るようにした。

iPhoneでのアドレスの取得は、
<http://d.hatena.ne.jp/katz_24/20120714/1342279016>を参考にした。

また、XBeeのATコマンド呼び出し時には、IPアドレスは"192.168.1.1"のように文字列で指定する。

これで、シミュレータで動かしてもシミュレータにデータが定期的に送られる。

JPEGカメラ その4

やっとiPhoneでも画像取得までこぎつけました。
ただエラー処理を手抜きしているので、落ちますが(^^;;

また、460800bpsでのシリアル通信も上手く行きました。
(起動時の速度チェックと変更はまだ適当)

ただし一つ問題。
電源を単純にいれただけでは、
上手く起動していません。
カメラだけあとからコネクタ抜き差しで再度つなげると上手く行きます。
XBeeにつなげてるコンデンサが悪さしている?