忍者ブログ

上手座席の置き去りノート 演劇・ロボット・その他もろもろ日々の発見をメモするための場所です。

RSS TWITTER RssTwitter

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Facebook AndroidSDKの連携状態をアップグレード後も継続したい

めちゃくちゃ久しぶりにブログ開きました。パスワードも完全に忘れていましたが思い出した頃にまた自分のメモ的に何か書こうかなと。
つっても今回の内容は本当に一部の人向けの内容担ってしまうかと思うのですが・・・( ˘ω˘)

Facebook AndroidSDKをv3.xからv4.xにアップデートした話

Facebook SDKは6月1日を持ってv3.xのサポートを終了するそうです。
というわけでv4.xへの移行を進めたわけですが、問題が・・・

v3.xを実装したアプリでFacebook連携を行っていた場合、v4.xに実装したアプリにアップデートすると連携が解除されてしまいます。
FacebookSDKは内部でアクセストークンをキャッシュする処理があるのですが、
それがバージョンアップに伴い大きく変更されております。
それに伴い、アクセストークンの保存形式も変わっているので、アップデートをすると
該当ファイルが無いと判定されてしまいます。

これを明示的に解決するには、v4.xにある旧トークン形式の読み込みを有効にする必要があります。
すでに連携済みのアプリをアップデート後も継続して連携させたい場合は以下を
onCreate()初期化前に記述します。

FacebookSdk.setLegacyTokenUpgradeSupported(true);//これ
FacebookSdk.sdkInitialize(this);

これで連携状態を解除せずにアップデートが可能になるはずです。



( ˘ω˘).。o(これってFacebookSDKのアップグレードガイドに書いてた記憶がなかった気がするんだけど書いてくれた方が親切じゃね?)


拍手[0回]

PR

IMUBrickを使ってみる



GPSの位置情報の精度をあげるためにIMUBrickの加速度の情報を利用してみることになりました。
IMUBrickはジャイロセンサや磁力計も備えているのでロボットに実装するにはなかなか便利ではないかと。
ただ、単体で自己位置推定に使った方の話では精度が微妙で使いにくいとのこと…どうなのでしょうか

とりあえずBrickViewerをインストールするまでをメモ


http://www.tinkerforge.com/en/doc/Hardware/Bricks/IMU_Brick.html#imu-brick-programming-interfaces
・上記URLより”Test your IMU Brick”という見出しの文にある Brick Daemonを開く
・そこのInstallationから自分のOSにあったリンクへ飛ぶ。今回はubuntu12.10なのでLinuxを選択。

・Debian Packageの見出しのすぐしたの文章にダウンロードページへのリンクがあるのでそこへ飛ぶ。
・Linuxのi386を選択しダウンロード。こちらは32bitOSだったのでこれを選びましたが,64bitの場合はamd64の方を選択すればよいはず…おそらく。
・.debファイルをダウンロードしたらそのままインストール。方法はInstallationに方法別に詳しく書いてあるみたいなのでそちらを参照。私はインストローラでやりました。
・上記URLに戻り、 Brick Viewerのリンクを開く
・同様のページが出るので、Installationからダウンロードページに飛んで.debをダウンロード、インストール
・端末で"sudo brickd"を実行しデーモンを動かす。
・BrickViewerを起動し、上の方にあるconnectを押す。
・リストに"IMU Brick"が現れたら設定は完了。タブのIMU BrickをクリックするとGUIが開く


しかしここまで書いてあれですが、デーモンを動かすときにerrorの文字が出てくるのですがこれはいったい….
子の文面を見ると明らかにデーモンが停止しているのですが、BrickViewerが動いてるということは
既に動いてるのにもう一つ立ち上げようとしているからということでしょうか

<other|main_linux.c:385> Brick Daemon 2.0.5 started
<usb|brick.c:203> Could not open USB device (bus: 3, device: 2): LIBUSB_ERROR_ACCESS (-3)
<usb|usb.c:139> Ignoring USB device (bus: 3, device: 2) due to an error
<network|network.c:153> Could not bind server socket to '0.0.0.0' on port 4223: EADDRINUSE (98)
<other|main_linux.c:432> Brick Daemon 2.0.5 stopped

というわけで一応serviceコマンドで確認して見たところ

$ service brickd status
Status of Brick Daemon: running (pid 8080)

確かに動いてはいるようです。インストール後にすぐ動いてくれるみたいですね。
とりあえずIMUBrickが動くことは確認できました。


拍手[0回]

自作のUSB充電ケーブル


beagleboneを移動ロボットに実装するべく、とりあえずUSB充電ケーブルを自作することにしました。

用意したもの
・USBケーブル(Atype-Btype)
・DCプラグ
・はんだ
・熱収縮チューブ

