Raspberry pi 2 購入 その4 node.js導入(覚書)

Rasberry pi 2導入ではまったことの1つに、Node.jsをインストールができなくて困ったこと。

arm6からarm7になった為、定番の方法では、CPUが違うので、インストールさせないという事例が発生したのだ!

例えば、

nodebrewを使った方法
Raspberry PiにnodebrewでNode.jsをインストールする

nvmを使った方法
Raspberry PiでNode.jsを動かす

が撃沈しました。

ソースをコンパイルするべきなのか?と思っていたら、

node-armのページを発見した!

ここに書かれているとおりにやってみたら、node.js 0.10.36がインストールできました!

追記(2015.02.10)
node-arm のモジュールでは、Expressがインストールに失敗するという事象に遭遇。。。。
sudo npm -g install express をやってみたら、クラッシュしてしまったので、これもダメでした。

で、今度は、Raspberry pi用のモジュールを本家から持ってくるをやってみた。

wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
tar -zxvf node-v0.10.28-linux-arm-pi.tar.gz
sudo mv node-v0.10.28-linux-arm-pi /usr/local/node

sudo ln -s /usr/local/node/bin/node /usr/bin/node
sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
sudo ln -s /usr/local/node/lib/node_modules /usr/lib/node_modules

で、とりあえず、Expressモジュールはインストールできました。

同じようにハマっている方が居ましたら、ご参考までに

Raspberry pi 2 購入 その3 USB Bluetooth Adapter設定(覚書)

今度は、BT-Micro4の設定に行きたいと思います。

これは無線LANのように挿したら、使えるのか?とおもいきや使えないので、OS側にBlueZというものをインストールすれば、すぐ使える状態になります。

sudo apt-get install bluez

で、インストールされます。ちなみにバージョンは、4.99 でした。

インストールが完了したら、もう使える状態になっています。

hciconfig

とたたくと、 USB Bluetooth AdapterのBluetooth Addressの値等が確認できると思います。

hcitool scan

とかやると、デバイスの検索もOKです。

BLEのデバイスを探したい場合は

sudo hcitool lescan

で探せます。

ひたすら、アドレスが表示されまくるので、ctrl+cで止めましょう!

hcitoolとか使って、Bluetootデバイスの設定もできるようですが、私的には、デバイススキャンだけできればいいので、ここまで!

追記
node.jsでbleaconを使う場合は、下記のライブラリをインストール
sudo apt-get install libbluetooth-dev

Raspberry pi 2 購入 その2 USB無線LAN設定(覚書)

USB無線LANであるWLI-UC-GNM2を設定する。

実は、何も設定しなくても、USB無線LANは認識され、使える状態になっているので、あとは、SSID等を設定するだけです。

GUIでやった方が楽なので、startxでGUIを起動して、
Menu→Prefencias→WiFi Configurationを選ぶと、設定画面が出てきます。

Adapterを見て、wlan0と出ていれば、ちゃんと認識できていることが確認出来ます。

Networkの部分は空白のままなので、ここから、無線LANのAPの情報を設定していきます。

せっかく、GUIなので、APをスキャンして設定していく簡単なやり方を!

Current Statusタブに、Scanってボタンがあるので、押すと、Scan Result画面がでています。

この時点では、何も出ていないので、Scanボタンを押すと、無線LAN APを探しに行きます。

すると、APが出てくると思いますので、繋ぎたいAPを選択すると!

設定画面が出てくるので、PSKキーの部分を入力して、Addボタンで設定完了!

うまくいくと勝手に繋がると思います。

これでOK!

とはいえ、設定ファイルがどこにあるのか?は示しておきます。

/etc/wpa_supplicant/wpa_supplicant.conf

にAPのSSID等の設定がされていることがわかります。

複数のAPの情報を格納もできます!

network={}の部分を増やせばOK

これで、自宅の場合、職場の場合のAPの設定を書いておけば、すぐに使える状態にすることができるでしょう。

Raspberry pi 2 購入 その1(覚書)

