Arduino Forum

Forum 2005-2010 (read only) => International => Español => Topic started by: igorreal on Oct 16, 2009, 11:42 am

Title: Algún Guru del linux?
Post by: igorreal on Oct 16, 2009, 11:42 am
Hola,

Estoy jugando con un router Linksys y el dd-wrt. Le he sacado el puerto serie del micro del router y se lo he conectado al Arduino. (Hay mucha info por la red).

Me conecto a la consola del router por telnet mediante WIFI, y para enviar algo por puerto serie, hago:
echo S1F > /dev/cua/1
ó
echo S0F > /dev/cua/1

Mi Arduino interpreta estos comandos como apaga(S0F) ó enciende(S1F) un led.
Hasta aquí, todo bien. Me funciona y puedo encender/apagar mi led conectado al Arduino via WIFI.

¿Como puedo hacer lo contrario? Es decir, como puedo ver lo que se recibe por el puerto serie del router al shell.
(No tengo conocimientos acerca de linux)


Gracias!!   ;)



Igor R.
Title: Re: Algún Guru del linux?
Post by: Pofenas on Oct 16, 2009, 08:38 pm
Prueba con:

cat  /dev/cua1

con esto deberias cver la salida por la consola
Title: Re: Algún Guru del linux?
Post by: igorreal on Oct 16, 2009, 08:46 pm
Gracias Pofenas...

Asi debe ser.... Acabo de encontrar un link que dice eso mismo...
http://www.herbert-dingfelder.de/WRT54GL_add_on/WRT54GL_add_on.html

cat < /dev/cua/1

Voy a probarlo!!!!!


;)



[edit]
Lo he probado... y funciona!!! Pero tengo que abrir dos conexiones (tal y como dice el documento del link)  :D  :D  :D  :D
[/edit]



Igor R.
Title: Re: Algún Guru del linux?
Post by: igorreal on Oct 16, 2009, 10:25 pm
Curioso, existe hasta un libro acerca hacking los routers Linksys...

http://www.amazon.com/Linksys-Ultimate-Hacking-Asadoorian-Larry/dp/1597491667/ref=sr_1_1?ie=UTF8&s=books&qid=1221972734&sr=8-1

http://books.google.com/books?id=GBtJdvMeAJQC&pg=PA27&dq=wrt54gl&sig=ACfU3U1hMZe5rdlYKICQrJFD-GN026SF7w#v=onepage&q=wrt54gl&f=false

Title: Re: Algún Guru del linux?
Post by: igorreal on Oct 18, 2009, 10:01 pm
Existe mucha info por la red, pero yo añado mis experiencias:
http://real2electronics.blogspot.com/2009/10/linksys-arduino.html


;)


Title: Re: Algún Guru del linux?
Post by: lsdios on Oct 27, 2009, 09:48 pm
Hola, este es mi primer post aki, asi ke tambien sera el de presentacion, asi pues,
¡Hola a to el mundo!! y siguiendo con el tema que nos atañe, decirte que estoy haciendo mas o menos lo mismo, pero en lugar de un Linksys con una fonera, que a efectos es lo mismo. En mi caso en lugar de DD-WRT lo tengo con OpenWRT, por lo tanto deberia funcionar igual.
Volviendo al tema, comentarte, que para comunicar arduino >> fonera, lo que hago es ejecutar comandos directamenete desde el serial, asi por ejemeplo puedo ejecutar scripts, para que la fonera haga lo que kiero, o por ejemplo para guardar datos, como  por ejemplo la temperatura medida con un DS18s20, y lo guarde en un fichero en la fonera, con registro de fecha y hora.
Asi que depende de lo que quieras hacer es mas comodo hacerlo asi que hacer que el router este a la espera de ordendes con cat < /dev/cua/1

Salu2
Title: Re: Algún Guru del linux?
Post by: igorreal on Oct 28, 2009, 02:48 pm
Hola Isdios,