使った工具
・ワイヤーストリッパー
・ニッパー
・ピンセット
・はんだごて
・テスター
・電工ペンチ(があったらよかった)



こちらがDCプラグ。左がその中身。下側のかしめる部分がある方がGNDで上側が+5V。



次にUSBコード。こちらのBtype側をニッパーでバツーンと切断します。その中身が上の写真です。
メッシュ状のシールドとアルミ箔のシールド、そして信号線4本(赤黒緑白)。テスターを使用して調べたところ、赤が+5Vで黒がGNDでした。大体こうらしいのですが、たまに逆になっていたりするようなので事前にテスターで調べるべきでしょう(自戒)
しかしこれ、線ほっそいなあ。手元のワイヤーストリッパーの一番小さいところでも切れなかったので普通に切り目を入れて剥いたのですが何度ミスったことか・・・(◞‸◟)



上がはんだ付け前の状態。剥きすぎてるように見えますが実際そうです( ´_ゝ`)
ここからはんだ付けをするのですが、その前にコードに熱収縮チューブをつけるのをお忘れなく。
はんだ付け後の写真を撮り忘れてしまったのですが、まあいろいろみすったり剥きすぎた部分をうまいことなんやかんやするのに四苦八苦して見た目もあれだったので参考にはならないでしょう(爆)



というわけで完成。剥きすぎの部分を熱収縮チューブで隠しているのですがなんとも不恰好である。
干渉などが無いか確認のためにPCにUSB側を接続してテスターでチェック。ちゃんと5Vの電圧を確認できました。



beagleboneに実際取り付けました。これで外にも持ち出せるようになりました。ヤッタネ!!



まったくどうでもいいですがこの記事は一度投稿する前に事故って消えてるのでちょっと解説が雑です・・・気が向いたら見直します・・・_(:3」 ∠)_


拍手[0回]

VMwareでウィンドウが画面外に出る件

とりあえずこの画像を見ていただきたい↓



こちら、先日VMwareに入れたUbuntu13.04 64bitです。
こちら13インチのWindows7の入ったPCで使用しているのですが、
VMwareのウィンドウを画面の上のほうに持って行き過ぎてうっかり最大化してしまうと
中で動いているUbuntu上のウィンドウもすべて最大化されてしまいます(設定でかえられるのかな?)
しかもあわてて元に戻すと今度は100×100pixelくらい(目算)のめちゃくちゃ小さなウィンドウに変わってしまいます。


やっかいだなあと思いつつウィンドウサイズを戻して中で開いているウィンドウも元に戻すと
あとは上の画像のとおりです。完全に画面外に埋まってます。これはひどい


マウスではどうにもならないので、ウィンドウを動かせるショートカットキーを捜してたらあっさりみつかりました。

Alt-F7 ウィンドウの移動

とりあえず解決しましたが不便なので、とりあえず部屋にいるときはディスプレイ繋いで別画面に表示しておこうかな…。
あと、Windows側でUbuntuを起動しているVMwareのサイズはむやみに変えないように気をつけよう笑案の定そんなサイズあつかってねーよって起こられました('A`)

拍手[1回]

VMWareとVMauthd serviceで困った点(memo)

移動ロボットにbeaglebone blackを使うことになり、とりあえずSDカードにUbuntuを入れるべく作業を始めたのですが、準備のためのubuntu入りPCにはSDカードを差せないということが発覚しました('A`)

というわけで、別のPCでubuntuを動かすべくしようするのがVMware。OS上に仮想マシンを作成し、ゲストOSとして別のOSを稼動させるエミュレータですね。

というわけでここからVMware Player for Windows 32-bit and 64-bitをダウンロード。バージョンはこのとき最新の5.0です。
https://my.vmware.com/jp/web/vmware/free#desktop_end_user_computing/vmware_player/5_0

というわけで早速インストール。実行ファイルを起動してあとはまつだけ…のはずだったのですが。

無事インストール完了と思いきや直前でエラーによりインストールが失敗してしまいました('A`)
どうやらVMauthd serviceの開始ができないことが原因だそうで。エラーのウィンドウにはサービス開始のための特権があるか確認せよとの事。
アカウントは管理者権限を持ってる状態。一応タクスマネージャを確認してみましたがVMauthd serviceは特に見当たらず(新規導入なので当然ですが)

しかしこんなとこで時間をとられるのもアレなので、別のPCで導入を試してみたら、何事もなく導入が完了しました。とりあえずOSはどちらもwin7。この二つの違いはいったい…?
あとはログの確認ですが、ぱっとみエラーに

coinstaller failed to get hardware ID: 0x00000057

というのが見られます。が、これは両方のPCのログに現れているので見送ってもいいかな?意味は時間があるときにまた調べときます。
とりあえず原因はまだよくわからないので、ここはひとまず保留ということで。

拍手[0回]

Clear