Hareket dedektörü ile Android cihazı açma (harici cihaz?)


10

Sorun

Köklü bir Android (4.3) tableti uyandırmak ve biri belki 2-3m yarıçapında geçtiğinde ekranı açmak için ayarlanabilen bir hareket dedektörü arıyorum.

fikirler

Kesinlikle bunun için harici bir cihaz almaya ve (makul) miktarda para yatırmaya hazırım, sadece bir şekilde tablete bağlanabileceğim bir cihaz olmalıyım.

Ev otomasyonu alanında, Android push bildirimleri gönderebilen iyi bir algılama kalitesine (iyi açı ve yapılandırılabilir mesafe) sahip herhangi bir yakınlık dedektörü var mı? Gerekirse sıfırdan bazı kodlar yazabilirim, ancak donanım alanında çok clueless ve tecrübesizim, bu yüzden örneğin bir havya nasıl tutulacağını bilmiyorum. ;)

Arka fon

Buradaki fikir, eski bir tableti bir tür sabit pano ekranına dönüştürmektir, bu yüzden özellikle pil aşınması konusunda endişelenmiyorum (şimdi kullanım ömrü sona ermiş ve bundan sonra fişe takılan güç kablosu ile birlikte kullanılacak ölür) veya yoğun kullanım (muhtemelen birkaç gün içinde öldürecek olan% 100 CPU'dan 24/7 konuşmuyorsak).

Önceki arama

Bunun cihazdaki mevcut sensörlerle yapıp yapamayacağını biraz araştırdım ve bunun mümkün olmadığına inanıyorum.

Yakınlık sensörünü kullanmayla ilgili sorun, sadece bir şeyin (çağrı sırasında kulağınız olduğu varsayılır) hemen yanında (birkaç santimetre uzakta) olup olmadığını gerçekten geri döndürmesidir. Ama 2-3m alanda bir şey arıyorum.

Diğer fikir önden bakan kamera olurdu, ancak sorun şu ki, a) birçok cihazdaki kamera ekran kapalıyken otomatik olarak kapanıyor ve b) sadece ön plan uygulamaları kameraya erişebiliyor, ancak tabletin algılamada başka bir uygulama göster.

Anında iletme bildirimlerine yanıt olarak ekranı uyandırma konusunda hızlıca baktım ve PowerManager API'sini kullanarak çok zor görünmüyor . Derin uykudayken cihazın itmeye ne kadar hızlı tepki vereceğinden emin değilim, ancak bu ikincil bir sorundur.


Özel bir komut dosyası kullanarak neden Bluetooth veya NFC kullanmıyorsunuz? PC'de bluetooth kullanarak ve boynun etrafına takılan bir bluetooth cihazı kullanarak başka bir yerde benzer bir kavram kanıtı gördünüz, PC masasını ve PC kilitlerini bırakın, PC'nin yakınına geri dönün, PC kilidini açar.
t0mm13b

@ t0mm13b Gerçekten hiçbir şey giymek istemiyorum. Bu kalıcı bir kurulum olarak tasarlanmıştır ve hayatım boyunca BT cihazı giymek istemiyorum. ;) NFC, artık eller serbest olmadığı anlamına gelir, ki ben de olmasını tercih ederim. Ama gelmelerini sağlayın, umduğum türden yaratıcı fikirler. :)
hheimbuerger

Uygulamalarda "ev otomasyonu" ve alarm kontrolü tipi uygulamalar ve donanım vardır. Bu, kızılötesi insan detektörünü cihaza bilgi göndermesinin bir yolu olabilir.
Psycogeek

@Psycogeek Evet, 'ev otomasyonu' alanından iyi bir hareket sensörü mü?
hheimbuerger

Belirli bir tanesini bilmiyorum.
Psycogeek

Yanıtlar:


6

