2017-09-25 12 views
12

私は、Androidの携帯電話とBluetoothリモートシャッターをペアにしました。リモートシャッターは、ブルートゥースキーボードのように機能します。ブルートゥースリモートシャッターをプログラムで起動させることは可能ですか?

私のアプリはリモートシャッターで作成されたキーボードイベントをうまく処理しますが、リモートシャッターは90秒後にスリープ状態になり、次のキーを押す前に1回押す必要があります。

私は最初のキーを押しても失われないように、リモートシャッターを目覚めさせるためのメカニズムが必要です。 (はい、私は睡眠モードがエネルギーを節約することを理解していますが、低レイテンシが必要です)。

クライアントとサーバーの両方でデバイスに接続しようとしましたが、デバイスにOutputStreamで何かを送ることができれば嬉しいです。しかし、私は接続を作成することができませんでした。

プログラムでリモートシャッターを起動させる方法はありますか?

は、以下の回答に基づいて、私は疑っていない

ただ、完全を期すためにペアリングデバイスの詳細については、以下のとおりです。

  • 名= AB Shutter3
  • MAC = Some_MAC_ADDRESS
  • btClass = 2540
  • btType = 1つの
  • のUUID = [00001124-0000-1000-8000-00805f9b34fb、 00000000-0000-1000-8000-00805f9b34fb]
+0

シャッターの名前は何ですか? –

+0

「ABシャッター3」 – William

+0

3人のレスポンダーのおかげです。私の要求に合ったデバイスをアクティブに保つ方法がないとの結論に至りましたが、モハメドの答えは、受け入れ可能な解決策の道を私に最も遠くまで導きました。興味のある人には、私は、BTデバイスが起きてアプリケーション状態と共にそれを使って適切なアクションを決定することを決定するために、ACL_CONNECTED BroadcastIntentを聞くことを選択しました。 – William

答えて

1

あり、これは成し遂げるために何のプログラム的な方法はありませんが、あなたがあなたの問題のための3つの可能な解決策を持っている:

  1. はアルドゥイーノやラズベリーパイ
  2. を使用して、独自のシャッターを作る
  3. 寝ていないシャッターを取得
  4. シャットダウンするたびにデバイスを有効にする追加の回路を追加して、ABシャッターを変更します。この目的のために、これらのリンクを利用して、回路の詳細とその修正方法を知ることができます:http://www.the-bridge.cc/ct137s15/?p=2647https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/
4

リモートシャッターファームウェアに依存しているようです。最後のキーを押してから90秒後にスリープ状態になると、プログラムで(ファームウェアを変更しない限り)起動する方法はありません。最も簡単な解決策は、スリープモード(またはDIY bt/bleボタン)なしでリモートシャッターを使用することです。とにかく、シャッター・バッテリーから給電され、シャッター・ボタンの1つに並列接続された外部回路(例えば555タイマーベース)を使用することができます。シャッター・ボタンは90.1秒ごとにパルスを生成し、最初のキー・プレスとウェイクアップ・シャッターをシミュレートします。

0

はい、入力信号を受け入れる限り、接続のもう一方の端を起き続けることは可能です。

あなたが述べたように、

私は、デバイスへのOutputStreamに何かを送ることができることを期待して、クライアントとサーバの両方のデバイスに接続しようとしています。しかし、私は接続を作成することができませんでした。

これは、Bluetoothデバイスを起床させておくための最良の方法です。 Thisは、Nexus Playerのリモートにプログラムで[Linux Platform]を送信するために使用したデバイスです。最初は、Linux端末でHIDDとRFCOMMコマンドを使用し、Cで接続を実装し始めました。

その他の方法では、必要に応じてデバイスのファームウェアを変更できます(可能な場合)。

例外:BTデバイスのファームウェアが、ボタンを押すだけで起動し、他の入力信号がタイマーまたはカウンタをリセットできないように設計されている場合、外部からは実行できないことはありませんそのデバイスの世界。読書Hereは、AB Shutterがその1つであることを示唆しています(しかし、確かに確かではありません)。

関連する問題