モーション検出機能付きのAndroidデバイスをオンにする(外部デバイス?)


10

問題

私は、ルート化されたAndroid(4.3)タブレットを起動し、誰かが半径2〜3mの範囲を通過したときに画面をオンにするように設定できるモーション検出器を探しています。

アイデア

私は間違いなくこのための外部デバイスを手に入れ、(妥当な)金額を投資するつもりです。それは、どういうわけかタブレットに接続できるものでなければなりません。

Androidプッシュ通知を送信できる、まともな検出品質(良好な角度と設定可能な距離)を持つホームオートメーション分野の近接検出器はありますか?必要に応じてコードを最初から作成することもできますが、ハードウェアの分野ではまったく無知であり、経験がないので、たとえばはんだごての持ち方がわかりません。;)

バックグラウンド

ここでのアイデアは、古いタブレットをある種の静止したダッシュボード画面に変換することです。そのため、バッテリーの消耗については特に心配していません(これは寿命になり、電源ケーブルを接続したまま使用する予定です)死ぬ)または激しい使用(私たちが24時間年中無休で100%のCPUについて話している場合を除き、おそらく数日でそれを殺します)。

これまでの研究

デバイスの既存のセンサーでこれが可能かどうかを少し調査しましたが、それは不可能だと思います。

近接センサーを使用する場合の問題は、何か(通話中に耳であると想定される)がそのすぐ隣(数センチ先)にあるかどうかのみを返すということです。しかし、私は2-3mのエリアで何かを探しています。

もう1つのアイデアは前面カメラですが、問題は、a)多くのデバイスのカメラが画面がオフのときに自動的にオフになることと、b)フォアグラウンドアプリのみがカメラにアクセスできることですが、タブレットに検出時に別のアプリを表示します。

プッシュ通知に応答して画面を起動することについて簡単に確認しましたが、PowerManager APIを使用してもそれほど難しくはありません。ディープスリープ時にデバイスがプッシュにどれほど速く応答するかはわかりませんが、それは二次的な問題です。


カスタムスクリプトを使用してBluetoothまたはNFCを使用しないのはなぜですか?同様の概念実証を他の場所で見たことがあります。PCでBluetoothを使用し、Bluetoothデバイスを首に装着し、PCデスクとPCを閉じたままにし、PCの近くに戻って、PCのロックが解除されます。
t0mm13b 2014

@ t0mm13b本当に何も着たくない。これは恒久的なセットアップを目的としており、BTデバイスを一生着用したくありません。;)NFCは、これがもはやハンズフリーではないことを意味します。しかし、彼らを続けてください、それは私が望んでいた種類の創造的なアイデアです。:)
hheimbuerger、2014

アプリには、「ホームオートメーション」とアプリとハードウェアのアラーム制御タイプがあります。これは、赤外線の人間の検出器が情報をデバイスに送り返す方法となる場合があります。
Psycogeek 2014

@Psycogeekええ、あなたは「ホームオートメーション」分野からのまともなモーションセンサーですか?
hheimbuerger 2014

特定のことは知りません。
Psycogeek 2014

回答:


6

簡単な解決策があることをお知らせするために、jastrzabによるMotion Detectorというアプリストアのアプリを組み合わせています。https://play.google.com/store/apps/details? id = org.motion.detector 次に、Turn Screenというプラグインをインストールします。https//play.google.com/store/apps/details?id = org.jastrzab.plugin.screen

  1. 両方のアプリをインストールします。
  2. モーション検出アプリを開き、設定の下部にある[送信]をオンにします。モーションディテクタ(上部)をクリックし、[カメラ]まで下にスクロールして、[正面]を選択します。
  3. 画面回転アプリを開きます。唯一のボタンをクリックしてアクティブにします。
  4. Androidの設定を開き、ロック画面をオフにするか、「なし」を選択します。
  5. 希望する時間にタイムアウトするようにスリープ設定を変更します。
  6. Daydreamをオフにします。
  7. タブレットが起動したときに画面に表示したいアプリ(またはホーム画面)を開くと、準備が整いました。画面がスリープ状態になり、カメラに近づくか手を振ると、画面が目覚めます。

