2017-09-25 14 views
12

Tôi có một màn trập từ xa bluetooth được ghép nối với điện thoại Android của mình. Màn trập từ xa hoạt động như bàn phím bluetooth.Có thể giữ màn trập bluetooth từ xa được lập trình không?

Ứng dụng của tôi xử lý các sự kiện bàn phím được tạo bởi màn trập từ xa, nhưng màn trập từ xa chuyển sang chế độ ngủ sau 90 giây và yêu cầu một phím bấm để đánh thức nó trước khi nó gửi lần nhấn phím tiếp theo.

Tôi cần một cơ chế để giữ nút chụp từ xa tỉnh táo để tôi không bị mất lần bấm phím đầu tiên đó. (Có, tôi hiểu chế độ ngủ là để tiết kiệm năng lượng, nhưng tôi cần độ trễ thấp).

Tôi đã thử kết nối với thiết bị với tư cách là máy khách và máy chủ, với hy vọng rằng tôi có thể gửi thứ gì đó trên OutputStream đến thiết bị. Nhưng tôi không thể tạo kết nối.

Vẫn còn cách nào để giữ cho chế độ chụp trập từ xa có lập trình không?

Dựa trên các câu trả lời sau đây tôi nghi ngờ không

Chỉ cần cho đầy đủ các chi tiết của thiết bị ghép là:

  • name = AB Shutter3
  • MAC = Some_MAC_ADDRESS
  • btClass = 2540
  • btType = 1
  • UUIDs = [00001124-0000-1000-8000-00805f9b34fb, 00000000-0000-1000-8000-00805f9b34fb]
+0

Tên cửa trập là gì? –

+0

Nó được gọi là "AB Shutter3" – William

+0

Cảm ơn tất cả 3 người trả lời. Trong khi tôi đã đi đến kết luận rằng không có cách nào để giữ cho thiết bị hoạt động phù hợp với yêu cầu của chúng tôi, câu trả lời của Mohamed đã đưa tôi xuống một con đường cho một giải pháp có thể chấp nhận được. Đối với những người quan tâm tôi đã chọn nghe ACL_CONNECTED BroadcastIntent để xác định rằng thiết bị BT đã đánh thức và sử dụng thiết bị đó cùng với trạng thái ứng dụng để xác định hành động thích hợp. – William

Trả lời

1

Không có cách nào chương trình để thực hiện điều này nhưng bạn có 3 giải pháp khả thi cho vấn đề của bạn:

  1. Nhận một màn trập mà không ngủ
  2. Hãy màn trập của riêng bạn sử dụng Arduino hoặc Raspberry Pi
  3. Sửa đổi màn trập AB bằng cách thêm một mạch bổ sung cho phép thiết bị của bạn mỗi khi thiết bị tắt. Với mục đích này, bạn có thể tận dụng lợi thế từ các liên kết đó để biết thêm về mạch và cách bạn có thể sửa đổi nó: http://www.the-bridge.cc/ct137s15/?p=2647https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/
4

Dường như nó hoàn toàn phụ thuộc vào phần mềm màn trập từ xa: nếu nó chuyển sang chế độ ngủ sau 90 giây sau lần nhấn phím cuối cùng - không có cách nào đánh thức chương trình (trừ khi thay đổi phần sụn). Giải pháp dễ nhất là sử dụng màn trập từ xa mà không có chế độ ngủ (hoặc nút bt/ble DIY). Và dù sao bạn cũng có thể sử dụng mạch ngoài (ví dụ như bộ đếm thời gian 555) được hỗ trợ từ pin màn trập và kết nối song song với một trong các nút chụp, tạo ra xung mỗi 90,1 giây để mô phỏng bấm phím đầu tiên và đánh thức màn trập.

0

Có, có thể giữ cho đầu kia của kết nối tỉnh táo miễn là nó chấp nhận tín hiệu đầu vào.

Như bạn nói,

Tôi đã cố gắng kết nối với các thiết bị như cả client và server, với hy vọng rằng tôi có thể gửi một cái gì đó trên OutputStream với điện thoại. Nhưng tôi không thể tạo kết nối.

Đây là cách tốt nhất để giữ cho thiết bị bluetooth tỉnh táo. This là thiết bị mà tôi đã sử dụng để gửi tín hiệu đến chương trình từ xa của Nexus Player [Nền tảng Linux] của Nexus Player. Ban đầu, tôi đã sử dụng lệnh HIDD và RFCOMM trên thiết bị đầu cuối Linux và sau đó bắt đầu triển khai kết nối trong C.

Cách khác là sửa đổi phần sụn của thiết bị theo yêu cầu của bạn (Nếu có thể).

Ngoại lệ: Nếu phần sụn của thiết bị BT được thiết kế sao cho chỉ nhấn nút sẽ tỉnh táo và không có tín hiệu đầu vào khác có thể đặt lại bộ hẹn giờ hoặc bộ đếm thì không có gì có thể thực hiện từ bên ngoài thế giới của thiết bị đó. Và đọc Here cho một gợi ý rằng AB Shutter là một trong số họ (Vẫn không chắc chắn).

Các vấn đề liên quan