2015年2月26日木曜日

Androidアプリ「LapTimeGPX」

Android「LapTime」公開!(2010.04.05)

マラソンのラップタイムを記録・グラフ表示するアプリをAndoroid Marketに公開しました。
もちろん無料です。

鈍足ランナーの作者が自分用に作りましたので12min/kmまで表示可能です。










操作性改善(2010.04.11)

全世界に公開して一週間のAndroid LapTime、現在の利用者は10名余り、ランナーに限られるので流石に少ない!
でも、利用してくれている人、いや自分向けに操作性を改善した。
フルスクリーン時の操作を追加だ!
・上下スクロール;リスト選択
・左右スクロール;スタート→ゴール

日本語対応(2010.05.29)

アンドロイド持っているランナー用です。

この条件を満たすユーザーは少ないでしょうね!

android版LapTimeは世界中に公開しているため変な英語版?で公開していた。

今回、日本語対応にも対応した。

LapTimeもショートカットキー追加(2010.07.15)

ユーザーが特定されるandroidLapTimeも自分がキーボード機を手に入れた時のためにショートカットキー追加しておく。

狙っているキーボード機はこれ!
dynabook AZ
LYNX SH-10B(DoCoMo)

このところ自作全アプリに矢継ぎ早のショートカットキー追加、実は明日SHARP Androidアプリ開発 テクニカルセッションというのがあって実機テストが出来るのだ!

LapTimeのデータ連携、Dropboxが便利!(2011.01.12)

最近、クラウドサービスが氾濫しているが、Dropboxというオンラインストレージアプリがあるのを知った。

LapTimeのデータバックアップをPCに置いている。
無料で2GB迄だがこれで充分、PC用Dropboxとandroid用Dropboxをインストールして置けばPCのC:\Users\ave\Dropboxと端末のsdcard/dropboxのデータが同期されるのだ!

GPXファイルインポート機能開発中!(2012.02.15)

人気がない自作のandroid版LatTimeではあるが自分には有効なので使っている。
今回、android RunKeeperを使うようになったのでこれの出力ファイルをインポートすることを試みた。
出力ファイルGPXはRunKeeperのAdvanced Optionsをクリックして表示されるGPXをクリックすれば入手可能だ!

もうひとつ、RunKeeper用L-04Cのバッテリーが3時間程度で切れて長時間ランには向かない。
それでロングランにはSony GPS-CS3Kを使う。
これの出力logファイルをGPSBabelにて変換(NMEA 0183 sentences → GPX XML)するとGPXファイルが得られる。

このGPXファイルをインポートする機能を追加する。
GPXファイルを選択するルーチンと緯度・経度から距離を計算するルーチンは下記を使わせて貰った。

Androidでファイル選択ダイアログを使う

経度緯度から2点間の距離と方角(方向・方位)を求める

LapTimeGPXにはMyTracksがベストマッチ(2012.03.27)

自作のLapTimeGPXのGPXファイルの作成に今までSony GPS-CS3KRunKeeperを使っていたが、MyTracksがベストマッチのようだ!
使い方は次の通り

(1)MyTracksを起動してトラック記録を開始

(2)トラック記録停止してGPXファイルとして保存

(3)ファイルは/sdcaed/mytracks/gpxフォルダーに作られる

(4)LapTimeGPXを起動してデータ→インポートから上記ファイルを指定する

(5)読み込まれて編集画面が表示されるので必要あれば修正して保存

いずれLapTimeGPXにGPS計測機能を取り入れようと思っているがしばらくこれで使い心地をテストする。

詳細【推奨使い方】My Tracksがベストマッチ!

LapTimeGPXとGarmin連携(2012.07.26)

自作アンドロイドアプリLapTimeGPXGarminのGPSウォッチのGPXファイルを連携した。

連携方法は
(1)GarminウォッチをPCに接続してGarmin Connectにデータをアップロード
(2)GPXファイルとしてDropboxへエクスポート
(3)次にスマホ側でLapTimeGPXを起動してMenu→データ→インポートでDropboxのデータを読込

あと1ケ月に迫った北海道マラソン、これで準備完了だ!
今までストップウォッチで1km毎にラップをとっていた作業がなくなったって訳けだけど・・・

ランニング軌跡表示(2013.03.01)

自作androidアプリLapTimeGPXでランニング1km毎の軌跡を表示するようにした。
これ、Google playで全世界に無料で公開しているが、ユーザー数はたったの7名、ほとんど自分用にせっせとバージョンアップしてるのだ!


右画像は作者が2013勝田マラソンで走った軌跡

ゴール後、LapTimeGPXで振り返るは楽しい!(2013.03.20)

