■
ArchLinuxをBeagleBoneBlackへインストール2
ArchLinuxをBeagleBoneBlackへインストールの続きです。
方法
ブートローダーのインストール
マウント
作業のために適当なディレクトリにマウントします。 すでにマウントしている場合は必要ありません。 今回は~/Document/SDとします。
$ mkdir -p ~/Document/SD $ cd ~/Document
マウントします。
$ sudo mount /dev/devicename1 ~/Document/SD
ブートローダーのインストール(書き込み)
ddコマンドでブートローダーを書き込みます。devicenameは適宜置き換えてください。
sudo dd if=SD/boot/MLO of=/dev/devicename count=1 seek=1 conv=notrunc bs=128k sudo dd if=SD/boot/u-boot.img of=/dev/devicename count=2 seek=1 conv=notrunc bs=384k
アンマウントします。
sudo umount SD
書き込みを完全に完了させるために、syncコマンド(メモリにバッファされたすべてのデータをディスクに書き込む)を実行します。
sync
BeagleBoneBlack(ArchLinux)の起動へ続く
おわりに
以上でインストールは完了です。SDカードをパソコンから取り外してください。起動・設定については別の回で説明します。
わからないことなどがありましたら、ご質問だくさい。
2015/6/30
■
ArchLinuxをBeagleBoneBlackへインストール
目的
今回はBeagleBoneBlackについてです。 BeagleBoneBlackもRaspberryPi同様小さなマイコンボードですが、Debianの派生OSをGUIで動かせてしまうほどの力を持っています。 今回は、そのBeagleBoneBlackへ軽量でパワフルなArchLinuxをインストールしたいと思います。
方法
では、ここからはBeagleBoneBlackのセットアップです。
準備
まずは下記のものを用意してください
- BeagleBoneBlack (Rev C)
- マイクロSDカード
- LANケーブル
- MiniUSB-B to USB-A ケーブル
- マイクロSDカードへ書き込みができるLinuxマシン(マイクロSDアダプターの使用も可)
(1) BeagleBoneBlack には種類が複数ありますが、現在最新のRev Cを使用します。
(2) BeagleBoneBlackはRaspberryPi B+などと同様にマイクロSDカードを使用します。 私は、TOSHIBAの8Gを用意しました。 SDカードのデータはすべて消えますのでバックアップはしておいてください。
内部ストレージもありますが、インストールにはSDカードを使用しないとできません。 内部ストレージの方が早いので、SDで起動した後に内部ストレージへインストールをお勧めします。
(3) BeagleBoneBlackをネットワークに接続するためにLANケーブルを使用します。有線でないと設定できません。
(4) BeagleBoneBlackはMiniBで電源供給を行います。 RaspberryPiと異なり、設定をするとこのポートを使って(ネットワークケーブルを使用せずに)パソコンからログインできるようになります。
SDカードの準備
ここからは作業用Linuxマシンでの操作になります。
まずは、マイクロSDカードをパソコンへ接続してください。 接続したら、lsblkコマンドでマイクロSDカードが認識されていることを確認してください。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 119.2G 0 disk └─sda1 8:1 0 119.2G 0 part / sdb 8:16 0 119.2G 0 disk └─sdb1 8:17 0 119.2G 0 part sdc 8:32 1 7.4G 0 disk ├─sdc1 8:33 1 64M 0 part └─sdc2 8:34 1 7.4G 0 part sr0 11:0 1 1024M 0 rom
私の環境では上記結果のようになりました。 SDカードはsdcです。 この時、sdcは既に2つにパーティションが区切られていたため、sdc1とsdc2というパーティションができています。(Typeがpart)しかし、このあと重要になるのはsdcというデバイス名(Typeがdisk)です。
このとき、デバイス名を間違えると、パソコンのハードディスクに書き込んでしまいます。 OSが起動しなくなってしまうかもしれません、念入りにチェックしてください。
パーティション分け
SDカードにルートパーティションを作成します。
fdiskで切り分けていきます。
"devicename"の部分は先程lsblkで調べたデバイス名を使用してください。 私の場合はsdcです。
$ sudo fdisk /dev/devicename
fdiskが起動したら、まずはデバイスのパーティションを全て削除します。 oを入力してください。
Command (m for help): o
これでパーティションが初期されました。
次に、ブートパーティションを作成します。 nを入力してください。
Command (m for help): n
すると、作成するパーティションタイプを選択するよう言われます。 primaryパーティションを使用するため、そのままEnterキーを押すか、pを入力してください。
Select (default p): p
次に、パーティションナンバーを選択するよう言われます。 1を使用するため、そのままEnterキーを押すか、1を入力してください。
Partition number (1-4, default 1): 1
次に、開始セクターを入力するように言われます。 最小の値を使用するため、そのままEnterを押すか、2048を入力してください。 表示される数字はデバイスのサイズによって異なります。
First sector (2048-15564799, default 2048): 2048
次に、終了セクターを入力するよう言われます。 最大の値を使用するため、そのままEnterを押してください。
Last sector, +sectors or +size(K, M, G, T, P} (2048-15564799, default 15564799):
パーティション分けは完了です。 pを入力して、パーティション構成を確認したら、wを入力して変更を適用してください。
Command (m for help): p Command (m for help): w
パーティションのフォーマット
パーティションを作成したので、次にext4にフォーマットします。 私の場合はdevicename1はsdc1になります。 今度は、デバイス名でなくパーティション名を指定するため、最後に1がつくことに注意してください。
$ sudo mkfs.ext4 /dev/devicename1
もしdosfstoolsがインストールされていなかった時はインストールしてください。
# ArchLinuxの場合 $ sudo pacman -Sy dosfstools
SDカードにArchLinuxをインストール
マウント
作業のために適当なディレクトリにマウントします。 今回は~/Document/SDとします。
$ mkdir -p ~/Document/SD $ cd ~/Document
マウントします。
$ sudo mount /dev/devicename1 ~/Document/SD
ダウンロード
ダウンロードしてきます。
$ wget http://archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz
もしwgetがインストールされていなかった時はインストールしてください。
# ArchLinuxの場合 $ sudo pacman -Sy wget
インストール(展開)
最後に、インストール(SDカードへ展開)をします。 bsdtarを使ってSD/フォルダへ展開してください。
sudo bsdtar -xpf ArchLinuxARM-am33x-latest.tar.gz -C SD
書き込みを完全に完了させるために、syncコマンド(メモリにバッファされたすべてのデータをディスクに書き込む)を実行します。
sync
■
ArchLinuxをBeagleBoneBlackへインストール ver.old
目的
最新のBeagleBoneBlackにArchLinuxをインストールする方法ではうまく起動しない場合があるため、古い方法でインストールしてみます。
パッケージの再配布はできるかどうかわからないため、パッケージ2つをすでに持っている前提で進めます。
準備
まずは下記のものを用意してください
- BeagleBoneBlack (Rev C)
- マイクロSDカード
- LANケーブル
- MiniUSB-B to USB-A ケーブル
- マイクロSDカードへ書き込みができるLinuxマシン(マイクロSDアダプターの使用も可)
SDカードの準備
ここからはパソコンでの操作になります。
SDカードを接続しておいてください。
パーティション分け
SDカードのパーティション分けをします。
ArchLinuxをBeagleBoneBlackへインストールを参考にしながら、デバイス名をチェックしてください。
次にfdiskを使ってパーティション分けを行います。詳しい使い方は上記リンク先をご覧ください。
パーティションは2つ作成します。 bootパーティションとrootパーティションです。
$ sudo fdisk /dev/user_devicename
下記のように、順番に入力して1文字づつEnterを押してください。 空行はEnterのみです。
o n p 1 +64M t e a n p 2 p w
パーティションのフォーマット
パーティション1をfat16、パーティション2をext4でフォーマットします。
詳しくは こちらをご覧ください。
$ sudo mkfs.vfat -F 16 /dev/your_devicename1 $ sudo mkfs.ext4 /dev/your_devicename2
インストール
マウント
マウントします。
$ mkdir -p ~/Document/root ~/Document/boot $ cd ~/Document $ sudo mount /dev/your_devicename1 boot $ sudo mount /dev/your_devicename2 root
展開
ダウンロード済みの(今は公開されていない)ファイルをそれぞれ展開します。
$ sudo tar zxvf BeagleBone-bootloader.tar.gz -C boot $ sudo tar zxvf ArchLinuxARM-am33x-latest.tar.gz -C root $ sync
アンマウントして取り出します。
$ sudo umount boot $ sudo umount root
BeagleBoneBlack(ArchLinux)の起動へ続く
おわりに
以上でインストールは完了です。SDカードをパソコンから取り外してください。 起動・設定については別の回で説明します。
わからないことなどがありましたら、ご質問だくさい。
2015/7/29
■
ReconJetの開発環境の構築
目的
ReconJetの開発環境の構築の構築を行います。
方法
準備
まずは下記のものを用意してください
Linux マシン(説明ではArchLinuxを使用)
ソフトウェアのインストール
ReconJetはAndroidベースのReconOSが搭載されています。
アプリ開発はAndroidアプリ開発と同様に行うことができます。
Androidの開発は以前はEclipseとSDKを用いた方法が一般的でいしたが、新しくAndroid Studioが登場したためこちらを使用します。
Android Studioのインストール
いつもどおりpacmanを使ってコマンドでインストール…といきたいところですが、Android Studioはブラウザを使ってダウンロードしてきます。
Androidのデベロッパー向けサイトへアクセスしてLinuxのandroid-sdk_*****-linux.tgzをダウンロードします。
ダウンロードしたファイルを解凍します。
$ tar zxvf android-sdk_*******-linux.tgz
アップデートします。
$ tools/android update sdk --no-ui
おわりに
いかがでしたでしょうか。 わからないことなどがありましたら、ご質問だくさい。
2015/7/15
■
ReconJetの起動
目的
ReconJetの起動・初期設定についてです。
ReconJetはスポーツ用のメガネ型ウェアラブルデバイスです。 Microsoft社のHoloLensなどとは違い、現実空間へのホログラム投影ではなく、右下固定で情報を表示することができます。
方法
では、ここからはReconJetの起動を行っていきます。
準備
まずは下記のものを用意してください
- ReconJet
- MicroUSBケーブル
- ネットワークに接続したWindowsマシン
ReconJetとパソコンを接続するためにはインターネット接続が必要です。
ソフトウェアのインストール
パソコンを使って設定をするために、ソフトウェアをインストールします。
まずは、サイトにアクセスしてください。Get StarTed | Recon Engage
ログインを求められるので登録をしてください。
登録をして指示通り進めると、UpLinkのダウンロードボタンが表示されます。押してダウンロードしてください。
ダウンロードしてインストールします。
ReconJetの接続
ReconJetの本体後方にあるポートからパソコンのUSBポートをマイクロUSBケーブルでつなぎます。ReconJetの下部後ろのボタンで電源を入れます。
ここで、(またはそれ以前に)ソフトウェア側でログインを求めれるのでブラウザを使ってログインしてください。
あとは、ソフトウェアの指示通りにアップデートを行ってください。
最後に、マップをダウンロードする範囲を指定します。適宜設定してください。
あとは、ReconJetのインストラクションにしたがって操作をしてください。
スマートフォンにRecon Engageをインストールすると接続することができます。
おわりに
いかがでしたでしょうか。 わからないことなどがありましたら、ご質問だくさい。
2015/7/10
■
ROSチュートリアル3
messageを使う
メッセージファイルはROSメッセージの型を説明する単純なテキストファイルです。 これはメッセージのソースコードを異なる言語で作成するのに使います。
msgディレクトリに保管されています。
メッセージは1行ごとに型と名前が記載されているテキストファイルです。
型には下記のようなものが使用できます。
- int8, int16, int32, int64 (plus uint*)
- float32, float64
- string
- time, duration
- variable-length array[] and fixed-length array[C]
- Header
メッセージの定義
メッセージを定義してみましょう。
$ cd ~/catkin_ws/src/beginner_tutorials $ mkdir msg $ echo "int64 num" > msg/Num.msg
package.xmlの編集
次にpackage.xmlを編集します。
下記の2行のコメントアウトを外してください。
message_generation message_runtime
CMakeLists.txtの編集
次にCMakeLists.txtを編集します。
まずは、CMakeLists.txtから下記の行を見つけてください。
下記のようになるように、コメントアウトを外して、追記してください。
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation )
実行時依存も有効になることをチェックします。
同様に下記の行を見つけて有効になっていることをチェックしてください。
catkin_package ( ... CATKIN_DEPENDS message_runtime ... ... )
次にメッセージファイルを追加します。
同様にして、CMakeLists.txtから下記の行を見つけて、同じになるように編集してください。
add_message_files( FILES Num.msg )
さらに、同様にしてメッセージ生成generate_messages()の呼び出しも有効にします。
generate_messages( DEPENDENCIES std_msgs )
make
makeします
$ cd ../.. $ catkin_make $ cd -
rosmsg
rosmsgを使ってメッセージを確認することができます。
$ rosmsg show beginner_tutorials/Num $ rosmsg show Num
おわりに
いかがでしたでしょうか。 わからないことなどがありましたら、ご質問だくさい。
2015/7/28
■
ROSチュートリアル2
目的
前回に続きwikiのチュートリアルをやっていきます。
roslaunch
roslaunchを使用すると、lanchファイルで定義したノードを一度に起動することができます。
$ source ~/catkin_ws/devel/setup.bash $ roscd beginner_tutorials $ mkdir launch $ cd launch
launchファイル
下記の内容のturtlemimic.launchファイルを作成してください。
groupでは、turtlesim1,2という名前スペースを持った2つのグループをsimという名前のturtlesimノードで起動します。
nodeでは、turtlesim2がturtlesim1を模倣するmimicノードを起動します。
roslaunch
launchファイルをroslaunchから使ってみます。
$ roslaunch begginer_tutorials turtlemimic.launch
別のターミナルからturtle1にtopicを送ってみます。
$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'
turtle1にのみtopicを送りましたが、turtle2まで動きます。
おわりに
いかがでしたでしょうか。 わからないことなどがありましたら、ご質問だくさい。
2015/7/28