Basit bir çözüm bulduğumu bilmeniz için jastrzab'ın Motion Detector adlı uygulama mağazasından bir uygulamayı birleştirmesi: https://play.google.com/store/apps/details?id=org.motion.detector Ardından Ekranı Çevir adlı bir eklenti yükleyin: https://play.google.com/store/apps/details?id=org.jastrzab.plugin.screen

  1. Her iki uygulamayı da yükleyin.
  2. Hareket Dedektörü uygulamasını açın ve ayarların altındaki "Gönder" i açın. Hareket dedektörünü tıklayın (üstte) ve sonra "kamera" ya ilerleyin ve "ön" ü seçin.
  3. Ekranı Aç uygulamasını açın. aktif hale getirmek için tek düğmeyi tıklayın.
  4. Android ayarlarını açın, kilit ekranını kapatın veya "yok" u seçin.
  5. Uyku ayarlarını istediğiniz zaman aşımına uğrayacak şekilde değiştirin.
  6. Daydream'i kapatın.
  7. Tablet uyandığında ekranda görüntülenmesini istediğiniz uygulamayı (veya ana ekranı) açın ve hazırsınız! Ekranın uykuya geçmesini ve kameranızın üzerinden geçmesini veya el sallamasını bekleyin ve ekran uyanacaktır.

Gün boyunca veya ışıklar açıkken harika çalışır. Şu anda tabletin karanlıkta uyanmasına izin verecek harici bir PIR hareket sensörü üzerinde çalışıyorum. Basit tasarım şimdiye kadar ucuz bir PIR sensörü ve kameranın altına monte edilmiş küçük bir led ışık kullanıyor. PIR tarafından yürüdüğümde, kameranın görmesini sağlayan LED ışığı tetikler, bu da hareketi tetikler. LED'in nasıl ortadan kaldırılacağını ve tablet üzerindeki kulaklık jakını veya USB'yi kullanarak doğrudan PIR'ı tabletin içine nasıl çalıştıracağınızı umuyoruz. Öneriler memnuniyetle karşılandı.


Oh ve uygulamanın ana sayfasının üstündeki ("hareket Dedektörü" yanında) mavi daireyi tıklayarak hareket dedektörünü açmayı unutmayın. Keyfini çıkarın
Dallas Partin

Bu benim için harika çalıştı, teşekkürler! Android 4.4 kitkat kullanma
Rusty Divine

Google Drive'a verdiğiniz bağlantı kesildi. :(
Whit

5

Tarafından belirtildiği gibi Dallas Partin burada adlandırılan ücretsiz bir uygulama var Hareket Dedektörü . Bir süredir kullanıyorum ve ön plandaki diğer uygulamalarla ve ekran kilitli olarak çalışacağını söyleyebilirim. Bu, dahili kamerayı kullanarak hareketi algılayacağından ücretsizdir. Ayrıca, bunun için cihazınızı rootlamanız gerekmez.

Nasıl lehim yapacağınızı bilmediğinizi söylediniz, ancak bunun için kendi harici sensörünüzü yapmanın çok basit bir yolu var. Farkında olduğum iki yöntemden aşağıda bahsetmiştim:

Yöntem 1. Dahili kamera kullanma

  1. Hareket Dedektörü'nü indirin .

  2. Tasker'ı indirin .

  3. AutoStart'ı İndir

  4. Tasker uygulamasını başlatın ve sağ üst köşedeki üç noktaya dokunun.

  5. TercihlerKullanıcı Arabirimi'ne (üstte) dokunun , Başlangıç ​​Modu'nun işaretini kaldırın .

  6. Bundan çıkın ve üst taraftaki Vars sekmesine dokunun .

  7. Öğesine dokunun +ve % DISPLAYSTATE olarak adlandırın .

  8. Git Profilleri sekmesi ve musluk +seçmek → OlayEkranAçık Ekran .

  9. BackTuşa / düğmeye dokunun . Yeni Görev'e dokunun , adını verin Display On.

  10. +DeğişkenlerDeğişken Kümesi'ne dokunun . Ad'ın yanındaki kurşun kalem simgesine dokunun .

  11. Musluk % displayState ve yazan yere için , bunu yapmak 1.

  12. "Adım 11" i tekrarlayın, ancak her şeyi Display Off olarak değiştirin ve nereye koyduğumuzu 1değiştirin 0.

  13. Git Sahneler üstündeki sekme.

  14. Simgesine dokunun +ve bir ad verin.

  15. Basılı tutun ve kesikli çizgiyi sürükleyin ve ekranınızın boyutuna getirin.

  16. Geri dönmek için sol üst köşedeki dişli çark simgesine hafifçe vurun.

  17. Profiller üzerine dokunun ve +düğmesini kullanarak yeni bir tane oluşturun .

  18. EtkinlikSistemAlınan Niyet üzerine dokunun .

  19. Eylem dediği yerler hariç her şeyi göz ardı edebilirsiniz . Buraya girmeniz gerekiyor org.jastrzab.move.ACTION_GLOBAL_BROADCAST(büyük harf önemlidir). Bu işe yaramazsa bunun yerine aşağıdakileri deneyin org.motion.detector.ACTION_GLOBAL_BROADCAST.

  20. Sol üst köşedeki dişli çark simgesine (arka) dokunun. Bir menü ile açılır.

  21. Yeni görev'e dokunun ve bir ad verin.

  22. Bu görevin içinde dokunun +tekrar vurmak Sahnegöster Sahne .

  23. Ad yazdığı yerde , büyüteç simgesine (kurşun kalemle değil) ve sahne adınıza dokunun .

  24. Şimdi Farklı Göster , "Etkinlik, Tam Ekran, Çubuk Yok" yazıyor .

  25. En alta kaydırın ve eğer söyleyecektir . Kurşun kalem simgesine dokunun ve % DISPLAYSTATE öğesini seçin .

  26. Ortadaki düğmeye dokunun ve Eşittir olarak değiştirin. Sağdaki kutuya yazın 0.

  27. Üzerine dokunun +ve GörevBekle'yi yapın .

  28. 25 ila 100 arasında bir yere MS değiştirin .

  29. Dokunun +SahneSahne yok ve üzerindeki büyüteç simgesine çarptı Adı . Sahnenizi seçin.

  30. Şimdi Tasker uygulamasının ana ekranına geri dönün .

  31. Hareket Dedektörü uygulamasına gidin ve kapalı olduğundan emin olun. Değilse, mavi daireye dokunun.

  32. En alta ve Gönder yazan yere gidin , Açık olduğundan emin olun .

  33. En üste geri dönün ve mavi daireyi tekrar açmak için tekrar dokunun.

  34. Otomatik Başlat'ı açın ve Açık yazdığından emin olun .

  35. EkleTüm uygulamaları gösterHareket Dedektörü üzerine dokunun .

  36. "Otomatik başlattıktan sonra ana ekrana git" seçeneğini işaretleyin ve "başlatma gecikmesini" değiştirin 5.

Bu benim için kusursuz bir şekilde çalışıyor!

Ayrıca, Hareket Dedektörü'nde Hareket Dedektörü kapalıyken değiştirebileceğiniz ayarlar olduğunu unutmayın . En önemlilerinden biri Kamera. Sorun yaşıyorsanız, lütfen Kameranın Ön olarak ayarlandığından emin olun .

2-3 cm içinde mesafeyi algılayabilen harici bir sensör istediğinizi söylediniz, ancak daha uzak bir algılama çözümü için ince ayarınız varsa, bu çok güvenilir ve kurulumu nispeten kolaydır! Ancak kalbiniz hala harici bir sensöre ayarlanmışsa, size bunun için bazı talimatlar vermekten mutluluk duyarım!

İyi şanslar, umarım bu size yardımcı olur!


Cevabınız için teşekkürler, bunu sonunda deneyeceğim! (Ancak şu anda bu proje için zamanım yok maalesef.) Kameranın arka planda çalışıp çalışmadığının cihaza özel olduğunu okuduğuma inanıyorum, ancak cihazımın bunu yapıp yapamayacağını göreceğim.
hheimbuerger

