Jak mogę wysłać wideo z mojego modułu kamery Arduino na ekran Androida?

9

Próbuję podłączyć moduł kamery do mojego Arduino Mega, podłączyć mój Mega do mojego telefonu z Androidem (przez BlueTooth lub inny) i wysłać widok na żywo z kamery do telefonu komórkowego.

Widziałem wideo online, które pokazało to dla nieruchomych obrazów - obraz przechwycony przez moduł kamery Arduino został wysłany do Androida, a obraz wyjściowy został wyświetlony po kilku sekundach (czas wysłania obrazu przez BT).

Czy można to zrobić za pomocą wideo na żywo zamiast obrazu? Jeśli tak, proszę, poprowadź mnie; jeśli nie, proszę zasugerować kilka obejść.

mabdrabo
źródło
Cześć Mabdrabo, witaj w robotics.stackexchange! Lekko zaktualizowałem twoje sformułowania, aby zapewnić lepszą czytelność. Czy możesz znaleźć adres URL oryginalnego filmu, który widziałeś online?
Ian

Odpowiedzi:

8

Masz różne opcje (priorytet według poziomu trudności):

  1. Używanie smartfona jako aparatu fotograficznego. Istnieją w tym celu aplikacje. Jeśli możesz podłączyć jeden telefon do robota, możesz przesyłać strumieniowo wideo na żywo na innym telefonie lub w Internecie. Jednak telefon podłączony do robota powinien mieć połączenie z Internetem (3G lub nawet Edge). Wyszukaj „transmisję na żywo” w App Store lub Google Play.

  2. Korzystanie z kamery IP . Ta opcja jest dość prosta i wymaga posiadania kamery IP, którą następnie może kontrolować Arduino. Kamera IP może przesyłać wideo bezprzewodowo do routera lub ciasta Raspberry. Następnie możesz podłączyć inny router lub telefon do routera, aby zobaczyć obraz na żywo.

  3. Korzystanie z Raspberry Pi. Id zwykle nie robiłby manipulacji filmem ani obrazem na platformie Arduino z powodu niskiej wydajności. Możesz podłączyć Raspberry pi do Arduino. I dobry aparat do Raspberry pi. Arduino może wysyłać polecenia do Raspberry pi, kiedy rozpocząć transmisję i tak dalej. Następnie możesz również wykonywać operacje na obrazie na Pi. A ponieważ Raspberry pi może działać jako router, możesz podłączyć swój smartfon do Raspberry pi przez Wi-Fi lub nawet Bluetooth. Otrzymasz ładne i wysokie wideo FPS, nawet przy manipulowaniu tekstem / kolorem.

  4. Możesz użyć zestawu Android ADK jako głównego kontrolera. A następnie Arduino jest skonfigurowane jako akcesorium. W ten sposób Arduino może nakazać Androidowi, co ma robić. Tani telefon komórkowy z systemem Android będzie kosztował około 100 USD i otrzymasz wiele funkcji w tej cenie. Jak GPS, aparat fotograficzny, bateria itp. Większość nowoczesnych smartfonów ma możliwość tworzenia hotspotów Wi-Fi. Następnie możesz podłączyć dowolną inną platformę Wi-Fi do tego punktu dostępowego i sterować robotem lub, w twoim przypadku, oglądać wideo na żywo. Moim zdaniem jest to najbardziej elegancka metoda.


źródło
w rzeczywistości zrobiłem to, co powiedziałeś w # 1, wielkie dzięki :)
mabdrabo
1

Moje rozwiązanie jest obejściem.

Nie wysyłam stosunkowo dużych ramek obrazu przez Bluetooth, ale używam telefonu z Androidem z OpenCV, aby nagrywać wideo na żywo i kierować Arduino przez Bluetooth za pomocą kilku krótkich poleceń po przetworzeniu obrazu. Telefon znajduje się w pobliżu Arduino, podobnie jak kamera podłączona do Arduino.

Jeśli chcesz zobaczyć obrazy - lub niektóre ich przetworzone wersje - zdalnie, możesz użyć innego telefonu podłączonego do telefonu z aparatem za pośrednictwem drugiego połączenia Bluetooth.

Nie jestem gotowy z powyższym Mindstorms NXT wersja Android, OpenCV jest tutaj .

riki
źródło
1

oto jak udało mi się rozwiązać mój problem, mam moją kamerę IP z pożarem , skonfigurowałem hotspot Wi-Fi z mojego nexus4, połączono go z pożarem, wziąłem IP pożaru i umieściłem go w przeglądarce internetowej nexus4.

mabdrabo
źródło
1

Tak, jest to możliwe, ale zwróć uwagę na następujące punkty.

1) jeśli korzystasz z Bluetooth, szybkość przesyłania danych zależy od różnych wersji, takich jak dla niebieskiego zęba v2, jego szybkość przesyłania danych wynosi 3 Mb \ s.

2) Załóżmy teraz, że używasz aparatu takiego jak ov7670 w trybie QVGA (320 x 240 pikseli na jedną klatkę) każdy piksel ma 8 bitów, aby uzyskać dobre wideo, potrzebujesz 30 klatek na sekundę, czyli 76800 bajtów na jedną klatkę, dla 30 ramek to 2,3 Mb \ s.

3) Teraz 2,3 MB \ S <3 MB \ s, możesz streamować vedio na żywo.

4) Reszta zależy od tego, jak dobrze rozumiesz programowanie i wykonywanie połączeń elektronicznych z różnymi modułami.

Muhammed Hussain Ali
źródło