Exactamente no es quedarse a la espera con la orden cat, es recibir dato enviado desde Arduino a la consola (por ejemplo, para confirmar que la instrucción que le has mandando se está ejecutando... es decir, tener feedback).

Esta claro que lo de poder utilizar la potencia del router ejecutando scripts es buenisimo..... Como no controlo mucho de linux, estoy en ello... ya nos contarás tus experiencias!!!   ;)

Bienvenido!!


Saludos


Igor R.


Title: Re: Algún Guru del linux?
Post by: igorreal on Oct 29, 2009, 12:39 pm
Por cierto.... algún link para aprender scripting, comandos del shell (VeryBusybox??), etc. ?


Gracias!!!


;)
Title: Re: Algún Guru del linux?
Post by: tutte on Oct 29, 2009, 08:25 pm
Buenas a todos, yo también soy nuevo por aquí.
El caso es que yo también me puse manos a la obra con mi router (asus WL500gP) y OpenWRT.
La verdad es que funciona bastante bien aunque no he tenido tiempo para programar mucha cosa, los drivers son poca cosa así que no debería de dar problemas, en mi caso le he implementado una interfaz web con lighttpd para controlar el arduino, pero como ya os he dicho, no he tenido tiempo de trastear mucho más. En cuanto pueda iré poniendo cómo lo he montado en el router :)

Un saludo!
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Oct 30, 2009, 10:26 am
Igor, yo tengo un robot desarrollado con un Linksys y un arduino. La pega de la programación en script en OpenWrt o DD es que no es un sistema Linux completo. Como intérprete de comandos utiliza una aplicación (busybox) que emula un montón de comandos, con la intención de ahorrar espacio. El busybox en cuanto al bash, emula bastante fielmente las funciones más utilizadas, pero hace una interpretación particular en otras funciones, y hay otras que ni siquiera entiende.
Si conoces algo de programación, es muy sencillo programar en C para linksys. Si tienes otro sistema linux aparte, instalando un pequeño paquete podrás hacer compilación cruzada. En C luego ya es coser y cantar, abres el puerto, esperas recepción , interpretas lo recibido, ejecutas lo que sea, etc.
Title: Re: Algún Guru del linux?
Post by: igorreal on Oct 30, 2009, 10:53 am
Hola Eduardo,

¿Qué se ha de tener instalado para realizarlo en C? Lo digo para programar en C en linksys... aunque no quiero perder el dd-wrt, ya que me interesa el poder utilizar WDS y/ó repetidor universal con el entorno web que tiene....


Gracias!!


;)
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Oct 30, 2009, 11:02 am
No se si me has entendido, me refiero a programar en C fuera del linksys, es decir, tener otro PC con linux (linux completo, no DD ni WRT), instalar un paquete de compilación cruzada, y generar la aplicación binaria para meter en el linksys. No pierdes absolutamente nada del linksys, sigue teniendo sus funciones 100%, simplemente lanzas una aplicación más generada por ti. Te busco la pagina donde descargué el paquete este, que hace ya bastante tiempo.
Title: Re: Algún Guru del linux?
Post by: igorreal on Oct 30, 2009, 11:17 am
ahhhhhhh!! No entendí bien.... No sé si necesito tanto....Me imagino que lo que quiero hacer, con scripting servirá... Bueno, si tienes info, por si acaso, nunca está mal tenerla a mano...

Y de scripting, algo de info???