京都マラソンを走って来た。
ゴール後、GarminからGPXファイルをLapTimeGPXインポートしてランニングを振り返る。


1.先ずは、ラップタイムを見て反省

2.ターゲット記録と比較してみる

3.走路を見ながらラップと比較する

私のランニングコーチ(2013.11.13)

私のランニングコーチは自作のandroidアプリLapTimeGPXです。
このアプリはフルマラソンの1km毎のラップタイムを記録してグラフ表示するものです。
まったく人気かありません!
google playを見るとユーザーは12名、そのうち7名は自分のデバックマシンにインストールしたものなので、私以外のユーザーは5名だけです。
その人達も使ってくれてるかどうか疑問です。

しかし、私にとっては有効なんです。
特にいいのは右画像に示す重ねグラフです。
これは先日の湘南国際マラソンの結果(赤)と1年前の記録(黒)を重ねたものです。
このように同じ大会の記録を重ねてペースを検討するのに使っています。

今回、ゴールタイムグラフを追加しました。

ネットタイムを公式完走時間にする運動(2015.02.26)

マラソンの公式タイムにネットタイムを採用しようという運動がされている。
昨今、ランナー1万人を超える巨大マラソンではスタートラインに到達するまでに10分以上も要することがあるためだ!
運動の詳細は「ネットタイムを公式完走時間にする会」にある。
それに対応する訳ではないが自分のような鈍足ランナーはネットタイム採用は大歓迎!
決まったわけではないが先取り、自作AndroidアプリLapTimeGPXにスタートライン迄のロスタイムとネットタイム追加した。


2015年2月21日土曜日

私のラズベリーパイ

今、話題のシングルボードコンピューター
Raspberry Pi(ラズベリーパイ)
周辺機器を付けてRaspbian OSをインストール
インターネットが見れるようになった。

Raspberry Pi本体は5,000円程度だが、いろんな周辺機器が必要で〆て1万円だ!

先ずは本を読んでどんなものか?
勉強してみた

・Raspberry Piで学ぶ電子工作 超小型コンピュータで電子回路を制御する (ブルーバックス)

Raspberry Pi はネットワーク機能のある新型 MODEL B+ の透明ケース付

・Raspberry Pi 超小型パソコン MODEL B (PLUS) &専用ケ-ス model B+ Case(Clear)




それにHDD替わりのSDカード

・【Amazon.co.jp限定】Transcend microSDHCカード 32GB Class10 (無期限保証) Newニンテンドー3DS 動作確認済み TS32GUSDHC10E (FFP)




そしてモニターはテレビを使うことにしてHDMIケーブル

・Amazonベーシック ハイスピードHDMIケーブル 2.0m (タイプAオス - タイプAオス、イーサネット、3D、オーディオリターン、PS3、PS4、Xbox360対応)




忘れていたキーボードがない

・iBUFFALO USB接続有線コンパクトキーボード ショートカットキー付き ブラック 【PlayStation4,PS4 動作確認済】 BSKBU10BK





モニターはテレビ利用のつもりだったが占有できないのでアナログモニターを使うことにしてHDMI to VGA変換器


・HDMI to VGA adapter ブラック / HDMI信号をVGA出力信号に変換するアダプター(音声出力あり)(HDMI延長アダプタ付き)





イヤフォンに使おうと思ってBluetooth

・PLANEX PS3 Bluetoothコントローラ対応 Bluetooth Ver2.1+EDR Microサイズ USBアダプタ (Class1/100m) BT-MicroEDR1X


どうせなら無線で

・BUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-
こっちも無線で?

SANWA SUPPLY USB出力付ポータブルバッテリー電源(ホワイト) BTN-DC2W


Raspbian OS インストール

買ったまま放置していたPaspberry Pi B+ にRaspbian OSをインストールした。

1.RaspberryサイトからHDMI用のNOOBS.zipをダウンロード
2.zipファイルを右クリック「すべて展開」後、すべてのファイルをSDカードにコピー
3.Paspberry Pi B+にSDカードを挿入、キーボード、マウス、ディスプレイを接続
4.最後に電源を接続するとLEDのPWRが赤色点灯、SDカードアクセスでACTが緑色点滅、ディスプレィにPaspberryアイコンが現れる
5.しばらくするとインストールするOS選択画面が表示されるのでPaspberryにチェック(スペースキー)でを入れ、Install[i]を入力
6.インストールが完了するとインストール成功ダイアログが現れるのでOK、しばらく待つと自動的に再起動され、インストール後の設定に入る

