2013年12月08日

imodeガラケーの着信(メール、電話)を別のスマホ(android)で受信する

現在、iモードのガラケーとandroidスマホの2台持ちで、それぞれの名義は全くの別々となっている。
2台持ち歩くのは面倒なので、ガラケーの着信(メール、電話)をスマホ側で受け取りたい。メールはちゃんとプッシュでリアルタイムに受け取りたい。

そんな方法についてまとめてみました。

※2014年6月1日追記

本記事の内容は、iモードメールをスマホでもガラケーでもどちらでも受信可能となるが、imode.netの契約が必要。
ただしimode.netは、すでに新規契約ができないので、現在、imode.net契約を持っていない場合は、以下を参照。
iモードメールをスマホで受信する(まとめ)
追記ここまで


ガラケーの電話をスマホで受信するには
こちらは簡単で、ドコモの「転送でんわ」を利用する。
以下に従い、設定すればOK。全てオンラインで設定できる。(無料)
https://www.nttdocomo.co.jp/service/communication/transfer/

設定後、試しに家電からガラケーに電話をかけてみる。
するとガラケーが鳴動し、設定秒数後、ガラケーの鳴動が停止し、スマホが鳴動しだす。スマホ側の着信表示は発信元の家電。そのままスマホで受話できる。
ガラケーの鳴動時間を0にもできる。

ちなみに、発信側で聞こえるリングバックトーンは、転送時も全く変化無いので、転送された電話だとは全くわからない。

注意点としては、転送後に受話(この場合スマホにて)すると、自分が着信側にも関わらず、通話料が発生する。
転送部分(ガラケーとスマホ間)の通話料をいただく、ということらしい。

実際にはそんな通信経路のわけがないのにひどい課金だと思う。
通話なんて滅多にないからいいといえばいいんだけど。

発信者が負担する通話料は、割り増し等なく何も変わらないので、発信者には何も迷惑はかからないのは救いだ。


ガラケーのiモードメールをスマホで送受信するには
こちらは結構ややこしい。
これまでは、「imotenWakeUp!」を使って受信してたんだけど、2013/11/12以降、利用できなくなった。
https://imode.net/cmn/info/131011_01.html

「imotenWakeUp!」は、imode.netの新着確認ツールの機能を使っており、2013/11/12の「iモード.net」新着確認ツールの機能停止により利用できなくなってしまった。

というわけで、別の手段で実現する。
以下の手段では、最長で30秒(設定にて変更可能)のタイムラグはあるが、プッシュ受信が可能となる。

プッシュ受信なので、キャリアメールと同様にスマホ側での定期的な着信チェックが不要。バッテリーに優しい。

またガラケーのメアドで送受信できる。


用意するもの
・imode.netの契約(ガラケー側)
・24時間稼働のサーバ(javaが動作すればなんでもよい)
  ※グローバルアドレス不要。インターネットに出ていければよい。
・imoten(上記24時間稼働のサーバ上で動作させるjavaアプリ)
・imoni(スマホ用アプリ)
・メール通知 Free(スマホ用アプリ)  


imotenは定期的(デフォルト30秒毎)にimode.netのメールをチェックし、新着があると、指定のメールアドレスへ転送する、という動作をする。

imode.netは2015年2月末でサービス停止なのでそれまでの命だが、その頃にはきっと、ドコモメールは常識的な内容でクラウド化されているだろう。

まずはimode.netに加入。月額200円(もう受け付けてないかもしれないけど)


imotenを24時間稼働サーバへインストール
imotenはここから取得。
http://code.google.com/p/imoten/
インストールと設定は上記サイトを参考に。

自分はBeagleBone Blackで稼働中のfedora上にインストール。
BeagleBone Black は消費電力わずか2Wで稼働するLinuxマシンなので、このような24時間稼働の用途にはもってこいである。

参考までに、自分が設定した内容。(青字部分を変更する)
転送先はスマホのキャリアメールにする。
※スマホのキャリアメールに転送するのは、プッシュでの通知が目的である。

imoten.ini
# UTF-8で保存すること
# [#]で始まる行はコメント
# コメントアウトしない■の部分は書き換えてください

docomo.id=yourDocomoId ← imode.netにログインするためのドコモID
docomo.passwd=yourDocomoPW ← そのパスワード