Gracias!!
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Oct 30, 2009, 11:40 am
No encuentro de dónde me bajé el paquete, sigo buscando...
Mientras tanto, en cuanto a scripting, lo que más te interesa empollarte son lo que se conocen como "textutils", que son herramientas sencillas para manipular cadenas de texto.
Por ejemplo cat, tac, nl, tail, head, sort, split, wc, etc
También hay un par de aplicaciones más "gordas" que ahora mismo no recuerdo si vienen instaladas en DD o WRT, que son SED y AWK, la primera más sencilla que la segunda.
Estas últimas herramientas permiten operaciones sencillas, como buscar, reemplazar, ordenar, etc, pero también tienen un lenguaje interpretado específico para que puedas realizar un "script" dentro de la aplicación para procesar cadenas de textos. Especialmente AWK es MUY potente.
Dime en qué puedo ayudarte, llevo desde el 92 manejando Linux.
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Oct 30, 2009, 12:44 pm
Ya lo he encontrado:
http://www.dd-wrt.com/phpBB2/viewtopic.php?p=261635&sid=f4057f23385fb3d28986ed6e4d035f8d

Basicamente es bajarte el paquete, descomprimirlo, cambiar el path para que al ejecutar el compilador lo encuentre en su ubicación, y finalmente, desde la carpeta donde está el .c a compilar, ejecutar:

mips-linux-uclibc-gcc ejemplo.c -o ejemplo

Esto te genera el binario ejemplo (mira con "file ejemplo", verás que no es i386 sino mips) que directamente puedes pasar a la SD del linksys y ejecutarlo.

En mi caso he seguido este metodo (extraído de otra página pero venía a decir más o menos lo mismo) y me ha funcionado perfectamente para compilar programas.
Suerte!
Title: Re: Algún Guru del linux?
Post by: igorreal on Nov 04, 2009, 06:37 pm
Hola,

Aunque soy consciente que algunos no les gustará que sea en windows... ;), he publicado en mi blog, cómo crear una hoja excel que establece una conexión telnet con el router Linksys y controla el ejemplo de encender/apagar mediante botones.

http://real2electronics.blogspot.com/2009/10/linksys-arduino.html

Seguro que más de uno le encuentra utilidad a ésto....

(http://1.bp.blogspot.com/_t8Ozc8jIT9I/SvG3N9JC1HI/AAAAAAAAAIg/DPJx6uVQpFw/s1600/Captura%2Btelnet%2Bcon%2BExcel.JPG)


Saludos



Igor R.
Title: Re: Algún Guru del linux?
Post by: lsdios on Nov 07, 2009, 01:32 am
Bueno, pues aqui hos dejo otro ejemplo de comunicacion entre arduino y Openwrt, en mi caso lo que he hecho es un script para openwrt para que de la hora al arduino, y asi pueda mostrar la hora correcta en un LCD serie.
http://sites.google.com/site/lsdiosarduino/Proyectos-Arduino/reloj-con-fonera

tambien se puede hacer lo mismo para fijarle una hora para realizar una accion (encender una bombilla, un rele, medir una temperatura, etc, etc)
Title: Re: Algún Guru del linux?
Post by: igorreal on Nov 07, 2009, 09:34 am
Hola Isdios,

Interesante!! Una pregunta, el puerto serie de la fonera... ¿es el de la consola?

Me imagino por el script de tu ejemplo que si... Porque en ningun momento le dices que salga la info por el puerto serie.... ¿verdad?

Otra duda: ¿como haces para que el script este continuamente ejecutandose?

Otra duda a los usuarios de OpenWRT: ¿Dispone de gestor web de configuración? Una cosa que me gusta del dd-wrt que puedes configurar todo mediante web, sin necesidad de comandos.... existe lo mismo para OpenWRT??


Saludos



Igor R.
Title: Re: Algún Guru del linux?
Post by: lsdios on Nov 07, 2009, 12:48 pm
Haber partes. El puerto serie de la consola es un puerto serie con niveles TTL lo que significa que ca "a pelo" y si no me equivoco lo mismo pasa en casi todos los routers (esto mismo se puede hacer con los comntren de telefonica o los livebox de orange)
En el script no digo 0nunca que salga por puerto serie, ya que el comando lo recibe por puerto serie, por lo tanto responde por el mismo.
Si kiero darle la orden por la red (SSH, o web) deberia indicarle que saliese por el puerto serie / >> /dev/ttS0) pero como la hora la "pide" el arduinoi por serie, pues la fonera responde por el mismo camino. al iniciar el programa en el arduino, este envia la orden "time.sh" por puerto serie por lo que la fonera responde por el mismo con la hora es bien simple jejejej
OpenWRT en sus nuevas versiones si que tiene interface web. No obstante esto mismo te funcionara en DD-wrt ya que DD-wrt esta basado en OpenWRT.
OpenWRT utiliza otro sistema de gstion web llamado LUCI, http://luci.freifunk-halle.net/WebUI/Screenshots/Administration (aqui tienes algunas capturas)
Personalmente me gusta mas Openwr por la estabilidad, sobre todo al usar la fonera para conectarme a una red wifi.

