Bật thiết bị Android bằng trình phát hiện chuyển động (thiết bị bên ngoài?)


10

Vấn đề

Tôi đang tìm kiếm một bộ phát hiện chuyển động có thể được thiết lập để đánh thức máy tính bảng Android (4.3) đã root và bật màn hình khi có ai đó đi ngang qua nó trong bán kính khoảng 2-3m.

Ý tưởng

Tôi chắc chắn sẵn sàng nhận một thiết bị bên ngoài cho việc này và đầu tư một số tiền (hợp lý), nó sẽ chỉ là một thiết bị mà tôi có thể kết nối với máy tính bảng bằng cách nào đó.

Có thể có bất kỳ máy dò gần nào từ lĩnh vực tự động hóa gia đình với chất lượng phát hiện khá (góc tốt và khoảng cách cấu hình) có thể gửi thông báo đẩy Android không? Tôi có thể viết một số mã từ đầu nếu cần thiết, nhưng tôi rất không biết và không có kinh nghiệm trong lĩnh vực phần cứng, vì vậy tôi sẽ không biết cách cầm bàn ủi hàn chẳng hạn. ;)

Lý lịch

Ý tưởng ở đây là biến một chiếc máy tính bảng cũ thành một loại màn hình bảng điều khiển cố định, vì vậy tôi không đặc biệt lo lắng về việc hao pin (nó đã hết tuổi thọ và từ giờ sẽ được sử dụng với cáp nguồn được cắm cho đến khi chết) hoặc sử dụng mạnh mẽ (trừ khi chúng ta nói về CPU 100% 24/7, có thể sẽ giết chết nó trong vài ngày).

Nghiên cứu trước đây

Tôi đã điều tra một chút liệu điều này có thể được thực hiện với các cảm biến hiện có trong thiết bị hay không và tôi tin rằng điều đó là không thể.

Vấn đề với việc sử dụng cảm biến tiệm cận là nó thực sự chỉ trả về việc có thứ gì đó (được coi là tai của bạn khi đang trong cuộc gọi) ở ngay bên cạnh nó hay không (cách vài centimet). Nhưng tôi đang tìm kiếm thứ gì đó trong khu vực 2-3m.

Ý tưởng khác sẽ là camera phía trước, nhưng vấn đề dường như là a) camera trong nhiều thiết bị sẽ tự động tắt khi màn hình tắt và b) chỉ các ứng dụng tiền cảnh mới có thể truy cập vào camera, nhưng tôi muốn máy tính bảng hiển thị một ứng dụng khác về phát hiện.

Tôi đã có một cái nhìn nhanh về việc đánh thức màn hình để phản hồi các thông báo đẩy và điều đó dường như không quá khó khi sử dụng API PowerManager . Không chắc thiết bị sẽ phản ứng nhanh như thế nào khi bị đẩy khi ngủ sâu, nhưng đó là vấn đề thứ yếu.


Tại sao không sử dụng Bluetooth hoặc NFC bằng cách sử dụng tập lệnh tùy chỉnh? Đã thấy một bằng chứng tương tự ở nơi khác, sử dụng bluetooth trên PC và thiết bị bluetooth đeo quanh cổ, để bàn PC và khóa PC, quay lại gần PC, PC tự mở khóa.
t0mm13b

@ t0mm13b Tôi không thực sự muốn mặc gì cả. Điều này được dự định là một thiết lập vĩnh viễn và tôi không muốn đeo thiết bị BT cho đến hết đời. ;) NFC có nghĩa là điều này không còn rảnh tay nữa, mà tôi cũng thích nó hơn. Nhưng hãy để chúng đến, đó là loại ý tưởng sáng tạo mà tôi đã hy vọng. :)
hheimbuerger

Trong các ứng dụng có "tự động hóa nhà" và loại ứng dụng và phần cứng điều khiển báo động. Đó có thể là một cách để có được một máy dò hồng ngoại của con người gửi thông tin trở lại thiết bị.
Psycogeek

@Psycogeek Vâng, bạn có cảm biến chuyển động tốt từ trường 'tự động hóa nhà' không?
hheimbuerger

Tôi không biết một cái cụ thể.
Psycogeek ngày

Câu trả lời:


6

