Outils pour utilisateurs

Outils du site


pcp:oeillettes

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:

  1. une Raspberry Pi ( qu'on à souvent déjà pour faire d'autres choses…)
  2. 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:

  1. mettre le tout dans une boite solide
  2. récupérer l'install RSP pd-extended déjà faite
  3. installer motion

Ressources

Manip

  1. récupération d'une image raspbian à jour http://www.raspberrypi.org/downloads/ et installation sur une SD
  2. update du tout
  3. 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 arm codage type linux

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

  1. montage d'une image système pour dépot sur la TPlink MR3020
  2. test de webcam
  3. test d'envois d'images
    1. camstream inapproprié
    2. webcam-server ?
    3. ffserver paquet natif
    4. vlc
    5. motion ? en déclenchement ?
  4. 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 

Le résultat: archive de l'image à flasher

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

pcp/oeillettes.txt · Dernière modification : 2024/02/09 17:10 de 127.0.0.1