El lynksis y la fonera no son muy diferentes asi que tambien podras ponerle un lector de tarjetas SD y asi poder por ejemplo, hacer que se registren datos recogidos por el arduino "temèratura. humedad, luz etc) en una SD en el router. Y muchas cosas mas jejejeje

Sobre electronica no puedo ayudar mucho (estamos aprendiendo) pero con openwrt (o dd-wrt) si que te puedo ayudar un poco, ya que llevo bastante tiempo "peleandome" con la fonera.

salu2
Title: Re: Algún Guru del linux?
Post by: igorreal on Nov 07, 2009, 01:01 pm
Ok.

La verdad, que si es potente el hacer cosas dentro del router...
Pero no sé si necesito para mis propósitos...De momento con la pasarela telnet-serie, me va perfecto.
Simplemente me hago un protocolo serie, y uso el router de forma "transparente".

Yo no utilizo el puerto serie de consola, utilizo el segundo que hay libre en el wrt54gl.
He probado a sacar una orden por el puerto serie de consola, y me da mensaje de ocupado.
Pero bueno, teniendo dos, tampoco es crítico.


Saludos



;)

Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Nov 07, 2009, 05:40 pm
Vuelvo a este hilo tras unos dias fuera...
Igor, el primer puerto serie a priori no lo puedes usar, siempre te da ocupado porque es en el que está "agarrada" la entrada/salida del kernel desde que arranca. Date cuenta de que el linksys no tiene teclado ni salida VGA, con lo que en vez de mostrar los mensajes de arranque y posteriores en un monitor y esperar comandos por teclado, estas dos funciones las hace por el primer puerto serie. Si te fuera necesario podrías configurar el arranque para que el kernel no use el puerto serie pero facilmente sea un infierno.
En cuanto a niveles, soy consciente de que Arduino y linksys tienen distintos niveles de tension, pero el primer dia los conecté directamente y funcionó, luego me di cuenta de la diferencia, pero ya sabes "si algo funciona no lo toques", asi que asi lleva meses y todo ok.
En cuanto a ejecucion repetitiva de un script, depende. Si lo quieres constantemente, simplemente has de encerrar todas sus funciones en un bucle while true do... done. Si lo que quieres es que se ejecute cada cierto tiempo, debes usar el cron. El comando cron es un sencillo planificador para lanzar comandos con la frecuencia que se determine.
Saludos
Title: Re: Algún Guru del linux?
Post by: igorreal on Nov 07, 2009, 06:46 pm
Gracias a todos... No le deis más vueltas a lo de las tensiones del puerto serie.... Nunca pregunte acerca de ésto!!! ja,ja,ja

;) :D ;)
Title: Re: Algún Guru del linux?
Post by: lsdios on Nov 07, 2009, 07:03 pm
Las tensionm de ambos puertos serie es la misma, al menso en las foneras, los comtrend y los livebox de inventel, y en los lynksys lo mismo,, son conexiones TTL por lo que van a 3,3 V, lo cual para conectar al serie de un PC (rs232) tenemos que conevrtirlo puesto que estos van a 5v, pero entre dispositivos (arduino-router) no hace falta nada.
Respecto a lo de automatizar, puedes hacerlo de muchas maneras, tal y como comenta eduardo_g i bien como en el ejemplo que puse, es decir que el arduino envie un comando y el router responda.