smtp.server=smtp.dummy.ne.jp ← imotenがメール送信に使うsmptサーバ(PCメール情報でよい)
smtp.port=587
smtp.connecttimeout=10
smtp.timeout=30
smtp.tls=false
smtp.from=dummy@dummy.ne.jp ← PCのメールアドレス(送信元)
smtp.auth.user=dummy@dummy.ne.jp ← メールサーバにアクセスするアカウント名
smtp.auth.passwd=mailPassword ← そのパスワード

# POP before SMTP認証が必要な場合に指定する
#popbeforesmtp.server=
#popbeforesmtp.user=
#popbeforesmtp.passwd=

# メールの題名に絵文字があった場合、[晴れ]のように置き換える
emojireplace.subject=true

# メールのボディの絵文字の置き換え方法
# [inline]の場合、絵文字をGMailの画像に置き換え、その画像をメールにインラインで添付します。
# メールはHTMLメールに変換されます。
# [link]の場合、絵文字をGMailの画像へのリンクに置き換えます。
# 絵文字を表示するには、メール閲覧時インターネットにつながっている必要があります。
# メールはHTMLメールに変換されます。
# [label]の場合、絵文字をはれ]の様な説明ラベルに置き換えます。
# [none]の場合、絵文字の置き換えを行いません。PCで表示すると絵文字は正しく表示されません。
# デフォルト[inline]。
emojireplace.body=inline

# 受信メールの題名の先頭に追加する
forward.subject.prefix=[iFw]

# 送信メールの題名の先頭に追加する
#forward.sent.subject.prefix=[iSentFw]

# 送信メールを転送する場合true
#forward.sent=true

# 転送先(複数の場合は[,]区切りで指定する)
forward.to=dummy@mopera.net ← スマホのキャリアメールアドレス

#forward.cc=
#forward.bcc=

# Reply-toヘッダ
#forward.replyto=

# [false]の場合、From,CC,Date等のヘッダにimodeメールの情報を指定します。
# [true]の場合、From,CC,Date等のヘッダを[smtp.from]など実際の送信時の情報を指定します。
# デフォルト[true]。
forward.rewriteaddress=false


# [true]の場合、メールのボディの先頭にimodeメールのFrom,CCなどの情報を追加します。
# デフォルト[true]。
forward.headertobody=false

# imode.net の新着チェック間隔(秒)
imodenet.checkinterval=30 ← サーバ負荷になるのでなるべくこのままで

# imode.net のログインエラー時のリトライ間隔(秒)
imodenet.logininterval=10

# [true]の場合、imode.netでログイン時のCookieを保存して、次の起動時に使用する。
save.cookie=true

# httpクライアントのタイムアウト(秒)
http.conntimeout=30
http.sotimeout=30

# trueにするとメール送信時にログが出力されます。
mail.debug=false

# UTF-8に未対応のメーラーの場合、iso-2022-jpを指定してみてください。
mail.encode=UTF-8
#mail.encode=iso-2022-jp


# メールの本文部分のContent-Transfer-Encodingを指定します。
# 文字化けする場合、[7bit]を指定してみてください。
#mail.contenttransferencoding=7bit


# imode.net経由で携帯メールを送信
# SMTPをListenするポート番号
# sender.smtp.port=42525

# SMTP認証
# sender.smtp.user=myuser
# sender.smtp.passwd=mypass

# sender.alwaysbcc=

# TLSを有効にする
# sender.smtp.tls.keystore=../test.keystore
# sender.smtp.tls.keytype=JKS
# sender.smtp.tls.keypasswd=imotenkey


imoten起動
ARM機であるBeagleBone Blackの場合、このまま実行しようとしても、arm関連のファイルが見つからないとかで起動できない。
BeagleBone Black上での実行は以下のコマンドで実行する。
# cd /imoten_installed_folder/imoten/bin
# /usr/bin/java -Dfile.encoding=UTF-8 -Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP,Windows-31J/Shift_JIS -cp ../lib/skype.jar -jar ../imoten.jar &



スマホ側での受信、送信について
手間無くガラケーのメアドで送受信したい。

上記の通り、プッシュで通知できるよう、imotenからはスマホのキャリアメールへの転送とした。
ただし、そのまま受信すると、スマホのキャリアメールのアカウントで受信/送信することになるので、ガラケーのメアドで送受信するには以下のようにする。


スマホにメール通知 Freeとimoniをインストール
スマホのキャリアメールの着信は「メール通知 Free」にて検知、メールの受信は「imoni」を利用する。
この2つをPlayストアからインストールする。

メール通知 Free
https://play.google.com/store/apps/details?id=net.assemble.emailnotify&hl=ja
自分が利用中のキャリアメールはmopera。SPモードでもOKなはず。

