Paso 10: Scripts de OpenWrt
Básicamente en el router OpenWrt tendrá 2 scripts, uno que se inicia la captura de la webcam y que se encarga de la comunicación con el controlador de puerta para mascotas y carga los mensajes e imágenes para twitter.En el router, crear un directorio en ~ llamado catdoor:
mkdir ~/catdoor
a continuación, en este directorio ponemos el siguiente script:
TP.sh
#! / bin/sh - # almacenar algunos caminos en las variables de la prácticas # establecer el puerto serie a 9600 baudios # Dile el AVR que estamos listos para empezar a hacer cosas # consiguió la línea al azar # Asegúrese de que el archivo existe y es legible # Dile curl para enviar un formulario multipart a twitpic RET = $(curl -s -S -F "$myname" -F "$pword" -F "$cargo" -F "$tweet" $target)
picsdir = / www /
PIC=SpcaPict.jpg
TNAME = your_twitter_username
TWORD = your_twitter_password
# por lo que podemos hablar con el AVR
# desactivar eco local para hacer direcciones de TX/RX
# totalmente separadas entre sí
stty echo 9600 - < /dev/tts/0
echo "Inicio" > /dev/tts/0
mientras loop true # para siempre
hacer
inputline = "" # borrar entrada
# Bucle hasta que tengamos un comando válido de arduino
# la línea debe ser el archivo de texto que tenemos que abrir para conseguir
# un mensaje al azar
hasta el inputline = $(echo $inputline | grep -e ".txt")
hacer
inputline = $(cabeza - n 1 < /dev/tts/0)
hecho
# consiguió una línea válida - nombre de archivo de texto - de arduino
# ejemplo: gus out.txt
# Ahora abra el archivo y obtener una línea al azar del archivo
Si [-f $inputline];
entonces
LÍNEAS ='wc -l $inputline | awk ' {imprimir ($inputline + 1)}''
RANDSEED =' fecha ' + %S %M % I''
LÍNEA = "cat $inputline | awk - v cuenta = $LINES - v semilla = $RANDSEED ' FNR BEGIN {srand(SEED); i=int(rand()*COUNT)} i {impresión $0} ==''
# crear el mensaje de twitpic y enviarlo
# Guarde todo en vars para hacer
enrollamiento de # opta por varias partes forma un poco más manejable
picfile = pic de $$picsdir
carga = "media =
minombre = "username = $TNAME"
PWord = "contraseña = $TWORD"
Tweet = "mensaje = $linea"
destino = "http://twitpic.com/api/uploadAndPost"
mientras que [! - r $picfile];
hacer
picfile = pic de $$picsdir
hecho
# guardar el XML devuelto en una variable
echo "$RET"
fi
hecho
en el directorio www crear el archivo pic.sh:
#/ bin/sh
sueño 10
#cd www
ln -s /dev/v4l/video0/dev/video0 # crear /dev/video0
spcacat -d/dev/video0 -g -f jpg -p 3000 -o >/dev/cero # tomar una foto cada 3 segundos
en /etc/init.d crear un archivo llamado webcam (esto va a comenzar cada vez que arranca el router):
#! / bin/sh /etc/rc.common INICIO = 10 Start() STOP()
script de webcam #
# Copyright (C) 2007 OpenWrt.org
DETENER = 15
{
Inicio eco
comandos # ejecutar aplicación
/www/PIC.sh &
}
{
parada de eco
comandos # a aplicación
}