日中またはライトをオンにした状態で問題なく動作します。私は現在、タブレットが暗闇の中で目覚めることを可能にする外部PIRモーションセンサーに取り組んでいます。これまでのシンプルなデザインは、安価なPIRセンサーとカメラの下に取り付けられた小さなLEDライトを使用するだけです。PIRのそばを歩くと、LEDライトがトリガーされてカメラが見えるようになり、モーションがトリガーされます。LEDをなくし、タブレットのヘッドフォンジャックまたはUSBを使用してPIRを直接タブレットに接続する方法を見つけたいと思っています。提案を歓迎しました。


ああ、アプリのメインページの上部にある青いモーションアイコン(「モーション検出」の横)をクリックして、モーション検出をオンにすることを忘れないでください。楽しむ
ダラスパーティン

これは私にとってはうまくいきました、ありがとう!Android 4.4キットカットの使用
Rusty Divine

Googleドライブに提供したリンクが壊れています。:(
Whit

5

ここダラスパーティンが 述べたように、モーション検出と呼ばれる無料のアプリがあります。私はしばらくそれを使用しており、フォアグラウンドで他のアプリで動作し、画面がロックされていることがわかります。これは内蔵カメラを使用して動きを検出するため、無料です。また、このためにデバイスをルート化する必要はありません。

はんだ付けの方法がわからないとおっしゃいましたが、これを行うための独自の外部センサーを作成する非常に簡単な方法があります。私が知っている2つの方法のうち、1つは以下のとおりです。

方法#1。内蔵カメラを使用する

  1. モーション検知器をダウンロードしてください。

  2. Taskerをダウンロードしてください。

  3. AutoStartをダウンロード

  4. Taskerアプリを起動し、右上隅にある3つのドットをタップします。

  5. [ 設定] →[ UI ](上部)をタップし、[ 初心者モード]をオフにします

  6. それを終了し、上部のVarsタブをタップします。

  7. タップ+して%DISPLAYSTATEという名前を付けます

  8. 移動プロファイル ]タブ、およびタップ+→選択イベント表示の表示を

  9. Backキー/ボタンをタップします。[新しいタスク]をタップして名前を付けDisplay Onます。

  10. +変数変数セットをタップします。名前の横にある鉛筆アイコンをタップします。

  11. %DISPLAYSTATEをタップし、[ To]表示されている場所をタップし1ます。

  12. 「ステップ11」を繰り返します。ただし、すべてを「ディスプレイオフ」に変更し、に配置1する場所を変更し0ます。

  13. 上部の[ シーン ]タブに移動します。

  14. タップ+して名前を付けます。

  15. 押したまま破線をドラッグし、画面のサイズにします。

  16. 左上にある歯車のアイコンをタップして戻ります。

  17. プロファイルをタップし、+ボタンを使用して新しいプロファイルを作成します。

  18. イベントシステムインテント受信をタップします。

  19. Actionと書かれている箇所以外はすべて無視できます。ここに入力する必要がありますorg.jastrzab.move.ACTION_GLOBAL_BROADCAST(大文字は重要です)。これでうまくいかない場合は、代わりに以下を試してくださいorg.motion.detector.ACTION_GLOBAL_BROADCAST

  20. 左上にある歯車のアイコン(背面)をタップします。メニューが表示されます。

  21. [ 新しいタスク]をタップして、名前を付けます。

  22. そのタスク内で+もう一度をタップし、シーンシーンを表示を押します。

  23. 名前と書かれている場所で、虫眼鏡のアイコン(鉛筆ではありません)をタップし、シーン名をタップします。

  24. ここで、「名前を付けて表示」、「アクティビティ、フルディスプレイ、バーなし」と表示されます。

  25. 一番下までスクロールし、それは言うならば。鉛筆アイコンをタップして%DISPLAYSTATEを選択します。

  26. 中央のボタンをタップして、[等しい]に変更します。右側のボックスに、と入力し0ます。

  27. タスク待機をタップ+して実行します。

  28. MSを25〜100のいずれかに変更します。

  29. +シーンシーン破棄をタップし、名前の虫眼鏡アイコンをクリックします。シーンを選択します。

  30. Taskerアプリのメイン画面に戻ります。

  31. 動体検知アプリに移動し、アプリがオフになっていることを確認します。そうでない場合は、青い円をタップします。

  32. 一番下に移動し、それが言うところの送信、それは確かであることを確認してください

  33. 上部に戻り、青い丸をもう一度タップしてオンにします。

  34. Auto Startを開き、Onになっていることを確認します。

  35. [ 追加] →[ すべてのアプリケーションを表示] →[ モーション検出]をタップします

  36. 「自動開始後にホーム画面に移動する」にチェックを入れ、「開始遅延」をに変更し5ます。