La idea que tengo, (lo que quiero hacer vamos) es un termostato/temporizador para la calefaccion, y que este se pueda programar desde una pagina web en el router, y envie bien la señales de arrancar parar o bien grave las horas en una eeprom en el arduino y vaya apagando y encendiendo en base a fecha, hora y temperaturas(interiro exterior) asi que poco a poco aver si me va saliendo algo en claro jejejej.

salu2
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Nov 08, 2009, 12:02 am
Isdios, perdona una puntualizacion.
Por tener los términos claros. Tensiones TTL no son tensiones de 3.3v, son tensiones de 5V. Las tensiones de 3.3 vienen de una lógica CMOS o de variantes de TTL, pero el TTL de toda la vida es a 5V.
Y en cuanto a la tensión del puerto serie del PC, el estandar RS232 define un 1 lógico como una tensión entre -3 y -25v, y un 0 lógico se representa como una tensión entre +3 y +25. Muchos equipos suministran +/-5V en el puerto RS232, pero no se puede contar con ello pues otros (comprobado) funcionan con +/-12V. Por eso, cuando se sale de lógicas TTL o CMOS o LVTTL a lógicas RS232, lo mejor es asegurarse la adaptacion con un interfaz RS232/RS3232.

La pega que he encontrado yo en el linksys para controlar eventos via web, es que el servidor web que incluye están tan reducido que no ejecuta ningun tipo de lenguaje tipo PHP. Los CGI's los tienes que programar en script o en C.

Saludos
Title: Re: Algún Guru del linux?
Post by: igorreal on Nov 08, 2009, 03:33 am
Si lo conectas directo, apuesto pasta a que si no pones una resistencia empieza a salir humo!!! Y si la pones, por lo menos, en el mejor de los casos, que tu dispositivo tenga diodos de clamping, estas "salvado".  ;). Si todavía no ha salido, dale tiempo, es que no encuentra el camino... :D

Ya se sabe que en electrónica,las resistencias se ponen para guardar el humo... ;)  :D

Title: Re: Algún Guru del linux?
Post by: lsdios on Nov 08, 2009, 08:12 am
Pues si e3duardo va a ser que tienes razon, y yo que pensaba (no se poeque) que el max232 era para pasar las señales de 5v a 3,3, no se porque llege a esa conclusion, en fin, el tema es que sin ningun adaptador conversor funciona ala perfeccion al menos con la fonera.
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Nov 08, 2009, 10:26 am
Igor, tengo en casa un cacharro funcionando desde hace meses con un arduino conectado directamente a un linksys, y sin problemas. Como comentaba antes, lo conecté así antes de darme cuenta de la diferencia de tensiones, y así se quedó. Te aseguro que no sale humo ni pasadas horas ni dias ni meses.
A priori, desde la teoría, yo no lo recomendaría, pero visto lo visto, no puedo des-recomendarlo.

Saludos
Title: Re: Algún Guru del linux?
Post by: igorreal on Nov 08, 2009, 01:56 pm
Habría que mirar si el micro del router (broadcom) acepta hasta 5v en la entrada (5v input tolerant). Por lo general hoy en día, casi todos los micros tienen diodos de clamp en sus entradas. Añadiendo la resistencia, te aseguras que puedan funcionar.... (a parte de limitar la corriente).
Esto hará que en la entrada del router, las señales le limiten a Vcc +/- V_clamp_diode cuando la entrada sea mayor/menor que su alimentacion (3v3,0v). (dado a que el diodo correspondiente entrará en conducción).

En mi opinión, no lo conectaría directamente....Cómo mínimo (asumiendo que tienen dichos diodos), le pondría resistencia en serie... Y si no, es fácil... Ponle una resistencia en serie, y mira lo que ocurre en el extremo (parte router)....¿a cuanto se queda el voltage?    ;)





