====== Les Oeillettes ======
Départ là : [[https://pcp.saint-nazaire.cc/doku.php?id=projets:oeilletes]]
Quoi de l’indiscrétion de la capture des données des objets connectés, géolocalisation, température,pression,mouvements,accélération,champs magnétiques, sons , images, tout cela émis par les smartphones de chacun pour participer à la construction collective invisible des avatars humains, cyber-simulacres, imitations au service des simulations techno-commeciales d'une humanité blasées. La numérisation est globale. La miriade d'outils statistiques participe activement aux mathématiques d'un enfumage politique et des politiques. La personne sociale et collective devient l'individu solitaire et manipulé, tant souhaité.
**Une Oeillette est une webcam améliorée, hackable et libre. Elle est constituée d'une webcam bon marché et d'une platine système ouverte avec éventuellement une connexion wifi.**
**Une Oeillette doit couter moins de 30€**
===== Deuxième cheminement =====
Après quelques test et réflexions pragmatiques, nous partons sur:
- une Raspberry Pi ( qu'on à souvent déjà pour faire d'autres choses...)
- une caméra de RSP
Ceci pour le projet Street-Session. Nous avons déjà les RSP, l'investissement en caméra (<22€) est intéressant, même si de fait le tout avoisine les 55€ ... sans compter une bone SD.
En cours:
- mettre le tout dans une boite solide
- récupérer l'install RSP pd-extended déjà faite
- installer motion
==== Ressources ====
* http://www.raspberrypi.org/documentation/usage/camera/README.md
* http://www.framboise314.fr/une-camera-de-surveillance-video-avec-le-raspberry-pi/
* http://wiki.oz9aec.net/index.php/Raspberry_Pi_Camera <== ok gstreamer 1.0 !
* http://blog.nicolargo.com/2013/05/streaming-depuis-la-raspberry-camera.html
* python
http://www.framboise314.fr/picamera-pour-piloter-integralement-la-camera-de-votre-raspberry-pi-en-python/
==== Manip ====
- récupération d'une image raspbian à jour http://www.raspberrypi.org/downloads/ et installation sur une SD
- update du tout
- raspi-config pour déclarer le module camera
* le paquet pour raspivid still etc est : libraspberrypi-bin
==== Scripts de Tests ====
test qui fonctionne :
* Server:
$ raspivid -n -w 1280 -h 720 -b 4500000 -fps 30 -vf -hf -t 0 -o - | \
gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=10 pt=96 ! \
udpsink host=IPIP_DESTINATION port=9000
* Client:
$ gst-launch-1.0 -v udpsrc port=9000 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! \
rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
**MAGNIFIQUE** !
à voir si util? : camera_shot.sh
#!/bin/bash
camera_name="egeon"
dst_url="http://ip_controleur/collect.php"
refresh=5 # delais entre chaque photo
while true ; do
img_tag=$camera_name" - "`date "+%Y-%m-%d %A %B %H:%M:%S"`
img_name="cam_img.jpg"
##################################################################
# POUR LES MODULES RASPBERRY PI CAMERA
##################################################################
raspistill -t 1 -w 640 -h 480 -q 50 -o $img_name
##################################################################
# POUR LES WEBCAMS USB
##################################################################
streamer -c /dev/video0 -f jpeg -s 640x480 -j 50 -o $img_name".jpeg" && mv $img_name".jpeg" $img_name
##################################################################
# POUR LES CAMERAS IP
# (le nom du script snapshot.cgi peut dependre du modele de camera)
##################################################################
curl -o $img_name".jpeg" http://adresse_ip_camera/snapshot.cgi && mv $img_name".jpeg" $img_name
##################################################################
if [ -f $img_name ] ; then
convert -pointsize 15 -undercolor black -fill white -draw 'text 0,12 "'"$img_tag"'"' $img_name $img_name
curl --form camera_image=@$img_name --form camera_name=$camera_name --form token=azerty $dst_url
rm $img_name
fi
sleep $refresh
done
----
===== Premiers cheminement =====
==== piste avr, codage type arduino ====
* piste récup cam de portable, voir si interfaçable uart/i2c ? et datasheet
* piste matos et chinoiseries [[http://www.miniinthebox.com/fr/index.php?main_page=advanced_search_result&inc_subcat=1&search_in_description=0&keyword=arduino+wifi&sort=4a#resultSortBarNew]]
chose codées
* [[http://nicolasfley.fast-page.org/?page_id=35]]
* [[https://github.com/arndtjenssen/ov7670]]
==== piste arm codage type linux ====
* https://www.olimex.com/Products/OLinuXino/iMX233/iMX233-OLinuXino-NANO/open-source-hardware 22€
* du coup webcam/usb classique 6 ou 7€ wifi 6€
* http://www.kubii.fr/acheter-raspberry-pi/76-raspberry-pi-modele-a-256-mo-3170111000507.html 23€
* webcam pour rsp (bonne qualité d'image)
=== Pirate box & hack point d'acces wifi ===
* TL-WR710N 25€ , +webcam pas pourri 8 (miniinthebox)
* avantage tout fait, tres solide et ok pour Openwrt
===== Choix =====
**La solution sur base de hack de point d'accès wifi semble la meilleurs solution:**
* reproductible facilement, matériels disponibles
* base GNU/Linux complète permettant une évolution vers des inconnus plus simple
* usage de webcam standard donc d'un plus grand choix de camera
* éventuellement si on avait les spécifications des caméras qui permettent la réparation des smartphones, on pourrait en connecter plusieurs pour 2€ pièces ...
* wifi et filaire directement en place
* hack du port de controle interne (UART) pour connexion d'un arduino possible
par contre
* consommation plus forte plutôt 2W que 0.7 mW
* plus gros
* un peu plus cher ... quoi que.
===== Cuisine =====
cf en réchauffé http://bricoles.du-libre.org/doku.php?id=gnu:openwrt1
- montage d'une image système pour dépot sur la TPlink MR3020
- test de webcam
- test d'envois d'images
- [[ http://www.smcc.demon.nl/camstream/|camstream]] inapproprié
- webcam-server ?
- mjpg-streamer ! paquet natif cf https://johnarthur.wordpress.com/category/zoneminder/
- ffserver paquet natif
- vlc
- [[http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome | motion ? ]] en déclenchement ?
- http://www.zoneminder.com/
- test de filtrage freiOr en local su rune chaine pd ou gstreamer ? selon ressources
==== Recettes ====
Test fonctionnement webcam sous linux, PC a coté:
* mplayer tv:// -frames 10 -tv fps=5:driver=v4l2:width=640:height=480:device=/dev/video0 -vo null
* awtv super ;)
**Principes choisis:**
* le flux d'image est numérisé sous forme de flux d'image jpeg
* ces images sont un stream en local sur un serveur local
* ffmpeg
* vlc
* gstreamer
* on accéde aux images
* (ffmpeg) en allant sur http://webcam-machine-ip/webcam.jpg
* VLC
* vlc http://192.168.1.1:8080/?action=stream
* mjpg_streamer -i "./input_uvc.so -n -q 50 -r QVGA -f 6 -d /dev/video0" -o "./out
* vlc://webcam-machine-ip:8100
*
=== Flashage d'une tplink MR3020 ===
Le résultat: archive de l'image à flasher
{{:pcp:tpl-mr3020-firmware.tgz|openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin}}
ou la version stock [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/]]
ensuite telnet 192.168.1.1 pour etre root sur la bebebte mettre le fichier image sur un serveur
cd /tmp
wget http://quelquepart/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin firmware
# ou a partir du pc source
scp openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin root@192.168.1.1:/tmp
# ou par la page http d admin/system/flashops
# ou
mtd write openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin firmware
reboot -f
elle sera accessible en http://192.168.1.1
Après conexion sur 192.168.1.1 , changement de pass, ouverture du ssh et maj des paquets
opkg install kmod-usb-storage kmod-fs-ext4 block-mount
# Connexion d'une CléUSB formatée sda1/ext4 sda2/swap
mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1
cd /mnt/sda1
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -
modif /etc/config/fstab
mkswap /dev/sda2
swapon /dev/sda2
config mount
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 1
config swap
option device /dev/sda2
option enabled 1
reboot
un df nous assure d'avoir maintenant un /overlay selon la cléUSB ... :-)
=== Tests webcams ===
* une sonixj (-2.14.0 probing 045e:00f7)
* une uvc en QQVGA a 3€
*
en attente d'autres modèles
http://192.168.1.1:8080/?action=stream
===== Sous le coude =====
* http://fr.flossmanuals.net/puredata/ch037_utiliser-une-camera-video
* http://www.artefacte.org/pd/
* http://archive.labomedia.net/formpdvid062006.htm
* http://fr.flossmanuals.net/puredata/ch037_utiliser-une-camera-video
* http://puredata.info/Members/tfbb/lMP/lMP
* motion : http://www.mit.edu/activities/anime/arch/i386_rhel4/share/doc/motion-3.2.8/motion_guide.html
* motion : http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
* http://giss.tv/wiki/index.php/Streaming_Tools
vracs:
* http://wiki.labomedia.org/index.php/PirateBox_TP-Link_MR3020
* http://v2.blogdoch.net/2012/06/06/wusel-174344/
* http://www.palebluedot.nl/jml/computer-stuff/3-linux/33-webcam-streaming-with-raspberry-pi.html
* http://www.maartenbaert.be/simplescreenrecorder/live-streaming/
* http://www.area536.com/projects/streaming-video/ ffmpg
* http://www.moreno.marzolla.name/software/linux-webcam-server/
* http://ediy.com.my/index.php/blog/item/80-tp-link-tl-mr3020-%20-openwrt-%20-webcam mpeg-streamer
* http://www.picaxeforum.co.uk/showthread.php?13705-Rivercam-with-PICAXE-pan-tilt-control&highlight=rivercam
* http://www.artefacte.org/pd/ outils pd video