かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

Raspberry Pi が壊れた、、、。復活せず。

Raspberry Piがデータを送らなくなってたので、モニターを付けてチェックしてみたら、OSの起動でエラーが起きて、何も出来なくなっていた。いくつか手を打ってみたのでそのメモ。パッと見のエラーは一時ファイルの整理が出来ないとかいうメッセージ。

思いついた原因は以下の3つ。

1.SDカードがいっぱい

2.SDカードが壊れている

3.Raspberry Piが壊れている
1.のチェックのために、WindowsPCに入れてみる、SDカードはまだ余裕がありそう。Windowsでも空きがあるようにみえたので、1.の可能性は低いかと思った。
つぎ、DD for Windowsというツールで読みだして、別のSDカードに書く。SDカードの中身を書き出す途中で、CRCエラーが出た。これで、2.の可能性が濃厚。

3.に期待を込めて、別のRaspberry PiにSDを入れるが、OSがロードしない。

結論、SDカードが壊れている。
特に変わったことしてないのにSDカード壊れるのね。バックアップを適宜取りましょうという当たり前の結論になりました。

 

http://blog.tizen.moe/entry/2016/05/02/152824
http://www.htpcguides.com/how-to-use-sd-card-reader-in-vmplayer-and-vmworkstation/
http://eng-memo.hatenadiary.com/entry/2015/07/18/141411
http://blog.hahasoha.net/article/161156750.html
http://pchdddata.blog85.fc2.com/blog-entry-599.html
http://streamline-jp.net/nextlife/2014/08/10/4172/
http://www.homu.net/raspberry-pi%E3%81%A7iot%E3%81%AA%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA%EF%BC%9Asd%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%AFrpi/
http://lotuseater365.tumblr.com/post/96620739773/raspberrypi%E3%81%AEsd%E3%82%AB%E3%83%BC%E3%83%89%E3%82%92%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%83%AA%E3%82%B9%E3%83%88%E3%82%A2%E3%81%99%E3%82%8B
http://denshikousaku.net/backup-raspberry-pi
http://www.moonmile.net/blog/archives/6878
http://av.jpn.support.panasonic.com/support/sd_w/download/index.html

Android RSSリーダーのライブラリ。 Rss-Manager

ラオス語学習アプリで、ラオス語の文を毎日表示させるようにしたいと思い、RSSリーダーのライブラリをちょっと物色。いくつかあったが、build.gradeだけで簡単に取り込めるものが良かったので、Rss-Managerを試してみた。github.com

 

とりあえず、使ってみた感じではまぁまぁ悪くないように思う。

 

Android Google翻訳を呼び出すIntent。

marshmallow以降で、アプリ内翻訳が出来るようになったが、まだまだAndroid5が多い。ぼくのケータイもそうです。

で、今ラオス語お勉強アプリを作っていて、ラオス語の文と、日本語訳を並列して表示する画面を作っている。WebViewでGoogle翻訳サイトを出そうとしたけど出ない。普通にブラウザを呼び出せば表示される。Google翻訳自体を表示させるにはどうしたらいいかと思って、ちょっとやってみた。

Google翻訳アプリのIntentの扱いはちょくちょく変わっているらしく、StackOverflowでも結構盛り上がっている。

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setPackage("com.google.android.apps.translate");

Uri uri = new Uri.Builder()
.scheme("http")
.authority("translate.google.com")
.path("/m/translate")
.appendQueryParameter("q", "ສະບາຍດີ")
.appendQueryParameter("tl", "jp") // target language
.appendQueryParameter("sl", "lo") // source language
.build();
intent.setData(uri);
startActivity(intent);

 

stackoverflow.com

緯度経度の豆知識。

SQLiteで位置情報にクエリを投げたいときに、こうやったら出来るよ、って書いてある。まだ試してないから真相は不明。

stackoverflow.com

 

あと、osmdroidで緯度経度をとったら、メソッドの末尾にE6ってついてた。これもちょっと謎だったけど、どうやら、1,000,000をかけるってことらしい。確かにそっちの方が数字として分かりやすい。

stackoverflow.com

Android からGoogleの翻訳機能を使う。

語学の学習アプリにラオス語のサンプリング&翻訳機能を付けたいと思っている。

で、まず思ったのは、WebViewでGoogle翻訳のWebサイトを表示するということ。でもこれは使用不能みたい。Google翻訳を表示するものの、翻訳の入力欄は表示されない。Google検索は使えてた気がするけど、、、。残念。

このサイトの話と関係があるんだろうか。

techracho.bpsinc.jp

次に、AndroidアプリのGoogle翻訳のTap to translateの機能を使う。これなら、Google

翻訳の入っているAndroid端末で使える。コピーするアクションが必要なので一手間かかるが、悪くはない。

www.itmedia.co.jp

あとは、Android6から使える、アプリ内翻訳機能。これはかなり良い感じだが、まだAndroid6以降限定の機能を実装するまでは至らない。

qiita.com

というわけで、Tap to translateの機能を使う予定。

字幕付きの動画を自分のPCで表示する。

CourseraやMicrosoftのオンラインコースでいくつか動画がダウンロードできるんだけど、字幕は別ファイルになっている。ローカライズが必要だからそれはそうか。で、動画はmp4、字幕はvttファイルでダウンロードできる。これを動画プレーヤーで表示しようと思っていくつか試したけど、なかなか引っかかったので覚書を、、、。

Windows Media Player
ネット上では動画をaviにして、字幕のファイル形式をsrtにしたらできるとあったけど、動画のボリュームが大きいし、毎回変換するの嫌だからやめた。

GOM Player
字幕ファイルは認識してるっぽいものの、上手く表示されない。あと毎回お知らせタブが表示されるのがうっとうしい。というわけで諦めた。

VLC media player
ちょっと怖いな~、と思って敬遠してたけどこれだとサクッと字幕が表示出来た。

f:id:name_untitled:20170312153309j:plain

Chrome
index.htmlを書いてその中でvideoタグを書いて、表示させてみた。そもそもWebVTTだからこれが王道かと思って。そしたら、字幕の言語のオプションは表示されたけど、そこから先は表示されない。断念。

FireFox
これもChromeと同じようにvideoタグを書いて、表示させてみた。とりあえずはうまく行く。でも、ストリーミングしてるわけじゃないし、ファイルが増えて手間が増えた感じ。

f:id:name_untitled:20170312153116p:plain

というわけで、VLC media playerで見るのが一番かなと、、、。

Android 雑アプリの技術的負債を返しているとこ。

かれこれ2年近く放置していたアプリに手を入れているところ。

ラオス語を勉強するアプリと銘打ったものの、機能も足りてないし、そもそも使い方も絞り込めてないアプリだったので、突っ込みどころが多い。語学のアプリにするなら、文法、語彙、発音の3つが主な機能になるが、文法は説明できるほどの知識がない。将来的に実装するにしても、他の2つもひどい。

というわけで、まずは、ラオス語既修者を対象として、以下の機能を実装することにした。
適当に拾ってきたラオス語の文章と翻訳が表示される(Android4も対象にするのでGoogle翻訳をWebViewで表示するだけ)単語のフラッシュカード機能
区別の難しい発音の聞き分けトレーニング機能

 

諸々始める前にコードのお掃除中。
Holoテーマをマテリアルテーマに変更。
GreenDaoのバージョンを最新化。
クラス名の統一。

 

GreenDaoはGitHubからサンプルコードを落として動かしてみてから、、、と思っていたらむしろそっちの方が手間で、GreenDao2で生成済みのコードにアノテーションを付けて、build.gradleの宣言を修正したら一瞬で終わった。