昨日、Raspberry Pi 2を秋葉原の千石電商で購入した。(税込み、5400円 2/9得現在)

初代、Raspberry piを3台持っていたが、もう何をしたらいいのか?忘れてしまっているので、覚書を記す。

パソコンはMac OSX Yosemiteを使ってインストール作業を行っています。

Raspberry pi 2(Model B)は、初代Raspberry piと違って、Micro SDを採用しているので、GigaStone Micro SDカード 16GB準備した。(あきばお~で691円だった)

まずは、OSのダウンロード
公式サイトから、NOOBS(執筆時点1.3.12)をダウンロードする。
Network install onlyなら、22MB程度、でも、Ethernetを使ったネットワーク環境が必要。

SDカードのフォーマット
SD Associationから、提供されているSD Card Formatterで、SDカードをフォーマットし、NOOBSを回答した中身をドラッグアンドドロップでコピーすればOK

Raspberry Pi 2にMicroSDを挿入し、モニターとHDMIケーブルで接続、Ethnernetケーブルを接続、USBデバイスとして、キーボード、トラックパットがついているLogicool K400rのレシーバー、WLI-UC-GNM2BTMicro4を装着して、MicroUSBケーブル経由で電源を投下。

OSは、RASPBIANを選択して、インストール!

無事起動できると、Raspberry Pi Software Configuration Toolの画面が出てくるので!

Expand FileSystemを選択する。

Internationalisation Options→Change Locateを選択する

デフォルトで、en_GB.UTF-8 UTF-8が選択してあるので、外して
es_US.UTF-8 UTF-8
jp_JP.EUC-JP EUC-JP
jp_JP.UTF-8 UTF-8
の3つをスペースで選択する。

その後、選んだ3つから選択しろと出るので、es_US.UTF-8 UTF-8を選択する。

タイムゾーンの選択
Internationalisation Options→Change Timezone→Asia→Tokyoを選択

キーボードの選択
Internationalisation Options→Change Keyboad Layout→Generic 105 (Intl) PC→Other→Japanese→Japanese (OADG 109A)→The Default for the Keyboad layout→No compose key→No

Finishを選択して、終了

とりあえず、アップデート

sudo apt-get update
sudo apt-get upgrade

長くなってきたので、まずは、ここまで、次は無線LANの設定を書く予定

au iPhone用黒SIMをau Android端末で使う際の罠

au iPhoneで使われている黒SIMは、au Androidスマートフォンに刺して利用することができるが、困ったことが発生していた。

それは、着信通知と留守電通知がCメールで来なくなってしまうということ。

iPhoneでは、ビジュアルボイスメールで留守電の内容が聞けるので、どうやら、通常のSMS通知とは違う仕組みで、iPhoneに通知するので、Android端末で、利用する時はSMSの設定変更をしなきゃいけないことがわかりました。

ビジュアルボイスメール設定を変更する画面にアクセスすればいいのではないか?と考え、SMSアプリで宛先『#5000』本文『1234』を送信すると、メール設定URLが送られてくるので、アクセスしてみると!

Screenshot_2015-02-02-12-00-35

と出てきたので、この通りに、SMSアプリで宛先『00090015』、本文『1234』で送ってみたら、
『機種変更設定が完了しました。この端末はスマートフォン/ケータイ用の設定となっております。』
という返信がきました。

これで、着信通知と留守番電話通知が来るようになりました!

ちなみに、『00090015』っていう番号はなんだろうと思って、検索してみると
iPhoneから機種変更したら、Eメール・SMSが届かなくなった。
っていうページが見つかりました!

私の場合は、EメールもSMSも受信できましたが、着信通知・留守番電話通知が来なかったので、このFAQにたどり着きませんでした。

同じように困っている人が居ましたら、ご参考までに!

246 (ニーヨンロック)届いたが!

BLE好きな私は、BLEを使った面白い製品を収集しているのですが、鍵穴のない南京錠という246(ニーヨンロック)を入手するために、アンバサダーになりました。