Saludos


Igor R.
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 02, 2009, 05:42 pm
Hola,

Una pregunta para alguno que domine linux...

Si quiero recuperar una página web.... ¿como lo hago con comandos bash básicos? (estoy usando dd-wrt)

Estoy intentando hacer ésto:


#!/bin/sh
URL= "http://twitter.com/users/show/real2electronic.xml"
web=`wget -q -O - $URL`
echo $web


Estoy jugando un poco con lo que he visto en:
http://www.themagicclock.com/build-log/the-brains )
http://manifestdensity.net/2008/03/26/dorkbot_arduino_and_fonera/dorkbot-tom_lee-arduino_meet_fonera.pdf


No hay manera.... ¿que hago mal?



Gracias!!





Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 02, 2009, 05:47 pm
Pon aquí el error que te da. A bote pronto se me ocurre que el wget no esté instalado en el linksys, es probable pues suele venir con pocos paquetes instalados. Si lo tienes ampliado con tarjeta SD puedes manejar el instalador (ipkg) e instalarlo.
Para probar si es un problema de sintaxis o de no tener la aplicacion, simplemente prueba "wget http://twitter.com/users/show/real2electronic.xml" a ver si te descarga algo o no...

Saludos
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 02, 2009, 06:00 pm
No hace nada cuando pongo la instrucción. Se queda una linea en blanco y al rato vuelve a salir root@DD-WRT


[edit] Perdona, si hace... no se que pasaba que no tenia conexión a Inet. Sale un msje: Connecting to twitter.com <168.143.162.68:80>[/edit]
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 02, 2009, 06:05 pm
Pues haz un "ls" porque si no dice nada es que lo ha ejecutado. Mira a ver si en la carpeta que estas hay un real2electronic.xml
Si está ahi, es que el wget funciona. Confirmame y seguimos mirando...
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 02, 2009, 06:07 pm
Respondí antes de que editaras tu mensaje. Pone conectando pero no acaba? En ese caso es que no tienes configurada la salida a internet.
Lanza un ping a www.google.es por ejemplo.
Si no va, es que no lo tienes configurado.
La conexión a internet la puedes configurar via web.
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 02, 2009, 06:13 pm
Siiiiiii!!! Está el fichero, con la web...
No sé por qué, a veces se queda como que no tiene conexión...
Incluso poniendo un ping....
Si fuerzo a navegar por una página web con Mozilla ó IE, entonces ya recupera conexión con Inet.... que cosa tan rara!!



Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 02, 2009, 06:31 pm
No lo sé... Algún parámetro de esos que se usaban en tiempos para que desconecte cuando no hay actividad...
Siempre puedes dejarle como se hacía en esos casos, un ping de por vida:
nohup ping www.terra.es &

Si no te reconoce el nohup, hazlo sin nohup, pero cuando cierres la sesión se parará el ping en background
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 02, 2009, 06:39 pm
He reiniciado el router, y ahora parece que va mejor (he estado cambiando firmwares, y a lo mejor estaba "pajaro"....)

Ahora, cuando pongo wget http://..... ; pone lo de Connecting to twitter.com <168.143.162.68:80>, pero no descarga  ningun archivo en la carpeta.
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 02, 2009, 06:41 pm
Y antes de las pruebas de hace un rato habías cambiado algo?
No acaba nunca el wget? O si que acaba y no genera el fichero?
El problema de los binarios del linksys es que están recortadisimos, y no contienen casi mensajes de error, a veces lanzas un comando con alguna barbaridad en los parametros, no hace nada por el error, pero no lo avisa... Es la pega de tener un firmware en tan poco espacio...
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 02, 2009, 06:49 pm
ja,ja,ja

Es lo que tienen las pruebas cuando no tienes muy claro lo que haces... no tengo ni idea!!! ja,ja,ja. Vete a saber si cuando tenía el archivo, en que momento ha sido....ja,ja,ja

