Étape 10 : Scripts de OpenWrt
Essentiellement sur le routeur OpenWrt vous aurez 2 scripts, celle qui débute la capture webcam et celle qui gère la communication avec le contrôleur de la chatière et télécharge les messages et photos pour twitter.Sur le routeur, créez un répertoire dans ~ / appelé catdoor :
mkdir ~/catdoor
Ensuite, dans ce répertoire, mettez le script suivant :
TP.sh
#! / bin/sh - # stocker quelques chemins dans maniable variables # définir le port série à 9600 bauds # Dire l’AVR que nous sommes prêts à commencer à faire des trucs # a obtenu la ligne aléatoire # Assurez-vous que le fichier existe et est accessible en lecture # dire curl d’envoyer le formulaire multipart twitpic RET = $(curl -s -S -F « $myname » -F « $pword » -F « $cargo » -F « $tweet » $target)
picsdir = / www /
PIC=SpcaPict.jpg
TNom = your_twitter_username
TWORD = your_twitter_password
# afin que nous puissions parler de l’AVR
# désactiver l’écho local pour faire sens de TX/RX
# complètement séparés les uns des autres
stty 9600 - echo < /dev/tts/0
echo « Démarrer » > /dev/tts/0
boucle de true # pour toujours
faire
Inputline = "" # clear entrée
# Boucle jusqu'à ce que nous recevons une commande valide de l’arduino
# la ligne doit être le fichier texte, qu'il faut ouvrir pour obtenir
# un message aléatoire
jusqu’au inputline = $(echo $inputline | grep -e « .txt »)
faire
Inputline = $(tête - n 1 < /dev/tts/0)
fait
# a obtenu une ligne valide - nom du fichier texte - de l’arduino
exemple #: gus-out.txt
# maintenant, ouvrez le fichier et obtenir une ligne aléatoire à partir du fichier
Si [-f $inputline] ;
puis
LIGNES ='wc -l $inputline | awk ' {print ($inputline + 1)}''
RANDSEED ='date ' + %S %M % j’ai ''
LIGNE ='cat $inputline | awk - v comte = $LINES - v SEED = $RANDSEED ' FNR BEGIN {srand(SEED) ; i=int(rand()*COUNT)} i {print $0} ==''
# créer le message de twitpic et envoyez-le
# tout stocker à vars pour faire
curl # opte pour plusieurs partie forme un peu plus facile à gérer
picfile = $picsdir$ pic
cargaison = "médias =
myname = "nom d’utilisateur = $TNAME"
pWord = "mot de passe = $TWORD"
Tweet = "message = $LINE"
cible = « http://twitpic.com/api/uploadAndPost »
alors que [! - r $picfile] ;
faire
picfile = $picsdir$ pic
fait
# enregistrer XML retourné dans une variable
echo « $RET »
FI
fait
dans www dir, créez le fichier pic.sh :
#/ bin/sh
Sleep 10
#cd www
ln -s /dev/v4l/video0/dev/video0 # créer/dev/video0
spcacat -d/dev/video0 -g -f jpg -p 3000 -o >/dev/zero # prendre une photo toutes les 3 secondes
dans /etc/init.d , créez un fichier appelé webcam (cela va commencer à chaque fois que le routeur démarre) :
#! / bin/sh /etc/rc.common START = 10 Start() Stop()
script de webcam #
# Copyright (C) 2007 OpenWrt.org
ARRÊTER = 15
{
écho début
commandes de # pour lancer application
/www/pic.sh &
}
{
arrêt de l’écho
commandes de # pour tuer l’application
}