Estou tentando conectar um módulo de câmera ao meu Arduino Mega, conectar meu Mega ao meu telefone Android (através do BlueTooth ou outro) e enviar a exibição ao vivo da câmera para o telefone móvel.
Vi um vídeo on-line que mostrava isso para imagens estáticas - uma imagem capturada pelo módulo da câmera no Arduino foi enviada ao Android e a imagem de saída foi visualizada após alguns segundos (o tempo para enviar a imagem pela BT).
Isso é possível com vídeo ao vivo em vez de imagem? Se sim, por favor me guie; se não, sugira algumas soluções alternativas.
Respostas:
Você tem opções diferentes (prioridade por nível de dificuldade):
Usando um smartphone como câmera. Na verdade, existem aplicativos para isso. Se você pode conectar um telefone ao seu robô, poderá transmitir o vídeo ao vivo em outro telefone ou na web. No entanto, o telefone conectado ao robô deve ter uma conexão com a Internet (3G ou mesmo Edge). Pesquise "transmissão ao vivo" na App Store ou no Google Play.
Usando uma câmera IP . Esta opção é bastante simples e requer que você tenha uma câmera IP que pode ser controlada pelo Arduino. A câmera IP pode transmitir vídeo sem fio para o seu roteador ou torta de framboesa. Você pode conectar outro telefone ou computador ao roteador para ver a imagem ao vivo.
Usando um Raspberry Pi. O Id normalmente não faria manipulações de vídeo ou imagem na plataforma Arduino por causa do baixo desempenho obtido. Você pode conectar um Raspberry Pi ao Arduino. E uma boa câmera para Raspberry pi. O Arduino pode enviar comandos para o Raspberry pi quando iniciar a transmissão e assim por diante. Você também pode fazer manipulações de imagem no Pi. E como o Raspberry pi pode funcionar como um roteador, você pode conectar seu smartphone ao raspberry pi por meio de wifi ou até Bluetooth. Você obterá um vídeo agradável e alto em FPS, mesmo com manipulações de texto / cor.
Você pode usar o Android ADK como seu controlador principal. E então o Arduino é configurado como um acessório. Dessa forma, o Arduino pode comandar o Android o que fazer. Um celular barato baseado em Android custará cerca de 100 USD e você terá muitos recursos pelo preço. Como GPS, câmera, bateria etc. A maioria dos smartphones modernos tem a capacidade de criar um ponto de acesso wifi. Você pode conectar qualquer outra plataforma wifi a esse ponto de acesso e controlar o robô ou, no seu caso, assistir a um vídeo ao vivo. Este é o método mais elegante na minha opinião.
fonte
Minha solução é uma solução alternativa.
Não envio quadros de imagem relativamente grandes via Bluetooth, mas uso o telefone Android com OpenCV para gravar o vídeo ao vivo e direcionar o Arduino via Bluetooth com alguns comandos curtos após o processamento da imagem. O telefone está localizado próximo ao Arduino, assim como uma câmera conectada ao Arduino.
Se você quiser ver as imagens - ou alguma versão processada delas - remotamente, poderá usar outro telefone conectado ao telefone da câmera através de uma segunda conexão Bluetooth.
Não estou pronto com o exposto acima, uma versão do Mindstorms NXT, Android e OpenCV está aqui .
fonte
Aqui está como eu consegui resolver o meu problema: instalei minha webcam IP antiga de incêndio , configurei um ponto de acesso wifi do meu nexus4, conectado a ele pelo incêndio, peguei o ip do incêndio e o coloquei no visualizador da web do nexus4.
fonte
Sim, é possível, mas observe os seguintes pontos.
1) se você estiver usando Bluetooth, a taxa de transferência de dados depende de versões diferentes, como para a v2 blue tooth a taxa de transferência de dados é de 3 Mb \ s.
2) Agora, suponha que você esteja usando uma câmera como ov7670 no modo QVGA (320 x 240 pixels para um quadro) cada pixel tem 8 bits; para um bom vídeo, você precisa de 30 quadros por segundo, ou seja, 76800 bytes para um quadro, por 30 quadros é de 2,3 Mb \ s.
3) Agora, com 2,3 MB \ S <3 MB \ s, você pode viver o streaming vedio.
4) O resto depende de quão bom você é para entender a programação e fazer conexões eletrônicas com diferentes módulos.
fonte
Para responder à pergunta "é factível", eu diria que sim. Aparentemente, existe um produto chamado Looxcie que faz isso, de acordo com esta revisão no Slashgear .
Meu palpite é que ele está usando o AVCTP (Protocolo de transporte de controle de áudio / vídeo) da BlueTooth , para que você possa verificar se há dispositivos e bibliotecas de software para telefones celulares compatíveis com o AVCTP.
fonte