Pone lo de Connectingo to... bla,bla y nada más.
Estoy en el directorio /tmp/  (por si acaso hay algun tema de permisos....)
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 02, 2009, 06:52 pm
Pues el problema es lo que te digo, las aplicaciones que vienen casi no dan detalles en caso de error. Prueba conectividad con varios ping a terra. es google.es, etc, y al propio servidor al que estas haciendo el wget, y si eso va bien, es que no es problema de conexion.
Efectivamente en /tmp/ puedes escribir sin problema, es un sistema de ficheros montado sobre ram, con lo que cualquier fichero se perderá tras un reinicio.

Saludos
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 02, 2009, 07:09 pm
Ahora funciona.... sin hacer nada especial... por qué? quien sabe...

Seguiré investigando, porque el script que he puesto que no funcionaba, lo he vuelto a crear, y ahora va a las "mil maravillas"... ja,ja,ja

Me muestra por pantalla el contenido en dicha página...
Voy a seguir con grep y sed.... pasito a pasito.... ;)

Me hace gracia el poder controlar cosas desde el Twitter    ;D

Muchas gracias Eduardo!!





Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 03, 2009, 03:38 pm
Ayer, no sé que paso... Me imagino que algo iba mal despues del cambio de firmware, porque hoy ha estado todo el día funcionando bien.....

Otra pregunta del maravilloso linux y el comando sed.

Tengo una frase de esta forma:
<text>lo que sea </text>

Quiero quitarle los text que estan entre <>.

Hago esto:
sed -e s/\<text\>//g
perfecto, me quita el primero
si intento ésto:
sed -e s/\<text\>//g -e s/\<\/text\>//g
NO FUNCIONA. Me devuelve algo vacio.

algo va mal cuando quiero ponerle el /, que es lo que tiene mi segundo </text>. Porque he probado:
sed -e s/\<text\>//g -e s/text\>//g
y lo hace bien, dejandome al final </.


Creía que usando \, ya podia usar despues / para que reconozca que es parte del texto y no como delimitador. ¿sugerencias?
Me he basado en info de http://www.grymoire.com/Unix/Sed.html#uh-2

Gracias!!!


Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 03, 2009, 04:57 pm
uy!! He probado a usar otro delimitador en el segundo sed, y va perfecto
si hago:

sed -e s/\<text\>//g -e s:\</text\>::g

Funciona!!    :D

Por aprender, si alguien sabe que es lo que pasa cuando usas / como delimitador... ;)


Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 03, 2009, 09:27 pm
Que bien que lo hayas encarrilado.
Otra alternativa para que le des vueltas a la cabeza, porque con las textutils hay siempre mil caminos para conseguir lo mismo:

cut -d'>' -f2 _texto_|cut -d'<' -f1

Con esto coges primero el segundo campo (f2) usando el separador ">", y se lo pasas a otro bloque que coge el primer campo (f1) usando como separador "<".

Seguro que con el AWK también hay manera pero lo tengo muy oxidado...

Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 03, 2009, 09:58 pm
Lo miraré.... lo malo, es que hay muchisima información, pero no está  bien explicada....te encuentras como poder sumar con sed, ó como hacer mil y una frikadas, pero algo básico cuesta de encontrar...ja,ja,ja

Pero bueno,está divertido...

Ya tengo mi script funcionando que recoge el estado actual de una cuenta de twitter, y lo manda por puerto serie. Arduino recoge dicho mensaje y procesa.
El típico ejercicio de encender/apagar un led, pero desde un mensaje escrito en twitter.... (es lo que tiene estar de vacaciones con tiempo libre.... te da por hacer cada cosa... :D)

Pero hoy no va muy fino el twitter y me esta fastidiando las pruebas...



;)



Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 09, 2009, 09:36 pm
Pues he dejado todo plasmado aqui: Unir Arduino con Twitter mediante router linksys=> http://real2electronics.blogspot.com/2009/12/linkduino-twitter.html