Chỉ để cho bạn biết tôi có một số giải pháp đơn giản, nó kết hợp một ứng dụng từ cửa hàng ứng dụng có tên là Trình phát hiện chuyển động của jastrzab: https://play.google.com/store/apps/details?id=org.motion.detector Sau đó cài đặt plugin có tên Turn Screen: https://play.google.com/store/apps/details?id=org.jastrzab.plugin.screen

  1. Cài đặt cả hai ứng dụng.
  2. Mở ứng dụng Phát hiện chuyển động và bật "Gửi" ở cuối cài đặt. Nhấp vào trình phát hiện chuyển động (ở trên cùng) và sau đó cuộn xuống "camera" và chọn "phía trước".
  3. Mở ứng dụng Turn Screen. nhấp vào nút duy nhất để làm cho nó hoạt động.
  4. Mở cài đặt Android, Tắt màn hình khóa hoặc chọn "không".
  5. Thay đổi cài đặt ngủ để hết giờ trong thời gian mong muốn.
  6. Tắt mơ mộng.
  7. Mở ứng dụng (hoặc màn hình chính) mà bạn muốn hiển thị trên màn hình khi máy tính bảng thức dậy và bạn đã hoàn tất! Đợi màn hình đi ngủ và đi bộ hoặc vẫy tay với máy ảnh của bạn và nó sẽ đánh thức nó.

Hoạt động tuyệt vời trong ngày hoặc với đèn bật. Tôi hiện đang làm việc trên một cảm biến chuyển động Pir bên ngoài sẽ cho phép máy tính bảng thức dậy trong bóng tối. Thiết kế đơn giản cho đến nay chỉ sử dụng cảm biến Pir giá rẻ và đèn led nhỏ gắn bên dưới camera. Khi tôi đi bộ bằng Pir sẽ kích hoạt đèn LED cho phép camera nhìn thấy, điều này kích hoạt chuyển động. Hy vọng tìm ra cách loại bỏ đèn LED và chỉ cần chạy trực tiếp Pir vào máy tính bảng bằng giắc cắm tai nghe hoặc USB trên máy tính bảng. Gợi ý hoan nghênh.


Ồ và đừng quên bật trình phát hiện chuyển động bằng cách nhấp vào vòng tròn màu xanh trên đầu trang chính của ứng dụng (bên cạnh "Trình phát hiện chuyển động"). Tận hưởng
Dallas Partin

Điều này làm việc rất tốt cho tôi, cảm ơn! Sử dụng kitkat Android 4.4
Rusty Divine

