現在、車載用Androidアプリを構想中です。
エンジンが動いている間だけ動けばいいので、
エンジン始動時に端末の電源が自動的に入り、
エンジンが停止すると端末の電源も切りたいと思っています。
ユーザーに一切の操作はさせない予定です。
シガーソケットから電源を取り、BroadcastReceiverでバッテリー情報の
pluggedを見ることでエンジンの始動の有無は確認できました。
BOOT_COMPLETEDを見ることで端末起動時に自動的にアプリ起動もできました。
問題の端末自体の起動を自動でコントロールすることはできないのでしょうか?
端末はS31HW(Android2.2)を想定していますが、機種を変更も可能です。
よろしくお願いいたします。
椋梨と申します。
>> 問題の端末自体の起動を自動でコントロールすることはできないのでしょうか?
この文章では曖昧だと思います。
・電源OFF状態から、端末を電源スイッチの長押し以外で、電源ON状態にしたい。
・電源OFF状態から、タイマーなどで自動で、電源ON状態にしたい。
・スリープ状態から、USBの給電を検出してアプリを起動したい。
これらのどれでしょうか?
電源OFF状態から、電源スイッチ長押し以外で、電源ONするのは困難だと思います。
以上、よろしくお願いします。
--
/***
* 椋梨 健太郎 http://twitter.com/#!/mk18
*/
> ・電源OFF状態から、端末を電源スイッチの長押し以外で、電源ON状態にしたい。
> ・電源OFF状態から、タイマーなどで自動で、電源ON状態にしたい。
> ・スリープ状態から、USBの給電を検出してアプリを起動したい。
> これらのどれでしょうか?
>
> 電源OFF状態から、電源スイッチ長押し以外で、電源ONするのは困難だと思います。
実現したいことは、
「電源OFF状態から、端末を電源スイッチの長押し以外で、電源ON状態にしたい。」
です。
たまに電源OFF状態の端末が、充電開始したタイミングで起動するのを見ますので、条件若しくは設定次第で可能になるのかと思い相談しました。
機種依存の機能でも構いませんし、rootをとる必要があるものでも構いませんので情報をお持ちでしたらお教え下さい。
よろしくお願いいたします。
私なら、以下のようにします。
USBからの給電を検出して、特定のアプリを起動する。
電源OFFにしなくても、LANやGPSをなどをOFFにするとバッテリーは持つと思います。
長押し以外で電源ONになるは、機種依存なので特定の端末でしか使えないと思います。
Root取るならなおさら、特定の端末になります。
電源OFFにこだわると、特定の端末のみになります。
何が?目的で実現したいのか?明確にした方がいいです。
自分ためのアプリなのか?多数の人向けのアプリなのか?
Playで公開して使ってもらいたいのか?ですね。
> USBからの給電を検出して、特定のアプリを起動する。
> 電源OFFにしなくても、LANやGPSをなどをOFFにするとバッテリーは持つと思います。
これは実現して実際にテストもOKでしたが、バッテリーが切れた場合に電源を入れる手段がありません。
バッテリーが少なくなると警告が表示されたあと勝手に端末がシャットダウンし、給電が開始されても充電が行われるだけで端末の電源は入りません。
> 何が?目的で実現したいのか?明確にした方がいいです。
> 自分ためのアプリなのか?多数の人向けのアプリなのか?
Android端末をブラックボックス化して、特定ユーザーに使用していただくイメージです。
電源スイッチもディスプレイも操作できなくします。
車に常時取り付けておく機器なので、レーダー探知機やドライブレコーダーをイメージしていただくといいかもしれません。
端末もアプリもこちらで用意するのでPlayへの公開予定もありませんし、端末が限定されても問題はありません。
実現する良い知恵がありましたら、よろしくお願いいたします。
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>
特定向けならば、端末のOEM品とか調べた方がいいと思います。
3キャリアから出てるものでは、対応が難しいと思います。
1万台発注で対応してくれるOEMメーカがあるかも知れません。
>「電源OFF状態から、端末を電源スイッチの長押し以外で、電源ON状態にしたい。」
電源OFF状態はandroidが動作していない状態なので
さらにその上のソフトウェアで何かするのは無理ではないでしょうか。
復電したら、給電状態ON/OFFを選択できるスイッチはありますので、
ハードウェア(スイッチ部品)の変更で対応するか、
復電時給電ONに対応した製品を探したほうがいいと思います。
ちなみに手元にあるIDEOS U8150は電源OFFで給電されると
画面が明るくなり動作しているように見えますが、
電源ON状態にはなりません。
完全に電源OFF時からの起動となると、そもそもAndroidも完全にシャットダウン
状態ですので、ハードウェア制御で実現することになるかと思います。
> たまに電源OFF状態の端末が、充電開始したタイミングで起動するのを見ます
とのことですが、僕が知る限りAndroid端末で電源ボタン以外のアクションで電
源が入るものを見たことがないのですが、端末名等お分かりにならないでしょうか?
以下現実的に考えて実現不可能ですが、可能性の話として。
Samsung製のGalaxy S(SC-02B)やGalaxy Tab(SC-01C)は電源OFF時に充電を開始す
ると、ディスプレイに充電中を示すアニメーション表示を行う機能があります。
どちらもファームウェア内のファイルで言えばparam.lfs、デバイス名で言えば
/dev/block/stl6に保存されています。
これらの表示はあえて言うならば「充電モード」と呼ぶべき状態でハードウェア
が起動しているものと思われます。
各ブートモードの切り替えを行なっているのは恐らくbootloaderだと思いますの
で、bootloaderをどうにか出来れば、もしかしたら充電開始時に通常起動の処理
を行えるかもしれません。
ただ、bootloaderのソースは公開されていませんし、バイナリハックでどうにか
なるレベルではない気がするので現実的に考えて実現不可能です。
> 僕が知る限りAndroid端末で電源ボタン以外のアクションで電
> 源が入るものを見たことがないのですが、端末名等お分かりにならないでしょうか?
GalaxySではなりませんが、S31HWではバッテリーを外した状態でUSB給電が開始されると自動で電源が入ります。
この場合にはアプリの起動は可能ですが、SIMが入っていても「通信サービスなし」と表示され通信ができません。
上記の状態でも、バッテリーを1秒ほど取り付けると通信が可能となり通常使用ができるようになります。
これはバッテリー回りのハックで回避はできそうですが、他にスマートな対処方法があればと思っています。
よろしくお願いします。
面白そうな話題なのでメールしました。
>> たまに電源OFF状態の端末が、充電開始したタイミングで起動するのを見ます
>
> とのことですが、僕が知る限りAndroid端末で電源ボタン以外のアクションで電
> 源が入るものを見たことがないのですが、端末名等お分かりにならないでしょうか?
うちの端末は、たまに電源OFF状態からUSB(兼ねる充電ポート)を挿すと、起動することがあります。
でも、常に起動するわけでは有りません。
これは、差し込むときのノイズを、たまたま、リセット信号と勘違いしてbootしたんだろうなと思っています。
質問者の方から、何台くらい作るのか、コスト的にはどうかなどという話がないので、答えるのが難しいです
が、量産するのでしたら、先のメールにあったように、OEMで出してくれるメーカはあると思います(コストによ
りますが)。
SIM無し(=電話でない)でもいいのであれば、もっと簡単でAndroidの組み込み基板を使って作ればいいのでは
ないでしょうか?ただ、SIM無しでもいいという話は出てこないので、電話機能は必須なんだろうなと思って
メールを見ていました。
手作りレベルの数であれば、本体の電源スイッチからリードを引き出してきて、バッテリ電源が入ってきたら
数秒間短絡するような回路を外付けで作ってしまえばいいのではないでしょうか?
電話機の改造って違法になるんでしたっけ?
疑問なのは「Android端末をブラックボックス化」というのは、どうやってSIMを入れるのだろう?とか、
ちょっとイメージが湧かないんです。
--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com
> SIM無し(=電話でない)でもいいのであれば、もっと簡単でAndroidの組み込
み基板を使って作ればいいのでは
> ないでしょうか?ただ、SIM無しでもいいという話は出てこないので、電話機
能は必須なんだろうなと思って
> メールを見ていました。
恐らく各種センサー(GPS等)が扱いたいのかなー、と思ったりしました。
尚且つ電話機能と言うか通信機能が必要だからスマートフォンを流用するんだろ
うな、という想像です。
構成を考えれば最近たまに話題を聞くRaspberry Piと各種センサーをUSBで繋い
で、LANポートを備えた3Gモバイルルータを繋いでやればいい感じになりそうな
気がします。
Paspberry Piならどうとでも弄れそうですし、3Gモバイルルーターならば給電開
始と同時に電源ONになる機種も多そうです(調べてないですが)。
Raspberry Pi自体はICSはRAMの関係上動かないもののGBならば動くという話です
し、AndroidとLinuxの知識でどうにかなりそうです。
> 電話機の改造って違法になるんでしたっけ?
電話機の分解が電波法違反に当たったはずです。
面白そうなので、手持ちの端末数台でちょっと実験してみました。
スマートに行けそうですよ。
某端末は、USB4ピンのうち、
1P - 5V
2P - 5V
3P - N.C.
4P - GND
で充電接続すると充電されました。
この状態で、5V給電を止めて、
1P - 5V
2P - N.C.
3P - N.C.
4P - GND
で再給電すると充電はされませんがブートします。
この端末では、この状態で電源OFFしても、オフった途端にブートがかかり、ゾンビのように起動してきます
(^^;。
各社、いろいろUSBポートの接続に隠しコマンドを用意しているのでは無いでしょうか。
--
どんな手を使ってでも、とおっしゃるなら、こういうの見つけました。
http://stackoverflow.com/questions/4169387/how-to-make-android-device-boot-when-power-is-plugged-in
ようするに、電源オフ状態で電源つないだとき現れる、あのしょーもない
電池のアニメーションを変えられないだろうか、という話のようです。
私が思ったのは、このしょーもないアニメーションを司っているヤツを
やめにして、単にbootするって書けばいいのかなと。
#ただ、これってキャリアの「おまけ機能」な気がして、そうすると
#非公開かも。。
できるかどうかわかりません。ひとつのアイデアとして、です。
自分でAndroidのソースをROM焼きまでできるスキルが最低限必要でしょう。
あの、あまりに危険なので、全然お勧めしません。
端末が大量に文鎮化しても責任持てませんのであしからず。
ちょっと試してみましたが、結線をかえるいろいろなタイミングでブートに行くようなので、ノイズが入るのがきっかけなんじゃないかと思われます。
2012年4月25日18:49 たろサ <taro...@gmail.com>:
なかなかハードルが高い物ばかりなので困りましたが、今回は動作検証に作成したアプリを有効利用するために、バッテリー回りの配線と回路で対処したいと思います。
ICSのcharger modeにつきましては、興味がありますので次期バージョンの仕様に検討したいと思います。
ありがとうございました。
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/tUBIL2_Je6cJ にアクセスしてください。
皆様 色々な情報ありがとうございました。なかなかハードルが高い物ばかりなので困りましたが、今回は動作検証に作成したアプリを有効利用するために、バッテリー回りの配線と回路で対処したいと思います。
ICSのcharger modeにつきましては、興味がありますので次期バージョンの仕様に検討したいと思います。
ありがとうございました。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>