"2-3 cm" içinde hareket algılayan bir sensör istediğimi söylemediğimi, daha ziyade "2-3m" dedim, yani bir kişi odadan geçtiğinde cihazın bulunduğu yerde.
hheimbuerger

"2-3 cm" içinde hareket algılayan bir sensör istediğimi söylemediğimi, ancak "2-3m" dedim Tamam, biraz yakın göründüğünü düşünüyordum :) Çoğu cihazın arka planda kamera ile çalışmak, ama evet, bu her şey olacak anlamına gelmez. Özel cihazınızda çalışmıyorsa ve hala bir çözüm istiyorsanız, harici bir sensör yapmak 10 doların altında yapmak zor değildir. Ancak, bu yöntem çok daha basit ve daha yapılandırılabilir. Üzerinde çalışmak için zamanınız olduğunda bu konuda iyi şanslar!
Daniel Ford

GÜNCELLEME: Niyet paketi yeniden adlandırıldı org.motion.detector.ACTION_GLOBAL_BROADCAST. Buradaki belgelere bakın: programy.jastrzab.com/… ve burada tartışma: reddit.com/r/tasker/comments/27bvf8/help_motion_detector_app/… Yukarıdakiler hala çalışıyor; bu yorumda paket adını yenisiyle değiştirin.
André Christoffer Andersen

@ AndréChristofferAndersen Bilmek güzel! Bunu işaret ettiğiniz için teşekkür ederiz; Karışıklığı önlemek için cevaba ekleyeceğim.
Daniel Ford

1

Bunun size uygun olup olmadığını bilmiyorum ama hareket sensörüne sahip bir fişe ne dersiniz? Hareket algıladığında, tablet gücü bağlar ve ekran açılır. Ayrıca Tasker ile hareketi algıladığında yapılacak çok daha fazla şey yapılandırabilirsiniz.


1

Bunu söylemek çocuklar nefret ediyorum ama tüm yaptığım benim PIR benim tavana (ki zaten duş ledleri kontrol eder) benim android eklemek. Birisi geldiğinde telefondaki güç anahtarları ve bob amcan.


Güç Açma / Kapama özelliği olduğunda cihazın Ekranını kullanma. Güzel.
cde

1

Evimi izlemek için duvara monte edilen Tablet'e yaklaştığımda tablet ekranını açmanın bir yolunu arıyordum. Tıpkı Nest termostatı gibi. Geçenlerde bana kullanmayı önerdi Konnected alarm sistemi kurulu ve Nate Clark He dan wifi modülünü satın www.ozerov.de/fully-kiosk-browser/ küçük lisans ücreti vardır. Amaçlanan amaç için iyi çalışır. Smartthings ile entegre Actiontiles kullanıyorum. Tabletim sürekli güç kaynağı ile duvara monte edilmiştir.

           Nate Clark <nate@konnected.io>

0

Wimoto'ya göz atmak isteyebilirsiniz . Onlar birkaç lezzet (sıcaklık, hareket algılama, sıvı algılama vb) gelen küçük ve ucuz, bluetooth sensörler. Gelen bir Android uygulaması olduğunu ve yakın gelecekte bunun için bir SDK yayınlanacağını söylüyorlar.

Daha sonra, daha basit bir şey istiyorsanız (ve tabletinizde öne bakan bir kamera varsa) bir uygulamayı kullanabilirsiniz. Örneğin (hızlı bir aramadan hemen sonra kullanmadınız) Kamera Tetikleyicisi .

Bu yardımcı olur umarım.


Wimoto, düşündüğüm türdeki cihazlara benziyor, ancak bir hareket sensörü bulamadım. Bir tane var mı?
hheimbuerger

Kamera Tetikleyicisi yukarıda belirtilenle aynı sorunlara sahiptir, ekran kapalı veya ön planda başka bir uygulama olduğunda çalışmaz.
hheimbuerger

