NAOからUSB内のデータ参照


前書き

NAOにUSBをつないで、USB内のデータが取れたら嬉しいな―!なんて思って色々いじってみた。

開発環境

機種名 : MacBook Pro
OS : Yosemite 10.10.5
プロセッサ名 : Intel Core i5 2.6 GHz
メモリ : 16 GB
グラフィック : Intel Iris 1536MB
Choreographe : 2.1.3
NAO : 2.1.3

本題

まずはUSBがNAOに正しく認識されているか確認

nao[0] ~ $ lsusb #USB接続前
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0cf3:9374 Atheros Communications, Inc.
Bus 003 Device 002: ID ffff:0006
snow [0] ~ $ lsusb #USB接続後
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0cf3:9374 Atheros Communications, Inc.
Bus 003 Device 002: ID ffff:0006
Bus 001 Device 005: ID 18a5:0302 Verbatim, Ltd #この行が増えた

一応つながっていることは確認できた。

こちらのサイトさんを参考に、USBをマウントして、ファイルの中身を確認してみた。

http://www.linux-beginner.com/linux_kihon68.html

nao[0] ~ $ su #root権を取ります
password: #pwはroot
#以下root
mkdir /mnt/usb #ディレクトリを作成
mount -t vfat /dev/sdb /mnt/usb/ #/dev/sdbを/mnt/usbにマウント
ls /mnt/usb/
    test_ryo_hello.txt

書いてある内容

test_ryo_hello.txt
テスト
こんにちわ

りょうです

1234567890
abcdefghijklmnopqrstuvwxyz

testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest

実際にlessコマンドで表示された内容

"/mnt/usb/test_ryo_hello.txt" may be a binary file. See it anyway?
バイナリファイルかもしれません、見ますか?

test_ryo_hello.txt
<E3><83><86><E3><82><B9><E3><83><88>
<E3><81><93><E3><82><93><E3><81><AB><E3><81><A1><E3><82><8F>

<E3><82><8A><E3><82><87><E3><81><86><E3><81><A7><E3><81><99>

1234567890
abcdefghijklmnopqrstuvwxyz

testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest

日本語表示できないんですね><

はてさて、ひとまず、目的は達成したのでここまで。

感想

そのうち、ChoreographeアプリからUSB内のデータを取得して、喋らせたり、音楽を流したりしてみたいです。

関連URL

Linux初心者の基礎知識 -68.USBメモリのマウント-
http://www.linux-beginner.com/linux_kihon68.html