imoni
https://play.google.com/store/apps/details?id=net.grandnature.android.imodenotifier&hl=ja

次に「メール通知 Free」の設定にて、起動するアプリをimoniにしておく。
こうしておくことで「メール通知 Free」にて着信を検知後、自動的にimoniにインテントされ、imoniにて受信操作せずとも自動的に受信される。

imotenからの転送は最長で30秒(imotenで設定した秒数)のラグが発生するが、全く問題ない。まさにキャリアメール感覚で使える。
メーラーはimoniなので、もちろんガラケーのメアドのまま送受信が可能。

posted by frogie at 16:59 | Comment(0) | TrackBack(0) | スマホ | このブログの読者になる | 更新情報をチェックする

2013年12月23日

BeagleBone Blackに fedora 20 をインストール

Fedora 20 が先週リリースされた。
ついにARMが「主要アーキテクチャ」として扱われるとのこと。つまりx86/64と同レベルの「主要アーキテクチャ」となる。

Fedora19より扱いが格段に良くなることが予想されるので、早速BBBにFedora20を導入してみた。

インストールは、BBBはモニタなしのLANケーブル接続のみで実施した。
起動可能なマイクロSDカードイメージの作成は、Windows、Linux上のどちらでも可能。それぞれのやり方のメモを以下に残す。


■■■Linux上でのFedora20 OSイメージ作成方法■■■

■用意するもの
・8GB以上のマイクロSDカード (自分は16GBのものを用意)
・Linuxが動作しているPC(OSイメージ内を編集するのに必要)
 当方はCentOS5.5のVMを利用。

■fedora20のダウンロードとマイクロSD上への展開
 http://fedoraproject.org/ja/get-fedora#arm
 上記ページより、VFAT ARMv7 イメージ をダウンロード。
 デスクトップは好みに応じてどれでもよい。
 当方はGNOMEにした。

 あと、マイクロSDはUSBリーダ等でPCに接続しておく。
 フォーマットは不要。

GNOME VFAT ARMv7 イメージをダウンロード 〜 マイクロSDへの展開
ダウンロード
$ wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz

マイクロSDに書き込み
$ xzcat Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz > /dev/sdb

※当方環境ではマイクロSDは/dev/sdbだったが、環境によるので、dmesgやfdisk -l にてマイクロSDのデバイス名を確認しておくこと。

■u-bootの書き込み
まだブートパーティションは空っぽで起動できないので、以下の通りu-bootをブートパーティションにコピーする。
u-bootは、利用するボードの種類ごとに用意されており、上記作成したマイクロSD内から取り出すことができる。

上記マイクロSD作成後、一度抜き挿しすると、マイクロSDは自動マウントされ、パーティションの中が見える。マウントされるフォルダは以下の通り。

u-bootパーティション
/media/uboot

システムパーティション
/media/__

※新しいLinuxだと上記それぞれ以下にマウントされるので読み替えること。
 /run/media/username/uboot
 /run/media/username/__


BBB用のu-bootを、u-bootパーティションへコピーする。
# cp /media/__/usr/share/uboot-beaglebone/* /media/uboot/
# ls /media/uboot/
MLO
u-boot.img
uEnv.txt.beaglebone → uEnv.txt にリネームする
# mv /media/uboot/uEnv.txt.beaglebone /media/uboot/uEnv.txt

とりあえずここまでで起動可能なメディアができあがり。

■sshログインできるようにする
このまま起動しても初期パスワードがわからなくてログインできないので、
/etc/shadowを編集する。

くれぐれも母艦側を間違って編集しないよう、フォルダに注意。
マウントされたマイクロSD上のシステムパーティション内の/etc/shadowを、以下のように編集する。

/media/__/etc/shadow を編集
rootのパスワードを以下のように付与。このパスワードは「root」になる。
/media/__/etc/shadow 抜粋
root:$6$lqj7SL8qvAEXeRJX$wX2/cbpgu2wqBRVf3Lnv6IxvZ0DDeIdaRREcbE6mR.l8CtanDDNv9AfN2cpZSaeFmjKQKd4ZY9l4aqEgB9Ceh/:15921:0:99999:7:::
bin:*:15921:0:99999:7:::
daemon:*:15921:0:99999:7:::



次にselinuxを無効にする。
/media/__/etc/sysconfig/selinux を編集
SELINUX=enforcing → SELINUX=disabled に変更
SELINUXTYPE=targeted

以上でOK。

なお、DHCPで起動してくれるので、システムパーティション内をいじるのは上記2ファイルだけ。

