2013年7月5日金曜日

レガボンドについて

たまたま会社でちらりと見せてもらったのですが、レガボンドという面白い素材があるようです。

最近、駅でポスターを固定している板が画鋲も糊も使わず固定しているように見えて疑問に思っていたのですが、一つ謎が解明したかも。
ポスターを貼っていない掲示板を見つけたら、ちょっと触って確認してみたいところです。

こういったのをクローラにして壁面のぼらせるとかどうなんでしょうね?
ちょっとデータの読み方がわかりませんが、50mm*50mmで300gぐらいを保持できるとみればよいのかな?
夢膨らむ素材です!

2013年5月23日木曜日

RaspberryPi で Canon EOS をコントロールする

この記事はまだ途中です。

Raspberry PIでCanon EOSのシャッターを制御します。
gphoto2というソフトがあり、こちらを使うとカメラのコントロールが行えます。
まずは、apt-getで試してみましたが、インストールされるのは少し古いバージョンでした。
そのため、EOS7Dは動作させられましたが、EOS KISS X7は動作しません。
EOS7Dで、以下を実行しました。
gphoto2 --capture-image-and-download
カメラとraspberryをUSBケーブルで接続し、上記コマンドを入力するとシャッターが押され画像がraspberryに転送されます。
ただ、画像転送できるのは1枚目のみ。ちょっと使えないかも。

やはり最新のgphoto2を使ったほうがよさそうです。

まずは、ソースを取得します。
で、ついでに2.5.2のRelease Notesを見ると、RaspberryPIについても記述があり対応しているようです。
さらに、EOS100D(Kiss X7)も対応とのこと!
以下を取得しました。
gphoto2-2.5.2.tar.gz
libgphoto2-2.5.2.tar.bz2
取得したソースを展開します。

インストール前にいくつか、必要なものを入れておきます。
sudo apt-get install automake autoconf
sudo apt-get install gettext libtool

libgphoto2からmakeしていきます。
 cd libgphoto2-2.5.2/
 env CFLAGS="-I/usr/local/include" CPPFLAGS="-I/usr/local/include"   LDFLAGS="-I/usr/local/lib" ./configure
エラーなく完了したら、次にmakeです。
 make
無事に完了したら、
 sudo make install
これで、とりあえずlibgphotoのインストールが完了しました。

次に、gphoto2をインストールしていきます。
 cd ../gphoto2-2.5.2/
 ./configure
とすると、popt.hが無いと怒られます。
 sudo apt-get install libpopt-dev

もういくつかの設定がありました。
 export LD_LIBRARY_PATH=/usr/local/lib

とりあえず、以下も。
 cd /usr/bin/
 sudo ln -s /usr/local/bin/gphoto2-config
たぶんいらないです。

これで、以下のように./configureをすると無事に通りました。
 ./configure --prefix=/usr/local/  --with-libgphoto2=/usr/local/

後はmakeです。
 make
 sudo make install
これで、インストールは完了です。

ただ、X7をつないでも認識してくれないです。。。なんでだろ?
もうちょっと調べてみます。

2013年4月26日金曜日

EOS Kiss X7を買いました

先日発売になったCanonのEOS kiss X7を買ってしまいました。
とりあえずこの小ささに惚れた!
一眼レフなのに、400グラムを切るサイズ(407gでした!)。すばらしい!
カメラとしてのレスポンスも軽快で良いです。
いやぁ、これは良い買い物しました!
で。CanonのEOSシリーズはパソコンから色々弄れるソフトがありますよね。EOS utilityってやつです。
パソコンから触れるのも魅力的なんですが、androidからも触ることができます。
有料ですが、DSLR Controllerというソフトウェアがあります。
さっそくX7で動かしてみました。
ちょっとレスポンス鈍いところもあるんですが問題なく動いてくれてます。
こういう楽しみ方できるのもCanonの魅力かも。
次はraspberrypiで動かしたりできないかなぁ?

2013年3月25日月曜日

p2vをしてみた

