====== 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