https://24-lock.com/index.html

早速、アンバサダー向けに先行販売が行われたので、購入して、昨日届きました。
変わった入れ物に入っています。耐久性はないので、すぐに捨ててしまうことになると思いますが!

IMG_3936IMG_3938IMG_3940

電池をつなぎます。シート上のものを取ればOK、これで、電源ON状態です。

IMG_3942

次は、アプリです。まだ、投稿時点では、App Storeでは入手できないので、特別なサイト!?からアプリをダウンロードします。(ただし、配布問題がありそうなので、指摘しておきました。本来はTest Flightあたりを使わないと!)

ユーザ登録を省いていますが、鍵の登録方法です。
アプリ起動

IMG_3957

IMG_3958

IMG_3959

ペアリングするのね!
IMG_3960

えっ! デバイスが見つからないって!(ペアリングしたのに・・・意味不明)

IMG_3961

で、何度もやっても、デバイスが見つからない状態で、終了・・・・・

とりあえず、サポートに連絡しました。。。。。

人柱は辛いぜ!

Android Studio 1.0で使用するdebug用アプリ署名ファイルについて

Androidアプリを新規に開発する際は、従来のEclipseではなく、Android Studioを使っている。

ふと、デバッグ用のアプリ署名に使うdebug.keystoreはどこにあるのか?を調べて見て気づいたことがあったので、共有します。

結果から言うと、Eclipse時代と同じ、$home/.android/debug.keystore であることがわかりました。

で、何でこんなことを調べていたのかというと、debug.keystoreファイルの日付が365日経過しているにも関わらず、使えているので、これは、違うところを参照しているに違いないという思い込みだったのです。

開発ツールインストールした際に、debug.keystoreが生成される訳ですが、いつの間にかに有効期限が作成日の30年後になっていたのです。Androidが1.6の頃からアプリを作っているのですが、その当時のdebug.keystoreの有効期限が365日だったので、1年経つとコンパイルできないという内容がMLに流れていました。

有効期限の調べ方
keytool -list -v -keystore debug.keystore
で、パスワードを聞かれるので、『android』と入力すると見れたりします。

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: androiddebugkey
Creation date: Jan 28, 2015
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 1d088b0f
Valid from: Wed Jan 28 12:10:27 JST 2015 until: Fri Jan 20 12:10:27 JST 2045
Certificate fingerprints:
MD5: 60:B5:6C:3D:E3:43:00:3F:FB:11:B7:6A:C4:C7:CF:7C
SHA1: 90:EB:38:08:DA:BF:CA:D6:EF:01:9F:D0:78:F3:31:3E:1B:A7:BC:B6
SHA256: 77:D6:F8:6D:26:B9:BE:12:17:1D:43:B7:63:9E:97:04:93:04:B7:F1:F0:0C:7B:1D:9E:08:43:0A:B8:52:4A:DE
Signature algorithm name: SHA256withRSA
Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 2F A2 4F 05 0D F5 36 2E 55 E5 12 FB 77 6B B6 5B /.O…6.U…wk.[
0010: 6D 9C A0 E9 m…
]
]

*******************************************
*******************************************

Firefox OSで、AndroidのonPause()とonResume()相当で使えそうなイベント

au LGL25(Fx0)を購入してから、Firefox OS向けアプリの開発&研究を行っている。

AndroidのonPause()とonResume()に相当するものは、Firefox OSにはないのかな?と思っていたら、使えそうなイベントあったので、紹介します。

window.addEventListener('visibilitychange',function()
{
console.log('visibilitychange ' + document["hidden"]);
});

動かしてみると、わかりますが、onResume()相当時は、falseに、onPause()相当はtrueになることがわかると思います。

Firefox OS向け Tweet Battが生まれた経緯

2014年12月25日は歴史的な出来事がありました。それは、国内初のFirefox OS搭載の『Fx0』が発売されたのです。