タイトルままですが、古いLinuxサーバを吸い上げて仮想環境に移しました。
やったことを忘れないうちにまとめておきます。

  1. VMware vCenter Converter Standalone Clientのインストール
  2. VMWare Player上にてESXi5[VMware-VMvisor-Installer-5.1.0-799733.x86_64]をインストール
  3. 吸い上げ 実環境からESXiへ
  4. ESXiからVMPlayer形式へ
といった流れで実施しました。
最後の2工程が1つになるんじゃないかと思いますが、調べていません。
工程2が少し躓いたポイント。工程3も注意点ありますので、以下に記載しておきます。

工程2
VMware-VMvisor-Installer-5.1.0-799733.x86_64をダウンロードしてきて、Vmware Player環境にインストールします。
実施した環境はThinkpad L430でしたが、標準ではIntel VT-xまわりの設定がVMware側で気に入らない模様。
リブートしてBIOS設定を変更する必要があります。
変更後、インストールが可能となりました。

工程3
実環境からESXiへデータを移すタイミングでかならず失敗するのです。
どうやら、vCenterの実行の仕方が悪いらしい。
vCenterのアイコンを右クリック「プロパティ」「互換性」タブをクリック。
特権レベルの「管理者としてこのプログラムを実行する」をクリックしてやるとOKでした。


2013年3月24日日曜日

i2cのモータドライバを使う

やっとこさ、年度末のバタバタも終わりです。
raspberrypiでi2cのモータドライバを動かします。

i2cモータドライバ
http://akizukidenshi.com/catalog/g/gK-06273/

i2cのやり方は以下を参考にしました。
http://www.pwv.co.jp/~take/TakeWiki/index.php?raspberrypi%2FRaspberry%20Pi%E3%81%A7IO%E5%88%B6%E5%BE%A1#g133bee3

/etc/modulesに以下を追加します。
i2c-dev

/etc/modprobe.d/raspi-blacklist.conf を編集します。
コメントアウト
#blacklist i2c-bcm2708

設定したら、リブートした後に以下でi2cのツールを入れておきます。
sudo apt-get install i2c-tools

配線については、
DRV8830(4pin)-Rasp 5V
DRV8830(5pin)-Rasp Gnd
DRV8830(9pin)-
DRV8830(10pin)-

DRV8830の4pinと5pinの間にセラコンを入れておきます。

これで事前準備完了です。


動作確認として、以下を実行します。


 $ sudo i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] Y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- 64 -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

正しく認識されています。

とりあえず、今日はここまで。

2013年2月13日水曜日

予告?i2cのモータドライバを使う

少し、更新間隔が空いてしまいました。。。
週末もバタバタとしてしまい、時間がありません。年度末は忙しいです。

忙しいのに秋月に行って以下を買ってしまいました。
http://akizukidenshi.com/catalog/g/gK-06273/
i2cのモータドライバです。

こちらをRaspberry Piで動かしてみようかと考えています。
接続すればほぼ動くのでは、と思っているので、あまり面白みがないかもしれませんが。
とりあえず、RaspberryPiでモータを回して、台車を動かすといったことをやりたいと思っています。
台車は既製品になる予定。
とりあえず、材料は揃っているので、後は手を動かすだけです。
時間が欲しい!!

2013年1月7日月曜日

libmodbusのブロードキャストについて

libmodbusのブロードキャストの方法について、暫定的に行った方法についてまとめておきます。

バージョン:
libmodbus-3.0.3

現状:
ブロードキャストでmodbus_write_registers()を使った場合、関数からの戻りが大変遅い。
ブロードキャストの設定は、modbus_set_slave()で指示通り、MODBUS_BROADCAST_ADDRESSを使った。

対応:
src/modbus.c:1253行目あたりに以下を追加した。


rc = send_msg(ctx, req, req_length);

if(ctx->slave == 0){
//printf("slave ID:0 -> return:%d\n",rc);
return rc;
}

if (rc > 0) {
uint8_t rsp[MAX_MESSAGE_LENGTH];


slaveIDが0の場合、ブロードキャストであると判断して、receiveの処理を行わないように変更しています。

上記変更後、
 make
 make install
を実行し、反映させます。


ただ、実環境では動かない場合がありました。(原因調査は時間切れです。。。)