これは私にとって完璧に機能しています!

また、モーションディテクターには、モーションディテクターがオフのときに変更できる設定があることに注意してください。最も重要なのはカメラです。問題が発生している場合は、カメラ前面に設定されていることを確認してください。

2〜3cm以内の距離を感知できる外部センサーが必要だと言っていましたが、より遠くの感知ソリューションをうまく整えれば、これは非常に信頼性が高く、セットアップも比較的簡単です。しかし、それでも外部センサーに心を向けているなら、私もあなたにそのためのいくつかの指示を与えていただければ幸いです!

幸運を祈ります。これがあなたのお役に立てば幸いです。


あなたの答えをありがとう、私はこれをやがてやってみます!(しかし、残念ながら、現在このプロジェクトの時間はありません。)カメラがバックグラウンドで動作するかどうかはデバイス固有であると読みましたが、デバイスがそれを実行できるかどうかを確認します。
hheimbuerger

人はデバイスがにある部屋を通過したとき、すなわち、私は私が「2〜3センチメートル」内のセンサという感覚の運動をしたかったと言っていなかったのではなく、私は「2〜3メートル」と述べていることに注意してください。
hheimbuerger

「2〜3cm」以内の動きを感知するセンサーが必要だと言ったのではなく、「2〜3m」と言ったので、少し近づいたように思えました:) ほとんどのデバイスは、バックグラウンドでカメラを操作しますが、はい、それはすべてがそうするわけではないことを意味します。特定のデバイスでは機能せず、解決策が必要な場合は、10ドル未満で外部センサーを作成することはそれほど難しくありません。ただし、この方法ははるかに単純で、より構成可能です。あなたがそれに取り組む時間があるときはいつでもこれで頑張ってください!
ダニエルフォード

更新:インテントパッケージの名前がに変更されましたorg.motion.detector.ACTION_GLOBAL_BROADCAST。ここにドキュメントを参照してください:programy.jastrzab.com/…およびここにディスカッション:reddit.com/r/tasker/comments/27bvf8/help_motion_detector_app/…上記は引き続き機能します。このコメントで、新しいパッケージ名でパッケージ名を切り替えるだけです。
アンドレ・クリストファー・アンデルセン

@AndréChristofferAndersen知っておきたい!ご指摘いただきありがとうございます。混乱を避けるために答えに追加します。
Daniel Ford

1

これがあなたに合うかどうかわかりませんが、動きセンサー付きの電源プラグはどうですか?動きを検出すると、タブレットに電源が接続され、画面がオンになります。さらに、タスカーを使用すると、動きを検出したときに実行する多くのことを構成できます。


1

私はそれをみんなと言うのが嫌いですが、私がやったのは天井にある私のPIRからのフィード(すでにシャワーのLEDを制御しています)を私のAndroidに接続することだけでした。誰かが電話の電源スイッチに入ったとき、ボブはあなたの叔父です。


電源オン/オフ機能時のデバイスの画面の使用。いいね。
cde

1

家を監視するために壁に取り付けられたタブレットに近づいたときに、タブレット画面をオンにする方法を探していました。Nestサーモスタットと同じです。最近、ネイトクラークからKonnectedアラームシステムボードとwifiモジュールを購入しました。彼は、www.ozerov.de / fully-kiosk-browser /を使用するように勧めました。それは意図された目的のためにうまく働きます。Smartthingsと統合されたActiontilesを使用しています。私のタブレットは壁掛け式で、常時電源が供給されています。

           Nate Clark <nate@konnected.io>

