Comment envoyer la vidéo de mon module de caméra Arduino à mon écran Android?

9

J'essaie de connecter un module de caméra à mon Arduino Mega, de connecter mon Mega à mon téléphone Android (via BlueTooth ou autre) et d'envoyer la vue en direct de la caméra au téléphone mobile.

J'ai vu une vidéo en ligne qui le montrait pour les images fixes - une image capturée par le module de caméra sur l'Arduino a été envoyée à Android et l'image de sortie a été visualisée après quelques secondes (le temps d'envoyer l'image par BT).

Est-ce faisable avec la vidéo en direct au lieu de l'image? Si oui, veuillez me guider; si non, veuillez suggérer quelques solutions.

mabdrabo
la source
Salut Mabdrabo, bienvenue sur robotics.stackexchange! J'ai légèrement mis à jour votre formulation pour une meilleure lisibilité. Pouvez-vous trouver l'URL de la vidéo originale que vous avez vue en ligne?
Ian

Réponses:

8

Vous avez différentes options (priorité par niveau de difficulté):

  1. Utiliser un smartphone comme appareil photo. Il existe en fait des applications pour cela. Si vous pouvez connecter un téléphone à votre robot, vous pouvez diffuser la vidéo en direct sur un autre téléphone ou sur le Web. Cependant, le téléphone connecté au robot doit avoir une connexion Internet (3G ou même Edge). Recherchez «diffusion en direct» dans l'App Store ou Google Play.

  2. Utilisation d'une caméra IP . Cette option est assez simple et vous oblige à avoir une caméra IP qui peut alors être contrôlée par l'Arduino. La caméra IP peut transmettre des vidéos sans fil à votre routeur ou à une tarte aux framboises. Vous pouvez ensuite connecter un autre téléphone ou ordinateur au routeur pour voir l'image en direct.

  3. Utilisation d'un Raspberry Pi. Normalement, je ne ferais pas de manipulations vidéo ou d'image sur la plate-forme Arduino en raison des faibles performances qu'elle a. Vous pouvez connecter un Raspberry pi à l'Arduino. Et un bon appareil photo pour Raspberry pi. Arduino peut envoyer des commandes à Raspberry pi quand commencer à transmettre et ainsi de suite. Vous pouvez également effectuer des manipulations d'image sur le Pi. Et puisque Raspberry pi peut fonctionner comme un routeur, vous pouvez connecter votre smartphone au raspberry pi via wifi ou même Bluetooth. Vous obtiendrez une vidéo FPS agréable et élevée même avec des manipulations de texte / couleur.

  4. Vous pouvez utiliser Android ADK comme contrôleur principal. Et puis l'Arduino est configuré comme accessoire. De cette façon, l'Arduino peut commander à Android ce qu'il doit faire. Un téléphone mobile Android bon marché vous coûtera environ 100 USD et vous obtiendrez de nombreuses fonctionnalités pour le prix. Comme le GPS, l'appareil photo, la batterie, etc. La plupart des téléphones intelligents modernes ont la capacité de créer un point d'accès wifi. Vous pouvez ensuite connecter n'importe quelle autre plate-forme wifi à ce point d'accès et contrôler le robot ou, dans votre cas, visionner une vidéo en direct. C'est selon la méthode la plus élégante à mon avis.


la source
en fait j'ai fait ce que tu as dit dans le # 1, merci beaucoup :)
mabdrabo
1

Ma solution est une solution de contournement.

Je n'envoie pas les cadres d'image relativement grands via Bluetooth mais j'utilise le téléphone Android avec OpenCV pour filmer la vidéo en direct et diriger l'Arduino via Bluetooth avec quelques courtes commandes après le traitement de l'image. Le téléphone est situé près de l'Arduino comme le serait une caméra connectée à l'Arduino.

Si vous souhaitez voir les images - ou une version traitée d'entre elles - à distance, vous pouvez utiliser un autre téléphone connecté au téléphone avec appareil photo via une deuxième connexion Bluetooth.

Je ne suis pas prêt avec ce qui précède, une version Mindstorms NXT, Android, OpenCV est ici .

rics
la source
1

voici comment j'ai réussi à résoudre mon problème, j'ai récupéré mon ancienne webcam IP Wildfire , mis en place un hotspot wifi depuis mon nexus4, connecté à celui-ci depuis le wildfire, pris l'ip du wildfire et l'ai mis dans la visionneuse web du nexus4.

mabdrabo
la source
1

Oui, c'est possible, mais veuillez noter les points suivants.

1) si vous utilisez Bluetooth, le taux de transfert de données dépend de différentes versions, comme pour v2 blue tooth, son taux de transfert de données est de 3 Mb \ s.

2) Supposons maintenant que vous utilisez un appareil photo comme ov7670 en mode QVGA (320 x 240 pixels pour une image) chaque pixel est de 8 bits, pour une bonne vidéo, vous avez besoin de 30 images par seconde, soit 76800 octets pour une image, pour 30 images c'est 2,3 Mb \ s.

3) Maintenant 2,3 Mo \ S <3 Mo \ s, vous pouvez vivre le streaming vedio.

4) Le reste dépend de votre capacité à comprendre la programmation et à établir des connexions électroniques avec différents modules.

Muhammed Hussain Ali
la source