はずが、異常事態発生!
SDカードのアクセスを継続、再起動されない、
しばらくするとSDカードアクセスも停止!
だんまり状態が継続・・・
VGA HDMI変換のアナログディスプレー原因か?
とテレビのHDMI端子に接続したら再起動開始、設定に入る


ディスプレー設定

Raspberry PiにVGAディスプレーを使用しようとHDMI VGA変換コード購入しているので、ここではVGAディスプレー設定をする
しかし、これだけではチラット映ってすぐ消えてしまった。
調べてみるとRaspberry PiのSDカードのconfig.txtを修正する必要があるようだ!

修正しようとWindows機にSDカードを差し込んだがBOOTデレクトリーがない!
Windows機では認識しないのかな?
と思い、ubuntu機に突っ込んでみたら表示された。
bootパーテション(画像sda5)にあるconfig.txtを探し出して適当な個所に下記を追記した。 


#HDMI->VGA 1024x768 60 Hz
hdmi_ignore_edid=0xa5000080
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=16
hdmi_drive=2


目出度しです。
これでVGAに表示が可能になる。

7.言語設定
(1)上下キーで「4 Internationnalisation Options」を選択、Enter
(2)「I1 Change Locale」を選択、Enter
(3)言語選択画面になるので「ja_JP.UTF-8 UTF-8」にカーソルを合わせ、スペースキーを押すと*が入る
(4)デフォルト言語が聞かれるので「ja_JP.UTF-8 UTF-8」を選択、Enter

8.タイムゾーン設定
(1)上下キーで「4 Internationnalisation Options」を選択、Enter
(2)「I2 Change Timezone」を選択、Enter
(3)地域選択画面になるので「Asia」を選択、Enter
(4)都市選択画面になるので「Tokyo」を選択、Enter

9.キーボード設定
(1)上下キーで「4 Internationnalisation Options」を選択、Enter
(2)「I3 Change Keyboard Layout」を選択、Enter
(3)キーボード選択画面になるので「Generic 105-key(Intel)PC」を選択、Enter
(4)レイアウト選択画面になるので「Other」を選択、Enter
(5)言語選択画面になるので「Japanese」を選択、Enter
(6)レイアウト選択画面になるので「Japanese-Japanese(OADG 109A)」を選択、Enter
(7)AltGrキーの質問には「The default for the keyboard layout」を選択、Enter
(8)Control+Alt+Backspaceキーの質問には「Yes」を選択、Enter
(9)TABキーでFinish、Enterでコマンドプロンプトpi@raspberrypi ~ $ が表示される

10.以上で設定完了、使ってみる
(1)再起動はsudo reboot
(2)ログインはraspberrypi. login:pi、password:raspberry
(3)シャットダウンはsudo power off
(4)GUI環境Xを起動はstartx



ネットワーク接続

有線LANは簡単、繋ぐだけでOKだ!
インターネットもそんなに遅くなくちゃんと映る。


日本語環境設定

1.日本語入力メソッドのインストール

$ sudo apt-get update
$ sudo apt-get install uim uim-anthy

 終了したら、GUI環境から一旦ログアウト、再起動で日本語入力が可能になる。

2.日本語フォントのインストール
文字化けを防ぐためにフォントを追加する。

$ sudo apt-get install xfonts-kaname


サウンドの出力先変更

Raspberry Piの音声出力は、HDMIケーブルからの出力と
本体の音声ラインからの出力(ステレオ・ミニ・ジャック)の2系統ある。

サウンドの出力先変更は、

$ sudo amixer cset numid=3 1(本体のラインへ出力)
$ sudo amixer cset numid=3 2(HDMI端子へ出力)

※一度実行すれば、再起動後もその設定が有効となる。

サウンドの再生確認は、

$ aplay /usr/share/sounds/alsa/Front_Center.wav

を実行すると女性の声「???」


Bluetooth 設定

Raspberry Piにタコ足がいっぱい出ていて邪魔なのでこれから無線化していこうと思う。
先ずはジャンク箱に下記のBluetooth USBアダプターが眠っていたので取り付ける。
PLANEX PS3 Bluetoothコントローラ対応 Bluetooth Ver2.1+EDR Microサイズ USBアダプタ (Class1/100m) BT-MicroEDR1X

今回は、これのBluetoothマウスMicrosoft Bluetooth Notebook Mouse 5000を接続する。

1.Bluetooth関連のパッケージのインストール

$ sudo apt-get update
$ sudo apt-get install bluetooth bluez-utils blueman

2.Bluetoothドングルの接続確認
インストールが完了したらBluetoothドングルBT-MicroEDR1XをRaspberry Piに接続しlsusbコマンドで接続確認

$ lsusb

Bus 001 Device 015: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