Liên kết bạn cung cấp cho Google Drive bị hỏng. :(
Whit

5

Như Dallas Partin đã đề cập ở đây , có một ứng dụng miễn phí có tên là Máy dò chuyển động . Tôi đã sử dụng nó được một thời gian và có thể cho bạn biết nó sẽ hoạt động với các ứng dụng khác ở nền trước và màn hình bị khóa. Điều này sẽ phát hiện chuyển động bằng camera tích hợp, vì vậy nó miễn phí. Ngoài ra, bạn không phải root thiết bị của mình cho việc này.

Bạn nói rằng bạn không biết cách hàn, nhưng có một cách rất đơn giản để tạo cảm biến bên ngoài của riêng bạn cho việc này. Trong hai phương pháp mà tôi biết, tôi đã đề cập đến một phương pháp dưới đây:

Phương pháp # 1. Sử dụng camera tích hợp

  1. Tải về Bộ dò chuyển động .

  2. Tải Tasker .

  3. Tải xuống Tự động khởi động

  4. Khởi chạy ứng dụng Tasker và nhấn vào ba dấu chấm ở góc trên cùng bên phải.

  5. Nhấn Tùy chọnGiao diện người dùng (ở trên cùng), bỏ chọn Chế độ người mới bắt đầu .

  6. Thoát khỏi đó và nhấn vào tab Vars ở trên cùng.

  7. Nhấn +và đặt tên là % HIỂN THỊ .

  8. Chuyển đến tab Cấu hình và nhấn +→ chọn Sự kiệnHiển thịHiển thị Bật .

  9. Nhấn Backphím / nút. Nhấn vào Tác vụ mới , đặt tên cho nó Display On.

  10. Nhấn +BiếnBộ biến . Nhấn vào biểu tượng bút chì bên cạnh Tên .

  11. Tap % DISPLAYSTATE và nơi nó nói Để , làm cho nó 1.

  12. Lặp lại "bước 11" ngoại trừ việc thay đổi tất cả mọi thứ để hiển thị Tắt và sự thay đổi mà chúng ta đưa 1tới 0.

  13. Chuyển đến tab Cảnh ở trên cùng.

  14. Nhấn +và đặt tên cho nó một cái gì đó.

  15. Giữ và kéo trên đường đứt nét và làm cho nó có kích thước màn hình của bạn.

  16. Nhấn vào biểu tượng bánh răng ở góc trên bên trái để quay lại.

  17. Chạm vào Hồ sơ và tạo một cái mới bằng cách sử dụng +nút.

  18. Chạm vào Sự kiệnHệ thốngNhận ý định .

  19. Bạn có thể bỏ qua mọi thứ trừ trường hợp nó nói Hành động . Ở đây bạn cần phải nhập org.jastrzab.move.ACTION_GLOBAL_BROADCAST(mũ là quan trọng). Nếu điều này không hiệu quả với bạn, hãy thử những điều sau đây org.motion.detector.ACTION_GLOBAL_BROADCAST.

  20. Nhấn vào biểu tượng bánh răng (trở lại) ở góc trên cùng bên trái. Nó sẽ bật lên với một menu.

  21. Nhấn vào Nhiệm vụ mới và đặt tên cho nó.

  22. Trong tác vụ đó, chạm +lại lần nữa và nhấn CảnhHiển thị cảnh .

  23. Trong đó ghi tên , chạm vào biểu tượng kính lúp (không phải bút chì) và nhấn vào tên cảnh của bạn .

  24. Bây giờ, nơi nó hiển thị Hiển thị dưới dạng "Hoạt động, Hiển thị đầy đủ, Không có thanh".

  25. Cuộn xuống phía dưới và nó sẽ nói nếu . Nhấn vào biểu tượng bút chì và chọn % HIỂN THỊ .

  26. Nhấn vào nút ở giữa và thay đổi nó thành Bằng. Trên hộp bên phải, gõ 0.

  27. Chạm +và thực hiện tác vụĐợi .

  28. Thay đổi MS thành một nơi nào đó trong khoảng từ 25 đến 100.

  29. Chạm vào +CảnhHủy cảnh và nhấn biểu tượng kính lúp trên Tên . Chọn cảnh của bạn.

  30. Bây giờ hãy quay lại màn hình chính của ứng dụng Tasker .

  31. Đi vào ứng dụng Phát hiện chuyển động và đảm bảo rằng nó đã được tắt. Nếu không, chạm vào vòng tròn màu xanh.

  32. Đi xuống dưới cùng và nơi nó nói Gửi , hãy chắc chắn rằng nó đang Bật .

  33. Quay trở lại đầu trang và chạm vào vòng tròn màu xanh một lần nữa để làm cho nó bật.

  34. Mở Auto Start và chắc chắn rằng nó nói On .

  35. Nhấn vào ThêmHiển thị tất cả các ứng dụng → Trình phát hiện chuyển động .

  36. Kiểm tra "đi đến màn hình chính sau khi tự động bắt đầu" và thay đổi "bắt đầu trì hoãn" thành 5.

Điều này đã được làm việc hoàn hảo cho tôi!

Ngoài ra, xin lưu ý rằng trong Trình phát hiện chuyển động có các cài đặt bạn có thể thay đổi khi Trình phát hiện chuyển động tắt . Một trong những điều quan trọng nhất là Camera. Nếu bạn gặp sự cố, vui lòng đảm bảo rằng Camera được đặt thành Front .

Bạn đã nói rằng bạn muốn một cảm biến bên ngoài có thể cảm nhận được khoảng cách trong vòng 2-3cm, nhưng nếu bạn ổn định cho một giải pháp cảm biến xa hơn, thì điều này rất đáng tin cậy và tương đối dễ cài đặt! Nhưng nếu bạn vẫn đặt trái tim của mình lên một cảm biến bên ngoài, tôi sẽ rất vui khi được cung cấp cho bạn một số hướng dẫn cho điều đó!

Chúc may mắn, và tôi hy vọng điều này sẽ giúp bạn!


Cảm ơn câu trả lời của bạn, cuối cùng tôi sẽ thử! (Nhưng hiện tại không có thời gian cho dự án này, thật không may.) Tôi tin rằng tôi đã đọc rằng liệu máy ảnh hoạt động ở chế độ nền có dành riêng cho thiết bị hay không, nhưng tôi sẽ xem liệu thiết bị của mình có làm được không.
hheimbuerger

Lưu ý rằng tôi đã không nói rằng tôi muốn một cảm biến cảm nhận chuyển động trong "2-3cm", nhưng tôi đã nói "2-3m", tức là khi một người đi qua phòng thì thiết bị đang ở.
hheimbuerger

lưu ý rằng tôi đã không nói rằng tôi muốn một cảm biến cảm nhận chuyển động trong "2-3cm", nhưng tôi đã nói "2-3m" Ok, tôi đã nghĩ rằng có vẻ hơi gần :) Tôi đã đọc rằng hầu hết các thiết bị sẽ làm việc với máy ảnh ở chế độ nền, nhưng vâng, điều đó có nghĩa là không phải tất cả sẽ. Nếu nó không hoạt động trên thiết bị cụ thể của bạn và bạn vẫn muốn có giải pháp, việc tạo cảm biến bên ngoài không khó thực hiện với giá dưới 10 đô la. Tuy nhiên, phương pháp này là nhiều đơn giản hơn và cấu hình hơn. Chúc may mắn với điều này bất cứ khi nào bạn có thời gian để làm việc trên nó!
Daniel Ford