;)


Gracias por la ayuda!!
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 20, 2009, 05:02 pm
He subido cómo usarlo cómo servidor web con un ejemplo básico => http://real2electronics.blogspot.com/2009/12/linkduino-web-server.html


[media]http://www.youtube.com/watch?v=IxavvRaCOKM[/media]



;)
Title: Re: Algún Guru del linux?
Post by: Eduardo_g on Dec 20, 2009, 05:35 pm
Muy útil Igor. Nunca había sabido por qué no me funcionaban los cgi's en mi dd-wrt... Ahora ya sé la razón. Sólo falta saber si es posible mantener toda la distribución a v24 y actualizar el httpd a alguna versión que admita CGIs de manera segura..

Gracias por tu aportación! Saludos.
Eduardo
Title: Re: Algún Guru del linux?
Post by: igorreal on Dec 20, 2009, 05:45 pm
siiii!!!! No veas lo que me costó encontrar por qué no funcionaba.... Ya que también tenía la v24....

Y lo mejor de todo, cuando estaba pansando el firmware, algo fue mal y me quede sin linksys....ja,ja,ja. Al final, mediante tftp conseguí meterle el firmware original y volver otra vez a dd-wrt.

Una aventura!!! Pero ya está de nuevo a tope!!!


;)

Title: RETO
Post by: igorreal on Dec 29, 2009, 11:01 pm
Un reto para los linuxeros:

Problema: Se desea hacer un script en bash básico que envie petición de datos al Arduino por puerto serie (ejemplo echo D > /dev/cua/1). Seguidamente el script debe recoger la respuesta de Arduino para procesarla. El dato recibido es de tipo data=valor.

Utilizando lo típico de grep,cut,awk,sed,.... Para linuxeros de los de antes.... :D

(ya lo he resuelto, pero vaya tela....). Ya adelanto que cat /dev/cua/1|grep "data"|sed..... no vale. Se queda todo el rato esperado a más datos, y no continua el script (no se finaliza el cat, hasta CTRL+Z).


Ya lo he conseguido,y el dato obtenido, lo gráfico mediante javascript.(Embebido en el linksys)

[media]http://www.youtube.com/watch?v=XvZXY6b5-P8[/media]


qué se note los linuxeros del foro!!


;)
Title: Re: Algún Guru del linux?
Post by: igorreal on Jan 04, 2010, 12:27 am
Aquí va otra de linux. Control de un LCD desde web (Formularios):

[media]http://www.youtube.com/watch?v=wb2vKsKqqWo[/media]

Lo que da el sed,grep,awk y cut..... ;D

Más info en => http://real2electronics.blogspot.com/2010/01/linkduino-controlar-lcd-desde-web.html



Saludos



Igor R.
Title: Re: Algún Guru del linux?
Post by: igorreal on Jan 09, 2010, 07:10 pm
Hola,

Me ha llegado el pedido de Sparkfun con SD sniffer, y ya tengo el hack para añadir SD al router!!! En un momento, ha pasado a tener 1 Gb!!!

Ahora a descargar paquetes optware... Curl funcionando!! Ahora ya puedo cambiar status del Twitter, enviar datos a Pachube,....

Pronto más inventillos.... :D


(https://www.sparkfun.com/images/products/09237-1.jpg)



Title: Re: Algún Guru del linux?
Post by: igorreal on Jan 11, 2010, 12:42 am
Hola,

He publicado un pequeño resumen de cómo instalar Optware con DD-WRT. En realidad, es un pequeño resumen de info recopilada de diferentes páginas.

http://real2electronics.blogspot.com/2010/01/linkduino-optware-packages-con-dd-wrt.html

También he modificado el ejemplo de Controlar LCD desde web embebida, para poder utilizarlo con PHP-HTTPD (servidor web con soporte PHP 5)


Saludos



Igor R.