0

Wimotoをチェックしてみてください。小型で安価なBluetoothセンサーで、いくつかのフレーバー(温度、モーションセンシング、液体検出など)があります。彼らは、Androidアプリが近々登場し、そのためのSDKが近い将来リリースされる予定だと言っています。

さらに、もっとシンプルなものが必要な場合(そしてタブレットに前面カメラが付いている場合)、アプリを使用するだけで済みます。たとえば、(クイック検索の直後に使用していないため)Camera Triggerです。

お役に立てれば。


Wimotoは私が考えていた種類のデバイスのように聞こえますが、モーションセンサーが見つかりませんでした。彼らは持っていますか?
hheimbuerger 2014

カメラトリガーには上記と同じ問題があり、画面がオフの場合、またはフォアグラウンドに別のアプリがある場合は機能しません。
hheimbuerger 2014

ええ、彼らはそれをWimoto歩哨と呼んでいます。私はまた、機能のカップルとマイクロセンサーであることより糸accross来ている
Hrafn

あなたが正しい。アマゾンでは「誤ってBluetoothスマートウォーターセンサー」と表示されているため、混乱しました。見た目は良いですが、入手できるようになるまでにはさらに数か月かかります。
hheimbuerger 2014

0

手頃な価格で手頃な価格のモーションセンサーは、Belkin WeMo Motionだけです。

Ian McCrackenは、OuimeauxdocsPyPi)と呼ばれるWeMoの非公式SDKを作成しました。

私の現在の計画は、Ouimeauxを使用してWeMo Motionからの信号に応答し、プッシュ通知をAndroidデバイスに送信するRaspberry Piで実行される小さなアプリケーションを作成することです。そして、プッシュ通知に応答してデバイスをウェイクアップし、画面をオンにするさらにシンプルなAndroidアプリ。(後者は代わりにTaskerでも実行できるかもしれません。)

2番目のステップとして、Ouimeauxの関連部分をJavaで書き換え、アプリからWeMoに直接接続して、Raspberry Piを不要にすることができます。

もちろん、改善提案は歓迎します。特に、Python /シェルスクリプト/それ以外の場合はプッシュ通知からAndroid画面を起動する既存の方法を知っている場合。これは、新しいアプリを作成する必要があるほど簡単に聞こえます。


デバイスロックを無効にすると、アクションの入力を取得する小さなアプリケーションを作成し、Java ProcessBuilderを使用して、キーイベントのシェルコマンドを実行できます。たとえば、「shell input keyevent 26」(電源ボタンを押す)などです。理論的には。ボタンを押した後、Android KitKatの新しい「screenrecord」機能を実行するために、現在作成中のアプリのバックグラウンドでシェルコマンドを実行しています。このようにして、シェルコマンドの実行が機能することを確認できます。
Hrafn 2014年

@Hrafnよくわかりませんでした。それを行う意図は何ですか?
hheimbuerger 2014年

あなたはスクリーンを目覚めさせる可能な方法を求めていました。何らかの入力を取得できる場合は、Javaプロセスを(バックグラウンドで実行されているAndroidプログラムの一部として)作成し、デバイスのシェルで電源ボタンをクリックして実行するようにできます。デバイスがロックしないように構成されている場合は、画面を復帰させます。
Hrafn 2014年

@Hrafnわかりましたが、質問ですでにリンクしているPowerManager APIを使用できます。必要なコードは約4行だけです。1つの可能性は、デバイスをケーブルで接続したままにし、Wakey Droidadbなどでウェイクアップをトリガーすることです。
hheimbuerger 2014年

承知しました。ただし、PowerManager APIを使用するには、ウェイク状態を自分で管理する必要があります(私はそう思います)。したがって、ウェイクロックを取得した場合、一定時間後に電源切断信号を送信する必要があります。シェルを介したkeyevent呼び出しでは、それを管理する必要はなく、システムにすべてを処理させることができます。
Hrafn 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.