■Fedora20の起動
上記マイクロSDをBBBに挿入し、LANケーブルを接続し、給電開始。
すると電源LED点灯のあと、インジケータLED2つ(USR0,USR1)が点灯。

30秒ほどしてインジケータLEDが消灯。
その後、インジケータLEDは一切点灯しないので注意。

Lチカしないので、てっきりbootに失敗しているかと思うが、待っていればちゃんと起動する。
インジケータLED消灯後、100秒ほどでpingに応答しだす。

DHCPで割り振られたアドレスは調べること。
あとはsshにて、root、パスワードroot、でログインできる。

以上。

なお、/dev/mmcblk0p3(=/)パーティションは、すでに99%使われている。
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p3 3779328 3668304 55580 99% /
devtmpfs 224448 0 224448 0% /dev
tmpfs 253616 0 253616 0% /dev/shm
tmpfs 253616 524 253092 1% /run
tmpfs 253616 0 253616 0% /sys/fs/cgroup
/dev/mmcblk0p1 19474 462 19012 3% /boot/uboot

これでは何もできないので、以下のコマンドで残り領域全体まで
/dev/mmcblk0p3を拡張する。
# resize2fs /dev/mmcblk0p3
resize2fs 1.42.8 (20-Jun-2013)
Filesystem at /dev/mmcblk0p3 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p3 is now 3707825 blocks long.

# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p3 14532668 3670200 10807024 26% /
devtmpfs 224448 0 224448 0% /dev
tmpfs 253616 0 253616 0% /dev/shm
tmpfs 253616 524 253092 1% /run
tmpfs 253616 0 253616 0% /sys/fs/cgroup
/dev/mmcblk0p1 19474 462 19012 3% /boot/uboot

以上で完了。


■■■Windows上でのFedora20 OSイメージ作成方法■■■

■用意するもの
・8GB以上のマイクロSDカード (自分は16GBのものを用意)
・Fedora20 のOSイメージ
 http://fedoraproject.org/ja/get-fedora#arm
 上記ページより、VFAT ARMv7 イメージ をダウンロード。

 デスクトップは好みに応じてどれでもよい。
 当方はGNOMEにした。
 ファイル名:Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz 967MB

・Image Writer for Windows.(SDカードにOSイメージを書き込むツール)
 ダウンロード:
 http://sourceforge.net/projects/win32diskimager/files/latest/download

・u-boot ファイル
 http://rpmfind.net/linux/rpm2html/search.php?query=uboot-beaglebone%28armv7hl-32%29
 上記サイトより、
 uboot-beaglebone-2013.10-3.fc20.armv7hl.rpmをダウンロード。

■fedora20のイメージをマイクロSD上に展開
ダウンロードした Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz を7zip等で解凍。以下が生成される。
Fedora-Desktop-VFAT-armhfp-20-1-sda.raw   約4.6GB

マイクロSD書き込み
マイクロSDをUSBリーダ等でPCに接続し、
Image Writer for Windows.(Win32DiskImager.exe)を起動。

Fedora-Desktop-VFAT-armhfp-20-1-sda.raw とマイクロSDのドライブを選択して書き込み実行。

ファイル選択時、拡張子が.img限定になっているので、*.*を指定すること。


■u-bootの書き込み
まだブートパーティションは空っぽで起動できないので、以下の通りu-bootをブートパーティションにコピーする。

u-bootは、uboot-beaglebone-2013.10-3.fc20.armv7hl.rpm からファイルを取り出す。

rpmの解凍は、XacRettやLhaForge等を利用。以下の3ファイルが取り出せる。
 MLO
 u-boot.img
 uEnv.txt.beaglebone → uEnv.txt にリネームすること

上記3ファイルをマイクロSDのルートにコピー
マイクロSDをセットしたUSBリーダを一度抜き挿しすると、ボリュームラベルが「uboot」の19MBの空メディアに見えるので、その19MBの領域に3ファイルをコピーする。
 MLO
 u-boot.img
 uEnv.txt

とりあえずここまでで起動可能なメディアができあがり。

あとはマイクロSD上のLinuxパーティションを、Ext2Fsd等を利用してマウントし、sshでログインできるようrootのパスワードを書き換える。

パスワードファイル: /etc/shadow

設定するrootのパスワードとfedora20の起動については、上記Linux上での作成方法で示した、sshログインできるようにする 以降を参照。

以上。


posted by frogie at 14:14 | Comment(0) | TrackBack(0) | BeagleBone Black | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。