Que tal Oriol, yo otra vez molestando, ya le pegue una revisada a las paginas que me dijiste, ahora mi pregunta es para empezar que tendria que hacer para usar domino y odcontrol, hay algun manual o ejemplo desde cero, con que me pueda guiar o si alguien me podria ayudar se los agradeceria un monton.
Saludos
Ejecutar scripts
Oriol tengo dos scripts uno llamando purup y otro purdn los cuales me ayudan a abrir y cerrar la puerta, mi pregunta es como asocio a una etiqueta llamada garaje estos dos scripts abrir y cerrar, acontinuacion pongo el script de subida. Este script lo guarde en /etc/opendomo/root como me dijiste.
#!/bin/sh
#sube la puerta
echo on > /var/opendomo/control/domino/purup
#espera 10 segundos, tiempo total
sleep 10
#deja de pulsar el boton
echo off > /var/opendomo/control/domino/purup
Saludos.
Ricardo Almendares
Tendrá que ir aparte
El script de listControlPorts.sh solamente muestra los puertos configurados a través del módulo odcontrol (o sea, en Arduino, Micropik y similares), o sea que si quieres mostrar tus scripts en la interfaz debería estar en otro apartado por ahora. Una opción seria hacer un script propio dentro de /etc/opendomo/root/control/ exclusivamente para el control de tu motor. El script podría ser algo así:
Espero que te sirva!
Pequeñas dudas
Oriol en esta parte me podrias explicar que hace el script:
Gracias.
Ricardo Almendares
Paso a paso
Tal como puedes ver en la explicación de la sintaxis de scripts del Manual de Referencia, el formulario que estoy creando tendrá una etiqueta (Puerta) y junto a ella dos botones: abrir y cerrar. Al emplear el tipo de dato "subcommand", el botón pulsado se enviará como segundo argumento al propio script, mientras que el primer argumento será el código del campo, en este caso lo he llamado "action".
Los echos al archivo /tmp/myscript.tmp son para que el script tenga algo de memoria de modo que pueda mostrar como pulsado el botón correspondiente a la última opción seleccionada.
No muestra
Oriol me muestra mensajes de error:
/etc/opendomo/root/control/myscript.sh: line 11: purdn: not found
/etc/opendomo/root/control/myscript.sh: line 7: purup: not found
probe los scripts para temporizar la señal por separado y si funciona.
Quisiera saber que deberia colocar dentro de los if
if test "$2" == "abrir"; then
purup & ------->Es la direccion donde tengo el script o el puerto?
echo "$2" > /tmp/myscript.tmp
fi
Gracias.
Ricardo Almendares
La ruta a tus scripts
Bueno, simplemente debes especificar la ruta absoluta a los scripts que dijiste que ya tenías. El "&" de después es para que se lancen en segundo plano, o tendrás la página web cargándose hasta que hayan pasado los 10s.
Not formatted line
Oriol ahora me sale: myscript.sh:Not formatted lin, ahora pienso que el error se encuentra en esta parte:
status=`cat /tmp/myscript.tmp` 2>/dev/null
echo "form:`basename $0`"
echo "(tab)action(tab)Puerta(tab)subcommand[Abrir,Cerrar](tab)$status"
echo
Saludos
Ricardo Almendares
(tab) = Tabulador
Prueba reemplazando la cadena (tab) por el caracter tabulador. Supongo que será eso.
Mostrar ciertos puertos
Oriol ya me funciono el script, ahora que deberia hacer para que no me muestre los puertos que no utilizo, una sugerencia seria que al configurar los puertos poner un checkbox si se desea o no mostrar ese puerto en la lista.
Saludos
Ricardo Almendares
Deshabilitar puertos
Por ahora no tenemos prevista la opción de ocultar puertos, pero tal vez lo que puedas hacer es deshabilitarlos directamente en la placa. Usa el comando "cfg" indicando el tipo "x" tal como se indica en el manual de referencia.
Ayuda con puertos
Oriol, hice lo que me dijiste deshabilito los puertos que no utilizo pero como sabras hice el script que me mencionaste para manejar el servomotor, el cual utiliza dos puertos mediante temporizacion(purup y purdn), pero a su vez aparecen en listar controladores, cosa que no deberia, porque el usuario podria activarlos de manera indefinida. Saludos.
Ricardo Almendares
En este caso
En este caso no tienes más remedio que ocultarlos mediante CSS. Piensa que todo esto de crear nuevos scripts y demás no es más que un workaround para poder hacer lo que deseas antes de que esté implementado. Puedes dejar el archivo CSS en el directorio /etc/opendomo/root/control/ con el nombre del script que has creado y ".css" al final. Se guardará con la configuración.
Como hacer el css?
Oriol como haria el css para ocultar los puertos que deseo, porque tendria que interactuar con el listControlPorts.sh
Gracias
Ricardo Almendares
Mira el HTML
Crea un archivo listControlPorts.sh.css en /etc/opendomo/root/control y haz lo siguiente:
#di010 {display:none;}
usando el ID de cada puerto que no vayas a necesitar.
No oculta
Oriol ya mire el html pongo una de las lineas que quiero ocultar:
<!-- subcommand[on,off] [] domino.purup domino.purup -->
<li id='domino.purup_lbl' class='subcommand[on,off]'><label for='domino.purup'>domino.purup</label>
<p class='toggle off'><a href='listControlPorts.sh?command=domino.purup&value=on' class='unpressed'>on</a><a href='listControlPorts.sh?command=domino.purup&value=off' class='pressed'>off</a> </p></li>
me imagino que el id que me mencionaste es de la linea osea domino.purup_lbl, ahora en mi listControlPort.sh.css puse de tres maneras y nada:
domino.purup {display:none;}
domino.purp_lbl {display:none;}
purup {display:none;}
que podra ser?.
Saludos
Ricardo Almendares
Para indicar un ID
Para indicar un ID en CSS debes prefijarlo con "#". Si es una clase, con un ".". Sin prefijo, lo interpreta como el nombre del TAG.
Prueba con #domino.purup {display:none;}
Nada
Oriol he intentado de varias formas y nada, por ejemplo para hacer algo simple como agregar viñetas a la lista no lo hace:
#listControlPorts li {list-style-type: square;}
Que podra ser?.
Saludos
Ricardo Almendares
Varias cosas
Al parecer algunos navegadores no reconocen el "." como parte de un ID, por lo que la solución que te planteé no es válida, así que me tocará ajustar el módulo odcontrol para que tengas esa opción. En cuanto a las pruebas que estás haciendo, es posible que colisionen con el tema visual de la interfaz. Prueba con añadir "!important" después del valor indicado, a ver si este es el caso.
Intentaré tener a punto el nuevo odcontrol antes de sacar la próxima versión, para que puedas personalizar tu interfaz pronto!
Conectar Domino en VirtualBox
Oriol como conecto domino en virtualbox?
Saludos.
Ricardo Almendares
Selecciónalo de la lista de dispositivos usb
Hola,
Sólamente tienes que seleccionarlo de la lista de dispositivos USB de VirtualBox, atención, para tener soporte USB no debes utilizar VirtualBox OSE sino la versión privativa de Virtualbox. Si al tratar de seleccionar el dispositivo, éste se encuentra en gris y no se puede seleccionar, añade un filtro USB en la lista USB device Filters. Espero que te funcione. Ah! No te olvides de instalar el paquete kernel-serial!
Dispositivos Usb
Que tal SKarvin efectivamente hacia eso, seleccionaba de la lista usb la tarjeta domino y me mostraba el estado de: capturado, pero como verifico que esta conectada la tarjeta domino correctamente, por cierto ya instale el paquete kernel-serial.
Gracias, Saludos
Ricardo Almendares
lsusb
Bueno, una vez has conseguido instalar el filtro para que la arduino aparezca como capturada y el paquete kernel-usbserial, deberias ver algo como:
No he podido hacer pruebas con domino para verificar su funcionamiento, pero a nivel de virtualbox esto seria todo.
Saludos Ricardo.
Listo lsusb
Listo SKarvin ya hice lo que mencionaste y efectivamente me muestra que tengo conectada la tarjeta domino, aunque tuve unos problemas para poder conectarla, pero ya lo solucione, ahora cuando ingreso a la interfaz de opendomo me reconoce el puerto ttyUSB0 ahora cual es el paso a seguir?.
Saludos
Ricardo Almendares
Configurar el dispositivo de control
Una vez ya ha sido reconocido el hardware, lo siguiente es configurar el dispositivo de control ("Configuración" -> "Dispositivo de control" -> "Añadir placa de control") indicándole el puerto, controlador (en tu caso "arduino") y un nombre. Hecho esto, guarda la configuración y arranca el servicio ("Control" -> "Servicios del sistema" -> "Controladores") y ya deberías poder controlar los puertos desde la interfaz ("Control" -> "Listar controladores").
Dudas
Oriol ya puede encender los leds, pero al momento de añadir la placa sale un error que es sobre el apply device template y ademas cuando entro para configurar los puertos me aparecen todos en lugar de aparecerme los que configure via terminal que son 9, cierto oriol como podria eliminar una placa de control, ya que no hay una opcion para ello; otro punto es que no guarda la configuracion con respecto a los estados del sistema ya que tengo dos estados video vigilancia y controladores, cuando reinicio la maquina virtual se pierde esa configuracion.
Oriol otra cosa como asocio a una etiqueta dos señales, es para el caso de la persiana con el pin 8 manejo una direccion y con el pin 9 manejo la direccion contraria del servomotor, en el video de presentacion de opendomo vi que tenian una etiqueta para una persiana, eso es lo que quiero lograr.
Gracias.
Ricardo Almendares
Por partes
Al ejecutar el "lst", efectivamente se muestran todos los puertos físicos, estén activados o no. Más adelante daremos más opciones para configurar esta salida, pero por ahora no nos ha parecido imprescindible, ya que puedes jugar con los CSS para ocultar aquellos puertos que no quieras mostrar. Con respecto a la cuestión de borrar placas de control, puedes dejar un Issue en el Googlecode (http://code.google.com/p/opendomo/issues/list) ya que entiendo que tal función tarde o temprano será necesaria.
En cuanto a los estados, entiendo que el problema que comentas es que el sistema no recuerda el último estado activado, pero que después de reiniciar tales estados sí que existen, ¿cierto?
Estados del Sistema
Efectivamente es lo que dices Oriol no reconoce cuales estados fueron activados, pero si aparecen los servicios disponibles.
Ricardo Almendares
No consigo reproducir el problema
Lo he probado en virtual, así como en la plataforma real, y parece que los estados funcionan bien., por lo que necesitaré más pistas sobre tu configuración: ¿Qué estados tienes creados? ¿Qué servicios están activados en cada uno?
Mis estados
Cuando voy a administrar servicios del sistema me sale lo siguiente:
Estado del sistema: boot
motion
video supervision
video vigilancia
motion tracking
controladores
sonido
de los cuales necesito tener activado los controladores y video vigilancia,los selecciono voy a guardar configuracion, reinicio la maquina virtual y se pierde esa configuracion, por default me carga los controladores pero no aparece los puertos de domino tengo que seleccionarlo de nuevo y ahi puedo ver los puertos.
Saludos
Ricardo Almendares
Eso son servicios
Lo que enumeras son los servicios. Deberías crear algún estado y asignarle los servicios que quieras tener activados, guardar configuración y aplicar el nuevo estado.
Por default boot
Esa no me la sabia, pero ya cree mi estado con los servicios que quiero voy a control-> cambiar estado; seleccione mi estado y reconoce los servicios que escogi guarda la configuracion y al reiniciar la maquina se pierde el estado, y por default pone el estado de boot.
Cuando escojo el estado me muestra el codigo, cosa que no deberia.
Saludos
Ricardo Almendares
No es el código
Cuando parece que vaya a descargarse el código, en realidad no lo hace. Simplemente se trata de algún mensaje de error antes de las cabeceras HTML con el Content-Type, y el navegador lo interpreta como si fuera un archivo para descarga. La próxima vez que te suceda, guarda el archivo como .txt y mira la primera línea; normalmente se trata de algún archivo sin permisos o inexistente. Entonces podré solucionarlo sobre el código fuente.
Varios mensajes
Oriol a veces salen varios mensajes:
Este mensaje sale cuando reinicio la maquina y trato de cambiar el estado boot por mi estado:
1.-chown: /tmp/video/odcam-8091-ip: No such file or directory
HTTP/1.0 200 OKContent-type: text/htmlSet-Cookie: HTSESSID=FCDF2B58BE1FD6F3AB701569EAE73DDF; Path=/; Expires=Sun, 11 Jul 2010 18:36:18 +0000
Pero si cambia de estado.
El segundo mensaje sale cuando quiero cambiar de nuevo a mi estado; osea mi estado se llama activo, estoy en ese estado y vuelvo a cambiar mi estado a activo sale este mensaje:
2.- grep: /etc/opendomo/states/activo/K*: No such file or directoryHTTP/1.0 200 OKContent-type: text/htmlSet-Cookie: HTSESSID=EFEFFDF5B04ABC4736B23AE6D2553B67; Path=/; Expires=Sun, 11 Jul 2010 19:10:34 +0000.
Otra cosa que me di cuenta es que no aparecen los puertos cuando selecciono mi estado aunque me muestra que si esta activo el servicio, tengo que volver a activarlo y ahi los reconoce.
Saludos.
Ricardo Almendares
Punto 2 solucionado
El punto 2 era una falta de robustez en los scripts del cambio de estado, y ya está corregido en el SVN, por lo que en la próxima versión estará solucionado. El primer punto es un problema de odvideo que solucionaré tan pronto como localice.
Gracias por el aviso!
Primeros pasos
Una vez tengas Domino configurado, conéctalo a tu agente con OpenDomo (donde ya tendrás kernel_scsi, kernel_usbserial y odcontrol instalados). Hecho esto, verifica que existe un puerto /dev/ttyUSB?. Si no existe, tal vez exista algun problema con los controladores del equipo.
Una vez el puerto aparezca montado, ya puedes entrar en la interfaz web e ir al apartado de configuración, "Add control device" e indicarle el nombre y el código que quieres usar para la placa, y el puerto donde está montada. Reinicia el servicio de odcontrol (o guarda la configuración y reinicia el sistema completo) y ya podrás controlar la placa desde la interfaz. Si lo deseas, también podrás configurar el comportamiento de los puertos desde la misma interfaz.
Update: Acabo de añadir un manual de troubleshooting para los problemas relacionados con Domino, que aunque sea muy breve aún puede ser de utilidad.
Mas información
Que tal Oriol, te queria pedir mas informacion de lo que sea referente con lo que quiero hacer, no se si sea mucha molestia pedirte cualquier informacion sobre el tema me lo podrias enviar a mi mail: ricardo_almendares@hotmail.com, ya que considero que la informacion podria ser mucha y estar escribiendo en el foro como que es muy pesado, gracias de antemano.
Saludos.
Ricardo Almendares
Mejor en el foro
Hola Ricardo Javier,
Aunque hasta el momento haya sido yo quién ha contestado tus comentarios, no soy el principal desarrollador ni el responsable del módulo odcontrol, por lo que es más conveniente que publiques aquí tus dudas, de modo que el más adecuado pueda responderlas. También te agradecería que las preguntas fueran concretas, ya que así podrán ser contestadas de forma más directa y rápida, y podrán ser de utilidad para otros usuarios.
El correo lo limitamos a las discusiones más inmediatas, y siempre a través de la lista del grupo de discusión, de modo que pueda ser accedido públicamente.
Por cierto, disculpa si tardamos en contestar los comentarios; últimamente estamos muy ocupados intentando cerrar Alpha2 y no estamos demasiado pendiente de la web.
Salud!
Una pregunta concreta
Tengo mi tarjeta arduino, mi distribucion opendomo, con el modulo odcontrol, de ahi que debo hacer? para poder aunque sea prender un un led, una sugerencia seria excelente que suban algun video de como configurar opendomo con arduino, ya que hay muy poco informacion al respecto, sorry por las molestias.
Saludos
Ricardo Almendares
Estaria bien indicaras si has
Estaria bien indicaras si has conseguido hacer funcinar la placa arduino con domino (lo del video)mas que nada por saber en que punto estas bloqueado e intentar solventarlo. Como pista aunque no se si es el caso para hacerlo funcionar en un entorno emulado con qemu yo le agrego un comando: "-serial /dev/ttyUSB0 " y luego tras instalar los paquetes necesarios en la interfaz web opendomo: usb serial drvers y odcontroll lo actualizas todo Ccierras sesion y vas dentro de qemu accedes como root y escribes updatInsatelledPackages.sh.
Ya tan solo te queda añadir la placa de control como arduino poner en on el administrador de servicios del sistemas y configurar los puertos.
Es mas o menos para que te hagas una idea. Yo he tenido problemas con el orden de hacer las cosas.
Asi es como yo lo hago pero no soy experto en el tema.
Ya tengo mi tarjeta arduino
Por fin me ha llegado la tarjeta arduino, ya subi el firmware a la eeprom pero cuando trato de hacer la prueba mediante el hyperterminal en windows no puedo tipear ningun comando, cuales son los pasos a seguir para poder utilizarla con opendomo, ya que con la nueva version de la distro han cambiado ciertas cosas, les agradezco de antemano por la ayuda.
Saludos
Ricardo Almendares
Has usado el SDK de Arduino?
Si has cargado el firmware mediante el SDK de Arduino, tal como indicamos en nuestra web, ya deberías tener tu placa Domino a punto. Nosotros no usamos Hyperterminal, pero en la propia web de Arduino tienen un manual:
http://www.arduino.cc/playground/Interfacing/HyperTerminal
Placa domino lista
Oriol gracias por la referencia a la pagina de arduino, estaba usando el hyperterminal de manera incorrecta y efectivamente al ejecutar el comando lst me desplego toda la lista de comandos o las 13 salidas digitales y las 5 analogicas, ahora cual es el siguiente paso para utilizarla desde la interfaz, ya que hay ciertos cambios en la opcion dispositivos de control, por ejemplo que va en description, codigo, parametros extra, refresco.
Gracias
Saludos.
Ricardo Almendares
Por ejemplo
Por ejemplo "Domino" es válido para la descripción y "domino" para el código (solo minúsculas). El resto, déjalos como están.
Por cierto, deberías configurar la placa desde Hyperterminal antes de agregarla al agente, o perderás configuraciones si más tarde haces algún cambio en los puertos.
Que tengo que hacer para configurarla
Oriol que debo hacer para configurar la tarjeta, eso no lo tengo claro aun, vi el manual de referencia pero no lo entiendo muy bien. La tarjeta usa el puerto com7 en mi caso, que no mas se debe configurar.
Gracias
Ricardo Almendares
Depende de lo que necesites
Por ejemplo, si usas el puerto 7 para controlar una salida deberás configurarlo como "output" mediante el comando "cfg do007 do". Asígnale un nombre para cuando tengas más cosas a controlar, usando el parámetro "lbl". Tienes algunos ejemplos en el manual de referencia de Domino.
Comando save no funciona
Oriol hice lo que me comentaste configure los puertos, les puse su respectivas etiquetas y ejecute el comando save, todo bien hasta ahi.
Pero cuando quito el suministro de energia y lo vuelvo a conectar las configuraciones se pierden, la version del firmware es la 0.1.2 ya probe los puertos mediante el hyperterminal y si responden a los comandos. Otra cosa cuando conecto domino a opendomo a traves de virtual box no se crea el /dev/ttyUSB, no se si habra cambiado la direccion con la nueva distro.
Saludos y gracias.
Ricardo Almendares
Cierto
Al parecer se hizo un commit erróneo del código del firmware. Acabo de subir una versión 0.1.3, con algunos cambios en la gestión de la configuración. En cuanto al uso de Domino desde VirtualBox, yo no puedo hacer las pruebas pero se lo pediré a algún compañero, a ver si pueden resolver tu duda.
Sigue sin funcionar
Oriol subi la version 0.1.3 pero sigue sin funcionar el comando sav mira hago lo siguiente:
lbl do002 entra
lbl do003 comed
lbl do004 sala
lbl do005 cocin
lbl do006 bano
lbl do007 estud
lbl do008 purup
lbl do009 purdn
sav
me sale N:board cfsav, quito el cable usb y lo vuelvo a conectar y se pierde toda la configuracion.
Ricardo Almendares
Me pongo a ello
En primer lugar, disculpa el retraso. He estado de viaje durante casi dos semanas y no me he llevado el portátil, así que no he encontrado el problema aún. Hoy mismo me pongo de nuevo a trabajar con Domino para solucionar todos estos problemas e implementar algunas de las funcionalidades pendientes. En cuanto tenga la próxima versión estable publicaré un artículo en la web informando de los cambios.
Lo maximo
Que tal Oriol espero que te haya ido bien en tu viaje, y eres lo maximo ya funciona el comando sav, ahora solo me falta conectar domino con opendomo.
Gracias, Saludos.
Ricardo Almendares