3.Bluetooth機器のBDアドレスの取得
BluetoothマウスMicrosoft Bluetooth Notebook Mouse 5000を検出可能状態にしてhcitoolコマンドを実行

$ hcitool scan

Scanning ...
    00:22:48:E3:17:19   Microsoft Bluetooth Notebook Mouse 5000

4.Bluetooth機器のペアリング

$ sudo bluez-simple-agent hci0 00:22:48:E3:17:19
RequestPinCode

(/org/bluez/9061/hci0/dev_00_22_48_E3_17_19)
Enter PIN Code: 0000
Release
New device (/org/bluez/9061/hci0/dev_00_22_48_E3_17_19)

BluetoothドングルBT-MicroEDR1Xは特にPIN番号の指定がなかったので「0000+Enter」を入力するとペアリング完了

5.Bluetooth機器の自動接続許可

$ sudo bluez-test-device trusted 00:22:48:E3:17:19 yes
$ sudo bluez-test-input connect 00:22:48:E3:17:19

これで毎回手動で接続しないで自動接続

6.Bluetooth機器の再設定
もう一度、Bluetooth機器を再設定しようとすると下記のエラーがでる。
dbus.exceptions.DBusException: org.bluez.Error.AlreadyExists: Already Exists

設定済なので取り外すが必要だ!

$ sudo bluez-test-device remove 00:22:48:E3:17:19


無線LAN設定

今度はUSB接続の小型無線LAN子機を使ってRaspberry Pi B+の無線LAN設定だ!
製品は発熱問題がある下記を選んだ!小型で安いから・・・
BUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-GNM

設定は簡単なstartxでGUI立ち上げて行った。
1.Menu→設定→WiFi Configuration
2.wpa_gui画面→Manage Networksタブ→Eanabledチェック→Scanボタン
3.Scan results画面→Scan
4.該当SSIDを選択→該当SSID画面→wep keys入力→Addボタン


バッテリー駆動

角小さいRaspberry Pi、単三電池を内蔵するバッテリー下記があったのでバッテリー駆動にすることのした。
SANWA SUPPLY USB出力付ポータブルバッテリー電源(ホワイト) BTN-DC2W
これ、幸いなことにスイッチがついているので電源スイッチがないRaspberry Piに丁度いい!

但し、このバッテリーは無線LANアダプターを付けると電力不足で駄目です。


自動ログイン

Raspberry Pi ログインpi/raspberryを省略するには、/etc/inittabファイルを書き換える。
ここではテキストエデターnanoを使う。

$ sudo nano /etc/inittab

下記を入力する

# 1:2345:respawn:/sbin/getty 38400 tty1

1:2345:respawn:/bin/login -f ユーザ名 tty1 </dev/tty1 >/dev/tty1 2>&1

nanoを終了する ........ Ctrl +  x
ファイルを保存する .... y
[enter]


X起動設定

Raspberry Piが起動したら自動的にstartxを立ち上げるには、/etc/rc.localファイルに記述を加える。

ここではテキストエデターnanoを使う。

$ sudo nano /etc/rc.local

'exit 0'の直前に'su -l pi -c startx'を追加する

# Print the IP address
 IP=$(hostname -I) || true
if [ "$_IP" ]; then

   printf "My IP address is %s\n" "$_IP"

fi
su -l pi -c startx
exit 0

nanoを終了する ........ Ctrl +  x

ファイルを保存する .... y

[enter]


Raspberry Piの本来の用途は制御系ではある。
パソコンで終わってしまっては面白くないよね!


2015年2月5日木曜日

ブルーレィドライブの選択

今まで使っていたDVDドライブ選択がガタゴト、読み込めなくなった。
この際、ブルーレィドライブにしようとamazonで探すと結構安い!
候補は下記の二つ、
・I-O DATA USBバスパワー対応 ポータブルブルーレイドライブ ピアノブラック BD-U6XL [フラストレーションフリーパッケージ (FFP)]
・BUFFALO BDXL対応 USB2.0用ポータブルBlu-rayドライブ 書き込みソフト付属 Wケーブル収納タイプ ブラック BRXL-PC6VU2/N


BD-U6XL

BRXL-PC6VU2/N

BD-R書き込み速度

4.5 倍速

6 倍速

USBケーブル給電

シングル

ダブル

大きさ・重さ

140x19x147 mm、300 g

145x19x153 mm、340 g

両者の仕様を比較すると明らかにBRXL-PC6VU2/Nが良いが口コミを見るとUSBケーブル給電はダブルケーブルなのに駄目率が高い。
コンパクトが魅力なのでBD-U6XLを選んだ!


結果、Thinkpad X220とのUSB給電OK、ブートもOKでした。