Bluetooth programming on Foxboard : Video streaming.
Par Jean Charles MAMMANA, samedi 14 juillet 2007 à 17:45 :: Programmation :: #24 :: rss
J'ai fais une tentative de portage de servfox pour qu'il accepte aussi les connexions bluetooth (l2cap) afin de streamer de la vidéo sur un terminal mobile (téléphone portable).
Ca fonctionne globalement mais il y a quelques bugs que je n'ai pas réussi a résoudre.
Servfox est un mini serveur TCP développé par Michel Xhaard pour pouvoir diffuser un flux vidéo provenant d'une webcam connecté sur une foxboard. Cette version modifié apporte le support du bluetooth.
Tests done with :
Voici un exemple de script shell pour automatiser la configuration du dongle :
Le protocole de communication reste identique pour le bluetooth :
Tableau des performances :
Problèmes connus :
Le client est développé en j2me sous eclipse.
Il n'a été testé que sur Sony Ericsson k800i et k750i.
Ce programme est donné sans aucune garantie.
Video.
Photo (cliquez pour agrandir).
ps : c'est mon anniversaire aujourd'hui :)
Tests done with :
- Téléphone : Sony Ericsson K800i et K750i
- Webcam : Creative PC CAM 750 et Labtec Webcam Pro
- Dongle bluetooth : Trust BT120
Vous devez avoir le support du bluetooth sur votre fimage pour pouvoir utiliser cette version de servfox.
Pour ajouter le support du bluetooth, regardez ici.- Servfox binary with bluetooth support for linux i386 : servfox.i386.
- Servfox binary with bluetooth support for foxboard : servfox.cris.
- Servfox with bluetooth support source : servfox-R1_2_0.zip.
Voici un exemple de script shell pour automatiser la configuration du dongle :
#!/bin/sh
if [ "`lsmod | grep bluetooth | cut -d " " -f 1`" != "bluetooth" ]
then
cdBluez-start
hciconfig hci0 name "Psykokwak Fox"
hciconfig hci0 ptype DH5
hciconfig hci0 aclmtu 672:4
hciconfig hci0 lm MASTER ACCEPT
fi
if [ "`lsmod | grep videodev | cut -d " " -f 1`" != "videodev" ]
then
spcaload
fi
hciconfig hci0 reset
./servfox -d /dev/video0 -w 7070 -s 640x480
if [ "`lsmod | grep bluetooth | cut -d " " -f 1`" != "bluetooth" ]
then
cdBluez-start
hciconfig hci0 name "Psykokwak Fox"
hciconfig hci0 ptype DH5
hciconfig hci0 aclmtu 672:4
hciconfig hci0 lm MASTER ACCEPT
fi
if [ "`lsmod | grep videodev | cut -d " " -f 1`" != "videodev" ]
then
spcaload
fi
hciconfig hci0 reset
./servfox -d /dev/video0 -w 7070 -s 640x480
Le protocole de communication reste identique pour le bluetooth :
- Le client envoie au serveur une structure de 13 octets contenant "OK" et des informations pour piloter le driver de la webcam.
- Le serveur envoie a son tour une structure contenant les information sur l'image dont la taille de l'image.
- Le serveur envoie l'image.
- On recommence...
Tableau des performances :
- 176x144 : +/- 10fps
- 320x240 : 2/3fps
- 640x480 : 0.5fps
Problèmes connus :
- la Labtec Webcam pro ne fonctionne qu'en 640x480. Ceci est due a un bug dans son firmware qui envoie des images corrompues au driver en 320x240.
- Sur foxboard, servfox transmet des trames corrompues. Sur linux ca fonctionne correctement.
Le client est développé en j2me sous eclipse.
Il n'a été testé que sur Sony Ericsson k800i et k750i.
- jar : jbtwebcam.jar
- Source : jbtwebcam-1.0.57.zip
Ce programme est donné sans aucune garantie.
This program is given 'as is' WITHOUT ANY WARRANTY.
Photo (cliquez pour agrandir).

Commentaires
1. Le dimanche 15 juillet 2007 à 18:30, par leu
2. Le vendredi 31 août 2007 à 08:50, par David
3. Le vendredi 31 août 2007 à 11:35, par Psykokwak
4. Le samedi 29 septembre 2007 à 16:27, par Messere
5. Le vendredi 23 novembre 2007 à 20:39, par Explobot
6. Le vendredi 23 novembre 2007 à 22:13, par Psykokwak
7. Le mardi 19 février 2008 à 01:23, par beller
8. Le mardi 19 février 2008 à 09:29, par psykokwak
Ajouter un commentaire