CẬP NHẬT: Gói ý định đã được đổi tên thành org.motion.detector.ACTION_GLOBAL_BROADCAST. Xem tài liệu tại đây: programy.jastrzab.com/ và thảo luận tại đây: reddit.com/r/tasker/comments/27bvf8/help_motion_detector_app/ trộm Cách trên vẫn hoạt động; chỉ cần chuyển tên gói với tên mới trong bình luận này.
André Christoffer Andersen

@ AndréChristofferAndersen Rất tốt để biết! Cảm ơn bạn đã chỉ ra rằng; Tôi sẽ thêm nó vào câu trả lời để tránh nhầm lẫn.
Daniel Ford

1

Tôi không biết điều này có phù hợp với bạn không, nhưng còn phích cắm điện có cảm biến chuyển động thì sao? Khi phát hiện chuyển động, máy tính bảng sẽ được kết nối nguồn và màn hình sẽ bật. Ngoài ra với Tasker, bạn có thể định cấu hình nhiều việc cần làm hơn khi phát hiện chuyển động.


1

Tôi ghét phải nói điều đó, nhưng tất cả những gì tôi đã làm là gắn nguồn cấp dữ liệu của tôi từ Pir trên trần nhà (đã điều khiển đèn led khi tắm) cho Android của tôi. Khi ai đó đi vào công tắc nguồn trên điện thoại và bob là chú của bạn.


Sử dụng Màn hình của thiết bị khi tính năng Bật / Tắt nguồn. Đẹp.
cde

1

Tôi đã tìm cách bật màn hình máy tính bảng khi đến gần Máy tính bảng được gắn trên tường để theo dõi nhà của tôi. Cũng giống như bộ điều nhiệt Nest. Gần đây tôi đã mua bo mạch hệ thống báo động Konnected và mô-đun wifi từ Nate Clark. Anh ấy đề nghị tôi sử dụng www.ozerov.de/fully-kiosk-browser/ Có một khoản phí giấy phép nhỏ. Nó hoạt động tốt cho mục đích dự định. Tôi đang sử dụng Actiontiles được tích hợp với Smartthings của mình. Máy tính bảng của tôi được gắn trên tường với nguồn cung cấp điện liên tục.

           Nate Clark <nate@konnected.io>

0

Bạn có thể muốn kiểm tra Wimoto . Chúng là những cảm biến bluetooth nhỏ và rẻ, có một vài hương vị (nhiệt độ, cảm biến chuyển động, phát hiện chất lỏng, v.v.). Họ nói rằng có một ứng dụng Android đang đến và sẽ có một SDK được phát hành trong tương lai gần cho nó.

Sau đó, một lần nữa, nếu bạn muốn một cái gì đó đơn giản hơn (và máy tính bảng của bạn có camera phía trước), bạn có thể chỉ cần sử dụng một ứng dụng. Ví dụ: (chỉ sau khi tìm kiếm nhanh nên chưa sử dụng) Camera Trigger .

