Problem
Szukam detektora ruchu, który można skonfigurować tak, aby budził zrootowany tablet z Androidem (4.3) i włączał ekran, gdy ktoś mija go w promieniu około 2-3 metrów.
Pomysły
Zdecydowanie jestem skłonny kupić do tego urządzenie zewnętrzne i zainwestować (rozsądną) kwotę, musiałbym po prostu podłączyć urządzenie do tabletu.
Czy mogą być jakieś czujniki zbliżeniowe z dziedziny automatyki domowej o przyzwoitej jakości wykrywania (dobry kąt i konfigurowalna odległość), które mogą wysyłać powiadomienia push Android? W razie potrzeby jestem w stanie napisać kod od zera, ale jestem bardzo nieświadomy i niedoświadczony w dziedzinie sprzętu, więc na przykład nie wiedziałbym, jak trzymać lutownicę. ;)
tło
Chodzi o to, aby przekształcić stary tablet w jakiś stacjonarny ekran deski rozdzielczej, więc nie martwię się szczególnie zużyciem baterii (teraz jest już zużyty i od tej pory będzie używany z podłączonym kablem zasilającym aż do umiera) lub intensywne użytkowanie (chyba że mówimy o 100% CPU 24/7, co prawdopodobnie zabiłoby go w ciągu kilku dni).
Poprzednie badania
Zbadałem trochę, czy można to zrobić za pomocą istniejących czujników w urządzeniu i uważam, że nie jest to możliwe.
Problem z użyciem czujnika zbliżeniowego polega na tym, że tak naprawdę zwraca on tylko to, czy coś (zakładając, że jest to ucho podczas rozmowy) znajduje się tuż obok niego (kilka centymetrów dalej). Ale szukam czegoś w obszarze 2-3m.
Innym pomysłem byłby aparat przedni, ale wydaje się, że problem polega na tym, że a) aparat w wielu urządzeniach automatycznie wyłącza się, gdy ekran jest wyłączony oraz b) tylko aplikacje pierwszego planu mogą uzyskać dostęp do kamery, ale chcę, aby tablet pokaż inną aplikację po wykryciu.
Rzuciłem okiem na budzenie ekranu w odpowiedzi na powiadomienia wypychane i nie wydaje się to zbyt trudne przy użyciu interfejsu API PowerManager . Nie jestem pewien, jak szybko urządzenie zareaguje na pchnięcie podczas głębokiego snu, ale jest to drugorzędny problem.
Odpowiedzi:
Aby poinformować, że mam trochę prostego rozwiązania, łączy aplikację ze sklepu z aplikacjami o nazwie Motion Detector firmy jastrzab: https://play.google.com/store/apps/details?id=org.motion.detector Następnie zainstaluj wtyczkę o nazwie Turn Screen: https://play.google.com/store/apps/details?id=org.jastrzab.plugin.screen
Działa świetnie w ciągu dnia lub przy włączonych światłach. Obecnie pracuję nad zewnętrznym czujnikiem ruchu PIR, który pozwoli tabletowi obudzić się w ciemności. Prosta konstrukcja do tej pory wykorzystuje tylko tani czujnik PIR i małą lampkę LED zamontowaną pod kamerą. Kiedy przechodzę obok PIR, wyzwala światło LED, pozwalając na zobaczenie kamery, która wyzwala ruch. Mając nadzieję, aby dowiedzieć się, jak wyeliminować diodę LED i po prostu uruchomić PIR bezpośrednio do tabletu za pomocą gniazda słuchawkowego lub USB na tablecie. Sugestie mile widziane.
źródło
Jak wspomniano tutaj Dallas Partin , istnieje bezpłatna aplikacja o nazwie Motion Detector . Używam go od dłuższego czasu i mogę powiedzieć, że będzie działał z innymi aplikacjami na pierwszym planie i przy zablokowanym ekranie. Wykryje ruch za pomocą wbudowanej kamery, więc jest bezpłatny. Ponadto nie musisz do tego rootować urządzenia.
Powiedziałeś, że nie umiesz lutować, ale istnieje bardzo prosty sposób na stworzenie własnego zewnętrznego czujnika. Spośród dwóch metod, o których wiem, wspomniałem jedną poniżej:
Metoda nr 1. Korzystanie z wbudowanej kamery
Pobierz Motion Detector .
Pobierz Tasker .
Pobierz AutoStart
Uruchom aplikację Tasker i dotknij trzech kropek w prawym górnym rogu.
Dotknij Preferencje → Interfejs użytkownika (u góry), odznacz Tryb dla początkujących .
Wyjdź z tego i dotknij karty Vars u góry.
Naciśnij
+
i nazwij go % DISPLAYSTATE .Przejdź do karty Profile i dotknij
+
→ wybierz Wydarzenie → Wyświetlacz → Wyświetl włączone .Naciśnij Backklawisz / przycisk. Stuknij Nowe zadanie , nazwij je
Display On
.Dotknij
+
→ Zmienne → Zestaw zmiennych . Stuknij ikonę ołówka obok opcji Nazwa .Stuknij % DISPLAYSTATE i tam, gdzie jest napisane To , zrób to
1
.Repeat „krok 11” oprócz tego, że wszystko zmieni się wyłączenia wyświetlania i zmiany, gdzie stawiamy
1
na0
.Przejdź do zakładki Sceny u góry.
Stuknij
+
i nazwij coś.Przytrzymaj i przeciągnij linię przerywaną i ustaw rozmiar ekranu.
Stuknij ikonę koła zębatego w lewym górnym rogu, aby wrócić.
Stuknij w Profile i utwórz nowy za pomocą
+
przycisku.Stuknij w Wydarzenie → System → Odebrano zamierzone .
Możesz zignorować wszystko oprócz miejsca, w którym jest napisane Akcja . Tutaj musisz wpisać
org.jastrzab.move.ACTION_GLOBAL_BROADCAST
(ważne są wielkie litery). Jeśli to nie zadziała, spróbuj wykonać następujące czynnościorg.motion.detector.ACTION_GLOBAL_BROADCAST
.Stuknij ikonę koła zębatego (wstecz) w lewym górnym rogu. Wyskoczy z menu.
Stuknij Nowe zadanie i nadaj mu nazwę.
W ramach tego zadania dotknij
+
ponownie i naciśnij Scena → Pokaż scenę .Tam, gdzie jest napisane Nazwa , dotknij ikony szkła powiększającego (nie ołówka) i dotknij nazwy scen .
Teraz, gdzie jest napisane Wyświetl jako , „Aktywność, pełny wyświetlacz, bez paska”.
Przewiń w dół, a powiesz, czy . Naciśnij ikonę ołówka i wybierz % DISPLAYSTATE .
Naciśnij przycisk na środku i zmień go na Równe. W prawym polu wpisz
0
.Dotknij
+
i wykonaj Zadanie → Zaczekaj .Zmień MS na około 25 do 100.
Dotknij
+
→ Scena → Zniszcz scenę i kliknij ikonę lupy w polu Nazwa . Wybierz scenę.Teraz wróć do ekranu głównego aplikacji Tasker .
Przejdź do aplikacji Motion Detector i upewnij się, że jest wyłączona. Jeśli nie, dotknij niebieskiego koła.
Zejdź na dół i tam, gdzie jest napisane Wyślij , upewnij się, że jest włączony .
Wróć na górę i ponownie dotknij niebieskiego koła, aby je włączyć.
Otwórz Automatyczny start i upewnij się, że jest napisane Włączone .
Dotknij Dodaj → Pokaż wszystkie aplikacje → Detektor ruchu .
Zaznacz „przejdź do ekranu głównego po automatycznym uruchomieniu” i zmień „opóźnienie rozpoczęcia” na
5
.Działa to dla mnie bezbłędnie!
Należy również pamiętać, że w detektorze ruchu są ustawienia, które można zmienić, gdy detektor ruchu jest wyłączony . Jednym z najważniejszych jest aparat. Jeśli masz problemy, upewnij się, że kamera jest ustawiona na Przód .
Powiedziałeś, że chcesz zewnętrznego czujnika, który mógłby wykrywać odległość w odległości 2-3 cm, ale jeśli dobrze się czujesz w przypadku dalszego rozwiązania wykrywania, jest to bardzo niezawodne i stosunkowo łatwe w konfiguracji! Ale jeśli nadal masz serce ustawione na zewnętrznym czujniku, chętnie udzielę ci również instrukcji!
Powodzenia i mam nadzieję, że to ci pomoże!
źródło
org.motion.detector.ACTION_GLOBAL_BROADCAST
. Zobacz dokumentację tutaj: programy.jastrzab.com/… i dyskusję tutaj: reddit.com/r/tasker/comments/27bvf8/help_motion_detector_app/ ... Powyższe nadal działa; po prostu zmień nazwę pakietu na nową w tym komentarzu.Nie wiem, czy ci to odpowiada, ale co z wtyczką z czujnikiem ruchu? Po wykryciu ruchu tablet zostanie podłączony do zasilania, a ekran się włączy. Dodatkowo w Tasker możesz skonfigurować znacznie więcej czynności do wykonania, gdy wykryje ruch.
źródło
Nienawidzę tego mówić, ale wszystko, co zrobiłem, to załączyłem swój kanał z mojego PIR w suficie (który już kontroluje diody LED pod prysznicem) do mojego Androida. Kiedy ktoś wchodzi do gniazdka, włącza telefon, a Bob jest twoim wujem.
źródło
Szukałem sposobu na włączenie ekranu tabletu, gdy zbliżam się do tabletu, który jest zamontowany na ścianie w celu monitorowania mojego domu. Podobnie jak termostat Nest. Niedawno kupiłem płytę systemu alarmowego Konnected i moduł Wi-Fi od Nate Clark. Zasugerował, żebym użył strony www.ozerov.de/fully-kiosk-browser/. Za niewielką opłatą licencyjną. Działa dobrze dla zamierzonego celu. Używam Actiontiles zintegrowanych z moimi Smartthings. Mój tablet jest montowany na ścianie z ciągłym zasilaniem.
źródło
Może chcesz sprawdzić Wimoto . Są to małe i tanie czujniki bluetooth, które występują w kilku wariantach (temperatura, wykrywanie ruchu, wykrywanie cieczy itp.). Mówią, że nadchodzi aplikacja na Androida i że w najbliższej przyszłości zostanie wydany zestaw SDK.
Z drugiej strony, jeśli chcesz czegoś prostszego (a twój tablet ma przedni aparat), możesz po prostu użyć aplikacji. Na przykład (tuż po szybkim wyszukiwaniu, więc go nie użyłem) Spust kamery .
Mam nadzieję że to pomoże.
źródło
Jedynym niedrogim i niedrogim czujnikiem ruchu, jaki udało mi się znaleźć, jest Belkin WeMo Motion .
Ian McCracken stworzył nieoficjalny zestaw SDK dla WeMo o nazwie Ouimeaux ( docs , PyPi ).
Mój obecny plan polega na napisaniu niewielkiej aplikacji działającej na Raspberry Pi, która używa Ouimeaux do reagowania na sygnał z WeMo Motion i wysyłania powiadomienia push na urządzenie z Androidem. A potem jeszcze prostsza aplikacja na Androida, która reaguje na powiadomienie push, budzi urządzenie i włącza ekran. (To drugie może być również wykonalne za pomocą Taskera).
W drugim etapie odpowiednie części Ouimeaux mogłyby zostać przepisane w Javie, a następnie możliwe byłoby połączenie bezpośrednio z aplikacji do WeMo, dzięki czemu Raspberry Pi stałoby się zbyteczne.
Oczywiście sugestie dotyczące ulepszeń są mile widziane. W szczególności, jeśli znasz istniejący sposób na przebudzenie ekranu Androida ze skryptu Python / powłoki / w inny sposób wyzwalaj powiadomienia push. To brzmi zbyt trywialnie, by wymagać napisania nowej aplikacji.
źródło
adb
pomocą czegoś takiego jak Wakey Droid .