当日は、オープンから1時間後にau Shinjukuに行って、買おうとしたら、もう在庫ありませんと言われ、なくなく、その場で、オンラインショップで申し込みをしました。ところが、会社からの帰り道にTwitterを見ていたら、なんと、在庫が復活しているとの情報が!おい、それはないだろうと、いうことで凸電を行い、当日の契約はできないけど、端末の取り置きはできると言われ、慌てて、閉店10分前にau Shinjyukuに到着して、取り置きの手続きを行い、オンラインショップの取り消しを行って、翌日、実機を契約することができました。

使い始めて、すぐに気づくこと!それは、Firefox Marketplaceに使えそうなアプリがないこと!うーーん、これは・・・・で、新年を迎えました。

新年と言えば、書き初めということで、私は、Firefox OSのアプリを作ってみようと思い立ってソースコードを書き始めたのが、1月5日(月)です。

開発環境的には、PC用のFirefoxを導入するだけ!なんてシンプルな!WebIDEを立ち上げて、Helloworld的なプロジェクトを作って、実機で動かしてみました。

さてと何のアプリを作ろうか?考えていた。Fx0はモバイルルータとしてしか使い方を見出だせなかったので、バッテリーの残量がわかったらいいだろうということで、Android版で公開済みのTweet Batteryを移植することにした。

バッテリーの残量は取れるコードを書いて、バックグラウンド動作はどうしようかな?と考えていたら、バッググラウンドAPIはあるけど、一般の開発者じゃ使えないようなので、Alarm APIで代用、Twitter投稿は、jsOAuthのライブラリ、UIはjQuery Mobileで実装して、1月7日(水)に、Firefox Marketplaceに審査請求を行った。

審査待ちの順番: 147 個中 146 個目 予想待ち時間: 4 営業日

と申請時点ではこうであったが、24時間経過すると

審査待ちの順番: 155 個中 145 個目 予想待ち時間: 4 営業日

あれ?1日1件しか処理されないのか?と不安になり、さらに24時間経過

審査待ちの順番: 154 個中 138 個目 予想待ち時間: 3 営業日

となり、7件/日に変わり、さらに12時間経過したところ(午前1時)、1通のメールが

Where are you using the systemXHR API?

えっ!パーミッションの説明も全部日本語で書いたせいか、理解されていなかったので、日本語を翻訳し、返信した。この時点のステータスは

審査待ちの順番: 136 個中 121 個目 予想待ち時間: 2 営業日

ってなっていて、審査待ちの順番って?????

メールを返信して、1時間後(もう寝ていた)、メールが来て

“Approved!”

って来て、審査が終了したので、めでたく、Firefox Marketplaceに『Tweet Batt』が掲載されました!

パチパチ!

審査待ちの順番は一体何だったのか?わかりませんが、人生初のFirefox OSアプリは生まれました。

何かのご参考になればと思い、書いてみました。

自ドメインのメールアドレスで無断でApple IDを取得された。

新年になったということで、各種サーバの設定を見直していて、たまたま、メールサーバの設定を『存在しないアドレス宛てにメールが届いた場合は、転送する』に設定変更してみたら、 存在していない *****@eguchi.jp 宛にAppleからメールが届いたのです。

こんなタイトルで!
『iTunes Store、App Store、iBooks Store へようこそ』

で、内容を見てみると、存在していないメールアドレスでApple IDが作られていたことがわかったのです。

数日経過したら、今度は、

『受領番号: ***********』っていうタイトルのメールが!

内容を見ると、請求者には、私のドメインの発行していないメールアドレスに加えて、知らない人の名前と住所が書かれていた。

送られてきたメールに返信しても、意味が無いというメールが返信されてきたので、Apple IDのサポートに問い合わせした。経緯を説明した所、3時間後に、メールアドレスを変更しないと、Apple IDが無効になるように設定してくれたとの回答をもらえました。

良かった良かった。

皆さんも、勝手に自分の所有するメールアドレスでApple IDが取得された場合は、Appleに相談した方がいいです。