Hi vọng điêu nay co ich.


Wimoto nghe giống như loại thiết bị tôi đã nghĩ đến, nhưng tôi không thể tìm thấy cảm biến chuyển động. Họ có một cái không?
hheimbuerger

Camera Trigger có cùng các vấn đề được đề cập ở trên, nó không hoạt động với màn hình tắt hoặc khi có một ứng dụng khác ở phía trước.
hheimbuerger

Vâng, họ gọi nó là Wimoto Sentry. Tôi cũng đã đi qua Twine cũng là một cảm biến vi mô với một vài tính năng
Hrafn

Bạn đúng. Tôi đã nhầm lẫn bởi vì trên Amazon, nó (không chính xác, tôi đoán) được liệt kê là "Cảm biến nước thông minh Bluetooth". Có vẻ tốt, nhưng dường như sẽ còn một vài tháng nữa cho đến khi chúng ta có thể có được một cái.
hheimbuerger

0

Cảm biến chuyển động hợp lý và giá cả phải chăng mà tôi có thể tìm thấy là Belkin WeMo Motion .

Ian McCracken đã tạo ra một SDK không chính thức cho WeMo có tên là Ouimeaux ( docs , PyPi ).

Kế hoạch hiện tại của tôi là viết một ứng dụng nhỏ chạy trên Raspberry Pi sử dụng Ouimeaux để phản hồi tín hiệu từ Chuyển động WeMo và gửi thông báo đẩy tới thiết bị Android. Và sau đó, một ứng dụng Android thậm chí còn đơn giản hơn đáp ứng thông báo đẩy và đánh thức thiết bị và bật màn hình. (Cái sau cũng có thể thực hiện được với Tasker thay thế.)

Bước thứ hai, các phần có liên quan của Ouimeaux có thể được viết lại bằng Java và sau đó có thể kết nối trực tiếp từ ứng dụng với WeMo, khiến Raspberry Pi trở nên thừa.

Đề xuất cải tiến chào đón, tất nhiên. Cụ thể, nếu bạn biết một cách hiện có để đánh thức màn hình Android từ tập lệnh Python / shell / nếu không thì kích hoạt thông báo đẩy. Nghe có vẻ quá tầm thường khi yêu cầu viết một ứng dụng mới.


Nếu bạn tắt khóa thiết bị, bạn có thể tạo một ứng dụng nhỏ lấy đầu vào để hành động và sử dụng Java ProcessBuilder để chạy lệnh shell cho một sự kiện quan trọng, ví dụ 'shell input keyevent 26' (nhấn nút Nguồn), nên trong công việc lý thuyết. Tôi hiện đang chạy lệnh shell sau khi nhấn nút, để chạy tính năng 'screenrecord' mới trong Android KitKat, làm nền cho ứng dụng tôi đang tạo để tôi có thể xác minh rằng chạy lệnh shell theo cách này hoạt động.
Hrafn

@Hrafn Tôi không hiểu lắm: ý định đằng sau việc đó là gì?
hheimbuerger

Bạn đang yêu cầu những cách có thể để đánh thức màn hình. Nếu bạn có thể nhận được một số loại đầu vào, bạn có thể tạo Quy trình Java (như một phần của chương trình Android đang chạy trong nền) và làm cho nó chạy một nút nguồn nhấp vào vỏ của thiết bị. Điều đó sẽ, nếu thiết bị được cấu hình để không khóa, đánh thức màn hình lên.
Hrafn

@Hrafn Tôi hiểu, nhưng sau đó bạn chỉ có thể sử dụng API PowerManager mà tôi đã liên kết đến trong câu hỏi. Nó chỉ cần khoảng bốn dòng mã. Mặc dù một khả năng sẽ là giữ cho thiết bị được kết nối với cáp và chỉ kích hoạt việc thức dậy thông qua adbmột thứ như Wakey Droid .
hheimbuerger

Chắc chắn rồi. Nhưng để sử dụng API PowerManager, bạn cần quản lý trạng thái thức của chính mình (tôi nghĩ vậy). Vì vậy, nếu bạn có được wakelock, bạn muốn gửi tín hiệu tắt nguồn sau một thời gian nhất định. Với cuộc gọi quan trọng thông qua shell, bạn không phải quản lý điều đó và chỉ có thể để hệ thống xử lý mọi thứ.
Hrafn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.