Evet, buna Wimoto Nöbetçisi diyorlar. Aynı zamanda birkaç özellikli bir mikro sensör olan Twine ile de karşılaştım
Hrafn

Haklısın. Kafam karıştı, çünkü Amazon'da (yanlış, sanırım) bir "Bluetooth Akıllı Su Sensörü" olarak listeleniyor. İyi görünüyor, ama anlaşılana kadar birkaç ay daha geçecek.
hheimbuerger

0

Bulabildiğim tek uygun fiyatlı ve makul erişilebilir hareket sensörü Belkin WeMo Motion .

Ian McCracken, WeMo için Ouimeaux ( docs , PyPi ) adı verilen resmi olmayan bir SDK oluşturdu .

Şu anki planım, Weimo Motion'dan gelen bir sinyale yanıt vermek ve Android cihaza push bildirimi göndermek için Ouimeaux kullanan bir Raspberry Pi üzerinde çalışan küçük bir uygulama yazmak. Ve sonra push bildirime yanıt veren ve cihazı uyandıran ve ekranı açan daha basit bir Android uygulaması. (İkincisi bunun yerine Tasker ile de yapılabilir.)

İkinci bir adım olarak, Ouimeaux'nun ilgili bölümleri Java ile yeniden yazılabilir ve daha sonra doğrudan uygulamadan WeMo'ya bağlanmak mümkün olacaktır, bu da Raspberry Pi'yi gereksiz kılar.

İyileştirme önerileri elbette hoş geldiniz. Özellikle bir Android ekranını bir Python / kabuk betiğinden uyandırmanın mevcut bir yolunu biliyorsanız / aksi halde push bildirimini tetikleyin. Yeni bir uygulama yazmayı gerektirecek kadar önemsiz geliyor.


Cihaz kilidini devre dışı bırakırsanız, işlem için girdi alan ve önemli bir olay için bir kabuk komutu çalıştırmak üzere bir Java ProcessBuilder kullanan küçük bir uygulama oluşturabilirsiniz; örneğin, 'kabuk giriş keyevent 26' (Güç düğmesine basın) teori çalışmalarında. Şu anda bir düğmeye bastıktan sonra kabuk komutunu çalıştırıyorum, Android KitKat'ta yeni 'ekran kaydı' özelliğini çalıştırmak için, oluşturduğum bir uygulamanın arka planında, bu şekilde çalışan kabuk komutlarının çalıştığını doğrulayabiliyorum.
Hrafn

@Hrafn Tam olarak anlamadım: bunu yapmanın amacı nedir?
hheimbuerger

Ekranı uyandırmanın olası yollarını soruyordunuz. Bir tür girdi elde edebiliyorsanız, bir Java Süreci oluşturabilir (arka planda çalışan bir Android programının bir parçası olarak) ve cihazın kabuğunda bir güç düğmesi tıklaması çalıştırmasını sağlayabilirsiniz. Bu, cihaz kilitlenmeyecek şekilde yapılandırılmışsa, ekranı uyandırmalıdır.
Hrafn

@Hrafn Anlıyorum, ancak daha sonra soruda zaten bağlandığım PowerManager API'sını kullanabilirsiniz. Yalnızca yaklaşık dört satır kod gerektirir. Her ne kadar bir olasılık, cihazı bir kablo ile bağlı tutmak ve sadece Wakey Droidadb gibi bir şeyle uyanmayı tetiklemek olabilir .
hheimbuerger

Elbette. Ancak PowerManager API'yi kullanmak için kendi kendinize uyanma durumunu yönetmeniz gerekir (sanırım). Yani bir wakelock elde ederseniz, belirli bir süre sonra bir güç kapatma sinyali göndermek istersiniz. Bir kabuktan yapılan anahtar çağrısı ile bunu yönetmek zorunda değilsiniz ve sistemin her şeyi halletmesine izin verebilirsiniz.
Hrafn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.