Seguridad Wireless - Wifi

Equipos y materiales => Puntos de acceso, routers, switchs y bridges => Openwrt & LEDE => Mensaje iniciado por: edudi en 03-02-2016, 02:01 (Miércoles)

Título: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 03-02-2016, 02:01 (Miércoles)
Buenas a todos, quiero hacer este post a modo de Listado de Routers con OpenWRT operativos para fomentar el uso de GPIO's (entradas y salidas = manejo de leds, pulsadores-conmutadores, relés, circuitos modulares añadidos, etc...) tal como nos brinda la posibilidad la Raspberry Pi.

Hace unas semanas me prestaron una Raspberry Pi, y en solo 2 horas me informé del uso, cableado, pines, etc.. montaje de todo y accioné un LED (ON/OFF) con unas 4 simples líneas en la consola. X lo que rápidamente me vino a la cabeza los routers con OpenWRT con la opción de usar sus GPIO's.

La Raspberry Pi sale unos 35 € y los routers que solemos tener apartados en una caja "son gratis", con el extra de su WiFi integrado, ... x lo que busqué en la Wiki de OpenWRT y encontré el uso de GPIO's:

https://wiki.openwrt.org/doc/hardware/port.gpio (https://wiki.openwrt.org/doc/hardware/port.gpio)

Hace 3 años junto con mi compañero del ciclo hicimos un proyecto de un Centro Comercial a escala con 2 microcontroladores (PIC 16F84A) para controlar: infrarrojos para detectar presencia y abrir puertas, ultrasonidos para detección de movimiento, puertas correderas manejadas por finales de carrera y motores, y todo esto manejado mediante un teclado para introducir la clave, mostrado por un display LCD y poder cambiar el estado del Centro Comercial de abierto a cerrado y viceversa. Todo esto llevó tanto tiempo y programación en ensamblador, que al ver la facilidad de la Rapsberry Pi...dije, esto hay que sacarle partido con OpenWRT y ahorrar dinero en función de las necesidades de cada uno.

Lo que pretendo y de lo q me gustaría que hubiera colaboración, es:

1º - Hacer un listado de Routers con la posibilidad de usar GPIO's y sus respectivos firmwares, paquetes y configuraciones para facilitar su uso para la comunidad y demás visitantes.

2º - Y los que lo deseen, publicar en otro post específico de "Proyectos con OpenWRT usando GPIO's"


Me parecería muy enriquecedor que se animaran, yo al menos lo voy a hacer.

Un saludo a todos y me alegra volver, que llevo mucho tiempo ausente




----============== DESPUÉS DE 1 AÑO DEL INICIO DE ESTE HILO SE HA CONSEGUIDO ESTO ===============----

Respuesta 110 (https://goo.gl/Su6hf9)--> Recapitualización de pruebas, avances, proyectos, ....después de 1 año

----====================================================================================----




INFO MUY IMP si no queremos quemar el router OpenWRT en el primer intento usando 1 ó más GPIO's, hay que poner un circuito intermedio super sencillo de resistencia/s en cualquier uso que se le vaya a dar (Dos Notas IMP: para control de relés, motores, etc = cargas inductivas se recomienda usar 1º como protección un diodo para el transistor que accione la carga inducctiva. Por otra parte, para aislar eléctricamente y salvaguardar el circuito de Control "GPIO's" del de Potencia "Por ej motores" se recomienda 2º usar optoacopladores "transistores ópticos", ya que los motores x ej al accionarse meten hacia atrás picos de señales, que pueden dañar 1º al transistor y 2º pudiendo pasar a los GPIO's que suelen volver loco o quemar al dispositivo que controla todo, ya sea un PIC, Raspberry, Router OpwenWRT, etc. Gracias a eduperez y Tki2000 por estas puntualizaciones respectivamente. Recuerdo unos compañeros con un seguidor de línea y motores que hasta que no pusieron optoacopladores no les funcionó perfectamente).
 

Ejemplo controlando relés (le faltaría un diodo por cada relé como protección):

(http://i68.tinypic.com/dvlbx1.jpg)

Esta consideración hay que tenerla muy en cuenta al querer usar los GPIO's. Si no recuerdo mal, en un Microcontrolador PIC 16F84A cada GPIO (creo que eran 13), como máximo podían producir 50 mA por cada pin. Vaya que a menos que vayamos a encender un LED = 10 a 25 mA, si no queremos quemar los circuitos por exceso de corriente (los cuales como en la Rasp los GPIO's no están protegidos del sobreconsumo ni cortocircuitos) hay que poner este sencillo circuito entre los GPIO's de la Raspberry ó Router OpenWRT para separar la señal de control (GPIO's) de la parte de potencia (relés, motores, etc...) la cual tira del transformador/fuente y no de la corriente que circula por la placa y que termina saliendo por el/los GPIO usado/s.      

LINK de la foto del circuito en alta definición:   http://i.imgur.com/4HzhwYB.jpg (http://i.imgur.com/4HzhwYB.jpg)

LINK de Vídeo por @Ficht del circuito funcionando muy semejante a como se muestra en el esquema anterior con el Router con OpenWRT: Huawei HG556a (Ralink), controlando relés con sus respectivos leds indicando el estado de cada relé. Al mensaje que referencia el link, añadí un ejemplo básico usando el GPIO 25 del Huawei HG556a (Atheros):  

https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342011/#msg342011 (https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342011/#msg342011)


Las 4 líneas de comandos simples y básicas para exportar y controlar el GPIO 25, el cual x ej está libre en un Huawei HG556a (Atheros):

Código
¿Qué hace esta línea de código?
echo 25 > /sys/class/gpio/export Exporta el GPIO 25 y crea una carpeta para su uso
echo "out" > /sys/class/gpio/gpio25/direction Establece si será salida "OUT" o entrada "IN"
echo 1 > /sys/class/gpio/gpio25/value Acciona el GPIO a 1 = VCC = 3,3 v ==> Encender Led, activar transistor y relé, etc..
echo 0 > /sys/class/gpio/gpio25/valueAcciona el GPIO a 0 = GND = 0,0 v ==> Apaga Led, desactiva transistor y relé, etc..  




======  COMENZAMOS !!!  ANÍMENSE QUE ESTO TIENE ROSCA PARA RATO =======

Que dé comienzo el Listado de Routers con OpenWRT con posibilidad de usar GPIO's

1º - Listado de Routers con la posibilidad de usar GPIO's:

Nº de Routers = 12

Marca
         
Modelo
       
GPIO's
     
GPIO's LEDs tocando Kernel
   
LEDs Lan
 
Botones
       
Otros y/o Libres
Comtrend         AR-5387un       15                          5               4                   1               5
Astoria             ARV7518PW      8                            
Amper      ASL-26555                17                          
Inventel   Livebox 1                  37                          6              ¿¿??               2               29
Huawei   HG556a (Ralink)         5 + 4 en pruebas  * Mirar 2º tabla "debajo de esta"
Huawei   HG556a (Atheros)      2 + 4 en pruebas  * Mirar 2º tabla "debajo de esta"
Comtrend         CT-5365           113 ¿Tocando kernel?                                     ?       3                  5
Observa TelecomVH4032N       21 + "X's" restan pocos* Mirar 2º tabla "debajo de esta"
ADBP.DG A4001N1       1 + X's* Mirar 2º tabla "debajo de esta"
Huawei   HG553a       8 + X's  * Mirar 2º tabla "debajo de esta"
ZyxelP660HW-D1       20    * Mirar 2º tabla "debajo de esta"
LinksysWRT3200ACM      11    * Mirar 2º tabla "debajo de esta"



2º - Routers actualmente hallándose sus GPIO's:

Nº de Routers = 8

Marca
         
Modelo
       
GPIO's
     
Autor/es
     
Huawei   HG556a (Ralink)         5 + 4 en fase de pruebas (GPIOx = 7, 25, 30, 32, 37 libres, 36 botón "?" + 4 y 5 Bootloader "posible uso", 34 posible IRQFicht
Huawei   HG556a (Atheros)         2 + 4 en fase de pruebas (GPIOx = 14, 25 libres + 4 y 5 Bootloader "posible uso", 6 acciona todos los leds, 29 TX "el GPIO29 está duplicado en placa con 2 pines para el mismo uso", el RX para poder tener un 2º puerto serie, se ha buscado pero no se halla después de mucho trabajo por parte de @danitool, ...si alguien más se anima? está muy peleóndanitool
ComtrendCT-5365                       6 + 5 en fase de pruebas (GPIOx = 1, 4, 5, 29 y 33 libres --> la remesa suministrada ha sido importante, to be continued....  Gracias por el trabajo @WarryorWarryor
Observa TelecomVH4032N                       21 + "X's" restan pocos por localizar para quien se anime, ....Gracias por el trabajo @FichtFicht
ADB P.DG A4001N1        1 + X's ...actualmente en stand by, si alguien más se anima juniorwrt  
Huawei HG553a             8 + X's ...googleando se encontró y hay fotos, si alguien se anima a localizarlos usando las fotos como guía, están en la "Respuesta #67" --> http://goo.gl/A5RwKI (http://goo.gl/A5RwKI)saklarku
ZyxelP660HW-D1   20 + X's ...no sé si se habrán más, pero con 20 sobran. Gracias como siempre caballero. Foto y más en Respuesta #109danitool
LinksysWRT3200ACM    11 leds + X's ...está costando localizar los GPIO's de salida. Respuesta #111eduperez


Agradecimientos: Muchísimas gracias @danitool por iniciar el listado y detallar el AR-5387un.... has abierto la caja de pandora, a @Ficht y @danitool por estar luchando actualmente por hallar los del HG556a (Ralink) y (Atheros) respectivamente, a @Tki2000 por añadir 3 routers, subir fotos que guardó que ya no están en su sitio original y detallarlos gracias al trabajo de compañeros hallándolos de: @jpsminix para el ARV7518PW y de @Rafa para el ASL-26555. Tb a @Warryor por añadir 1 router más, el Comtrend CT-5365, que ya vamos por 8 routers en sólo 17 días, subir fotos de su trabajo hallándolos y detallarlos, a parte de los q ya están publicados en la Web Oficial de OpenWRT. Tb a @eduperez por aclarar el "por qué de cada protección en el circuito".

Si ven alguna errata en la tabla u otra forma de clasificarlos, no duden en comentarlo. Gracias a todos, sois la bomba.


Última modificación (08-05-17  - 00:41 GTM Londres):
- Añadidos 2 Router más ( Total = 12 ): Zyxel P660HW-D1 x @danitool y Linksys WRT3200ACM x @eduperez
- Actualizadas las 2 tablas de Routers: Añadidos 2 nuevos routers.
- Añadido con motivo del primer aniversario de este hilo la Recapitualización de pruebas, avances, proyectos,....
- Hallándose actualmente los GPIO's de 8 Routers (Listados en la tabla: Routers actualmente hallándose sus GPIO's)  
- Hallados y añadidos más GPIO's del HG556a (Ralink) por @Ficht, y @danitool aportando y detallando datos de los mismos.
- Correcciones en las 2 tablas: El GPIO 6 es del HG556a (Atheros, no del Ralink) gracias @Ficht x encontrar la errata.
- Respecto al esquema del circuito: se menciona el uso de un diodo para el transistor si se van a usar motores y/o cargas inductivas y optoacopladores para aislar el router electricamente (gracias a @eduperez y @Tki2000)
- Añadido a Agradecimientos:  A @Warryor x el Comtrend CT-5365 y @eduperez x aclarar las protecciones
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 03-02-2016, 14:08 (Miércoles)
Totalmente de acuerdo en la utilidad de los GPIOs.

GPIOs en el Comtrend AR-5387un (https://wiki.openwrt.org/toh/comtrend/ar5387un)

Cantidad GPIOs accesibles en la placa y configurables: 14

GPIOs asociados a LEDs, configurados en el kernel: 5
Cuando están configurados por el kernel como LEDs significa que no se pueden exportar como GPIOs, al menos con el firmware oficial. Pero no hay problema, incluso son más fáciles de controlar. Ejemplo

Gpios en los leds usados por el kernel
Los leds de Internet y Power son bicolor, lo que significa que cada patilla va conectada a un GPIO diferente.

LEDs de LAN, son cuatro y en principio van controlados internamente por hardware. Pero podemos hacerlos accesibles como GPIOs ejecutando el comando:
Código: [Seleccionar]
devmem 0x1000009C 64 0x0de esta forma ya podremos exportarlos como GPIO y controlarlos con scripts de usuario

Botones:
No creo que se pueda hacer mucho con este GPIO, a menos que eliminemos el botón configurado en el kernel.

Otros, en partes sin soldar, al lado de el botón de reset y del LED DSL




Como proyecto usando un GPIO, ya comenté en otro sitio que adapté el driver de infrarrojos que usan en la rpi para que funcione como emulador de mandos a distancia de infrarrojos mediante el uso de LIRC, pudiendo funcionar en cualquier dispositivo. Lo documenté en la wiki

https://wiki.openwrt.org/doc/howto/lirc-gpioblaster

Es emisor únicamente, y para conseguir que el módulo del kernel funcione es necesario compilar el firmware con el paquete de lirc-gpioblaster y el demonio LIRC. Todo está documentado.

De esta forma podemos controlar cualquier aparato de casa o empresa que use mandos a distancia. Control que podemos hacer de forma programada con CRON, o bien accediendo desde cualquier sitio mediante ssh o aplicacion web (si desarrollamos una interfaz para ello).

Podríamos controlar bombas de calor, aires acondicionados, cadenas musicales, televisores, cualquier cosa que use mandos a distancia ya que prácticamente LIRC es capaz de emular casi cualquier mando a distancia.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 03-02-2016, 18:24 (Miércoles)
Me uno al interés del hilo...  :D
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 06-02-2016, 03:29 (Sábado)
Añadido 1 Router a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:

- Comtrend AR-5387un        (por danitool)


Gracias por el aporte !!!

Animémosnos a mirar routers y si tienen la posibilidad, hacer un resumen detallado ;)   

@danitool lo clavaste para inciar este post, que a mi parecer es muy interesante.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 06-02-2016, 20:38 (Sábado)
Hola, estoy liado con este procedimiento, y de seguro que algo hago mal, pero el script  me da salida not found   [in|out [<value>]]
seguramente he de poner algún valor y no se donde....

Por otra parte, no se si ya se han buscado GPIOS en la placa del HG556a verC (ralink) me suena que si, que hace unos meses vi, unas fotos de alguien con el multimetro y comentarios...

Finding GPIO pins on the PCB

Sometimes you do not know where the physical GPIO pins are on your device's PCB. In that case, you can use this little script and a multimeter to find out.

Código: [Seleccionar]
#!/bin/sh
cd /sys/class/gpio
for i in `seq $1 $2`; do
echo $i > export; echo out >gpio$i/direction
done
nums=`seq $1 $2`
while true; do
  for i in $nums; do
     echo 0 > gpio$i/value
 done
  sleep 1
  for i in $nums; do
     echo 1 > gpio$i/value
  done
  sleep 1
done
Start with ./gpio 0 30, which means pin 0 to 30
Press ctrl-c to stop the script, then check which GPIOs have been created: find /sys/class/gpio/gpio*
Restart the script and measure with a multimeter which pins "blink".
When you find one, then cut the 0-30 range from above in half;
Repeat until you have identified the gpio number
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 06-02-2016, 20:56 (Sábado)
Añadido 1 Router a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:

- Huawei HG556a (atheros) Ver. A y B de placa        (por danitool)

Detallado en esta respuesta:

https://foro.seguridadwireless.net/openwrt/se-puede-apagar-el-router-desde-putty-o-crontab/msg341674/#msg341674 (https://foro.seguridadwireless.net/openwrt/se-puede-apagar-el-router-desde-putty-o-crontab/msg341674/#msg341674)

Total de Routers en el listado: 2

Gracias por el aporte !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 06-02-2016, 20:59 (Sábado)
Hola, estoy liado con este procedimiento, y de seguro que algo hago mal, pero el script  me da salida not found   [in|out [<value>]]
seguramente he de poner algún valor y no se donde....

Por otra parte, no se si ya se han buscado GPIOS en la placa del HG556a verC (ralink) me suena que si, que hace unos meses vi, unas fotos de alguien con el multimetro y comentarios...

Finding GPIO pins on the PCB

Sometimes you do not know where the physical GPIO pins are on your device's PCB. In that case, you can use this little script and a multimeter to find out.

Código: [Seleccionar]
#!/bin/sh
cd /sys/class/gpio
for i in `seq $1 $2`; do
echo $i > export; echo out >gpio$i/direction
done
nums=`seq $1 $2`
while true; do
  for i in $nums; do
     echo 0 > gpio$i/value
 done
  sleep 1
  for i in $nums; do
     echo 1 > gpio$i/value
  done
  sleep 1
done
Start with ./gpio 0 30, which means pin 0 to 30
Press ctrl-c to stop the script, then check which GPIOs have been created: find /sys/class/gpio/gpio*
Restart the script and measure with a multimeter which pins "blink".
When you find one, then cut the 0-30 range from above in half;
Repeat until you have identified the gpio number

Es Malo todo lo que he puesto...
no era la salida que me daba... "no era de este" scrip.... :(

Sigo mirando y aprendiendo.... jeje
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 06-02-2016, 21:03 (Sábado)
Ánimo compañero!! en la lucha está la victoria o al menos el tratado de paz...   >:(
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 06-02-2016, 21:33 (Sábado)
El script para encontrar gpios puede que no funcione por no considerar que hay que sumar el número de gpiobase al gpio. O bien lo sumas manualmente o bien puedes intentar usar este script corregido que ya tiene en cuenta el gpiobase (no lo he testado):

Código: [Seleccionar]
#!/bin/sh

GPIOBASE=`cat /sys/class/gpio/gpiochip*/base | head -n1`
GPIOmin=`expr $1 + $GPIOBASE`
GPIOmax=`expr $2 + $GPIOBASE`

cd /sys/class/gpio
for i in `seq $GPIOmin $GPIOmax`; do
echo $i > export; echo out >gpio$i/direction
done
nums=`seq $GPIOmin $GPIOmax`
while true; do
  for i in $nums; do
     echo 0 > gpio$i/value
 done
  sleep 1
  for i in $nums; do
     echo 1 > gpio$i/value
  done
  sleep 1
done
Lo que no me gusta de este script es que es un poco lento, tiene esperas de 1 segundo. Tal vez iriía mejor algo hecho en C.

En el hg556a hay 40 GPIOs, van del 0 al 39, muchos puede que ni salgan del procesador. Los GPIOs 4 y 5 puede que vayan conectados a resistencias en la placa. Con suerte puede haber algunos más accesibles, aparte de los ya conocidos en los LEDs.

Para buscar gpios en lugar de usar voltímetro yo uso un led conectado a una resistencia (de unos 270 ohm).
(http://s13.postimg.org/ri1l0ui1j/led_gpiofind.jpg)
Así solo tengo que ir pinchando el polo positivo del invento (un alfiler soldado) en la placa, ejecutar un script que pongo en HIGH todos los gpios(el anterior modificado), y luego en LOW, si hay respuesta en el LED voy acotando el intervalo.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 06-02-2016, 21:57 (Sábado)
Para buscar gpios en lugar de usar voltímetro yo uso un led conectado a una resistencia (de unos 270 ohm).
Así solo tengo que ir pinchando el polo positivo del invento (un alfiler soldado) en la placa, ejecutar un script que pongo en HIGH todos los gpios(el anterior modificado), y luego en LOW, si hay respuesta en el LED voy acotando el intervalo.

Esta manera es muy cómoda...
Ahora mismo empiezo, creo que tengo todo por aqui (led, resistencia...)
lo del segundo que demora... de momento, creo que está dentro de mi margen ;)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 07-02-2016, 17:40 (Domingo)
Añadido 1 Router a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:

- Astoria ARV7518        (por Tki2000)

Nombrado por Tki2000 en esta respuesta:

https://foro.seguridadwireless.net/openwrt/se-puede-apagar-el-router-desde-putty-o-crontab/msg341538/#msg341538 (https://foro.seguridadwireless.net/openwrt/se-puede-apagar-el-router-desde-putty-o-crontab/msg341538/#msg341538)

Total de Routers en el listado: 3

Gracias por el aporte !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 07-02-2016, 19:08 (Domingo)
Aprovecho para completar el ARV7518PW, ya que parece que las imágenes en las que aparecían los GPIOs detectados, han sido borradas del servidor en el que se subieron hace un tiempo. Menos mal que tengo unas copias que hice en su momento.
Los GPIOs del ARV7518PW se describieron en su momento en este mensaje de jpsminix, que fue quien se tomó su tiempo para averiguarlos: https://foro.seguridadwireless.net/openwrt/openwrt-para-roters-astoria-de-ya-com/msg302725/#msg302725 (https://foro.seguridadwireless.net/openwrt/openwrt-para-roters-astoria-de-ya-com/msg302725/#msg302725)
Las imágenes con los GPIOs las vuelvo a subir, y pongo un enlace aquí:

(http://i1273.photobucket.com/albums/y418/Tki2000/gpios_zps2ozcfxno.jpg)

(http://i1273.photobucket.com/albums/y418/Tki2000/gpios2_zpsjsrwp92u.jpg)

Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 07-02-2016, 19:32 (Domingo)
Otro router con GPIOs disponibles y que también han borrado las fotos del servidor: ASL-26555.
El post original lo podéis ver aquí, por RafaC: https://foro.seguridadwireless.net/openwrt/nuevos-routers-de-telefonica/msg254819/#msg254819 (https://foro.seguridadwireless.net/openwrt/nuevos-routers-de-telefonica/msg254819/#msg254819)

Las fotos que tengo, las resubo y las pongo:

(http://i1273.photobucket.com/albums/y418/Tki2000/ASL26555-Board_zpsfaejhemw.jpg)

(http://i1273.photobucket.com/albums/y418/Tki2000/ASL26555-GPIO13_zpsrgoc1ue7.jpg)

(http://i1273.photobucket.com/albums/y418/Tki2000/ASL26555-GPIOs-Varios_zpsvqyncshz.jpg)

Completo con una imagen de la wiki, donde se pueden pareciar los pines para hacer I2C:

(http://i1273.photobucket.com/albums/y418/Tki2000/ASL26555-I2C-Pins_zpslfre5e6u.png)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 07-02-2016, 19:45 (Domingo)
Otro router que tiene bastantes GPIOs para interactuar es el LiveBox 1.
La descripción se puede ver en la wiki de openwrt, así que no lo voy a detallar aquí.
LiveBox en OpenWrt Wiki (https://wiki.openwrt.org/toh/inventel/dv4210)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 07-02-2016, 22:22 (Domingo)
Bueno, si todo es correcto, este responde al GPIO34 en el Huawei HG556a  VersionC (Ralink)
"es la primera vez que hago esto de buscar gpios"... no se si alguien de los que sabe en el foro, puede confirmar si se puede emplear o no, yo le soldaré un pin y veré si hay problemas con otras cosas.... además de que tampoco sé si ya está documentado en algún sitio.

(http://i64.tinypic.com/2vt4oxx.jpg)

En la parte trasera de la placa también accesible

(http://i68.tinypic.com/2yya81j.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 07-02-2016, 22:45 (Domingo)
Buen hallazgo Ficht. El GPIO34 en BCM6358 tiene el valor añadido de tener un IRQ (según averiguaciones todavía no testeadas), con lo cual podría resultar muy útil con ciertos drivers.

Si el propósito de ese GPIO en el firmware original era usarlo como IRQ, tal vez para el chip VoIP o algo del adsl, entonces en Openwrt no tiene uso alguno, más que nada porque en Chaos Calmer los IRQs externos de bcm63xx están rotos y no le afecta en nada.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 07-02-2016, 22:58 (Domingo)
Añadidos 3 Routers a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:

- Astoria ARV7518PW        (por jpsminix)
- Amper ASL-26555           (por RafaC)
- Inventel Livebox 1           (por Tki2000 linkando a la wiki)


- Astoria ARV7518PW hallados y definidos por @jpsminix en esta respuesta:
https://foro.seguridadwireless.net/openwrt/openwrt-para-roters-astoria-de-ya-com/msg302725/#msg302725 (https://foro.seguridadwireless.net/openwrt/openwrt-para-roters-astoria-de-ya-com/msg302725/#msg302725)

- Amper ASL-26555 hallados y definidos por @RafaC en esta respuesta:
https://foro.seguridadwireless.net/openwrt/nuevos-routers-de-telefonica/msg254819/#msg254819 (https://foro.seguridadwireless.net/openwrt/nuevos-routers-de-telefonica/msg254819/#msg254819)

- Inventel Livebox 1 linkando a la wiki por @Tki2000:
https://wiki.openwrt.org/toh/inventel/dv4210#gpios (https://wiki.openwrt.org/toh/inventel/dv4210#gpios)


Total de Routers en el listado: 5

Gracias por el aporte !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 07-02-2016, 23:00 (Domingo)
Buen hallazgo Ficht. El GPIO34 en BCM6358 tiene el valor añadido de tener un IRQ (según averiguaciones todavía no testeadas), con lo cual podría resultar muy útil con ciertos drivers.

Si el propósito de ese GPIO en el firmware original era usarlo como IRQ, tal vez para el chip VoIP o algo del adsl, entonces en Openwrt no tiene uso alguno, más que nada porque en Chaos Calmer los IRQs externos de bcm63xx están rotos y no le afecta en nada.

Me he quedado dándole vueltas a la cabeza teniendo en cuenta mi compilación, y pregunto, ¿es posible que con un kernel "retocado" cambie la salida o la ativacion/desactivacion del GPIO?
o ese el GPIO siempre estará ahí se cambien cosas o no, en "kernel_menuconfig" ??
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 08-02-2016, 17:56 (Lunes)
Ahí van más GPIOs para el HG556a versiones A,B (wifi atheros).

https://wiki.openwrt.org/_media/media/huawei/hg556a_ab-gpios-extra.jpg

Soy incapaz de localizar ninguno entre los GPIOs 34 a 39, que son los que tienen IRQs  :(

Ficht, lo de la configuración del kernel no le afecta en nada, a menos que desactives el controlador de GPIO, cosa que no sé si se puede hacer.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 08-02-2016, 22:17 (Lunes)
GPIO32  en el Huawei HG556a  VersionC (Ralink)


(http://i67.tinypic.com/2cne45c.jpg)

(http://i68.tinypic.com/24qvh5c.jpg)

pd:
Ficht, lo de la configuración del kernel no le afecta en nada, a menos que desactives el controlador de GPIO, cosa que no sé si se puede hacer.
Gracias por la explicación!, la necesitaba...  ;D
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 09-02-2016, 00:28 (Martes)
GPIO36  &  GPIO37  Huawei HG556a  VersionC (Ralink)

El 36 ya estaba comentado antes (https://foro.seguridadwireless.net/openwrt/openwrt-en-huaweig-hg556a/msg340831/#msg340831) en el foro, corresponde al botón  " ? "  del router, pero aquí pongo los puntos en la cara de atrás del PCB.

(http://i68.tinypic.com/o87uys.jpg)

(http://i66.tinypic.com/5kio9i.jpg)

Otros puntos donde se leen los GPIO34 y GPIO37

(http://i63.tinypic.com/2eevmg7.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 09-02-2016, 17:46 (Martes)
GPIO36  &  GPIO37  Huawei HG556a  VersionC (Ralink)

El 36 ya estaba comentado antes (https://foro.seguridadwireless.net/openwrt/openwrt-en-huaweig-hg556a/msg340831/#msg340831) en el foro, corresponde al botón  " ? "  del router, pero aquí pongo los puntos en la cara de atrás del PCB.

Parece que con las versiones A, B no hay suerte, no encuentro ninguno de esos GPIOs del 34 al 39.

Sin embargo encontré algo interesante. En el código fuente de Broadcom relativo a bcm6358 encontré esto

Código: [Seleccionar]
        if (GPIOOverlays & BP_UART1) {
            /* Enable secondary UART interface */
            GPIO->GPIOMode |= GPIO_MODE_UART1_OVERLAY;
            GPIO->GPIODir |= 0x20000000;
        }
que viene a ser un fragmento que habilita un segundo puerto serie en la placa, convirtiendo dos pines GPIO en RX y TX.

Bien, si nos fijamos en esto:
            GPIO->GPIODir |= 0x20000000;

0x20000000 es el bit 29, en cristiano quiere decir que está configurando el GPIO29 como salida, por tanto sería el TX del puerto serie.

 Para RX la cosa parece más complicada no hay nada en el código a lo que haga referencia (seguramente porque ya va configurado como entrada sin tocar nada). Pero yo apostaría que RX es el GPIO30

Ambos pines GPIO29 y GPIO30 están expuestos en la placa (ver mi anterior mensaje), en las versiones A, B. Con lo cual podríamos añadir un segundo puerto serie al router, útil para comunicarse con microcontroladores (creo), o con otros routers, o aparatos que usen la comunicación simple UART.

No sé si puede tener interés para alguien, pero ahí lo dejo como info.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 09-02-2016, 20:15 (Martes)
GPIO4  Huawei HG556a  VersionC (Ralink)


(http://i64.tinypic.com/213q2ap.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 09-02-2016, 20:50 (Martes)
GPIO5  Huawei HG556a  VersionC (Ralink)


(http://i63.tinypic.com/am71x2.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 09-02-2016, 22:02 (Martes)
Los GPIOs 4 y 5 los usa el bootloader del HG556a para saber en que versión de placa se está ejecutando.

En el caso de las versiones A, B (wifi atheros) estos dos gpios están conectados con una resistencia  pulldown (a GND) de 4.7 kohm.

En la versión C (wifi ralink) creo que ambos o al menos uno, están conectados con resistencias pullup (a Vcc), supongo que también de 4.7 kohm.

De esta forma CFE lee esos gpios como entradas leyendo algo tal que así:
0 0 = version 0
1 1= version 3

No sé si eliminar las resistencias ( si lo necesitásemos ) interferiría en algo a la hora de arrancar el bootloader, de todas formas para usar esos gpios no creo que haga falta eliminarlas.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 09-02-2016, 23:02 (Martes)
Los GPIOs 4 y 5 los usa el bootloader del HG556a para saber en que versión de placa se está ejecutando.

En el caso de las versiones A, B (wifi atheros) estos dos gpios están conectados con una resistencia  pulldown (a GND) de 4.7 kohm.
Citar
En la versión C (wifi ralink) creo que ambos o al menos uno, están conectados con resistencias pullup (a Vcc), supongo que también de 4.7 kohm.

Supones bien, 4,7 kohm

Citar
De esta forma CFE lee esos gpios como entradas leyendo algo tal que así:
0 0 = version 0
1 1= version 3

No sé si eliminar las resistencias ( si lo necesitásemos ) interferiría en algo a la hora de arrancar el bootloader, de todas formas para usar esos gpios no creo que haga falta eliminarlas.

Si, hay que ver que pasa cuando le suelde un cable del GPIO hacia el relé, (tipo el esquema de edudi del inicio del hilo) hay los puntitos a cada lado respectivamente de las resistencias donde se puede soldar con cierta facilidad...
De momento, durante el arranque con la aguja conectada, reconoce perfectamente Versión <3>
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 10-02-2016, 00:47 (Miércoles)
Buenas noches, he recopilado los datos que estáis dando por último, @danitool y @Ficht y actualizando el listado de las 2 tablas del primer post.

Si véis algún error, olvido de algún GPIO hallado/comentado, y/o mala interpretación por mi parte, me envían un pm o lo comentan como respuesta como crean conveniente, por si ven que mi interpretación pudiera sucederle a más personas.

Me tenéis fascinados y sobretodo por el hecho en si, de los routers escogidos, "el buque" en base a mi experiencia y stock "HG556a" en sus dos versiones (Atheros y Ralink). Sólo saber que tienen: 3 USB's externos y si no recuerdo mal 2 ó 4 en placa, amplía tanto el abanico de posibilidades que supera con creces al resto de routers que sólo vienen con 1 USB y se pueden quedar corto, todo tb en función del uso que le de cada uno.

En mi caso, le pondría 2 Webcams (EyeToy PS2), un Pen de SWAP, un Disco Duro Externo u otro Pen de almacenamiento, y como no, el manejo por fin de los GPIO's para control en un principio de relés, aunque ya estoy pensando en motores paso a paso, ....todo se andará en los proyectos que vayamos haciendo

Saludos
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 11-02-2016, 00:13 (Jueves)
Resulta que el GPIO30 va al pin 16 (WP#/ACC) del chip de memoria flash, a la vez que también va conectado a una resistencia pullup.

(http://s16.postimg.org/cb4pg6loh/gpio30_flash.jpg) (http://postimg.org/image/cb4pg6loh/)


Este pin tiene la siguiente función según datasheet.
Código: [Seleccionar]
WP#/ACC input accelerates programming time (when high voltage
is applied) for greater throughput during system production. Protects
first or last sector regardless of sector protection settings on uniform
sector models

La resistencia pullup asegura que esté en HIGH a menos que lo pongamos en LOW mediante el GPIO. En LOW el último bloque de memoria quedaría protegido a la vez que haría lecturas más lentas (no me pregunteis con que propósito). Dudo que tenga alguna utilidad hacer esto, así que si cortamos la pista que va a ese pin de la flash no pasa nada. Yo lo hice.

Creo que también podríamos eliminar la resistencia pullup R415, ya que según datasheet el chip flash ya tiene una resistencia pullup interna él mismo.

Corté la pista para poder comprobar sin problemas si el GPIO30 era el RX del puerto serie UART1, pero resulta que no. El GPIO29 si que es TX, verificado ya que pude enviar comandos de reboot a un segundo router, y funcionó perfectamente, pero no recibía nada. Así que RX podría ser cualquier otro GPIO o ninguno.

No sé si tiene alguna utilidad usar un UART solo con TX. De todas formas para poder habilitar UART1 en Openwrt tuve que modificar el kernel. Este es el parche para el kernel (para Chaos Calmer):

http://pastebin.com/qcjGAfJZ

Título: Re: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 12-02-2016, 08:53 (Viernes)



No sé si tiene alguna utilidad usar un UART solo con TX. De todas formas para poder habilitar UART1 en Openwrt tuve que modificar el kernel. Este es el parche para el kernel (para Chaos Calmer):

http://pastebin.com/qcjGAfJZ

Hombre, pues si, si montamos un sistema AIS por ejemplo, los datos pueden salir directamente a un plotter por este puerto serie, así el puerto serie principal puede quedar disponible para recibir datos o cualquier otra cosa... No?

Por otra parte, si alimento corriente al puerto rj11 (en Ver C) que crees que pasaría? Creo que es la última prueba que tengo curiosidad por hacer, aunque dudo que sirva de algo, mas bien pinta a nada (pensando en activar los relés de alguna manera)

Enviado desde mi Y635-L01 mediante Tapatalk

Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 13-02-2016, 14:21 (Sábado)
Bueno, ahora ya están las pruebas digamos en caliente... (no he encontrado mas GPIO 's)
El GPIO36 lo dejo reservado de momento. (irá un interruptor para estado)

GPIO's en HG556A_C_RALINK (http://es.tinypic.com/m/jfbvrl/4)
(http://i67.tinypic.com/a1nyq9.jpg) (http://es.tinypic.com/m/jfbvrl/4)



Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 13-02-2016, 15:29 (Sábado)
Bueno, ahora ya están las pruebas digamos en caliente... (no he encontrado mas GPIO 's)
El GPIO36 lo dejo reservado de momento. (irá un interruptor para estado)

GPIO's en HG556A_C_RALINK (http://es.tinypic.com/m/jfbvrl/4)
(http://i67.tinypic.com/a1nyq9.jpg) (http://es.tinypic.com/m/jfbvrl/4)





Interesante, me pregunto que pintan los GPIOs 34 y 37 cerca del conector USB. ¿podrías decirme la numeración del chip que se encuentra en el reverso de la placa en ese mismo sitio y marcado como U902 (con 16 patillas) ?
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 13-02-2016, 15:46 (Sábado)
Interesante, me pregunto que pintan los GPIOs 34 y 37 cerca del conector USB. ¿podrías decirme la numeración del chip que se encuentra en el reverso de la placa en ese mismo sitio y marcado como U902 (con 16 patillas) ?


El chip es ete

CPC5712U
M094
1125

Parece que es parte de la Voip no??
http://www.ixysic.com/home/pdfs.nsf/www/CPC5712.pdf/$file/CPC5712.pdf (http://www.ixysic.com/home/pdfs.nsf/www/CPC5712.pdf/$file/CPC5712.pdf)

Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 13-02-2016, 15:50 (Sábado)
En teoría la versión C de Ralink también debería tener un GPIO (25) cableado al Si3050 no soldado al cual también van los pines SPI.

http://s14.postimg.org/md2bikik1/2eevmg7.jpg
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 13-02-2016, 16:04 (Sábado)
En teoría la versión C de Ralink también debería tener un GPIO (25) cableado al Si3050 no soldado al cual también van los pines SPI.

http://s14.postimg.org/md2bikik1/2eevmg7.jpg

jaja pues si que está!!!  he tenido que dar un poco de lija... jejej

Ademas GPIO 25 también puede leerse en la R923 en lo que sería la otra cara del chip Si3050

Y en el reverso también donde pone R906.

(http://i66.tinypic.com/sobtz4.jpg)

(http://i68.tinypic.com/vpu4k9.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 13-02-2016, 17:01 (Sábado)
Por cierto, para cablear los GPIOs creo que la mejor opción es colocar un pinheader entre los RJ11, tal y como hice aquí (pero con el SPI)

(https://docs.google.com/uc?export=download&id=0B-EMoBe-_OdBWkpzZ0lPcXpiQlE)
El hueco entre los dos RJ11 se ajusta perfectamente a un pinheader de 2.54 mm pitch, si es hembra es muy sencillo de pegar con algo de epoxy. Yo me di cuenta tarde y metí un pinheader macho el cual cuesta más colocar.

Es la opción más fácil para acceder con la carcasa cerrada. Entre los dos huecos que hay podríamos cablear hasta 12 gpios.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 13-02-2016, 17:26 (Sábado)
Por cierto, para cablear los GPIOs creo que la mejor opción es colocar un pinheader entre los RJ11, tal y como hice aquí (pero con el SPI)

(https://docs.google.com/uc?export=download&id=0B-EMoBe-_OdBWkpzZ0lPcXpiQlE)
El hueco entre los dos RJ11 se ajusta perfectamente a un pinheader de 2.54 mm pitch, si es hembra es muy sencillo de pegar con algo de epoxy. Yo me di cuenta tarde y metí un pinheader macho el cual cuesta más colocar.

Es la opción más fácil para acceder con la carcasa cerrada. Entre los dos huecos que hay podríamos cablear hasta 12 gpios.


pues si, la verdad que eso te quedó espectacular  >:(
yo en uno de aquí de casa, haré eso mismo siguiendo te experiencia jeje... y en otro, pues tengo que meterle bien el coco al asunto, pues está instalado en una lancha... lo que significa ambiente salado, vibraciones, etc...  = caja estanca y/o bañado en resina (tipo gelatina)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 13-02-2016, 17:44 (Sábado)
GPIO6  Huawei HG556a  VersionC (Ralink)

(http://i66.tinypic.com/33pgc9h.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 13-02-2016, 19:08 (Sábado)
GPIO6  Huawei HG556a  VersionC (Ralink)

(http://i66.tinypic.com/33pgc9h.jpg)

En la versión A, B (atheros), ese chip va soldado, es un LCX244, ahí van los leds y el GPIO6 también. Parece que la única función es la de apagar o enceder todos los LEDs de la parte superior de una vez, a través del GPIO6. En esos pads estarán accesibles por tanto los GPIOs que se encuentran asociados a los LEDs, que por supuesto no son exportables como GPIOs, pero si controlables.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 13-02-2016, 19:23 (Sábado)
GPIO6  Huawei HG556a  VersionC (Ralink)



En la versión A, B (atheros), ese chip va soldado, es un LCX244, ahí van los leds y el GPIO6 también. Parece que la única función es la de apagar o enceder todos los LEDs de la parte superior de una vez, a través del GPIO6. En esos pads estarán accesibles por tanto los GPIOs que se encuentran asociados a los LEDs, que por supuesto no son exportables como GPIOs, pero si controlables.

En efecto, ahí están los led's de la parte superior... se ven en el agujaLed...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 13-02-2016, 20:21 (Sábado)
Al lado del puerto serie tienes la R415, apuesto a que ahí tienes el GPIO30  >:D
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 13-02-2016, 21:34 (Sábado)
Al lado del puerto serie tienes la R415, apuesto a que ahí tienes el GPIO30  >:D

jajaja has ganado!!  ^-^

(http://i67.tinypic.com/hs03ye.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 14-02-2016, 13:30 (Domingo)
GPIO7  Huawei HG556a  VersionC (Ralink)



(http://i63.tinypic.com/6jniqc.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Warryor en 14-02-2016, 16:18 (Domingo)
Bueno aqui unos gpios que e encotrado en un Comtrend CT-5365
Son el 1, 4, 5, 29 y 33
(http://s24.postimg.org/4v8fi971d/GPIO1.jpg) (http://postimg.org/image/4v8fi971d/)

(http://s24.postimg.org/qgdi5v3s1/GPIO4_Y5.jpg) (http://postimg.org/image/qgdi5v3s1/)

(http://s24.postimg.org/6khiqbmqp/GPIO29.jpg) (http://postimg.org/image/6khiqbmqp/)

(http://s24.postimg.org/a7x9wduxt/GPIO33.jpg) (http://postimg.org/image/a7x9wduxt/)

Aparte de los que ya estaban
Leds
0   Power
2   Alarma
6   WPS

Botones
33   reset
34   Wi-Fi
35   WPS
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 14-02-2016, 16:48 (Domingo)
Bueno aqui unos gpios que e encotrado en un Comtrend CT-5365
Son el 1, 4, 5, 29 y 33

Buenos hallazgos, el GPIO29 en BCM6348 es el slave select 1 de la interfaz SPI. Con lo cual podrían cablearse los pines SPI que van al switch bcm5325 junto con el GPIO29 (activado como SS1) para conectar algún chisme SPI. Podría usarse el rotuer como programador de memorias flash SPI por ejemplo.

Los gpios de los botones tienen IRQs, también puede resultar útil como ya comenté en otros sitios.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 14-02-2016, 18:35 (Domingo)
Bueno, ahora ya están las pruebas digamos en caliente... (no he encontrado mas GPIO 's)
El GPIO36 lo dejo reservado de momento. (irá un interruptor para estado)

GPIO's en HG556A_C_RALINK (http://es.tinypic.com/m/jfbvrl/4)
(http://i67.tinypic.com/a1nyq9.jpg) (http://es.tinypic.com/m/jfbvrl/4)

¡¡¡ Enhorabuena !!! clavando el asunto con pruebas en caliente, y pa colmo en vídeo, prueba empírica innegable "Summa cum laude" .... brutal !!!

¿Podrías decir cuales has usado? Simplemente por nombrarlos

Tengo una duda, todos los GPIO's son a 3,3 v? ¿o los hay a 5 v, 12V, ... ? Anoche hice pruebas con el GPIO 25 del HG556a (Atheros) y con el multímetro daba: (1 = 3,3 v   y   0 = 0,0 v)


Exportando el GPIO 25 como salida y accionandolo a 1 = VCC = 3,3 v:

(http://i66.tinypic.com/2ugdoxs.jpg)

Link de imagen en HD: http://i63.tinypic.com/2ztemmc.jpg (http://i63.tinypic.com/2ztemmc.jpg)


Accionando el GPIO 25 a 0 = GND = 0,0 v:

(http://i65.tinypic.com/a32pav.jpg)

Link de imagen en HD: http://i63.tinypic.com/27wxfl2.jpg (http://i63.tinypic.com/27wxfl2.jpg)


No tengo suficientes manos ni sombreros, para agradecerles a todos la involucración sobre los GPIO's. También sé que muchos q no se han podido pronunciar/o no saben de la existencia de este post, de un modo u otro han aportado conocimientos al resto de compañeros y a la comunidad (miembros, visitantes y a donde quiera que se comparta). Por el bien común, pero gracias.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 14-02-2016, 18:53 (Domingo)
Añadido 1 Router a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:

- Comtrend CT-5365        (por Warryor)

Detallado en esta respuesta:

https://foro.seguridadwireless.net/openwrt/routers-con-gpio%27s-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342009/#msg342009 (https://foro.seguridadwireless.net/openwrt/routers-con-gpio%27s-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342009/#msg342009)

Total de Routers en el listado: 7

Gracias por el aporte !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 14-02-2016, 18:55 (Domingo)
¡¡¡ Enhorabuena !!! clavando el asunto con pruebas en caliente, y pa colmo en vídeo, prueba empírica innegable "Summa cum laude" .... brutal !!!

¿Podrías decir cuales has usado? Simplemente por nombrarlos

Tengo una duda, todos los GPIO's son a 3,3 v? ¿o los hay a 5 v, 12V, ... ? Anoche hice pruebas con el GPIO 25 del HG556a (atheros) y con el multímetro daba: (1 = 3,3 y 0 = 0,0 v)

Pues la verdad, no los he medido en voltaje, pero te diría que unos van a 5V y otros  3,3V lo digo por la intensidad del led de pruebas, aunque claro, el punto de la placa donde lees, ya pueden haber resistencias de por medio...
aunque, lo suyo es medirlos... (ahora los mediré) @edudi de momento todos lo que he medido van a 3,3V y no se si técnicamente es posible encontrarlos a otro Voltaje, se de otras placas que leen entradas a 4,5/5V pero... esto que lo responda un electrónico de verdad... jeje

He soldado solo 5 (cuestión de cables suaves y finos, no tengo más en este momento)

GPIO's usados/soldados hasta ahora. 4, 5, 32, 34 y 37.

Sin soldar, Pte para esta semana, pues ya se están acabando las posibilidades  6, 7, 25, 30, 36
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 14-02-2016, 20:00 (Domingo)
Todos los GPIOs son a 3.3 V en nivel alto. Y por lo que sé prácticamente todos los routers (al menos los de arquitectura basada en MIPS) usan este nivel de voltaje, tanto en GPIOs como en otros pines.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 14-02-2016, 20:41 (Domingo)
Link interesante donde se muestran diversas formas de cablear los GPIOs

http://elinux.org/RPi_GPIO_Interface_Circuits

Para cargas inductivas en lugar de un optoacoplador usan un diodo para proteger contra las inversiones de corriente. Supongo que es más seguro el optoacoplador.

También me pareció destacable el esquema en el que usan transistores de efecto campo (FET) en lugar de los normales.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 14-02-2016, 21:28 (Domingo)
Link interesante donde se muestran diversas formas de cablear los GPIOs

http://elinux.org/RPi_GPIO_Interface_Circuits

Para cargas inductivas en lugar de un optoacoplador usan un diodo para proteger contra las inversiones de corriente. Supongo que es más seguro el optoacoplador.

También me pareció destacable el esquema en el que usan transistores de efecto campo (FET) en lugar de los normales.

jeje, Siempre clavas las respuestas!!

Cambiando de tema...
Ahora ya tengo exportados los 10 GPIOS's encontrados en el HG556a_C (Ralink) y dándole uso (simulado en 5 GPIOS que no he soldado) y el router perfecto, estoy usando su wifi, y va bien...

Tenia ganas de llegar aquí, porque una vez que se usa el script para localizar los GPIOS, el wifi se desbarata, y aunque es visible en los dispositivos no conecta (sale un error en consola serie) hasta que se reinicia el router (no vasta re-arrancar la wifi)

A mi juicio, todos son buenísimos para esto...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 14-02-2016, 22:41 (Domingo)
Link interesante donde se muestran diversas formas de cablear los GPIOs

http://elinux.org/RPi_GPIO_Interface_Circuits

Para cargas inductivas en lugar de un optoacoplador usan un diodo para proteger contra las inversiones de corriente. Supongo que es más seguro el optoacoplador.

También me pareció destacable el esquema en el que usan transistores de efecto campo (FET) en lugar de los normales.

Pues si, como dice tb Ficht, ....buenísima información para no dañar los routers, saber bien como se hacen las conexiones seguras en función de los usos y el por qué.

No sé xq pensaba yo q los GPIO's de la Raspberry Pi iban a 5 v, pero ya veo q no, a 3,3 v como los routers. Cosa q me alegra, ya q cualquier cosa q se controle con la Raspberry tendrá el mismo circuito intermedio y podremos copiar/pegar los miles de ejemplos que haya en la red.

La única consideración IMP y a tener MUY en cuenta es: cuantos mA máximos suministra sin dañarse la Raspberry por cada GPIO y el total máximo si los usáramos todos a la vez (info encontrada sin contrastar: máximo 16 mA x pin y un máximo de 50 mA entre todos los pines si se usaran a la vez) y cuantos mA nuestros routers. En los routers si las salidas van a la base de un transistor con su resistencia previa y calculada en función del datasheet del transistor no tiene xq haber ningún problema, ya q no llegarán ni a 1 mA en muchos casos, así q sobrados o eso creo.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: eduperez en 15-02-2016, 15:44 (Lunes)
Link interesante donde se muestran diversas formas de cablear los GPIOs

http://elinux.org/RPi_GPIO_Interface_Circuits

Para cargas inductivas en lugar de un optoacoplador usan un diodo para proteger contra las inversiones de corriente. Supongo que es más seguro el optoacoplador.

También me pareció destacable el esquema en el que usan transistores de efecto campo (FET) en lugar de los normales.

El diodo está para proteger el transistor de las corrientes inversas producidas por la carga inductiva, pero no aísla el router en caso de desastre; lo más seguro es usar un optoacoplador para aislar el router, y un diodo para proteger el transistor.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 15-02-2016, 23:25 (Lunes)
Acerca de los voltajes. En un TL-WR741ND ver. 2.4 basado en AR7240 resulta que el voltaje de los pines GPIO es de 2,47 V cuando son activados.

Así que no, no todos los routers usan GPIOs a 3,3 V. Aunque creo que es muy poco común encontrar voltajes diferentes a 3,3V.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 19-02-2016, 21:42 (Viernes)
Observa Telecom VH4032N

Bueno anoche empecé a buscar los GPIOS de este router, de momento he encontrado los dos relé cada uno con su GPIO por separado.
La siguiente lista son los GPIOS exportados, y su posición en la placa, con link a foto del punto correspondiente. y a medida que vaya encontrando más puntos, iré actualizando posición y la foto correspondiente.

GPIO      POSICIÓN

GPIO0        BCM6302 (http://oi63.tinypic.com/2n16fyr.jpg) CHIP ADSL ( también aquí (http://i65.tinypic.com/2wpqlmu.jpg) )
GPIO1        Punto (http://i66.tinypic.com/fnwen7.jpg) Al lado de R247 Reverso PCB
GPIO3        R1044  (http://i66.tinypic.com/2en5myp.jpg) Relé RJ11
GPIO4        TP202 (http://i68.tinypic.com/mjb7eh.jpg) Perfecto para soldar un pin
GPIO6        FB204 (http://i67.tinypic.com/b5od2x.jpg) Led de Lan1
GPIO7        FB202 (http://i66.tinypic.com/10y3rpf.jpg) Led de Lan2
GPIO8        FB203 (http://i68.tinypic.com/2zt9dlj.jpg) Led de Lan3
GPIO9        FB201 (http://i68.tinypic.com/nez2w0.jpg) Led de Lan4
GPIO10      R917 (http://i64.tinypic.com/154ehr5.jpg), U902  (http://i64.tinypic.com/2co1q1g.jpg)1º Le89116QVC y U1002  (http://i65.tinypic.com/icq047.jpg)2º Le89116QVC
GPIO13      FB206 (http://i66.tinypic.com/o58bwh.jpg)
GPIO14      R245 (http://i68.tinypic.com/es012p.jpg)
GPIO15      
GPIO16      
GPIO17      
GPIO18      
GPIO19      
GPIO20      
GPIO21      R246 (http://i64.tinypic.com/2je8l13.jpg)
GPIO22      Q906 (http://oi67.tinypic.com/if7g3s.jpg) Led power azul
GPIO23      R247 (http://i68.tinypic.com/11afh1u.jpg) Reverso PCB
GPIO28      U902 (http://oi63.tinypic.com/300cl8x.jpg)  Le89116QVC
GPIO29      U1002 (http://oi64.tinypic.com/dvr8co.jpg) Le89116QVC
GPIO30      R1045 (http://oi65.tinypic.com/27ysk6v.jpg) Relé RJ11
GPIO31      TP214 (http://i63.tinypic.com/334nhoj.jpg)
GPIO32      R248 (http://i65.tinypic.com/2mph8af.jpg)
GPIO33      
GPIO36      U1002 (http://i66.tinypic.com/301cwhe.jpg) Le89116QVC
GPIO37      U902  (http://i67.tinypic.com/vpgufo.jpg) Le89116QVC (Punto provisional) (http://i63.tinypic.com/59u07q.jpg), seguro saldrá un sitio mejor en la parte trasera de la placa. No se como no lo vi antes...

GPIOCHIP0
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Warryor en 19-02-2016, 22:18 (Viernes)
yo tambien tengo ese router y me iba poner con el
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 19-02-2016, 22:35 (Viernes)
yo tambien tengo ese router y me iba poner con el

A mi este router me gusta mucho para lo que lo uso...
Los GPIOS, me da la impresión que en la lista hay algunos de ellos que no tendrían que estar exportados... ya poco a poco se irán detectando al menos los mas evidentes.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 20-02-2016, 15:15 (Sábado)
Añadido 1 Router a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:

- Observa Telecom VH4032N       (por Ficht)

Detallado en esta respuesta:

https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342178/#msg342178 (https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342178/#msg342178)

Total de Routers en el listado: 8

Gracias por el aporte !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 02-03-2016, 10:47 (Miércoles)
Por cierto, para cablear los GPIOs creo que la mejor opción es colocar un pinheader entre los RJ11, tal y como hice aquí (pero con el SPI)

(https://docs.google.com/uc?export=download&id=0B-EMoBe-_OdBWkpzZ0lPcXpiQlE)
El hueco entre los dos RJ11 se ajusta perfectamente a un pinheader de 2.54 mm pitch, si es hembra es muy sencillo de pegar con algo de epoxy. Yo me di cuenta tarde y metí un pinheader macho el cual cuesta más colocar.

Es la opción más fácil para acceder con la carcasa cerrada. Entre los dos huecos que hay podríamos cablear hasta 12 gpios.

Buenas, danitool, podrías sacar fotos del Router sin carcasa trasera para ver como lo cableaste y pegaste, x ver tu forma de hacerlo desde los GPIO's hasta la carcasa.

A mi me parece mejor opción tal como lo tienes tú, es decir siendo machos en el router ya q por tanto se elimina la posibilidad de crear un corto. Xq al querer conectar un cable hembra tanto encendido como apagado no hay forma de crear el corto.
Sin embargo, si son machos los cables q conectamos, si por un casual se mueve el Router o la plaquita q le siga y se sueltan los cables machos pueden crear un corto/s entre ellos (esto es algo muy probable de q ocurra).
Si son hembras los cables q se conectan a los pines machos q asoman por el router, en "casi" ningún caso se podría crear un corto aunque x accidente se soltasen los cables y se tocasen entre ellos (a menos q se doblen y se toquen los pines machos del router por safarse los hembras, ....bastante remoto este caso)

@Ficht fuerte trabajo te estás botando con los GPIO's y el Observa Telecom VH4032N. En estos días actualizo la 2ª tabla.


Saludos a todos.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 02-03-2016, 20:51 (Miércoles)

Citar
@Fitch fuerte trabajo te estás botando con los GPIO's y el Observa Telecom VH4032N. En estos días actualizo la 2ª tabla.

Jejeje, si, la verdad que estos últimos 6 que andan por ahí... se están haciendo los listillos ya no se por donde buscarles (y empiezo a cometer pequeños errores) pero bueno, no pararé hasta haber pinchado toda la placa y sin que me queden dudas.... (es que hay algunos lugares que activan un reinicio por soft con conteo de 3 seg. otros hacen volcado de memoria, y otros directamente te reinician el sistema..) en fin, ya quedan menos...

Citar
Buenas, danitool, podrías sacar fotos del Router sin carcasa trasera para ver como lo cableaste y pegaste, x ver tu forma de hacerlo desde los GPIO's hasta la carcasa.

A mi me parece mejor opción tal como lo tienes tú, es decir siendo machos en el router ya q por tanto se elimina la posibilidad de crear un corto. Xq al querer conectar un cable hembra tanto encendido como apagado no hay forma de crear el corto.
Sin embargo, si son machos los cables q conectamos, si por un casual se mueve el Router o la plaquita q le siga y se sueltan los cables machos pueden crear un corto/s entre ellos (esto es algo muy probable de q ocurra).
Si son hembras los cables q se conectan a los pines machos q asoman por el router, en "casi" ningún caso se podría crear un corto aunque x accidente se soltasen los cables y se tocasen entre ellos (a menos q se doblen y se toquen los pines machos del router por safarse los hembras, ....bastante remoto este caso)

A mi también me gusta esta idea de @danitool, hace algún tiempo se que vi mas comentarios y alguna que otra foto de este proyecto (no se si por el hilo de radio WIFI) pero le perdí la pista, claro aparte del video (https://www.youtube.com/watch?v=3BNs52wyl1s).
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 08-03-2016, 01:41 (Martes)
Buenas, aprovechando que tenía todos los componentes (optoacoplador, transistor, diodo, diodos leds y relé) he montado el circuito completo del que hablábamos componente por componente y lo he dejado funcionando (no me podía quedar esperando 1 mes a que llegara la PCB de china con todos los componentes ya integrados).

Fotos y vídeo del HG556a Atheros con el GPIO 25 accionando una lámpara (ON/OFF)

Tuve que hacer el circuito completo (optoacoplador 4n25 para aislar el router electricamente del otro circuito que acciona los relés, el cual va a 5v, que aunque el relé es a 6v, va bien con 5v). Le puse como se comentó, el diodo al relé para evitar el pico inverso cuando se desactivara y pudiera dañar el transistor.

Aproveché y le puse 2 diodos LED para ver el estado del relé: Rojo = OFF y Verde = ON.


GPIO 25 ON

(http://i68.tinypic.com/15clk5s.jpg)

En HD: http://i66.tinypic.com/11h7vgj.jpg


GPIO 25 OFF

(http://i67.tinypic.com/2ik2vcl.jpg)

En HD: http://i64.tinypic.com/k1uts2.jpg



Vídeo               -=  Pincha Aquí para verlo  =-     (http://es.tinypic.com/m/j8yxco/1)

(http://i64.tinypic.com/2r383mc.jpg)



En estos días añado el esquema del circuito que monté y todos sus componentes (en este mismo mensaje)

A ver si dentro de 3 semanas me llega la PCB de 12 relés a 12 v con sus protecciones por cada relé y GPIO's. En Ebay están como a € por relé prácticamente.


Saludos
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 08-03-2016, 11:50 (Martes)
En estos días añado el esquema del circuito que monté y todos sus componentes (en este mismo mensaje)

A ver si dentro de 3 semanas me llega la PCB de 12 relés a 12 v con sus protecciones por cada relé y GPIO's. En Ebay están como a € por relé prácticamente.


Saludos

Jeje muy bien que te ha quedado y fantástico el vídeo!!

Aprovecho para hacer una pregunta... a ver si hay alguna idea.

Como se tendría que hacer para activar un (o varios) gpio en dependencia de la corriente del sistema?
Es decir, el router lo pondríamos a trabajar con una batería a 12V, en el momento en que la batería empiece a estar en fase de descarga, por ejemplo en 11,5V .... aquí tendría que activarse un gpio, que conecte un cargador de baterías o arrancar motores o lo que se disponga... pero, como hacer el script para que quede el router a la escucha de la bajada de tensión?

No se si hay manera de monitorizar o habría que agregar algún sensor de corriente al sistema ¿?  ???
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 08-03-2016, 21:03 (Martes)
En estos días añado el esquema del circuito que monté y todos sus componentes (en este mismo mensaje)

A ver si dentro de 3 semanas me llega la PCB de 12 relés a 12 v con sus protecciones por cada relé y GPIO's. En Ebay están como a € por relé prácticamente.


Saludos

Jeje muy bien que te ha quedado y fantástico el vídeo!!

Aprovecho para hacer una pregunta... a ver si hay alguna idea.

Como se tendría que hacer para activar un (o varios) gpio en dependencia de la corriente del sistema?
Es decir, el router lo pondríamos a trabajar con una batería a 12V, en el momento en que la batería empiece a estar en fase de descarga, por ejemplo en 11,5V .... aquí tendría que activarse un gpio, que conecte un cargador de baterías o arrancar motores o lo que se disponga... pero, como hacer el script para que quede el router a la escucha de la bajada de tensión?

No se si hay manera de monitorizar o habría que agregar algún sensor de corriente al sistema ¿?  ???

Necesitas incorporar algo que detecte el voltaje de la línea y active una salida en consecuencia.
Lo puedes hacer con un comparador, que al comparar el voltaje de la línea, con otro voltaje que llamamos referencia, si éste es menor, active una salida. No te hacen falta GPIOs para activar la salida, a no ser que queramos que el router se "entere" de lo que está pasando.
Puede que un LM324, o similar, te sirva.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 08-03-2016, 22:20 (Martes)
En estos días añado el esquema del circuito que monté y todos sus componentes (en este mismo mensaje)

A ver si dentro de 3 semanas me llega la PCB de 12 relés a 12 v con sus protecciones por cada relé y GPIO's. En Ebay están como a € por relé prácticamente.


Saludos

Jeje muy bien que te ha quedado y fantástico el vídeo!!

Aprovecho para hacer una pregunta... a ver si hay alguna idea.

Como se tendría que hacer para activar un (o varios) gpio en dependencia de la corriente del sistema?
Es decir, el router lo pondríamos a trabajar con una batería a 12V, en el momento en que la batería empiece a estar en fase de descarga, por ejemplo en 11,5V .... aquí tendría que activarse un gpio, que conecte un cargador de baterías o arrancar motores o lo que se disponga... pero, como hacer el script para que quede el router a la escucha de la bajada de tensión?

No se si hay manera de monitorizar o habría que agregar algún sensor de corriente al sistema ¿?  ???

Necesitas incorporar algo que detecte el voltaje de la línea y active una salida en consecuencia.
Lo puedes hacer con un comparador, que al comparar el voltaje de la línea, con otro voltaje que llamamos referencia, si éste es menor, active una salida. No te hacen falta GPIOs para activar la salida, a no ser que queramos que el router se "entere" de lo que está pasando.
Puede que un LM324, o similar, te sirva.

Hombre, depende de la vía que finalmente elija, si elijo cargador de baterías, se supone que estarías conectado a la red,  (el propio cargador de baterías ya lleva comparadores) de esta forma es como normalmente se trabaja, aunque sería interesante poder conectar o no el cargador en la parte de AC 220V..... (cuando no hay 220v no hay voltaje de referencia) se puede calcular el consumo relativo del router + otros consumidores y que dispare el cargador cada x tiempo (ejemplo c/48hrs) pero no ... que va, no es viable, ya que el consumo diario a la que están sujetas las baterías, es variable y a veces de gran descarga. Lo mejor, que sea autónomo, no hay conexión eléctrica AC posible, entonces sí, el router debería arrancar motores para recargar baterías, en este caso sí que el router se ha de enterar del voltaje actual por debajo de algún valor programado y organizar todo el procedimiento de arranque (que es algo largo) + luego el procedimiento de apagado.

Si el router no es capaz de ninguna manera de saber el voltaje actual, entonces habría que agregar algún sensor con salida hacia GPIO in del router y esto desencadena todo, imagino que buscando encuentre algo simple. (vamos, lo mismo que tu has dicho nada mas empezar  Tki2000)

Pd: A todo esto le estoy dando forma así como hablo... puede verse que aun no lo tengo pensado del todo...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: juniorwrt en 09-03-2016, 00:28 (Miércoles)
Muy buenas a todos, me estreno en este post.  >:D

Yo utilicé mi ADB -> A4001N1.
Primero viendo unos post del HG556a en wiki.openwrt y luego "Inventando"con las salidas y un polímetro.
El primer vídeo después de meter el comando para parar (echo "" > ........ ), lo desconecto ya que a 5V no se por qué sigue un zumbido fuerte de fondo...

http://sendvid.com/embed/atgjdlmu

Y en este vídeo "algo chapuza el cableado" con un relé que tenia de un arduino.

http://sendvid.com/embed/68vzbqc4

Ahora creé en el router una página PHP con botones para activar y desactivar los relés, hacer zumbidos y demás. En estos días subo el vídeo con la página.
Los vídeos son de hace unos días, ahora la forma de dejar accionado el relé lo hago con el brightness valor "1" en el GPIO, en el video utilizaba kmod-morse


Un saludo a este gran foro!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 09-03-2016, 01:05 (Miércoles)
Buenas, lo q dice Tki2000 es una opción perfecta. El proyecto q nombré al principio y q hicimos usando ultrasonidos, para q el PIC tuviera su 5v ó 0v fue con un comprador específico de "voltaje", peleamos mucho con otros comparadores, 711, etc... Y sólo conseguimos lo q necesitabamos con el LM311N q saca a 5v ó 0v, el resto de comparadores daba valores intermedios de voltaje: 6 v y 3v, etc. Así q si usas el LM311N y giras el optoacoplador como IN, ya tienes el 1 y el 0.

Yo tb quiero enfocar lo del Router y los GPIO'S usando baterías de 12 v, para domótica y videovigilancia usando baterías de 12 v y paneles fotovoltaicos a 12 v. El inverter en stand by me consume 15 W, los cuales me quiero ahorrar conectando el Router directamente (10 a 12 W) a la salida del regulador solar. La problemática es q cuando el sol da o no y en función del % de carga de las baterías el voltaje va desde los 14 v a los 11,8 v q es donde lo tengo programado q corte la descarga para evitar la sobredescarga de las baterías, x lo q en base al rango tan amplio de voltaje, me da q quemaría al router xq lleva alimentación a 12,00 v ya filtrados x el transformador del mismo.

He pensado en un regulador 7812 pero necesita 14-15 v para estabilizar a 12 v clavados, x lo q de momento estoy pensando en usar el Step Down q tengo (12v a 5v 3 A = Máximo 15 W), y comprar un Step UP (unos 2€ en Ebay) para subir de 5v a 12v nuevamente, pero estabilizada la tensión a 12 v clavados, al margen de la tensión de las baterías. Es la solución más rápida, segura y económica creo yo. Si a alguien se le ocurre otra forma, lo agradecería.

Fitch, espero q esta info te sirva de ayud, y a los demás claro.

Saludos
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 09-03-2016, 09:47 (Miércoles)
Buenas, lo q dice Tki2000 es una opción perfecta. El proyecto q nombré al principio y q hicimos usando ultrasonidos, para q el PIC tuviera su 5v ó 0v fue con un comprador específico de "voltaje", peleamos mucho con otros comparadores, 711, etc... Y sólo conseguimos lo q necesitabamos con el LM311N q saca a 5v ó 0v, el resto de comparadores daba valores intermedios de voltaje: 6 v y 3v, etc. Así q si usas el LM311N y giras el optoacoplador como IN, ya tienes el 1 y el 0.

Yo tb quiero enfocar lo del Router y los GPIO'S usando baterías de 12 v, para domótica y videovigilancia usando baterías de 12 v y paneles fotovoltaicos a 12 v. El inverter en stand by me consume 15 W, los cuales me quiero ahorrar conectando el Router directamente (10 a 12 W) a la salida del regulador solar. La problemática es q cuando el sol da o no y en función del % de carga de las baterías el voltaje va desde los 14 v a los 11,8 v q es donde lo tengo programado q corte la descarga para evitar la sobredescarga de las baterías, x lo q en base al rango tan amplio de voltaje, me da q quemaría al router xq lleva alimentación a 12,00 v ya filtrados x el transformador del mismo.

He pensado en un regulador 7812 pero necesita 14-15 v para estabilizar a 12 v clavados, x lo q de momento estoy pensando en usar el Step Down q tengo (12v a 5v 3 A = Máximo 15 W), y comprar un Step UP (unos 2€ en Ebay) para subir de 5v a 12v nuevamente, pero estabilizada la tensión a 12 v clavados, al margen de la tensión de las baterías. Es la solución más rápida, segura y económica creo yo. Si a alguien se le ocurre otra forma, lo agradecería.

Fitch, espero q esta info te sirva de ayud, y a los demás claro.

Saludos

Si, claro que me sirve y gracias por ello, anoche estuve mirando y encontré varios proyectos de como hacerlo, y si que es perfectamente válida la recomendación de Tki2000 y la tuya.

Por otra parte, yo tengo un hg556a-C conectado a baterías a 12V desde hace un año, que cuando las alteradoras están en funcionamiento, el voltaje de carga sube hasta 14.75V, no le he  puesto ninguna protección y funciona perfectamente, imagino que el propio router se encarga de controlar la entrada (a ese margen entre los 10,5 a 15V) por debajo de 10V ya empieza a  fallar la wifi y lectura de hdd por ejemplo... hasta que se apaga.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Lafucillo en 09-03-2016, 17:03 (Miércoles)
Os acabo de leer y como comentario hay sistemas Buck-Boost que teniendo una entrada de tensión continua variable intenta elevar o reducir la tensión de salida para estabilizarla.

He encontrado cosas como:

http://www.ebay.com/sch/i.html?_odkw=&_osacat=117000&_from=R40&_trksid=p2045573.m570.l1311.R1.TR11.TRC2.A0.H0.Xbuck+boost.TRS0&_nkw=buck+boost+converter&_sacat=0

Mi recomendación es si utilizáis una batería poner un fusible para que en caso que haya algún problema la batería no arda o bien no se lleve por delante nada de electrónica.

Un saludo,

Lafu
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 09-03-2016, 23:54 (Miércoles)
Os acabo de leer y como comentario hay sistemas Buck-Boost que teniendo una entrada de tensión continua variable intenta elevar o reducir la tensión de salida para estabilizarla.

He encontrado cosas como:

http://www.ebay.com/sch/i.html?_odkw=&_osacat=117000&_from=R40&_trksid=p2045573.m570.l1311.R1.TR11.TRC2.A0.H0.Xbuck+boost.TRS0&_nkw=buck+boost+converter&_sacat=0

Mi recomendación es si utilizáis una batería poner un fusible para que en caso que haya algún problema la batería no arda o bien no se lleve por delante nada de electrónica.

Un saludo,

Lafu


Buenas @Lafucillo, te agradezco un montón el aporte, y encima cuesta 2 duros. No conocía de su existencia, pero si vaya, que es un 2 en 1, step up y/o step down juntos autoregulado. Nombra como usos: fotovoltaica, coche, etc.. en donde va fluctuando siempre la entrada, pero manteniendo la salida a 12v por ej, este en concreto es de 3-4 Amperios, así que siendo 14v a 11,8v la entrada en el caso de la fotovoltaica (en base a mi instalación) y siendo la salida a 12v, nos sobrarían watios: 12v x ~3A = 36 W aprox, así que sobradísimos, el transformador del router es de 12v 2 A = 24 W máximos,,,,de los cuales con uso normal es de 10 a 12 W (apunte: la batería de gel no se puede cargar a más de 14v o la matas en muy muy poco tiempo, AGM y Plomo abierto si cargan a un poco más de voltaje ~14,4v y aguantan más maltrato si se diera, sobretodo AGM)

Y si, pa por si, poner los fusibles que hagan falta, que una batería sale una pasta exagerada y a veces por irlo dejando (es mi caso), ahí está a escape libre todo bien conectado,,,pero jugándomela. Me ha frenado el portafusible que tendría que pedirlo seguramente (china 10 ud x 1 €, aquí 1 ud 3€ x ej, es la norma), ya que no quiero perder watios por reducir las secciones y conexiones, ya que la sección de los cables son de 6 mm para el inverter-batería y 4 mm el resto de la instalación (panel con 3 metros de 10 mm y reducción a 6 mm para conectar al regulador de carga). Nada, esto es ponerme a buscarlo y ya está.


@Ficht, me apunto el uso que haces con el router HG556a Ralink y las baterías de 12v, tengo varios Ralink y x cauto no había hecho la prueba de si aguantaba las tensiones superiores a 12v (hasta 15v como nombras), creía que el transformador hacía ya ese trabajo y no el router, lo probaré en breve, a ver si encuentro una clavija para no cortar el del transformador original.


Muy buenas a todos, me estreno en este post.  >:D

Yo utilicé mi ADB -> A4001N1.
Primero viendo unos post del HG556a en wiki.openwrt y luego "Inventando"con las salidas y un polímetro.
El primer vídeo después de meter el comando para parar (echo "" > ........ ), lo desconecto ya que a 5V no se por qué sigue un zumbido fuerte de fondo...

http://sendvid.com/embed/atgjdlmu

Y en este vídeo "algo chapuza el cableado" con un relé que tenia de un arduino.

http://sendvid.com/embed/68vzbqc4

Ahora creé en el router una página PHP con botones para activar y desactivar los relés, hacer zumbidos y demás. En estos días subo el vídeo con la página.
Los vídeos son de hace unos días, ahora la forma de dejar accionado el relé lo hago con el brightness valor "1" en el GPIO, en el video utilizaba kmod-morse


Un saludo a este gran foro!

Bienvenido @juniorwrt, awita para ser tu primer post, sorprendente, y pa colmo acabas de incluir en la tabla un nuevo router para darle usos a sus GPIO's, el "Home Station ADB P.DG A4001N1". Muy buenos los vídeos (a ver si escucho mejor el vídeo, para lo del zumbido a ver si sé xq es...) y el tono del SMS, me gustó, jajajaja.

Total de Routers en el listado: 9

Que hayas creado una página en PHP, me dejó bailando ya ¿Podrías añadirle a la página que pida nombre de usuario y contraseña para tener algo de seguridad en el acceso al control de los GPIO's? Yo creo que con eso, ya terminas de clavarla. Me hubiera gustado haber publicado antes que tú, para no dejar tan poco margen entre el anterior mío y el que tú publicaste. Por 40 min no se quedó el tuyo como último mensaje, que es un montón todo lo que aportas.

Unas últimas peticiones:

¿Podrías ya que estas con ese router, decir cuantos GPIO's tienes localizados y su número (GPIO 25, 4, .. ¿?) ?
Para ya tenerlos documentados aquí, y así añadirlo a la 1ª tabla, y en el caso, si vas a buscar más GPIO's, también añadirlo a la 2ª tabla.


Gracias por los aportes a todos.



Estos días he buscado en Play Store "GPIO" y me encontré varias sorpresas, pero las más destacadas son estas:

App para controlar GPIO's con OPENWRT (Saklarku - Remote OpenWRT GPIO) y fotos del HG553a con 8 GPIO's (mínimo) conectados a 8 relés y quedando la PCB de los relés dentro de la carcasa con el router cerrado...es para verlo, le quedó inmaculado:

(https://github.com/gojigeje/saklarku/raw/master/screenshot-router.png)


Esta es la web del chico que lo publica (desde Indonesia con amor):

https://github.com/gojigeje/saklarku (https://github.com/gojigeje/saklarku)


Por lo queeeee,,,,se añade otro router más a la lista de Routers: HG553a (8 GPIO's + X's ?)

Total de Routers en el listado: 10

=============================== --------===========================================



En mis ratitos de reflexión me he dado cuenta, en todas estas acciones que estamos poniendo en común y el potencial que tienen, dejando claro que:

Prácticamente todo el mundo tiene en su casa un/os router/s arrimado/s, el cual posiblemente (bingo si está en las tablas) tiene un perfecto uso para domótica, automatismos, etc... y evitando tener que comprar más aparatos si es q cubre las necesidades de cada uno ( Acción ecológica ).

En mi caso, lo vi claro, como puse en el primer mensaje, ¿para qué gastar dinero y comprar un aparato nuevo "Raspberry, Arduino, ..." ===> gastar recursos naturales innecesariamente y fomentar el consumismo) si el uso va a ser automátismos y cualquiera que vaya a automatizar algo, sabrá soldar los 4 cables, y escribir 4 comandos?


Bueno, disculpen la extensión del palique en el supuesto, aunque por mi parte lo veo necesario.

Saludos a tod@s
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 10-03-2016, 01:24 (Jueves)

Estos días he buscado en Play Store "GPIO" y me encontré varias sorpresas, pero las más destacadas son estas:

App para controlar GPIO's con OPENWRT (Saklarku - Remote OpenWRT GPIO) y fotos del HG553a con 12 GPIO's (mínimo) conectados a 12 relés y quedando la PCB de los relés dentro de la carcasa con el router cerrado...es para verlo, le quedó inmaculado:
Esta es la web del chico que lo publica (desde Indonesia con amor):

https://github.com/gojigeje/saklarku (https://github.com/gojigeje/saklarku)


Si este está muy bueno, y las app para el android también, lo único que los script para el servidor php y el de control de gpios están en indonesio, y ahí me quedé, no se si agregando el idioma al sistema funcione (con mas facilidad de adaptación y cambiando los números de gpio), pero lo dejé estar y me hice una pequeñita web con botones... (no lo he desintalado, pero lo miraré mas adelante) si logras modificar los script, comenta...
El control desde via web, lo dejo solo para intranet (casi instantaneo), desde fuera con ssh usando esta aplicación (https://play.google.com/store/apps/details?id=com.pd7l.sshbutton&hl=es) que me resulta genial.

Saludos!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Lafucillo en 10-03-2016, 10:59 (Jueves)
Gracias a vosotr@s.

Un último aporte sobre los relés, es utilizar Reles de estado sólido ya que no hacen ruido y su consumo es muy inferior.

http://www.ebay.com/bhp/solid-state-relay

Aunque o bien activan algo en Continua o Bien activan algo en Alterna (220Vac), pero algo es algo y así alargáis la vida de esa batería ya que los relés normales suelen consumir bastante cuando están activos.

Un saludo,

Lafu
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 27-03-2016, 21:12 (Domingo)
VH4032N Cableado


Bueno, aquí es donde ha ido a parar un VH4032N... (todo un poco desastre de aspecto, pero funciona muy bien, tengo pendiente cambiar el cuadro completo)

Cuando la cámara detecta eventos, suena el timbre y se oye en toda la nave, también se controlan las dos líneas de enchufes 220V y todo el alumbrado interno y externo en 3 secciones.
El ratón es provisional, hasta que me lleguen botones, que soldaré a un circuito de teclado y será más funcional (tres botones de una acción es poco) pero generalmente se usa todo desde el móvil (y así no caminas los 35 mtr de nave)

Los GPIO's: hay uno que durante el arranque del router permanece apagado, este controla (directamente) al relé que alimenta a 5v el/los circuito optoaislado de la placa de relé's principal o de trabajo y los 5V salen de la placa del router, los otros 8 GPIO's están amplificados con transistores y al final del arranque se ponen a 0, justo antes de activar el relé anterior de alimentación, claro en rc.local  antes de exit 0 (evitando que se ponga nada en funcionamiento)

Estoy usando triggerhappy (vaya noticia jejeje con lo que he preguntado)  pero aún tengo disponibles 12 gpio's sin conectar creo que el tiempo me dirá si serán botones, sensores o relé's. Pte: motor para subir puerta, sensor de movimiento, sensor de humedad y temperatura (es útil para el trabajo en la nave) etc...

El router está como cliente wifi, y trabaja muy estable, aunque tengo la sensación (aún por comprobar) de que al exportar un gpio la wifi se desbarata. (ya lo miraré)



(http://s9.tinypic.com/2a0avyx_th.jpg) (http://i64.tinypic.com/2a0avyx.jpg)  (http://s9.tinypic.com/rbbr7c_th.jpg) (http://oi68.tinypic.com/rbbr7c.jpg)  (http://s9.tinypic.com/eila4m_th.jpg) (http://oi67.tinypic.com/eila4m.jpg[/img)  (http://s9.tinypic.com/5sj80_th.jpg) (http://oi68.tinypic.com/5sj80.jpg)


PD: El cuadro lo transformaré en  Bender Bending de Futurama (http://oi67.tinypic.com/358cpdx.jpg) creo que es lo que más se parece...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 28-03-2016, 08:19 (Lunes)
VH4032N Cableado


Bueno, aquí es donde ha ido a parar un VH4032N... (todo un poco desastre de aspecto, pero funciona muy bien, tengo pendiente cambiar el cuadro completo)

Cuando la cámara detecta eventos, suena el timbre y se oye en toda la nave, también se controlan las dos líneas de enchufes 220V y todo el alumbrado interno y externo en 3 secciones.
El ratón es provisional, hasta que me lleguen botones, que soldaré a un circuito de teclado y será más funcional (tres botones de una acción es poco) pero generalmente se usa todo desde el móvil (y así no caminas los 35 mtr de nave)

Los GPIO's: hay uno que durante el arranque del router permanece apagado, este controla (directamente) al relé que alimenta a 5v el/los circuito optoaislado de la placa de relé's principal o de trabajo y los 5V salen de la placa del router, los otros 8 GPIO's están amplificados con transistores y al final del arranque se ponen a 0, justo antes de activar el relé anterior de alimentación, claro en rc.local  antes de exit 0 (evitando que se ponga nada en funcionamiento)

Estoy usando triggerhappy (vaya noticia jejeje con lo que he preguntado)  pero aún tengo disponibles 12 gpio's sin conectar creo que el tiempo me dirá si serán botones, sensores o relé's. Pte: motor para subir puerta, sensor de movimiento, sensor de humedad y temperatura (es útil para el trabajo en la nave) etc...

El router está como cliente wifi, y trabaja muy estable, aunque tengo la sensación (aún por comprobar) de que al exportar un gpio la wifi se desbarata. (ya lo miraré)



(http://s9.tinypic.com/2a0avyx_th.jpg) (http://i64.tinypic.com/2a0avyx.jpg)  (http://s9.tinypic.com/rbbr7c_th.jpg) (http://oi68.tinypic.com/rbbr7c.jpg)  (http://s9.tinypic.com/eila4m_th.jpg) (http://oi67.tinypic.com/eila4m.jpg[/img)  (http://s9.tinypic.com/5sj80_th.jpg) (http://oi68.tinypic.com/5sj80.jpg)


PD: El cuadro lo transformaré en  Bender Bending de Futurama (http://oi67.tinypic.com/358cpdx.jpg) creo que es lo que más se parece...

¡Muy buena idea lo del cable IDE para sacar los GPIOs!  >:(
¡El ratón es un puntazo!  ;D
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 31-03-2016, 01:30 (Jueves)
VH4032N Cableado


Bueno, aquí es donde ha ido a parar un VH4032N... (todo un poco desastre de aspecto, pero funciona muy bien, tengo pendiente cambiar el cuadro completo)

Cuando la cámara detecta eventos, suena el timbre y se oye en toda la nave, también se controlan las dos líneas de enchufes 220V y todo el alumbrado interno y externo en 3 secciones.
El ratón es provisional, hasta que me lleguen botones, que soldaré a un circuito de teclado y será más funcional (tres botones de una acción es poco) pero generalmente se usa todo desde el móvil (y así no caminas los 35 mtr de nave)

Los GPIO's: hay uno que durante el arranque del router permanece apagado, este controla (directamente) al relé que alimenta a 5v el/los circuito optoaislado de la placa de relé's principal o de trabajo y los 5V salen de la placa del router, los otros 8 GPIO's están amplificados con transistores y al final del arranque se ponen a 0, justo antes de activar el relé anterior de alimentación, claro en rc.local  antes de exit 0 (evitando que se ponga nada en funcionamiento)

Estoy usando triggerhappy (vaya noticia jejeje con lo que he preguntado)  pero aún tengo disponibles 12 gpio's sin conectar creo que el tiempo me dirá si serán botones, sensores o relé's. Pte: motor para subir puerta, sensor de movimiento, sensor de humedad y temperatura (es útil para el trabajo en la nave) etc...

El router está como cliente wifi, y trabaja muy estable, aunque tengo la sensación (aún por comprobar) de que al exportar un gpio la wifi se desbarata. (ya lo miraré)



(http://s9.tinypic.com/2a0avyx_th.jpg) (http://i64.tinypic.com/2a0avyx.jpg)  (http://s9.tinypic.com/rbbr7c_th.jpg) (http://oi68.tinypic.com/rbbr7c.jpg)  (http://s9.tinypic.com/eila4m_th.jpg) (http://oi67.tinypic.com/eila4m.jpg[/img)  (http://s9.tinypic.com/5sj80_th.jpg) (http://oi68.tinypic.com/5sj80.jpg)


PD: El cuadro lo transformaré en  Bender Bending de Futurama (http://oi67.tinypic.com/358cpdx.jpg) creo que es lo que más se parece...


¡¡ Que maravilla !! Lo has hecho realidad caballero.
De una motivación, un super esfuerzo, un arduo trabajo, los aportes tuyos y de tod@s, ...de un proyecto en tu cabeza al que le has dado un uso real, diario y adaptado a tus necesidades (tu nave comprade, tu negocio, ...que se podría decir pronto, pero no, para nada.... Alucinante).

No sé cuanta gente en el mundo le habrá dado por trastear con routers con OpenWRT y usar sus GPIO´s, pero por lo menos hasta donde llego yo (que no me recorro toda la red), para mi eres la 1ª persona en el mundo que lleva tan lejos todo esto y por eso te quiero dar una tremenda enhorabuena. You are the King of Pop, ajajajaj.

Q astro, ajjaja, no me lo puedo quitar de la cabeza. Y lo que dice Tki2000, el ratón se salió, jajajaj (recycler-man, esa es la actitud ecologista).


Por cierto, ¿Cómo va el Cliente WiFi? ¿está haciendo algún extraño?

A todas estas, podrías nombrar los GPIO's que estás usando y si son salida o entrada. Serviría de referencia para futuros proyectos, para ir más a tiro hecho si son estables, como algunos puede que trastoquen en algo el correcto funcionamiento del router, por eso simplemente.


Días atrás estuve con el MultiSIM (programa para simulación de circuitos) para subir el esquema funcionando de un GPIO tanto como salida (OUT) como entrada (IN) con sus respectivas protecciones, leds de estado del relé o pulsador/conmutador (pero me he quedado atascado y no sé cual es la bobería del fallo, ...pronto lo solvento y si no cuelgo el esquema de salida "OUT" (todos los componentes, pistas, polaridades, valores de: resistencias, tensiones, etc...) del circuito que tengo montado en la protoboard que funciona perfectamente con el que he estado haciendo mis pruebas (el encendido/apagado de la lámpara con el GPIO 25 del HG556a Atheros, accionando tanto desde el móvil por WiFi dentro de casa con la APP "SSH button", como desde fuera de casa por la conexión de datos 3G/H+, con la tablet, el PC, ...). Y el esquema como entrada "IN" de un GPIO.


Bueno, ...que más tengo que decir, ...que sigan estos proyectos/realidades y compartiendo llegaremos lejos. Gracias a tod@s.


PD: Si, lo tengo pendiente, actualizar las tablas y subir los esquemas como dije, lo recuerdo cada día,  >:D
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 31-03-2016, 12:08 (Jueves)
Días atrás estuve con el MultiSIM (programa para simulación de circuitos) para subir el esquema funcionando de un GPIO tanto como salida (OUT) como entrada (IN) con sus respectivas protecciones, leds de estado del relé o pulsador/conmutador (pero me he quedado atascado y no sé cual es la bobería del fallo, ...pronto lo solvento y si no cuelgo el esquema de salida "OUT" (todos los componentes, pistas, polaridades, valores de: resistencias, tensiones, etc...) del circuito que tengo montado en la protoboard que funciona perfectamente con el que he estado haciendo mis pruebas (el encendido/apagado de la lámpara con el GPIO 25 del HG556a Atheros, accionando tanto desde el móvil por WiFi dentro de casa con la APP "SSH button", como desde fuera de casa por la conexión de datos 3G/H+, con la tablet, el PC, ...). Y el esquema como entrada "IN" de un GPIO.

A mí me iba muy bien el Proteus para la simulación de circuitos y microcontroladores. Tiene hasta su propio compilador de lenguaje para subir, al microcontrolador simulado, el programa que queramos en su simulación.
Creo que el MultiSIM está más orientado a la simulación analógica y el Proteus a la digital.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Lafucillo en 31-03-2016, 13:17 (Jueves)
Días atrás estuve con el MultiSIM (programa para simulación de circuitos) para subir el esquema funcionando de un GPIO tanto como salida (OUT) como entrada (IN) con sus respectivas protecciones, leds de estado del relé o pulsador/conmutador (pero me he quedado atascado y no sé cual es la bobería del fallo, ...pronto lo solvento y si no cuelgo el esquema de salida "OUT" (todos los componentes, pistas, polaridades, valores de: resistencias, tensiones, etc...) del circuito que tengo montado en la protoboard que funciona perfectamente con el que he estado haciendo mis pruebas (el encendido/apagado de la lámpara con el GPIO 25 del HG556a Atheros, accionando tanto desde el móvil por WiFi dentro de casa con la APP "SSH button", como desde fuera de casa por la conexión de datos 3G/H+, con la tablet, el PC, ...). Y el esquema como entrada "IN" de un GPIO.

A mí me iba muy bien el Proteus para la simulación de circuitos y microcontroladores. Tiene hasta su propio compilador de lenguaje para subir, al microcontrolador simulado, el programa que queramos en su simulación.
Creo que el MultiSIM está más orientado a la simulación analógica y el Proteus a la digital.

En mi caso suelo usar LTSpice, que aunque sea de una marca comercial, es sencillo de usar, multiplataforma y free.

http://www.linear.com/designtools/software/

Un saludo,

Lafu
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 31-03-2016, 20:10 (Jueves)
VH4032N Cableado





¡¡ Que maravilla !! Lo has hecho realidad caballero.
De una motivación, un super esfuerzo, un arduo trabajo, los aportes tuyos y de tod@s, ...de un proyecto en tu cabeza al que le has dado un uso real, diario y adaptado a tus necesidades (tu nave comprade, tu negocio, ...que se podría decir pronto, pero no, para nada.... Alucinante).

No sé cuanta gente en el mundo le habrá dado por trastear con routers con OpenWRT y usar sus GPIO´s, pero por lo menos hasta donde llego yo (que no me recorro toda la red), para mi eres la 1ª persona en el mundo que lleva tan lejos todo esto y por eso te quiero dar una tremenda enhorabuena. You are the King of Pop, ajajajaj.

Q astro, ajjaja, no me lo puedo quitar de la cabeza. Y lo que dice Tki2000, el ratón se salió, jajajaj (recycler-man, esa es la actitud ecologista).


Jajaja edudi: Gracias por los cumplidos....  pero yo reconozco que esto es una chapuza tal y como está, mas bien me daba vergüenza publicarlo en estas condiciones, me hubiera gustado haber cambiado antes el cuadro eléctrico entero, pero no es el momento de meterme ahora en ese "fregao", el próximo invierno, si que lo haré....

Y el ratón Tki2000 jajaja, no veas la cara de la peña (solo amigos, no es un local donde se atienda a los clientes)  cuando lo ve, sencillamente "no lo entienden"  ;D aunque es provisional, ebay aveces demora un poco. Pero desde luego, cómodo si que es y mucho, todo el montaje.



Citar
Por cierto, ¿Cómo va el Cliente WiFi? ¿está haciendo algún extraño?

Nada extraño, de momento va genial como si tuviera un cable... lo que comenté acerca del gpio que podía interferir, aun está igual, "sin probar" (en modo cliente)

En modo AP, si que he probado los 21 GPIO's y no se quejó en modo alguno. (esto en un router exacto, mismo firm y configuración)

Citar
A todas estas, podrías nombrar los GPIO's que estás usando y si son salida o entrada. Serviría de referencia para futuros proyectos, para ir más a tiro hecho si son estables, como algunos puede que trastoquen en algo el correcto funcionamiento del router, por eso simplemente.

Actualmente, estoy usando 9 GPIO's todos como salida ninguno de entrada y el router va como un tiro, es increíble y guapo la velocidad a la que funciona todo esto, independientemente de la carga del router. (da igual si las cámaras graban o no, no interfiere)

Una de las cosas importantes aquí, es tener disponible algún GPIO que inicie en 0 (apagado)  (fue lo que mencioné en el post anterior) este si lo busqué, los demás los conecté a voleo, solo que en un extremo del cable IDE hay [GND +5V y +3,3V] en el otro extremo son todos GPIO's guapos y disponibles, y buscando luego quien es quien, ya le fui dando valores a los script's.

Citar
Días atrás estuve con el MultiSIM (programa para simulación de circuitos) para subir el esquema funcionando de un GPIO tanto como salida (OUT) como entrada (IN) con sus respectivas protecciones, leds de estado del relé o pulsador/conmutador (pero me he quedado atascado y no sé cual es la bobería del fallo, ...pronto lo solvento y si no cuelgo el esquema de salida "OUT" (todos los componentes, pistas, polaridades, valores de: resistencias, tensiones, etc...) del circuito que tengo montado en la protoboard que funciona perfectamente con el que he estado haciendo mis pruebas (el encendido/apagado de la lámpara con el GPIO 25 del HG556a Atheros, accionando tanto desde el móvil por WiFi dentro de casa con la APP "SSH button", como desde fuera de casa por la conexión de datos 3G/H+, con la tablet, el PC, ...). Y el esquema como entrada "IN" de un GPIO.

Sería interesante verlo, e intentar hacer lo mismo de lo que tengo montado y lo que pienso montar.... yo, la verdad que soy de la rama de mecánica, y aunque en la carrera estudié programación y electrónica durante un par de años buenos, desde que me gradué hace unos 20+ años, no he mirado más de tres veces ni siquiera el valor de una resistencia, me gusta, pero ahí se quedó, así que estoy flojo en todo esto....

Lo próximo, pues tengo varias cosas en mi lista, eje: una alarma para el coche, donde puedes geolocalizar el coche y apagar o encender el motor... y  no se, lo que se me ocurra por el camino, una vez aquí, el límite es el que uno mismo se ponga. jejeje
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: raphik en 26-04-2016, 18:20 (Martes)
Proyecto con OpenWrt usando GPIO: https://foro.seguridadwireless.net/openwrt/proyecto-gpio-manejo-de-una-pantalla-lcd-via-bus-i2c/

Saludos.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 01-05-2016, 03:54 (Domingo)
Proyecto con OpenWrt usando GPIO: https://foro.seguridadwireless.net/openwrt/proyecto-gpio-manejo-de-una-pantalla-lcd-via-bus-i2c/

Saludos.

Este proyecto es impresionante, controlando desde 1 a 8 pantallas LCD usando sólo 4 cables.

También amplía la limitación que teníamos de: en base a X's GPIO's podíamos controlar X's relés en caso de q fueran salidas y el uso que le quisiéramos dar. El compañero @raphik ha descrito al 100% con código, fotos, etc....que con sólo 2 GPIO's podamos controlar hasta 64 relés. Conocer esto rompe las limitaciones con respecto a salidas,,,no creo que nadie vaya a usar 64 salidas...así que ahora si lo hacemos por este método con una simple interfaz intermedia que cuesta menos de 1€ de 2 pasamos a 64 salidas. Yiiiiiijaaaaa!!!

Como otro aporte más dado por @raphik, ...es añadir sonido a nuestro router tanto de salida "voz" (altavoces) y como entrada "oídos" (micrófono). El post de utilizar una tarjeta de sonido USB como salida es del 2012: [Tutorial] Receptor de radio Wi-Fi con OpenWrt (https://foro.seguridadwireless.net/openwrt/tutorial-music-player-daemon-en-hg556a/msg247482/#msg247482 (https://foro.seguridadwireless.net/openwrt/tutorial-music-player-daemon-en-hg556a/msg247482/#msg247482)), ...pero desconocía su existencia, así que en base a una duda que planteé respecto a un proyecto de videovigilancia que tengo en mente, quiero usar tanto salida como entrada de sonido...así pues:

Siento tripitirme, pero se ha desmigajado la idea de uno de mis proyectos entre otros dos 2 post debido a las dudas que fuí planteando en ambos estos días, y veo la necesidad de volver a repetirlo en este, ya que creo que puede ser un proyecto muy usado por una gran cantidad de personas basandose en GPIO's, ....

....¿a quien no le gustaría tener un sistema de video-vigilancia very low cost gracias a alguno de los routers con GPIO's accesibles, sin mantenimiento por una empresa privada, con sus sensores de control si hay apertura de puertas, de presencia, alarma sonora de alto volumen, altavoces que puedan decir cualquier cosa y conectar un micrófono para poder oir en streaming si sucede algo en nuestras casas (todo esto con sus avisos por email y wasap)?    

...Bueno, pues este es mi proyecto (omitir que me conecto a la red WiFi del pueblo "libre y gratuita" y que tendría problemas para acceder a los puertos de cada función e ignorar el hecho de que usaré placas solares como fuente de energía, a menos que tengais las mismas limitaciones de electricidad que yo por la ubicación del proyecto):

@ eludi https://foro.seguridadwireless.net/openwrt/te-habla-tu-router/

Saludos.

Yosss, que bueno, me acabas de dar la solución al proyecto que tengo entre manos con esto de que "hable el Router":

Quiero montar un sistema de videovigilancia con 2 webcams con detección de movimiento (con el Motion y unas PS2 y PS3 EyeToy ya probadas), unos altavoces a modo de mensajes de voz para asustar, jajaja, un Zumbador (altavoz de alarma) activado por 1 GPIO y si el micro también me funciona mejor que mejor, todo esto visionable y controlable desde fuera de casa con el móvil, tablet-WiFi ó 3G, PC, etc... y teniendo avisos por correo, y en breve por wasap (va a salir una SIM de no sé que compañía en Sept. que es gratuita con 200MB y 200 minutos de voz "suficiente para este uso". Si quieres más hay que pagar, pero imagino que serán precios competitivos a más no poder). ¿Quien regala a día de hoy un 2º número de Tlfno con 200 MB y 200 minutos de voz?

La parte del micro me es bastante vital para poder oir también lo que hay en el ambiente (ya que estoy fuera de la finca 6 días) o para si se detectan sonidos bruscos o cambiantes dentro de la casa: se activaría mediante una programación básica a modo de "sonido sospechoso" y guarde esos momentos, los cuales se suben a un FTP. Por último trataría de que fuera en streaming el audio IN del micro, para si quiero ver las cámaras en algún momento en concreto y oir tb el sonido si lo deseo ...puede parecer una bobería, pero no lo es en mi caso al menos. No hay nada como saber cuando está pasando el camión del pescado o el de los helados, jeje. No ahora en serio, mi familia tiene una cueva en el sur que no vamos sino los fines de semana, con sus 2 placas solares, 2 bancos de baterías y sus reguladores (las baterías son AGM y GEL de ahí que sean 2 circuitos independientes) y todo está orientado a ese fin (la única pega que le veo es que se conecta a la wifi del pueblo "que es libre y gratuita" y no sé como acceder a los puertos para acceder/manejar todo esto, ...aun no he indagado sobre esto de los puertos aquí).

También como extra quiero añadir el uso de unos sensores infrarrojos (si alguien pasa/corta activa la alarma) y ultrasonidos (para cambios o movimientos en el habitáculo). Tengo los esquemas, archivos de los circuitos impresos y componentes de las PCB's dando un 1 ó un 0 probadas y funcionando, tendría que volver a imprimirlas y comprar sus componentes o buscar algo en China semejante (lo hicimos en el proyecto de fin de ciclo), los cuales irían como entradas a 2 GPIO's para aumentar el número de sistemas de seguridad.

Bueno, más que agradecido de todos estos aportes. Saludos a todos, sois muy buenos tanto en lo que hacéis como en lo que compartís. Si alguien necesita los esquemas de las PCB's para los ultrasonidos e infrarrojos que lo diga y lo subo aquí, eso si son a escala muy pequeña, pero bueno, todo es escalable.


PD: raphik, ....soy edudi no eludi, jajaj....me sentí eludido.


Repasando lo que se puede hacer con los GPIO's y lo que aun estará por publicarse, ya el router tiene su imagen para ver sus acciones e intrucciones que está realizando (pantalla/s LCD), sonido (altavoz, zumbador y micrófono), ojos-vista (cámaras web en streaming), gestor de descargas de torrents (x ej:  transmission), DLNA (ver las películas descargadas en streaming en nuestros TV´s), Repetidor WiFi, ...y todo eso sin que el router esté echando humo con un consumo entre 10 y 15 W a lo sumo.

...sólo es cuestión de ponerse y verlo con su brazo y mano robótica de libre movimiento, alta presición y sensibilidad al tacto con ejes X, Y, Z (de venta en ebay por unos 45€) y sus "pies-ruedas" coche de radio-control o cableado con una estructura vertical "piernas y tronco" como vehículo de transporte a modo de Robot Casero versión "Alpha", ...no creo que me esté yendo muy lejos, tenemos todo lo necesario: Ojos (cámaras web reutilizadas en streaming) y una enorme gran cantidad de GPIO's para controlar a nuestro antojo, sobre todo salidas "64" con sólo 2 GPIO's, entradas no harán falta muchas que digamos, ....., este último sería un proyecto muy potente "Robot Casero OpenWRT", sólo hay que imaginar, pensar, estudiar y depurar lo que queramos construir y controlar, hacerlo es sólo cuestión de ponerse.......buffff, lo veo y no es descabellado.

Bueno, ...los límites los pone cada uno, la realidad es que es totalmente posible esto y miles de cosas más.


Gracias a tod@s por despejar tantas dudas (en algunos casos "remotas") que surjen a las inquietudes de tod@s. Saludos
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 22-05-2016, 02:24 (Domingo)
Buenas, ya probé un GPIO como entrada "IN" y perfect, es detectado el pulso (pulsador) o estado fijo (como conmutador) leído por el GPIO y auto-escrito en su archivo correspondiente "/sys/class/gpio/gpioXX/value". Detallo para quien lo quiera empezar a usar (sé que es básico, pero como tutorial es imprescindible, yo estoy aprendiendo a la par que lo comparto):

En este caso seguí con el HG556a Ver.C (Atheros) con el GPIO 25 con el que se inició este post como salida = OUT, lo que esta vez será una entrada = IN.

Lo primero fue hacer un divisor de tensión ya que no tenía ninguna fuente de 3,3v a mano, así que usé uno de los puertos USB del router como fuente, conecté un cable USB por uno de los puertos USB y por el otro extremo pelados y separados el +5v y el 0v (GND). Los cuales van a la protoboard y realicé este esquema:

(http://i64.tinypic.com/2ymj9sj.jpg)
(http://i63.tinypic.com/szbv4n.jpg)
Divisor de tensión: de 5v a 3,3v
Conocer los valores de las resistencias a usar para cualquier tipo de fuente

Es el que usé y es por si usan una fuente de 6v, 9v, 12v, etc...la que sea, para que puedan.


Entre el extremo de 3,3v y el GPIO hay que colocar (pulsador, conmutador, circuito externo, etc..) que se quiera leer/detectar su estado para realizar lo que programemos, todo a nivel lógico de 1 y 0 (1 = 3,3v  y 0 = 0v ó viceversa como se indica en la wiki de OpenWRT):

(https://wiki.openwrt.org/_media/media/gpios-high_low.png?w=600&tok=a21639)

Fijándonos de los 4 ejemplos (2 primeros como salidas y 2 últimos como entradas) en los 2 últimos, en función de como lo configuremos la disposición de los componentes, tendremos como entrada un 1 ó 0 al pulsar el pulsador o viceversa. Esto ya es al gusto de cada uno.


En mi caso el GPIO 25 al pulsar el pulsador se activa a bajo = 0 --> "Button ACTIVE LOW".

En esta foto se aprecia si es entrada o salida y el estado con el que está el GPIO en función de si pulso el pulsador o no, hay que ponerse en esta línea de comando (omitan el encabezado de la misma: If...):

(http://i66.tinypic.com/x52q2x.jpg)


Se puede apreciar en el archivo "value" el valor que tiene en cada momento dicho GPIO = 0 (pulsado) ó 1 (sin pulsar). Por tanto, usando simples líneas de código se podrá controlar que se desea hacer cuando por ejemplo el GPIO 25 como entrada esté pulsado o no, para activar o no el GPIO 14 que lo tengo configurado como salida hacia el relé interno del router, el del RJ11 si no recuerdo mal (nos ahorramos circuitería y ya casi operativo para soldar 2 cables, "" IMP: cortar el par de pistas o quemamos el router como le metamos AC 220 v "" y accionar luz x ej), administrar tal señal para activar un evento, script, enviar un correo, iniciar grabación de vídeo en Motion para luego subirlo a FTP, etc.........todo y más, al gusto de cada uno como siempre.


Ahora mi duda: ¿Qué lenguaje de programación me recomiendan que sea sencillo para poder hacer un par de if, else, while,,,,? vaya C, ¿pero es más lioso o me recomiendan alguno en concreto para este fin de los GPIO con algunos lanzamientos de scripts, ...?

El encabezado de esta última foto es lo que quiero hacer, vaya lo más simple del mundo, pero como nunca he programado para linux, ....mñn prosigo en mi búsqueda, aunque acepto propuestas, todo sea por ir más rápido.



Un saludo y hasta pronto.

PD: Se nota q en el post anterior me vine un poco arriba no? jajajaj
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 26-05-2016, 23:15 (Jueves)
Ahora mi duda: ¿Qué lenguaje de programación me recomiendan que sea sencillo para poder hacer un par de if, else, while,,,,? vaya C, ¿pero es más lioso o me recomiendan alguno en concreto para este fin de los GPIO con algunos lanzamientos de scripts, ...?

El encabezado de esta última foto es lo que quiero hacer, vaya lo más simple del mundo, pero como nunca he programado para linux, ....mñn prosigo en mi búsqueda, aunque acepto propuestas, todo sea por ir más rápido.

Me autocito, ya están los programitas --> comparto 3 scripts para tal fin:

Configura como entrada o salida un GPIO y le da un valor si es salida (nos ahorramos entre 3 y 4 líneas de comandos)

https://www.dropbox.com/s/94ygyuyr0y6c0q1/gpio_control.sh?dl=0 (https://www.dropbox.com/s/94ygyuyr0y6c0q1/gpio_control.sh?dl=0)


Para comprobar una entrada en un GPIO "x" si estamos pulsando un pulsador (x ej en el GPIO 25 con un pulsador)

https://www.dropbox.com/s/m0hjzrudzbfsrs9/gpio_test.sh?dl=0 (https://www.dropbox.com/s/m0hjzrudzbfsrs9/gpio_test.sh?dl=0)


En base al anterior, con un GPIO como entrada (x ej 25) obtener una respuesta en el GPIO 14 como salida (en breve lo mejoro para que se pueda pasar como argumento tb la salida).

https://www.dropbox.com/s/g5qjm5hlpmzcppc/gpio_test_MOD.sh?dl=0 (https://www.dropbox.com/s/g5qjm5hlpmzcppc/gpio_test_MOD.sh?dl=0)



Vídeo del 2º y 3º script:

Pincha Aquí para ver el vídeo (http://es.tinypic.com/m/jfgtgi/1)

(http://i65.tinypic.com/16hokzb.jpg)



=======
Desgloce:
=======

De la wiki de OpenWRT - apartado GPIO, con el que definimos en una única línea de comando: el nº de GPIO para utilizar, si es entrada o salida y que valor tiene en el caso de ser salida.

ej como salida (GPIO 14):        sh ./gpio_control.sh 14 out 1
ej como entrada (GPIO 25):         sh ./gpio_control.sh 25 in

(http://i65.tinypic.com/2rzcf7n.jpg)



Probando el GPIO 25 si recibe la entrada del pulsador:

ej como entrada (GPIO 25):         sh ./gpio_test.sh 25

(http://i64.tinypic.com/iyzbtg.jpg)




Comprobando que al recibir el GPIO 25 del pulsador un cambio de estado, acciona como salida el relé del GPIO 14:

ej como entrada (GPIO 25):         sh ./gpio_test_MOD.sh 25

(http://i66.tinypic.com/s3ilgm.jpg)


Estos dos últimos están basados en el 1º, con algunos añadidos míos. De todas formas son muy útiles y muy fáciles de modificar, por lo que no están limitados. En breve como dije, mejoro el 3º para que no haga falta modificar nada, sólo pasar por argumento porqué salida queremos la respuesta al pulsar el pulsador, x ej, y que no sea el GPIO 14 como lo tengo yo para mi caso en concreto.



Saludos


PD: Si tienen algún problema con el vídeo avisen, porque TINYPICS me ha dado la lata que bueno, se me salta, hay que darle a parar la página para poder verlo. Tb estoy viendo que le ha bajado muchísimo la calidad al vídeo (aun subiéndolo de nuevo como High Definition, que se ve algo mejor), pero bueno, ya grabaré otro en 720p y así cuando le baje la calidad, al menos se podrán leer las letras en condiciones, que era lo que pretendía, al margen del resto. De todas formas lo que se veía en la pantalla es lo mismo que las fotos añadidas, así que mucha pérdida tampoco hay.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Altair64 en 27-05-2016, 00:29 (Viernes)
WOW, no sabía que los routers tambien tienen gpios!!!  :D
ahora mismo ando chanchulleando con Arduino y estaba pensando en juntar arduino con routers openwrt para meterle al arduino una especie de "ethernet" (por ahorrar los 3 cochinos euros que cuestan los modulos ethernet, sí :V) pero viendo que con WRT puedo hacer casi lo mismo.. tendre que probar!
Eso si, para algunos proyectos no creo que me pueda servir... imagino que los gpio solo leen y sacan niveles bajos y altos, tengo algunos proyectos que leen valores analogicos.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 27-05-2016, 08:09 (Viernes)
WOW, no sabía que los routers tambien tienen gpios!!!  :D
ahora mismo ando chanchulleando con Arduino y estaba pensando en juntar arduino con routers openwrt para meterle al arduino una especie de "ethernet" (por ahorrar los 3 cochinos euros que cuestan los modulos ethernet, sí :V) pero viendo que con WRT puedo hacer casi lo mismo.. tendre que probar!
Eso si, para algunos proyectos no creo que me pueda servir... imagino que los gpio solo leen y sacan niveles bajos y altos, tengo algunos proyectos que leen valores analogicos.

Un coversor de analógico a I2C, y ¡¡¡lo tienes hecho!!!  ;)
Aunque si tienes un arduino, puede utilizar el firmata con openwrt, o comunicarlo por el puerto serie del router, y utilizar ser2net para acceder a los datos del puerto serie a través de TCP. O utilizar un adaptador USB/serie en el router y comunicarlo con el arduino.
Opciones hay...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Altair64 en 27-05-2016, 08:20 (Viernes)
WOW, no sabía que los routers tambien tienen gpios!!!  :D
ahora mismo ando chanchulleando con Arduino y estaba pensando en juntar arduino con routers openwrt para meterle al arduino una especie de "ethernet" (por ahorrar los 3 cochinos euros que cuestan los modulos ethernet, sí :V) pero viendo que con WRT puedo hacer casi lo mismo.. tendre que probar!
Eso si, para algunos proyectos no creo que me pueda servir... imagino que los gpio solo leen y sacan niveles bajos y altos, tengo algunos proyectos que leen valores analogicos.

Un coversor de analógico a I2C, y ¡¡¡lo tienes hecho!!!  ;)
Aunque si tienes un arduino, puede utilizar el firmata con openwrt, o comunicarlo por el puerto serie del router, y utilizar ser2net para acceder a los datos del puerto serie a través de TCP. O utilizar un adaptador USB/serie en el router y comunicarlo con el arduino.
Opciones hay...

Sí, estuve buscando sobre eso, librerías para Arduino que le permite tener su propia IP y servidor http y tal. Sobre los sensores, tambien hay "empaquetados" sensores que sacan datos digitales. Por ejemplo, el DHT11 que mide temperatura y humedad y voy a usar en un proyecto, un sistema deshumificador para una bodega (le conectaré un ventilador-extractor y un deshumificador mediante relés). La cosa son las librerías de Arduino (como la del DHT11) que no sé si se podría usar en el WRT.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 27-05-2016, 08:33 (Viernes)
WOW, no sabía que los routers tambien tienen gpios!!!  :D
ahora mismo ando chanchulleando con Arduino y estaba pensando en juntar arduino con routers openwrt para meterle al arduino una especie de "ethernet" (por ahorrar los 3 cochinos euros que cuestan los modulos ethernet, sí :V) pero viendo que con WRT puedo hacer casi lo mismo.. tendre que probar!
Eso si, para algunos proyectos no creo que me pueda servir... imagino que los gpio solo leen y sacan niveles bajos y altos, tengo algunos proyectos que leen valores analogicos.

Un coversor de analógico a I2C, y ¡¡¡lo tienes hecho!!!  ;)
Aunque si tienes un arduino, puede utilizar el firmata con openwrt, o comunicarlo por el puerto serie del router, y utilizar ser2net para acceder a los datos del puerto serie a través de TCP. O utilizar un adaptador USB/serie en el router y comunicarlo con el arduino.
Opciones hay...

Sí, estuve buscando sobre eso, librerías para Arduino que le permite tener su propia IP y servidor http y tal. Sobre los sensores, tambien hay "empaquetados" sensores que sacan datos digitales. Por ejemplo, el DHT11 que mide temperatura y humedad y voy a usar en un proyecto, un sistema deshumificador para una bodega (le conectaré un ventilador-extractor y un deshumificador mediante relés). La cosa son las librerías de Arduino (como la del DHT11) que no sé si se podría usar en el WRT.

Pues si que están disponibles en los repositorios openwrt para compilar las librerias DHT11
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 23-06-2016, 00:52 (Jueves)
Añadidos 2 Routers a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:


- ADB P.DG A4001N1        (por juniorwrt)

Nombrado por juniorwrt en esta respuesta:

https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342886/#msg342886 (https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342886/#msg342886)


- Huawei HG553a        (por saklarku)

Nombrado por saklarku en esta respuesta:

https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342925/#msg342925 (https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg342925/#msg342925)


Total de Routers en el listado: 10

Gracias por los aportes !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 02-07-2016, 18:42 (Sábado)
Buenas, para mi proyecto y en general, veo que los GPIO's y/o al menos el GPIO 25 del HG556a Ver.C, cuando se enciende el router es nivel alto = 1 = 3,3 v. Esto supone una problemática, ya q acaba de ocurrir un cambio de estado en el/los GPIO's de 0 = 0,00 v (router apagado) a 1 = 3,3 v por sólo encenderlo. Si lo mantenemos encendido siempre y luego realizamos la configuración de lo que vayamos a hacer pues no hay problema, pero no es mi caso. En mi proyecto yo parto de: 1º router apagado, 2º lo enciendo, 3º graba vídeo de 30 sg y 4º luego activa relé (N.C) = 1   --> a (N.O) = 0 para producir un reset en el watímetro que controlo diariamente. De esta forma cada día sobre las 22:00 horas se graba un vídeo de 30sg con los valores del watímetro y le hace un reset al watímetro para el día siguiente.

¿Qué habría que hacer para poner ciertos GPIO's (los que vayamos a usar) a nivel 0 y que no cambién ni por una milésima su estado al encender el router? Vaya, como si tuviera un/os GPIO's con un 0 tanto apagado como encendido.

¿Modificando el kernel se consigue esto o siempre vamos a tener x un instante un cambio de estado?

Y en el peor de los casos..., ni aun modificando el kernel sucede esto: ¿el procesador del router exará un 1 por todos sus GPIO's al encenderse y según reciba la instrucción "del kernel" lo pasará a 0?


¿Alguien sabe algo sobre este asunto de que no exista cambio de estado de alguna forma, del router apagado al router encendido?

Saludos y muchas gracias.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 02-07-2016, 19:09 (Sábado)
Buenas, para mi proyecto y en general, veo que los GPIO's y/o al menos el GPIO 25 del HG556a Ver.C, cuando se enciende el router es nivel alto = 1 = 3,3 v. Esto supone una problemática, ya q acaba de ocurrir un cambio de estado en el/los GPIO's de 0 = 0,00 v (router apagado) a 1 = 3,3 v por sólo encenderlo. Si lo mantenemos encendido siempre y luego realizamos la configuración de lo que vayamos a hacer pues no hay problema, pero no es mi caso. En mi proyecto yo parto de: 1º router apagado, 2º lo enciendo, 3º graba vídeo de 30 sg y 4º luego activa relé (N.C) = 1   --> a (N.O) = 0 para producir un reset en el watímetro que controlo diariamente. De esta forma cada día sobre las 22:00 horas se graba un vídeo de 30sg con los valores del watímetro y le hace un reset al watímetro para el día siguiente.

¿Qué habría que hacer para poner ciertos GPIO's (los que vayamos a usar) a nivel 0 y que no cambién ni por una milésima su estado al encender el router? Vaya, como si tuviera un/os GPIO's con un 0 tanto apagado como encendido.

¿Modificando el kernel se consigue esto o siempre vamos a tener x un instante un cambio de estado?

Y en el peor de los casos..., ni aun modificando el kernel sucede esto: ¿el procesador del router exará un 1 por todos sus GPIO's al encenderse y según reciba la instrucción "del kernel" lo pasará a 0?


¿Alguien sabe algo sobre este asunto de que no exista cambio de estado de alguna forma, del router apagado al router encendido?

Saludos y muchas gracias.

Puedes buscar un relé con lógica inversa, o invertir la señal con una puerta lógica (por ejemplo una 74LVT04), o un transistor (por ej.: http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal (http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal)). De esa forma trabajarías con 0 para activar y con 1 para desactivar el relé. Sólo tendrías que invertir la señal del GPIO en tu aplicación.
La lógica inversa se suele utilizar bastante en entornos industriales, ya que se sabe si una señal está funcionando o no por falta de alimentación (si no hay alimentación no valdría 1), o por no dar bien la señal (en cuyo caso nunca se pondría a 0).

Edito: Aquí hay un relé con lógica inversa : http://www.ebay.com/itm/Relay-HOT-NEW-For-Arduino-Module-5V-Board-Expansion-Relay-Low-Level-Trigger-/182186130468?hash=item2a6b23bc24:g:SMEAAOSwEjFXcSVK (http://www.ebay.com/itm/Relay-HOT-NEW-For-Arduino-Module-5V-Board-Expansion-Relay-Low-Level-Trigger-/182186130468?hash=item2a6b23bc24:g:SMEAAOSwEjFXcSVK)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 02-07-2016, 19:20 (Sábado)
Buenas, para mi proyecto y en general, veo que los GPIO's y/o al menos el GPIO 25 del HG556a Ver.C, cuando se enciende el router es nivel alto = 1 = 3,3 v. Esto supone una problemática, ya q acaba de ocurrir un cambio de estado en el/los GPIO's de 0 = 0,00 v (router apagado) a 1 = 3,3 v por sólo encenderlo. Si lo mantenemos encendido siempre y luego realizamos la configuración de lo que vayamos a hacer pues no hay problema, pero no es mi caso. En mi proyecto yo parto de: 1º router apagado, 2º lo enciendo, 3º graba vídeo de 30 sg y 4º luego activa relé (N.C) = 1   --> a (N.O) = 0 para producir un reset en el watímetro que controlo diariamente. De esta forma cada día sobre las 22:00 horas se graba un vídeo de 30sg con los valores del watímetro y le hace un reset al watímetro para el día siguiente.

¿Qué habría que hacer para poner ciertos GPIO's (los que vayamos a usar) a nivel 0 y que no cambién ni por una milésima su estado al encender el router? Vaya, como si tuviera un/os GPIO's con un 0 tanto apagado como encendido.

¿Modificando el kernel se consigue esto o siempre vamos a tener x un instante un cambio de estado?

Y en el peor de los casos..., ni aun modificando el kernel sucede esto: ¿el procesador del router exará un 1 por todos sus GPIO's al encenderse y según reciba la instrucción "del kernel" lo pasará a 0?


¿Alguien sabe algo sobre este asunto de que no exista cambio de estado de alguna forma, del router apagado al router encendido?

Saludos y muchas gracias.

Puedes buscar un relé con lógica inversa, o invertir la señal con una puerta lógica (por ejemplo una 74LVT04), o un transistor (por ej.: http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal (http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal)). De esa forma trabajarías con 0 para activar y con 1 para desactivar el relé. Sólo tendrías que invertir la señal del GPIO en tu aplicación.
La lógica inversa se suele utilizar bastante en entornos industriales, ya que se sabe si una señal está funcionando o no por falta de alimentación (si no hay alimentación no valdría 1), o por no dar bien la señal (en cuyo caso nunca se pondría a 0).


Ok, muchas gracias por la respuesta, la famosa puerta NOT.......de ahí que se pasen los circuitos a puertas lógicas inversas: NAND, NOR, etc... no hubiera caído de que se usa en entornos industriales de esa forma por ese motivo, aparte de que se simplifican a únicamente un tipo de puerta lógica.


AÑADO: Tengo la placa de relé delante ahora mismo, lo que esta es de 8 relés.
 

Thks, ya estoy trabajando en ello. Un saludo
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 02-07-2016, 19:59 (Sábado)
Buenas, para mi proyecto y en general, veo que los GPIO's y/o al menos el GPIO 25 del HG556a Ver.C, cuando se enciende el router es nivel alto = 1 = 3,3 v. Esto supone una problemática, ya q acaba de ocurrir un cambio de estado en el/los GPIO's de 0 = 0,00 v (router apagado) a 1 = 3,3 v por sólo encenderlo. Si lo mantenemos encendido siempre y luego realizamos la configuración de lo que vayamos a hacer pues no hay problema, pero no es mi caso. En mi proyecto yo parto de: 1º router apagado, 2º lo enciendo, 3º graba vídeo de 30 sg y 4º luego activa relé (N.C) = 1   --> a (N.O) = 0 para producir un reset en el watímetro que controlo diariamente. De esta forma cada día sobre las 22:00 horas se graba un vídeo de 30sg con los valores del watímetro y le hace un reset al watímetro para el día siguiente.

¿Qué habría que hacer para poner ciertos GPIO's (los que vayamos a usar) a nivel 0 y que no cambién ni por una milésima su estado al encender el router? Vaya, como si tuviera un/os GPIO's con un 0 tanto apagado como encendido.

¿Modificando el kernel se consigue esto o siempre vamos a tener x un instante un cambio de estado?

Y en el peor de los casos..., ni aun modificando el kernel sucede esto: ¿el procesador del router exará un 1 por todos sus GPIO's al encenderse y según reciba la instrucción "del kernel" lo pasará a 0?


¿Alguien sabe algo sobre este asunto de que no exista cambio de estado de alguna forma, del router apagado al router encendido?

Saludos y muchas gracias.

Puedes buscar un relé con lógica inversa, o invertir la señal con una puerta lógica (por ejemplo una 74LVT04), o un transistor (por ej.: http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal (http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal)). De esa forma trabajarías con 0 para activar y con 1 para desactivar el relé. Sólo tendrías que invertir la señal del GPIO en tu aplicación.
La lógica inversa se suele utilizar bastante en entornos industriales, ya que se sabe si una señal está funcionando o no por falta de alimentación (si no hay alimentación no valdría 1), o por no dar bien la señal (en cuyo caso nunca se pondría a 0).


Ok, muchas gracias por la respuesta, la famosa puerta NOT.......de ahí que se pasen los circuitos a puertas lógicas inversas: NAND, NOR, etc... no hubiera caído de que se usa en entornos industriales de esa forma por ese motivo, aparte de que se simplifican a únicamente un tipo de puerta lógica.


AÑADO: Tengo la placa de relé delante ahora mismo, lo que esta es de 8 relés.
 

Thks, ya estoy trabajando en ello. Un saludo

Pues una de éstas con optoacoplador y configurable con lógica normal e inversa: http://www.ebay.de/itm/5V-8-Channel-Relay-Module-With-OPTO-Isolated-High-and-Low-Level-Trigger-/201053180872? (http://www.ebay.de/itm/5V-8-Channel-Relay-Module-With-OPTO-Isolated-High-and-Low-Level-Trigger-/201053180872?)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 02-07-2016, 20:36 (Sábado)
Buenas, para mi proyecto y en general, veo que los GPIO's y/o al menos el GPIO 25 del HG556a Ver.C, cuando se enciende el router es nivel alto = 1 = 3,3 v. Esto supone una problemática, ya q acaba de ocurrir un cambio de estado en el/los GPIO's de 0 = 0,00 v (router apagado) a 1 = 3,3 v por sólo encenderlo. Si lo mantenemos encendido siempre y luego realizamos la configuración de lo que vayamos a hacer pues no hay problema, pero no es mi caso. En mi proyecto yo parto de: 1º router apagado, 2º lo enciendo, 3º graba vídeo de 30 sg y 4º luego activa relé (N.C) = 1   --> a (N.O) = 0 para producir un reset en el watímetro que controlo diariamente. De esta forma cada día sobre las 22:00 horas se graba un vídeo de 30sg con los valores del watímetro y le hace un reset al watímetro para el día siguiente.

¿Qué habría que hacer para poner ciertos GPIO's (los que vayamos a usar) a nivel 0 y que no cambién ni por una milésima su estado al encender el router? Vaya, como si tuviera un/os GPIO's con un 0 tanto apagado como encendido.

¿Modificando el kernel se consigue esto o siempre vamos a tener x un instante un cambio de estado?

Y en el peor de los casos..., ni aun modificando el kernel sucede esto: ¿el procesador del router exará un 1 por todos sus GPIO's al encenderse y según reciba la instrucción "del kernel" lo pasará a 0?


¿Alguien sabe algo sobre este asunto de que no exista cambio de estado de alguna forma, del router apagado al router encendido?

Saludos y muchas gracias.

Puedes buscar un relé con lógica inversa, o invertir la señal con una puerta lógica (por ejemplo una 74LVT04), o un transistor (por ej.: http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal (http://electronics.stackexchange.com/questions/30238/how-to-invert-a-digital-signal)). De esa forma trabajarías con 0 para activar y con 1 para desactivar el relé. Sólo tendrías que invertir la señal del GPIO en tu aplicación.
La lógica inversa se suele utilizar bastante en entornos industriales, ya que se sabe si una señal está funcionando o no por falta de alimentación (si no hay alimentación no valdría 1), o por no dar bien la señal (en cuyo caso nunca se pondría a 0).


Ok, muchas gracias por la respuesta, la famosa puerta NOT.......de ahí que se pasen los circuitos a puertas lógicas inversas: NAND, NOR, etc... no hubiera caído de que se usa en entornos industriales de esa forma por ese motivo, aparte de que se simplifican a únicamente un tipo de puerta lógica.


AÑADO: Tengo la placa de relé delante ahora mismo, lo que esta es de 8 relés.
 

Thks, ya estoy trabajando en ello. Un saludo


Correcto compañero, gracias a tu aporte solventado el problema ante la duda que planteé. Si no llego haber posteado y hubiera probado primero el resultado hubierda sido el mismo positivo, pero vino bien plantear la duda y que respondieras con esa "lógica" aplastante.


Si quiero aprovechar para matizar varias cosas:

La placa de relés y el circuito intermedio que usé es el mismo del esquema de la Raspberry que hay en el 1º mensaje (usando de momento 1 relé "IN1": resistencia de 10K entre tierra y el GPIO, resistencia de 2,2K entre el GPIO y el cable que va al "IN1" de la placa de relés).

He usado la configuración del relé N.C. (normalmente cerrado = terminales B y C) y con el router apagado están con continuidad --> como si fuera un 1 (aunque no lógico sino que el relé no se activado por lo que no se ha movido a la otra posición = N.O. "normalmente abierto-open").

- Router apagado   --> B y C con continuidad = 1 (no lógico)  ---> Led del relé IN1 apagado

- Router encendido --> B y C con continuidad = 1 (no lógico)  ---> Led del relé IN1 con la luz roja muy tenue.


Según voy configurando el GPIO hay un cambio de estado y la luz roja se vuelve de roja muy tenue, intensa a apagada:

echo 25 > /sys/class/gpio/export                       <---- No hay cambio de estado = B y C con continuidad = 1 (no lógico) = Led muy tenue

echo "out" > /sys/class/gpio/gpio25/direction    <---- Cambio de estado = B y C sin continuidad = 0 (no lógico) = RESET = Led intenso

echo 1 > /sys/class/gpio/gpio25/value               <---- Cambio de estado = B y C con continuidad = 1 (no lógico) = Led apagado

echo 0 > /sys/class/gpio/gpio25/value               <---- Cambio de estado = B y C sin continuidad = 0 (no lógico) = RESET = Led intenso

echo 1 > /sys/class/gpio/gpio25/value               <---- Cambio de estado = B y C con continuidad = 1 (no lógico) = Led apagado



Por tanto, ya queda resuelto el camino para mi proyecto y de guía como conocimiento general los estados que va mostrando la placa de relés, que por cierto, tiene todas las protecciones incluidas, los optoacopladores y los diodos para prevenir el pico inverso de los relés al desactivarse.

Gracias por la ayuda como siempre. Igual subo un vídeo de esto mismo, aunque creo que no es necesario.


AÑADO: Que bueno tu aporte, se sale, encima configurable cada uno de los 8 relés por separado para hacerlo de lógica normal o inversa, muy bueno:

Pues una de éstas con optoacoplador y configurable con lógica normal e inversa: http://www.ebay.de/itm/5V-8-Channel-Relay-Module-With-OPTO-Isolated-High-and-Low-Level-Trigger-/201053180872? (http://www.ebay.de/itm/5V-8-Channel-Relay-Module-With-OPTO-Isolated-High-and-Low-Level-Trigger-/201053180872?)

Saludos
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 03-07-2016, 15:52 (Domingo)
Si el led del relé se te queda tenue, significa que está en un punto flotante, ni vale 3,3v ni vale 0v. Haría falta ponerle una resistencia pulldown si la lógica es normal, o una resistencia pullup, si la lógica es inversa. Según veo dices que tienes una resistencia pulldown de 10k entre el gpio y tierra. Me parece que ofrece demasiada resistencia para dejar pasar corriente a tierra, y por eso circula algo de corriente hacia el led del relé (se ve tenue). Prueba a bajar el valor de esa resistencia, si no es un valor crítico para el diseño.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 03-07-2016, 17:32 (Domingo)
Si el led del relé se te queda tenue, significa que está en un punto flotante, ni vale 3,3v ni vale 0v. Haría falta ponerle una resistencia pulldown si la lógica es normal, o una resistencia pullup, si la lógica es inversa. Según veo dices que tienes una resistencia pulldown de 10k entre el gpio y tierra. Me parece que ofrece demasiada resistencia para dejar pasar corriente a tierra, y por eso circula algo de corriente hacia el led del relé (se ve tenue). Prueba a bajar el valor de esa resistencia, si no es un valor crítico para el diseño.

Hola Tki2000, según entiendo de @edudi, una vez que termina el arranque, y que exporta el GPIO estableciendo el valor a 1, ya el Led queda encendido con normalidad y doy por echo que el relé le trabaje correctamente.
¿Esto es así?

En mis pruebas con el HG556a  Ver C (ralink) habían 2 GPIO's  que al arrancar el router se quedaban así en un punto flotante, pero ya una vez rodado el script para cotrolar los GPIO's estos primero a 0 y luego a 1 ya encendían el led con normalidad... pero aún así,  cuando estaban a medias, también eran capaces de activar el relé (supongo que era debido a la sensibilidad del optoacoplador)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 04-07-2016, 01:22 (Lunes)
Si el led del relé se te queda tenue, significa que está en un punto flotante, ni vale 3,3v ni vale 0v. Haría falta ponerle una resistencia pulldown si la lógica es normal, o una resistencia pullup, si la lógica es inversa. Según veo dices que tienes una resistencia pulldown de 10k entre el gpio y tierra. Me parece que ofrece demasiada resistencia para dejar pasar corriente a tierra, y por eso circula algo de corriente hacia el led del relé (se ve tenue). Prueba a bajar el valor de esa resistencia, si no es un valor crítico para el diseño.

En estos días compruebo con un potenciómetro y una resistencia con menores valores (4,8K x ej) y comento si hay cambios.

Del circuito que comenté, acabo de hacer un puente para hacer unas mediciones de voltaje justo antes de la entrada IN1 en la placa de relés, estos son los valores:

Router Apagado                                               = 0,00v
Router Encendido                                             = 0,29v
echo 25 > /sys/class/gpio/export                        = 0,29v
echo "out" > /sys/class/gpio/gpio25/direction        = 1,47v      ---> Si levanto el cable del IN1 el voltaje cae a 0,00v
echo 1 > /sys/class/gpio/gpio25/value                 = 0,00v      ---> Si levanto el cable del IN1 el voltaje permanece en 0,00v
echo 0 > /sys/class/gpio/gpio25/value                 = 1,47v
echo 1 > /sys/class/gpio/gpio25/value                 = 0,00v


Todo esto a modo de testeo de voltaje para sacar conclusiones, lo que con la hora que es no estoy para sacarlas. Desde que pruebe con otros valores de resistencia comento si es que saco conclusiones, que esa es otra. Porque lo de que se caiga el voltaje si levanto el cable del IN1 a 0,00v me acaba de descuadrar.....como digo, no son horas.


En mis pruebas con el HG556a  Ver C (ralink) habían 2 GPIO's  que al arrancar el router se quedaban así en un punto flotante, pero ya una vez rodado el script para cotrolar los GPIO's estos primero a 0 y luego a 1 ya encendían el led con normalidad... pero aún así,  cuando estaban a medias, también eran capaces de activar el relé (supongo que era debido a la sensibilidad del optoacoplador)

Me imagino que en tu caso si el relé se te activaba estando en un punto flotante, sería porque el voltaje a la entrada del INx sería bastante más alto que en mi caso de 0,29v (los diodos tienen una caída de tensión de 0,7v, imagino que si tu voltaje flotante era superior a 0,7v le llegase algo de voltaje al optoacoplador que también tiene su diodo interno con la misma caída de tensión, pero como dices por la sensibilidad, al igual no necesitaría el total de los 0,7v para que se activara el relé, cosa que como dices si hace)

En breve posteo resultados con otros valores de resistencia. Interesante esto del voltaje flotante...


Saludos y gracias, ....lo que es unir conocimientos y datos....
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 04-07-2016, 16:02 (Lunes)
Si el led del relé se te queda tenue, significa que está en un punto flotante, ni vale 3,3v ni vale 0v. Haría falta ponerle una resistencia pulldown si la lógica es normal, o una resistencia pullup, si la lógica es inversa. Según veo dices que tienes una resistencia pulldown de 10k entre el gpio y tierra. Me parece que ofrece demasiada resistencia para dejar pasar corriente a tierra, y por eso circula algo de corriente hacia el led del relé (se ve tenue). Prueba a bajar el valor de esa resistencia, si no es un valor crítico para el diseño.

En estos días compruebo con un potenciómetro y una resistencia con menores valores (4,8K x ej) y comento si hay cambios.

Del circuito que comenté, acabo de hacer un puente para hacer unas mediciones de voltaje justo antes de la entrada IN1 en la placa de relés, estos son los valores:

Router Apagado                                               = 0,00v
Router Encendido                                             = 0,29v
echo 25 > /sys/class/gpio/export                        = 0,29v
echo "out" > /sys/class/gpio/gpio25/direction        = 1,47v      ---> Si levanto el cable del IN1 el voltaje cae a 0,00v
echo 1 > /sys/class/gpio/gpio25/value                 = 0,00v      ---> Si levanto el cable del IN1 el voltaje permanece en 0,00v
echo 0 > /sys/class/gpio/gpio25/value                 = 1,47v
echo 1 > /sys/class/gpio/gpio25/value                 = 0,00v


Todo esto a modo de testeo de voltaje para sacar conclusiones, lo que con la hora que es no estoy para sacarlas. Desde que pruebe con otros valores de resistencia comento si es que saco conclusiones, que esa es otra. Porque lo de que se caiga el voltaje si levanto el cable del IN1 a 0,00v me acaba de descuadrar.....como digo, no son horas.


En mis pruebas con el HG556a  Ver C (ralink) habían 2 GPIO's  que al arrancar el router se quedaban así en un punto flotante, pero ya una vez rodado el script para cotrolar los GPIO's estos primero a 0 y luego a 1 ya encendían el led con normalidad... pero aún así,  cuando estaban a medias, también eran capaces de activar el relé (supongo que era debido a la sensibilidad del optoacoplador)

Me imagino que en tu caso si el relé se te activaba estando en un punto flotante, sería porque el voltaje a la entrada del INx sería bastante más alto que en mi caso de 0,29v (los diodos tienen una caída de tensión de 0,7v, imagino que si tu voltaje flotante era superior a 0,7v le llegase algo de voltaje al optoacoplador que también tiene su diodo interno con la misma caída de tensión, pero como dices por la sensibilidad, al igual no necesitaría el total de los 0,7v para que se activara el relé, cosa que como dices si hace)

En breve posteo resultados con otros valores de resistencia. Interesante esto del voltaje flotante...


Saludos y gracias, ....lo que es unir conocimientos y datos....

Seguramente el pin será de tipo sink, no de tipo driver. Un pin driver hace que la corriente circule "hacia fuera", desde el VCC del router, hasta la tierra de la carga puesta. La intensidad que puede manejar es relativamente baja. Un pin del tipo sink, deja pasar la corriente "hacia dentro", desde el VCC que haya conectado al pin, hasta la tierra del router. La intensidad que puede manejar es mayor. Por eso al quitar el voltage a la "salida" del pin, deja de fluir a tierra, y la tensión cae a 0. La corriente fluye hacia dentro, no hacia fuera del pin.
Generalmente solemos asociar el voltaje del pin, a que éste "sale" del pin, pero en realidad un voltaje es una diferencia de potencial a tierra, que puede ser provocado por un sentido contrario de corriente.

Es una forma un poco borrica de explicarlo, pero creo que se entiende.
Título: Re: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 04-07-2016, 16:52 (Lunes)
Si el led del relé se te queda tenue, significa que está en un punto flotante, ni vale 3,3v ni vale 0v. Haría falta ponerle una resistencia pulldown si la lógica es normal, o una resistencia pullup, si la lógica es inversa. Según veo dices que tienes una resistencia pulldown de 10k entre el gpio y tierra. Me parece que ofrece demasiada resistencia para dejar pasar corriente a tierra, y por eso circula algo de corriente hacia el led del relé (se ve tenue). Prueba a bajar el valor de esa resistencia, si no es un valor crítico para el diseño.

En estos días compruebo con un potenciómetro y una resistencia con menores valores (4,8K x ej) y comento si hay cambios.

Del circuito que comenté, acabo de hacer un puente para hacer unas mediciones de voltaje justo antes de la entrada IN1 en la placa de relés, estos son los valores:

Router Apagado                                               = 0,00v
Router Encendido                                             = 0,29v
echo 25 > /sys/class/gpio/export                        = 0,29v
echo "out" > /sys/class/gpio/gpio25/direction        = 1,47v      ---> Si levanto el cable del IN1 el voltaje cae a 0,00v
echo 1 > /sys/class/gpio/gpio25/value                 = 0,00v      ---> Si levanto el cable del IN1 el voltaje permanece en 0,00v
echo 0 > /sys/class/gpio/gpio25/value                 = 1,47v
echo 1 > /sys/class/gpio/gpio25/value                 = 0,00v


Todo esto a modo de testeo de voltaje para sacar conclusiones, lo que con la hora que es no estoy para sacarlas. Desde que pruebe con otros valores de resistencia comento si es que saco conclusiones, que esa es otra. Porque lo de que se caiga el voltaje si levanto el cable del IN1 a 0,00v me acaba de descuadrar.....como digo, no son horas.


En mis pruebas con el HG556a  Ver C (ralink) habían 2 GPIO's  que al arrancar el router se quedaban así en un punto flotante, pero ya una vez rodado el script para cotrolar los GPIO's estos primero a 0 y luego a 1 ya encendían el led con normalidad... pero aún así,  cuando estaban a medias, también eran capaces de activar el relé (supongo que era debido a la sensibilidad del optoacoplador)

Me imagino que en tu caso si el relé se te activaba estando en un punto flotante, sería porque el voltaje a la entrada del INx sería bastante más alto que en mi caso de 0,29v (los diodos tienen una caída de tensión de 0,7v, imagino que si tu voltaje flotante era superior a 0,7v le llegase algo de voltaje al optoacoplador que también tiene su diodo interno con la misma caída de tensión, pero como dices por la sensibilidad, al igual no necesitaría el total de los 0,7v para que se activara el relé, cosa que como dices si hace)

En breve posteo resultados con otros valores de resistencia. Interesante esto del voltaje flotante...


Saludos y gracias, ....lo que es unir conocimientos y datos....

Seguramente el pin será de tipo sink, no de tipo driver. Un pin driver hace que la corriente circule "hacia fuera", desde el VCC del router, hasta la tierra de la carga puesta. La intensidad que puede manejar es relativamente baja. Un pin del tipo sink, deja pasar la corriente "hacia dentro", desde el VCC que haya conectado al pin, hasta la tierra del router. La intensidad que puede manejar es mayor. Por eso al quitar el voltage a la "salida" del pin, deja de fluir a tierra, y la tensión cae a 0. La corriente fluye hacia dentro, no hacia fuera del pin.
Generalmente solemos asociar el voltaje del pin, a que éste "sale" del pin, pero en realidad un voltaje es una diferencia de potencial a tierra, que puede ser provocado por un sentido contrario de corriente.

Es una forma un poco borrica de explicarlo, pero creo que se entiende.
Jejeje Me encanta este foro  ;D  :P

Enviado desde mi Y635-L01 mediante Tapatalk

Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 09-07-2016, 02:53 (Sábado)
Buenas, como buena noticia referente a un GPIO que su estado inicial con el router apagado sea 0 (no lógico) en el HG556a Atheros tenemos el GPIO 4, una vez se enciende pasa de 0 (no lógico) a 0,28v lo cual es insuficiente para accionar ningún led y espero que ningún optoacoplador.

(http://i63.tinypic.com/2vvug43.jpg)

En HD:

http://i63.tinypic.com/52j88w.jpg (http://i63.tinypic.com/52j88w.jpg)


Aquí detallo los voltajes de cada GPIO en cada uno de sus estados --> 1º desde apagado a encendido el router, 2º una vez exportardo, 3º asignada la dirección como salida, 4º enviando un 1 y 5º enviando un 0:

======
GPIO 4: --> Router de OFF a ON  --> 0,28 v
======

echo 4 > /sys/class/gpio/export                    --> 0,28 v
echo "out" > /sys/class/gpio/gpio4/direction   --> 0,00 v
echo 1 > /sys/class/gpio/gpio4/value             --> 3,29 v
echo 0 > /sys/class/gpio/gpio4/value             --> 0,00 v


=====
GPIO 5: --> Router de OFF a ON  -->  1,00 v al iniciar luego oscila entre 0,79 v y 0,62 v
=====

echo 5 > /sys/class/gpio/export                    --> sigue oscilando entre 0,79 v y 0,62 v
echo "out" > /sys/class/gpio/gpio5/direction   --> 0,00 v
echo 1 > /sys/class/gpio/gpio5/value             --> 3,30 v
echo 0 > /sys/class/gpio/gpio5/value             --> 0,00 v


======
GPIO 24: --> Router de OFF a ON  --> 3,31 v
======

echo 24 > /sys/class/gpio/export                    --> 3,31 v
echo "out" > /sys/class/gpio/gpio24/direction   --> 0,00 v
echo 1 > /sys/class/gpio/gpio24/value             --> 3,31 v
echo 0 > /sys/class/gpio/gpio24/value             --> 0,00 v


======
GPIO 25: --> Router de OFF a ON  --> 3,27 v
======

echo 25 > /sys/class/gpio/export                    --> 3,27 v   
echo "out" > /sys/class/gpio/gpio25/direction   --> 0,00 v
echo 1 > /sys/class/gpio/gpio25/value             --> 3,31 v
echo 0 > /sys/class/gpio/gpio25/value             --> 0,00 v


======
GPIO 29: --> Router de OFF a ON  --> 3,30 v
======

echo 29 > /sys/class/gpio/export                    --> 3,30 v
echo "out" > /sys/class/gpio/gpio29/direction   --> 0,02 v
echo 1 > /sys/class/gpio/gpio29/value             --> 3,31 v
echo 0 > /sys/class/gpio/gpio29/value             --> 0,02 v


======
GPIO 32: --> Router de OFF a ON  --> 3,27 v
======

echo 32 > /sys/class/gpio/export                    --> 3,27 v
echo "out" > /sys/class/gpio/gpio32/direction   --> 0,00 v
echo 1 > /sys/class/gpio/gpio32/value             --> 3,31 v
echo 0 > /sys/class/gpio/gpio32/value             --> 0,00 v


======
GPIO 14: --> Router de OFF a ON --> Relé en posición (N.O.) --> 1º Continuidad y al encender es N.O.
======

echo 14 > /sys/class/gpio/export                    --> N.O.
echo "out" > /sys/class/gpio/gpio14/direction   --> Continuidad
echo 1 > /sys/class/gpio/gpio14/value             --> N.O.
echo 0 > /sys/class/gpio/gpio14/value             --> Continuidad


======
GPIO 14: --> Router de OFF a ON --> Relé en posición (N.C.) --> 1º Sin continuidad y al encender es N.C.
======

echo 14 > /sys/class/gpio/export                    --> N.C.
echo "out" > /sys/class/gpio/gpio14/direction   --> Sin continuidad
echo 1 > /sys/class/gpio/gpio14/value             --> N.C.
echo 0 > /sys/class/gpio/gpio14/value             --> Sin continuidad



Por otra parte, he estado localizando (de muy fácil averiguación) en PCB los puntos donde soldar en la zona de los LEDs (DSL, HSPA y MESSAGE que están sin uso al menos en la 14.07 RC3 "parte frontal del router") con lo que sumaríamos 3 GPIOs más, con el añadido de que tienen el LED que nos sirve de chivato de estado del GPIO correspondiente. También he localizado (algo más lioso para soldar la verdad pero posible) los 4 leds bicolor de los puertos LAN "obviamente en la parte trasera del router" (sumarían otros 8 GPIOs más, con un total solamente en LEDs de 11 GPIOs). Si le sumamos los 7 GPIOs que están "libres" o que podemos reutilizar hacen un total de 18 GPIOs (11 de ellos con leds de estado), que no es poco.

En estos días subo unas fotos de los puntos en placa de los 8 GPIOs de los leds bicolor LANS (rojos y verdes).


Para poder usar los LEDs como GPIOs de forma sencilla como detalló danitool en el 2º mensaje de este hilo. No hace falta ni abrir el router para probarlos, ponemos estos comandos y listo:

===========
LEDs a controlar:
===========

HW556:red:message

HW556:red:hspa

HW556:red:dsl

HW556:red:lan1
HW556:red:lan2
HW556:red:lan3
HW556:red:lan4

HW556:green:lan1
HW556:green:lan2
HW556:green:lan3
HW556:green:lan4


=============
1º izq --> message:
=============

echo 1 > /sys/class/leds/HW556:red:message/brightness
echo 0 > /sys/class/leds/HW556:red:message/brightness


==========
2º izq --> hspa:
==========

echo 1 > /sys/class/leds/HW556:red:hspa/brightness
echo 0 > /sys/class/leds/HW556:red:hspa/brightness


============
2º derecha --> dsl:
============

echo 1 > /sys/class/leds/HW556:red:dsl/brightness
echo 0 > /sys/class/leds/HW556:red:dsl/brightness


=====================
LAN1 (1º en rojo y 2º en verde):
=====================

echo 1 > /sys/class/leds/HW556:red:lan1/brightness
echo 0 > /sys/class/leds/HW556:red:lan1/brightness

echo 1 > /sys/class/leds/HW556:green:lan1/brightness
echo 0 > /sys/class/leds/HW556:green:lan1/brightness


Resto de LANs para activar: con sustituir lan1 por el lanX que se desee.



Bueno, hasta aquí todo por esta noche...no se como me lo monto pero casi siempre escribo en la nocturnidad.


PD1: Creía haber localizado en placa el GPIO 14 desde su raiz de 3,3v, pero me confundí donde lo hallé el punto es a 5v, de todas formas puede servirnos de igual modo si le ponemos un simple divisor de tensión de 5v a 3,3v.

PD2: Ya tengo suficientes GPIOs para controlar motores paso a paso (para los bipolares hacen falta 4, para los unipolares 5 ó 6), no tengo en mente ningún proyecto con ellos, pero si que quiero hacerlo funcionar con el router en vez de con un PIC, Arduino, Raspberry, etc...  ya pedí el driver para el motor en nuestro maravilloso Ebay por un simple €, y como no podía ser de otra forma, si vale a €, envíame 2 que nunca se sabe:

http://www.ebay.es/itm/272272743977?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT (http://www.ebay.es/itm/272272743977?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 12-07-2016, 03:29 (Martes)
Buenas a todos, he estado dándole vueltas al uso de los motores paso a paso con los GPIOs en OPENWRT, pero tenía la problemática de que aun faltan 3 semanas para que me llegue el driver (1€),...así que me acordé de los LEDs LAN que son 4, y de que el motor bipolar que voy a usar tb es de 4 pines, así que me lancé a hacer el código con los 4 LEDs LAN simulando los 4 GPIOs que usaré para el motor paso a paso bipolar (GPIO nº 24, 25, 29 y 32).

De esta página cogí los datos para poder controlar un motor paso a paso, es interesante la verdad y lo explican muy bien, con tablas de la verdad, esquemas, diagramas de conexión, etc:

http://diymakers.es/mover-motores-paso-paso-con-arduino/ (http://diymakers.es/mover-motores-paso-paso-con-arduino/)


Cualquiera que tenga un router OpenWRT (esto ha sido probado en un HG556a Atheros 14.07 RC3) puede probar y ver como se mueven las luces LAN hacia la derecha (simulando la secuencia de un motor paso a paso en modo --> Medio paso: Se activan primero dos bobinas y después solo una y así sucesivamente. Esto provoca que el motor avance la mitad del paso real.  Esto se traduce en un giro más suave y preciso.)

root@OpenWrt:/Edu_Pruebas# sh ./1_pasos_lan_der.sh 4 8000
Vuelta Nº 4
Vuelta Nº 3
Vuelta Nº 2
Vuelta Nº 1
root@OpenWrt:/Edu_Pruebas#

Vídeo               -=  Pincha Aquí para verlo  =-     (http://es.tinypic.com/m/jgtp2g/1)

(http://i65.tinypic.com/3357exg.jpg)


1_pasos_lan_der.sh ---> LINK: https://www.dropbox.com/s/k7ntvtauo3jf9u7/1_pasos_lan_der.sh?dl=0 (https://www.dropbox.com/s/k7ntvtauo3jf9u7/1_pasos_lan_der.sh?dl=0)

La forma de usarlo es super sencilla: script 1º argumento =  número de vueltas completas y 2º argumento = velocidad del giro.

1_pasos_lan_der.sh 5 8000

Código: [Seleccionar]
#!/bin/bash

# 1_pasos_lan_der.sh   (versión 0.1 beta)    

# Gracias a la web de OPENWRT apartado GPIO y para conocimientos básicos en bash de la web:
# http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html



# Realiza un nº de vueltas "expresión 1ª" (1 vuelta = 8 pasos) siendo el paso a una velocidad "expresión 2ª" (8000 = 0,58 sg)

# FUNCIÓN: Simulación con los LEDs LAN del control de un motor paso a paso bipolar girando hacia la derecha.

# root@OpenWrt:/Edu_Pruebas# time nice -n 5 seq 500 >/dev/null
# real    0m 0.05s
# user    0m 0.02s
# sys     0m 0.02s


show_usage()
{
    printf "\n1_pasos_lan_der.sh <nº de vueltas> <velocidad del giro>\n"
    printf "\nEj: 1_pasos_lan_der.sh 5 8000    <-- 5 vueltas completas a una velocidad de 8000 = 0,58 sg por paso del motor\n"
    printf "\n\n-= IMP =- Para saber cuantos segundos son X's ciclos de reloj del micro la línea de comandos es:\n"
    printf "\ntime nice -n 5 seq 8000 >/dev/null  \n"
    printf "\nroot@OpenWrt:/Edu_Pruebas# time nice -n 5 seq 8000 >/dev/null"
    printf "\nreal    0m 0.58s"
    printf "\nuser    0m 0.54s"
    printf "\nsys     0m 0.02s\n"

}

if [ \( $# -eq 0 \) -o \( $# -gt 3 \) ] ; then
    show_usage
    printf "\n\nERROR: Falta poner el nº de "vueltas" y la "velocidad" por paso del motor\n\n"
    exit 255
fi


LAN1="/sys/class/leds/HW556:red:lan1/brightness"
LAN2="/sys/class/leds/HW556:red:lan2/brightness"
LAN3="/sys/class/leds/HW556:red:lan3/brightness"
LAN4="/sys/class/leds/HW556:red:lan4/brightness"
VUELTAS=`expr $1`
TIME=`expr $2`
COUNTER=$VUELTAS


echo 0 > $LAN1 ; echo 0 > $LAN2 ; echo 0 > $LAN3 ; echo 0 > $LAN4

sleep 1

until [  $COUNTER -lt 1 ]; do

#LAN1 y LAN2

echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN1


#LAN2 y LAN3

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN2


#LAN3 y LAN4

echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN4
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN3


#LAN4 y LAN1

echo 1 > $LAN4
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN4

echo Vuelta Nº $COUNTER
            
let COUNTER-=1

done


Cuando tenga el driver o lo tengan si algunos quieren realizar sus pruebas y códigos, sólo hay que sustituir LAN1, 2, 3 y 4 por el GPIO que se vaya a usar en su lugar.


Y como frikada, me hizo gracia replicar las luces del coche fantástico usando los LEDs LAN, este es el código y el argumento para pasarle, para que la velocidad de los LEDs sean lo más parecido a los del cerebro de Kitt, .....chiquita frikada, pero me partí cuando salió.


Vídeo               -=  Pincha Aquí para verlo  =-     (http://es.tinypic.com/m/jgtp1u/1)
 
(http://i67.tinypic.com/eq9fo8.jpg)

(TinyPic ha girado el vídeo, no sé el motivo, trataré de solucionarlo)


10leds_lan_KiTT.sh  ---> LINK: https://www.dropbox.com/s/4txt5di1m0sgsif/10leds_lan_KiTT.sh?dl=0 (https://www.dropbox.com/s/4txt5di1m0sgsif/10leds_lan_KiTT.sh?dl=0)

La forma de usarlo es super sencilla: script 1º argumento = velocidad de las luces

sh ./10leds_lan_KiTT.sh 2000

Código: [Seleccionar]
#!/bin/bash

# Imitación de las luces del coche fantástico (frikada .com por mi parte, pero se caía de maduro hacerlo)

# FUNCIÓN: Simulación con LEDs del cerebro del Kitt = el coche fantástico

show_usage()
{
    printf "\n10leds_lan_KiTT.sh <nº en ciclos para convertir a sg>\n"
    printf "\nEj: 10leds_lan_KiTT.sh 8000    <-- 8000 = 0,58 sg entre cada paso del motor\n"
    printf "\n\n-= IMP =- Para saber cuantos segundos son X's ciclos la línea de comandos es:\n"
    printf "\ntime nice -n 5 seq 8000 >/dev/null  \n"
    printf "\nroot@OpenWrt:/Edu_Pruebas# time nice -n 5 seq 8000 >/dev/null"
    printf "\nreal    0m 0.58s"
    printf "\nuser    0m 0.54s"
    printf "\nsys     0m 0.02s\n"

}

if [ \( $# -eq 0 \) -o \( $# -gt 3 \) ] ; then
    show_usage
    printf "\n\nERROR: Falta poner el nº ciclos como temporizador entre pasos del motor\n\n"
    exit 255
fi


LAN1="/sys/class/leds/HW556:red:lan1/brightness"
LAN2="/sys/class/leds/HW556:red:lan2/brightness"
LAN3="/sys/class/leds/HW556:red:lan3/brightness"
LAN4="/sys/class/leds/HW556:red:lan4/brightness"
TIME=`expr $1`


echo 0 > $LAN1 ; echo 0 > $LAN2 ; echo 0 > $LAN3 ; echo 0 > $LAN4

sleep 1

while true; do

#LAN1 y LAN2

echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN1


#LAN2 y LAN3

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN2


#LAN3 y LAN4, y marcha atrás

echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN4
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN4
nice -n 5 seq $TIME >/dev/null


#LAN3 y LAN2

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN3


#LAN2 y LAN1

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN2


done


A ver si cuando me llegue el driver, le pongo un bolígrafo al rail del motor paso a paso de alguna forma para ver como va desplazándolo y este dibujando una línea, de esta forma y movimiendo el folio hacia arriba se podrá ver la precisión de una línea con respecto a la anterior. Tendré que realizar el mismo script pero haciendo el giro a la izquierda, ya que este es a la derecha o, si me pongo en modo frikistyler hago uno que se le pueda pasar por argumento la dirección (derecha o izquierda), vueltas (nº de vueltas) y velocidad (velocidad del giro entre pasos)...que sería lo adecuado para ir progresando con el script.


IMP --> ¿A alguien se le ocurre como hacer un retardo menor de 1sg que es el menor que permite el "sleep", traté de instalar el "coreutils-sleep" pero me dió varios fallos al igual que el "luasocket" tal como comentan en esta web:

http://ediy.com.my/tutorials/item/41-lua-sleep-function-in-milliseconds (http://ediy.com.my/tutorials/item/41-lua-sleep-function-in-milliseconds)

Lo digo más bien, porque buscando como hacer retardos inferiores a 1 sg, encontré lo que uso: nice -n 5 seq 8000 >/dev/null
y sinceramente, no tengo ni idea (aunque tp me he puesto a buscar) de que hace el nice y que hace al redireccionar a /dev/null, porque la función del retardo se consigue, pero ni idea si puede afectar a algo o no ser preciso. En alguna ocasión me pareció que se trabó un poco y luego siguió, no sé si fue porque está haciendo algo más allá de lo correcto y está metiendo en bucles raros al router.


Saludos a todos.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 12-07-2016, 10:55 (Martes)
Buenas a todos, he estado dándole vueltas al uso de los motores paso a paso con los GPIOs en OPENWRT, pero tenía la problemática de que aun faltan 3 semanas para que me llegue el driver (1€),...así que me acordé de los LEDs LAN que son 4, y de que el motor bipolar que voy a usar tb es de 4 pines, así que me lancé a hacer el código con los 4 LEDs LAN simulando los 4 GPIOs que usaré para el motor paso a paso bipolar (GPIO nº 24, 25, 29 y 32).

De esta página cogí los datos para poder controlar un motor paso a paso, es interesante la verdad y lo explican muy bien, con tablas de la verdad, esquemas, diagramas de conexión, etc:

http://diymakers.es/mover-motores-paso-paso-con-arduino/ (http://diymakers.es/mover-motores-paso-paso-con-arduino/)


Cualquiera que tenga un router OpenWRT (esto ha sido probado en un HG556a Atheros 14.07 RC3) puede probar y ver como se mueven las luces LAN hacia la derecha (simulando la secuencia de un motor paso a paso en modo --> Medio paso: Se activan primero dos bobinas y después solo una y así sucesivamente. Esto provoca que el motor avance la mitad del paso real.  Esto se traduce en un giro más suave y preciso.)

root@OpenWrt:/Edu_Pruebas# sh ./1_pasos_lan_der.sh 4 8000
Vuelta Nº 4
Vuelta Nº 3
Vuelta Nº 2
Vuelta Nº 1
root@OpenWrt:/Edu_Pruebas#

Vídeo               -=  Pincha Aquí para verlo  =-     (http://es.tinypic.com/m/jgtp2g/1)

(http://i65.tinypic.com/3357exg.jpg)


1_pasos_lan_der.sh ---> LINK: https://www.dropbox.com/s/k7ntvtauo3jf9u7/1_pasos_lan_der.sh?dl=0 (https://www.dropbox.com/s/k7ntvtauo3jf9u7/1_pasos_lan_der.sh?dl=0)

La forma de usarlo es super sencilla: script 1º argumento =  número de vueltas completas y 2º argumento = velocidad del giro.

1_pasos_lan_der.sh 5 8000

Código: [Seleccionar]
#!/bin/bash

# 1_pasos_lan_der.sh   (versión 0.1 beta)   

# Gracias a la web de OPENWRT apartado GPIO y para conocimientos básicos en bash de la web:
# http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html



# Realiza un nº de vueltas "expresión 1ª" (1 vuelta = 8 pasos) siendo el paso a una velocidad "expresión 2ª" (8000 = 0,58 sg)

# FUNCIÓN: Simulación con los LEDs LAN del control de un motor paso a paso bipolar girando hacia la derecha.

# root@OpenWrt:/Edu_Pruebas# time nice -n 5 seq 500 >/dev/null
# real    0m 0.05s
# user    0m 0.02s
# sys     0m 0.02s


show_usage()
{
    printf "\n1_pasos_lan_der.sh <nº de vueltas> <velocidad del giro>\n"
    printf "\nEj: 1_pasos_lan_der.sh 5 8000    <-- 5 vueltas completas a una velocidad de 8000 = 0,58 sg por paso del motor\n"
    printf "\n\n-= IMP =- Para saber cuantos segundos son X's ciclos de reloj del micro la línea de comandos es:\n"
    printf "\ntime nice -n 5 seq 8000 >/dev/null  \n"
    printf "\nroot@OpenWrt:/Edu_Pruebas# time nice -n 5 seq 8000 >/dev/null"
    printf "\nreal    0m 0.58s"
    printf "\nuser    0m 0.54s"
    printf "\nsys     0m 0.02s\n"

}

if [ \( $# -eq 0 \) -o \( $# -gt 3 \) ] ; then
    show_usage
    printf "\n\nERROR: Falta poner el nº de "vueltas" y la "velocidad" por paso del motor\n\n"
    exit 255
fi


LAN1="/sys/class/leds/HW556:red:lan1/brightness"
LAN2="/sys/class/leds/HW556:red:lan2/brightness"
LAN3="/sys/class/leds/HW556:red:lan3/brightness"
LAN4="/sys/class/leds/HW556:red:lan4/brightness"
VUELTAS=`expr $1`
TIME=`expr $2`
COUNTER=$VUELTAS


echo 0 > $LAN1 ; echo 0 > $LAN2 ; echo 0 > $LAN3 ; echo 0 > $LAN4

sleep 1

until [  $COUNTER -lt 1 ]; do

#LAN1 y LAN2

echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN1


#LAN2 y LAN3

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN2


#LAN3 y LAN4

echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN4
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN3


#LAN4 y LAN1

echo 1 > $LAN4
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN4

echo Vuelta Nº $COUNTER
             
let COUNTER-=1

done


Cuando tenga el driver o lo tengan si algunos quieren realizar sus pruebas y códigos, sólo hay que sustituir LAN1, 2, 3 y 4 por el GPIO que se vaya a usar en su lugar.


Y como frikada, me hizo gracia replicar las luces del coche fantástico usando los LEDs LAN, este es el código y el argumento para pasarle, para que la velocidad de los LEDs sean lo más parecido a los del cerebro de Kitt, .....chiquita frikada, pero me partí cuando salió.


Vídeo               -=  Pincha Aquí para verlo  =-     (http://es.tinypic.com/m/jgtp1u/1)
   
(http://i67.tinypic.com/eq9fo8.jpg)

(TinyPic ha girado el vídeo, no sé el motivo, trataré de solucionarlo)


10leds_lan_KiTT.sh  ---> LINK: https://www.dropbox.com/s/4txt5di1m0sgsif/10leds_lan_KiTT.sh?dl=0 (https://www.dropbox.com/s/4txt5di1m0sgsif/10leds_lan_KiTT.sh?dl=0)

La forma de usarlo es super sencilla: script 1º argumento = velocidad de las luces

sh ./10leds_lan_KiTT.sh 2000

Código: [Seleccionar]
#!/bin/bash

# Imitación de las luces del coche fantástico (frikada .com por mi parte, pero se caía de maduro hacerlo)

# FUNCIÓN: Simulación con LEDs del cerebro del Kitt = el coche fantástico

show_usage()
{
    printf "\n10leds_lan_KiTT.sh <nº en ciclos para convertir a sg>\n"
    printf "\nEj: 10leds_lan_KiTT.sh 8000    <-- 8000 = 0,58 sg entre cada paso del motor\n"
    printf "\n\n-= IMP =- Para saber cuantos segundos son X's ciclos la línea de comandos es:\n"
    printf "\ntime nice -n 5 seq 8000 >/dev/null  \n"
    printf "\nroot@OpenWrt:/Edu_Pruebas# time nice -n 5 seq 8000 >/dev/null"
    printf "\nreal    0m 0.58s"
    printf "\nuser    0m 0.54s"
    printf "\nsys     0m 0.02s\n"

}

if [ \( $# -eq 0 \) -o \( $# -gt 3 \) ] ; then
    show_usage
    printf "\n\nERROR: Falta poner el nº ciclos como temporizador entre pasos del motor\n\n"
    exit 255
fi


LAN1="/sys/class/leds/HW556:red:lan1/brightness"
LAN2="/sys/class/leds/HW556:red:lan2/brightness"
LAN3="/sys/class/leds/HW556:red:lan3/brightness"
LAN4="/sys/class/leds/HW556:red:lan4/brightness"
TIME=`expr $1`


echo 0 > $LAN1 ; echo 0 > $LAN2 ; echo 0 > $LAN3 ; echo 0 > $LAN4

sleep 1

while true; do

#LAN1 y LAN2

echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN1


#LAN2 y LAN3

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN2


#LAN3 y LAN4, y marcha atrás

echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN4
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN3
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN4
nice -n 5 seq $TIME >/dev/null


#LAN3 y LAN2

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN3


#LAN2 y LAN1

echo 1 > $LAN2
nice -n 5 seq $TIME >/dev/null
echo 1 > $LAN1
nice -n 5 seq $TIME >/dev/null
echo 0 > $LAN2


done


A ver si cuando me llegue el driver, le pongo un bolígrafo al rail del motor paso a paso de alguna forma para ver como va desplazándolo y este dibujando una línea, de esta forma y movimiendo el folio hacia arriba se podrá ver la precisión de una línea con respecto a la anterior. Tendré que realizar el mismo script pero haciendo el giro a la izquierda, ya que este es a la derecha o, si me pongo en modo frikistyler hago uno que se le pueda pasar por argumento la dirección (derecha o izquierda), vueltas (nº de vueltas) y velocidad (velocidad del giro entre pasos)...que sería lo adecuado para ir progresando con el script.


IMP --> ¿A alguien se le ocurre como hacer un retardo menor de 1sg que es el menor que permite el "sleep", traté de instalar el "coreutils-sleep" pero me dió varios fallos al igual que el "luasocket" tal como comentan en esta web:

http://ediy.com.my/tutorials/item/41-lua-sleep-function-in-milliseconds (http://ediy.com.my/tutorials/item/41-lua-sleep-function-in-milliseconds)

Lo digo más bien, porque buscando como hacer retardos inferiores a 1 sg, encontré lo que uso: nice -n 5 seq 8000 >/dev/null
y sinceramente, no tengo ni idea (aunque tp me he puesto a buscar) de que hace el nice y que hace al redireccionar a /dev/null, porque la función del retardo se consigue, pero ni idea si puede afectar a algo o no ser preciso. En alguna ocasión me pareció que se trabó un poco y luego siguió, no sé si fue porque está haciendo algo más allá de lo correcto y está metiendo en bucles raros al router.


Saludos a todos.

nice es la función para dar más o menos prioridad a un proceso : http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/?utm_source=tuicool (http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/?utm_source=tuicool)
seq es simplemente un contador de secuencia, en tu caso 8000 : http://scienceblogs.com/gregladen/2009/09/19/fun-with-the-linux-seq-command/ (http://scienceblogs.com/gregladen/2009/09/19/fun-with-the-linux-seq-command/)
Conseguirías lo mismo sin nice, incluso más preciso, porque con el nice le estás bajando la prioridad 5 puntos al comendo seq. Y con seq, simplemente cuentas hasta 8000, sin tener en cuenta el tiempo real que tarde en hacerlo.

¿Qué problema tienes con el coreutils-sleep?, porque yo recuerdo que lo tuve que instalar alguna vez, y sí me funcionó.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 12-07-2016, 18:38 (Martes)

nice es la función para dar más o menos prioridad a un proceso : http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/?utm_source=tuicool (http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/?utm_source=tuicool)
seq es simplemente un contador de secuencia, en tu caso 8000 : http://scienceblogs.com/gregladen/2009/09/19/fun-with-the-linux-seq-command/ (http://scienceblogs.com/gregladen/2009/09/19/fun-with-the-linux-seq-command/)
Conseguirías lo mismo sin nice, incluso más preciso, porque con el nice le estás bajando la prioridad 5 puntos al comendo seq. Y con seq, simplemente cuentas hasta 8000, sin tener en cuenta el tiempo real que tarde en hacerlo.

¿Qué problema tienes con el coreutils-sleep?, porque yo recuerdo que lo tuve que instalar alguna vez, y sí me funcionó.

Gracias por la info, cierto: funciona perfectamente con el comando: seq 8000 >/dev/null      sin el nice -n 5.


.... ni adredes, lo instalé en el otro router que lo tengo con extroot, swap y no dió fallo alguno.........

Installing coreutils-sleep (8.16-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07-rc3/brcm63xx/generic/packages/coreutils-sleep_8.16-1_brcm63xx.ipk.
Installing coreutils (8.16-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07-rc3/brcm63xx/generic/packages/coreutils_8.16-1_brcm63xx.ipk.
Configuring coreutils.
Configuring coreutils-sleep.

Sin embargo, googleando he mirado como ejecutar el sleep inferior a 1 sg y he lanzado el comando y como si no le hubiera instalado nada:

root@OpenWrt:~# time sleep 0.300
sleep: invalid number '0.300'
Command exited with non-zero status 1
real    0m 0.01s
user    0m 0.00s
sys     0m 0.00s


Me interesaría poder manejar el sleep de forma precisa en cuanto a tiempos cortos (2, 5 ms, etc...), ya que el valor más bajo es:

root@OpenWrt:~# time seq 0.002 >/dev/null
real    0m 0.01s
user    0m 0.00s
sys     0m 0.01s


Estos son los fallos al querer instalar "coreutils-sleep" en el otro router con el mismo firmware, pero sin extroot ni swap, vaya es el que uso para los GPIOs (lo pude desinstalar y al volverlo a instalar...)

Installing coreutils-sleep (8.23-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/brcm63xx/generic/packages/packages//coreutils-sleep_8.23-1_brcm63xx.ipk.
Configuring coreutils.
Configuring luasocket.
Configuring coreutils-sleep.

//usr/lib/opkg/info/coreutils.postinst: line 4: default_postinst: not found
//usr/lib/opkg/info/luasocket.postinst: line 4: default_postinst: not found
//usr/lib/opkg/info/coreutils-sleep.postinst: line 4: default_postinst: not found
Collected errors:
 * pkg_run_script: package "coreutils" postinst script returned status 127.
 * opkg_configure: coreutils.postinst returned 127.
 * pkg_run_script: package "luasocket" postinst script returned status 127.
 * opkg_configure: luasocket.postinst returned 127.
 * pkg_run_script: package "coreutils-sleep" postinst script returned status 127.
 * opkg_configure: coreutils-sleep.postinst returned 127.


Al margen de todo esto, saludos y muchas gracias por la atención y los aportes, ....fuerte base del conocimiento estar entre ustedes.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 12-07-2016, 19:23 (Martes)

nice es la función para dar más o menos prioridad a un proceso : http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/?utm_source=tuicool (http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/?utm_source=tuicool)
seq es simplemente un contador de secuencia, en tu caso 8000 : http://scienceblogs.com/gregladen/2009/09/19/fun-with-the-linux-seq-command/ (http://scienceblogs.com/gregladen/2009/09/19/fun-with-the-linux-seq-command/)
Conseguirías lo mismo sin nice, incluso más preciso, porque con el nice le estás bajando la prioridad 5 puntos al comendo seq. Y con seq, simplemente cuentas hasta 8000, sin tener en cuenta el tiempo real que tarde en hacerlo.

¿Qué problema tienes con el coreutils-sleep?, porque yo recuerdo que lo tuve que instalar alguna vez, y sí me funcionó.

Gracias por la info, cierto: funciona perfectamente con el comando: seq 8000 >/dev/null      sin el nice -n 5.


.... ni adredes, lo instalé en el otro router que lo tengo con extroot, swap y no dió fallo alguno.........

Installing coreutils-sleep (8.16-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07-rc3/brcm63xx/generic/packages/coreutils-sleep_8.16-1_brcm63xx.ipk.
Installing coreutils (8.16-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07-rc3/brcm63xx/generic/packages/coreutils_8.16-1_brcm63xx.ipk.
Configuring coreutils.
Configuring coreutils-sleep.

Sin embargo, googleando he mirado como ejecutar el sleep inferior a 1 sg y he lanzado el comando y como si no le hubiera instalado nada:

root@OpenWrt:~# time sleep 0.300
sleep: invalid number '0.300'
Command exited with non-zero status 1
real    0m 0.01s
user    0m 0.00s
sys     0m 0.00s


Me interesaría poder manejar el sleep de forma precisa en cuanto a tiempos cortos (2, 5 ms, etc...), ya que el valor más bajo es:

root@OpenWrt:~# time seq 0.002 >/dev/null
real    0m 0.01s
user    0m 0.00s
sys     0m 0.01s


Estos son los fallos al querer instalar "coreutils-sleep" en el otro router con el mismo firmware, pero sin extroot ni swap, vaya es el que uso para los GPIOs (lo pude desinstalar y al volverlo a instalar...)

Installing coreutils-sleep (8.23-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/brcm63xx/generic/packages/packages//coreutils-sleep_8.23-1_brcm63xx.ipk.
Configuring coreutils.
Configuring luasocket.
Configuring coreutils-sleep.

//usr/lib/opkg/info/coreutils.postinst: line 4: default_postinst: not found
//usr/lib/opkg/info/luasocket.postinst: line 4: default_postinst: not found
//usr/lib/opkg/info/coreutils-sleep.postinst: line 4: default_postinst: not found
Collected errors:
 * pkg_run_script: package "coreutils" postinst script returned status 127.
 * opkg_configure: coreutils.postinst returned 127.
 * pkg_run_script: package "luasocket" postinst script returned status 127.
 * opkg_configure: luasocket.postinst returned 127.
 * pkg_run_script: package "coreutils-sleep" postinst script returned status 127.
 * opkg_configure: coreutils-sleep.postinst returned 127.


Al margen de todo esto, saludos y muchas gracias por la atención y los aportes, ....fuerte base del conocimiento estar entre ustedes.

Estás bajando los paquetes de sitios distintos. El primero es de la rama BB, el segundo de un trunk. Cambia el sitio de donde se baja el repositorio.
En un WD750N tengo instalado el sleep-8.16, y me funciona perfectamente con 0.3, por ejemplo. Tampoco me fiaría de la precisión que pueda tener, ya que ten en cuenta que no sólo interviene el comando sleep, sino también el tiempo que tarda en lanzar el comando, el tiempo de retorno de la línea de comando, y si el router está más o menos sobrecargado. Pero bueno, si buscas aproximaciones de +-20%, en tiempos menores de 1 segundo, te puede servir. Tampoco esperes mucha precisión en tiempos de escasos milisegundos. Hay tiempos mínimos en el lanzamiento de procesos que no se pueden eliminar.

Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 12-07-2016, 22:37 (Martes)
Estás bajando los paquetes de sitios distintos. El primero es de la rama BB, el segundo de un trunk. Cambia el sitio de donde se baja el repositorio.
En un WD750N tengo instalado el sleep-8.16, y me funciona perfectamente con 0.3, por ejemplo. Tampoco me fiaría de la precisión que pueda tener, ya que ten en cuenta que no sólo interviene el comando sleep, sino también el tiempo que tarda en lanzar el comando, el tiempo de retorno de la línea de comando, y si el router está más o menos sobrecargado. Pero bueno, si buscas aproximaciones de +-20%, en tiempos menores de 1 segundo, te puede servir. Tampoco esperes mucha precisión en tiempos de escasos milisegundos. Hay tiempos mínimos en el lanzamiento de procesos que no se pueden eliminar.

Resuelto, no sé en qué luna estaba pero no era la de la tierra. Tenía dos firmwares distintos y yo convencido que eran los dos el 14.07 RC3 que es el que estoy poniendo en los routers que configuro ultimamente, ya que no fallan los paquetes ni las dependencias.

Eso si, al sleep no le funciona que le ponga el "time" delante para saber el tiempo real del retardo, pero todo apunta a que es así, en el 0.9 parecía como 1sg, así que creo que lo daré por correcto al margen de que "puede" que no sea exacto al 100%.

root@OpenWrt:~# sleep 0.3
root@OpenWrt:~# sleep 0.9
root@OpenWrt:~# time sleep 0.9
sleep: invalid number '0.9'
Command exited with non-zero status 1
real    0m 0.01s
user    0m 0.00s
sys     0m 0.01s
root@OpenWrt:~#

El único inconveniente que le veo, es que si se hace un script con el sleep < 1 sg, quien lo quiera probar o tiene el "coreutils-sleep" o no le funcionará, pero bueno, es un mal sin importancia. Ya que cuando realmente lo use para mover el motor paso a paso quien lo vaya a usar para ese propósito, obviamente lo tendrá instalado. Una lástima que no se pueda saber el tiempo "cronometrado" con el "time" u otro comando.


Gracias
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 13-07-2016, 01:33 (Miércoles)
Buenas, no me pude esperar y ya hice el script para poder elegir también la dirección del giro (derecha o izquierda):

2_pasos_lan_der_e_izq.sh 5 2000 1  --> 5 es el nº de vueltas, 2000 la velocidad de cada paso, 1 = derecha
2_pasos_lan_der_e_izq.sh 5 2000 0  --> 5 es el nº de vueltas, 2000 la velocidad de cada paso, 0 = izquierda

root@OpenWrt:/Edu_Pruebas# sh ./2_pasos_lan_der_e_izq.sh 5 2000 1
Vuelta Nº 5
Vuelta Nº 4
Vuelta Nº 3
Vuelta Nº 2
Vuelta Nº 1
root@OpenWrt:/Edu_Pruebas# sh ./2_pasos_lan_der_e_izq.sh 5 2000 0
Vuelta Nº 5
Vuelta Nº 4
Vuelta Nº 3
Vuelta Nº 2
Vuelta Nº 1
root@OpenWrt:/Edu_Pruebas#


Script: https://www.dropbox.com/s/vf36b87dlzrv9e6/2_pasos_lan_der_e_izq.sh?dl=0


Vídeo      -=  Pincha Aquí para verlo  =-     (http://es.tinypic.com/m/jh315i/1)

(http://i68.tinypic.com/10xapep.jpg)


Cuando tenga el driver del motor, sólo será cuestión de sustituir los LAN x por los GPIOs, pero se me ocurre que es mejor idea, no quitar los LANs y añadir los GPIOs, de forma que visualmente al margen de ver el movimiento en el motor, también se podrá ver la dirección y la velocidad del giro mediante los leds LAN. Aparte de ver en que bobina se ha quedado, o por donde va en un preciso momento.

Buenas noches.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 13-07-2016, 14:06 (Miércoles)
Para conseguir exactitud en los microrretardos hay que usar drivers del kernel. Por ejemplo los triggers de los leds pueden servir tal como el driver oneshot.

De otra forma, dependiendo del uso de la CPU la inexactitud será muy grande usando scripts.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: seny en 04-09-2016, 20:00 (Domingo)
Hola, estoy haciendo pruebas con el gpio 4 de un hg556a A, lo configuro y funciona correctamente, pero al reiniciar el router ha desaparecido la carpeta gpio476 en /sys/class/gpio/

Quisiera saber si esto es normal y se ha de definir en cada reinicio los gpio o deberian quedar guardadas las configuraciones que hagamos de los gpio
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 04-09-2016, 20:46 (Domingo)
Hola, estoy haciendo pruebas con el gpio 4 de un hg556a A, lo configuro y funciona correctamente, pero al reiniciar el router ha desaparecido la carpeta gpio476 en /sys/class/gpio/

Quisiera saber si esto es normal y se ha de definir en cada reinicio los gpio o deberian quedar guardadas las configuraciones que hagamos de los gpio

Si, debes de hacer un script, que agregado al inicio ya quede definido el gpio...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 21-09-2016, 16:54 (Miércoles)
Buenas a todos, por fin con tiempo y con los deberes hechos. Ya conseguí controlar el motor paso a paso (motor de precisión como los que usan las impresoras 3D) con el router OpenWRT usando 4 GPIO's.


Primero el vídeo y luego detallo el par de apuntes (hay dos enlaces del mismo vídeo, el 1º sólo se reproduce en PC por lo que veo, el 2º, a pie de foto, si lo reproducen los móviles):


Vídeo                                        -=  Pincha Aquí para verlo  =-

 (http://es.tinypic.com/m/jj4eo3/1)
(http://i64.tinypic.com/28kjc68.jpg)

Vídeo para ver por móviles                           -=  Pincha Aquí para verlo  =-     (http://sendvid.com/55wlb53x)



El programa es el que publiqué en post anteriores (13-07-2016, 01:33): 2_pasos_lan_der_e_izq.sh

El cual realizaba una simulación (con las 4 luces LAN) del movimiento de las bobinas realizando el giro completo del motor = 1 vuelta completa. No sé porqué, pero a las pruebas me remito, hay que decirle que haga 5 vueltas para que haga 1 vuelta completa, así que X's nº de vueltas exactas son múltiplos de 5 en el programa. Por ejemplo:

2_pasos_lan_der_e_izq.sh 10 50 1         --> 10 = 2 vueltas, 50 = velocidad del giro "es altilla", 1 = giro a la derecha

¡¡ Vale !! creo que me auto-edito:  ...revisando esta web que recomiendo: http://diymakers.es/mover-motores-paso-paso-con-arduino/ (http://diymakers.es/mover-motores-paso-paso-con-arduino/)    ...saco la conclusión de que el motor que uso por cada paso realiza 18º de giro, de ahí que le haga falta 5 vueltas x 4 bobinas x 18º = 360º ==> "1 vuelta completa".



Lo único que modifiqué en el código para no alargar más las ansias por verlo funcionar, fueron las definiciones de que es: LAN1, LAN2, LAN3 y LAN4 por estas 4 líneas (como cada uno usará el GPIO que quiera, que simplemente le cambie la línea de comando)

LAN1="/sys/class/gpio/gpio24/value"
LAN2="/sys/class/gpio/gpio25/value"
LAN3="/sys/class/gpio/gpio29/value"
LAN4="/sys/class/gpio/gpio32/value"



El circuito completo tal como se ve en el vídeo es bastante simple:

- Router con 4 GPIO's operativos.
- Protoboard (no necesaria pero ayuda a hacerlo más fácil, ordenado y fiable): para las conexiones de las señales y fuente de alimentación externa.
- Driver (1€ en Ebay): es el que se encarga de accionar el motor en base a las señales de los GPIO's (son de muy baja potencia y a 3,3v) y con la conexión de una fuente externa para el motor (5v 700mA en este caso. El rango de voltajes para el motor es muy amplio, desde 4.5 V a 36 V en función del motor a usar).
- Motor paso a paso de 5v (reutilizado de una unidad de CD): Este es de 4 bobinas, realizando 18º por cada paso.
- Script adjunto: lanzado en el router y en función de los parámetros que le demos controla el motor paso a paso, en nº pasos o vueltas, velocidad de los pasos y dirección "derecha = 1, izquierda = 0"





Para conseguir exactitud en los microrretardos hay que usar drivers del kernel. Por ejemplo los triggers de los leds pueden servir tal como el driver oneshot.

De otra forma, dependiendo del uso de la CPU la inexactitud será muy grande usando scripts.

Con respecto a la inexactitud aparentemente se ve un movimiento fluido sin saltos asíncronos (a ojo humano), pero seguro que no hay nada más preciso que tal como describes. Lo que si me he dado cuenta es que cada X's tiempo las vueltas de pronto se ralentizan por un momento sin frenar el movimiento (sólo baja la velocidad y se aprecian micro-saltitos), como si el router le estuviera dando prioridad a otros procesos. Recuerdo que comencé a hacer retardos con el "nice" que determina la prioridad: nice -n 5 seq 8000 >/dev/null    y que con el "-n 5" le bajaba la prioridad. ¿Habría alguna forma de q tuviera una prioridad muy alta,,,,no sé si "nice -n 1 seq 8000 >/dev/null" sería máxima prioridad? ¿O no es recomendable esto?.

Por último, en el caso de instalar "coreutils-sleep" probaré los retardos inferiores a 1 sg (que son los que se usan aquí: 5 ms, 100 ms, etc...) e introducirlos en el script a ver si producen también estos micro-saltitos cada X's tiempo.


Saludos y espero que tod@s bien.


PD: Solventando el link para poder ver el vídeo desde un móvil.
Título: Re: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 22-09-2016, 09:55 (Jueves)
Buenas a todos, por fin con tiempo y con los deberes hechos. Ya conseguí controlar el motor paso a paso (motor de precisión como los que usan las impresoras 3D) con el router OpenWRT usando 4 GPIO's.


Primero el vídeo y luego detallo el par de apuntes:


Vídeo                                        -=  Pincha Aquí para verlo  =-

 (http://es.tinypic.com/m/jj4eo3/1)
(http://i64.tinypic.com/28kjc68.jpg)

Vídeo para ver por móviles "La web lo está procesando, ...en breve... "                                        -=  Pincha Aquí para verlo  =-     (http://sendvid.com/t7zth7gi)



El programa es el que publiqué en post anteriores (13-07-2016, 01:33): 2_pasos_lan_der_e_izq.sh

El cual realizaba una simulación (con las 4 luces LAN) del movimiento de las bobinas realizando el giro completo del motor = 1 vuelta completa. No sé porqué, pero a las pruebas me remito, hay que decirle que haga 5 vueltas para que haga 1 vuelta completa, así que X's nº de vueltas exactas son múltiplos de 5 en el programa. Por ejemplo:

2_pasos_lan_der_e_izq.sh 10 50 1         --> 10 = 2 vueltas, 50 = velocidad del giro "es altilla", 1 = giro a la derecha

¡¡ Vale !! creo que me auto-edito:  ...revisando esta web que recomiendo: http://diymakers.es/mover-motores-paso-paso-con-arduino/ (http://diymakers.es/mover-motores-paso-paso-con-arduino/)    ...saco la conclusión de que el motor que uso por cada paso realiza 18º de giro, de ahí que le haga falta 5 vueltas x 4 bobinas x 18º = 360º ==> "1 vuelta completa".



Lo único que modifiqué en el código para no alargar más las ansias por verlo funcionar, fueron las definiciones de que es: LAN1, LAN2, LAN3 y LAN4 por estas 4 líneas (como cada uno usará el GPIO que quiera, que simplemente le cambie la línea de comando)

LAN1="/sys/class/gpio/gpio24/value"
LAN2="/sys/class/gpio/gpio25/value"
LAN3="/sys/class/gpio/gpio29/value"
LAN4="/sys/class/gpio/gpio32/value"



El circuito completo tal como se ve en el vídeo es bastante simple:

- Router con 4 GPIO's operativos.
- Protoboard (no necesaria pero ayuda a hacerlo más fácil, ordenado y fiable): para las conexiones de las señales y fuente de alimentación externa.
- Driver (1€ en Ebay): es el que se encarga de accionar el motor en base a las señales de los GPIO's (son de muy baja potencia y a 3,3v) y con la conexión de una fuente externa para el motor (5v 700mA en este caso. El rango de voltajes para el motor es muy amplio, desde 4.5 V a 36 V en función del motor a usar).
- Motor paso a paso de 5v (reutilizado de una unidad de CD): Este es de 4 bobinas, realizando 18º por cada paso.
- Script adjunto: lanzado en el router y en función de los parámetros que le demos controla el motor paso a paso, en nº pasos o vueltas, velocidad de los pasos y dirección "derecha = 1, izquierda = 0"





Para conseguir exactitud en los microrretardos hay que usar drivers del kernel. Por ejemplo los triggers de los leds pueden servir tal como el driver oneshot.

De otra forma, dependiendo del uso de la CPU la inexactitud será muy grande usando scripts.

Con respecto a la inexactitud aparentemente se ve un movimiento fluido sin saltos asíncronos (a ojo humano), pero seguro que no hay nada más preciso que tal como describes. Lo que si me he dado cuenta es que cada X's tiempo las vueltas de pronto se ralentizan por un momento sin frenar el movimiento (sólo baja la velocidad y se aprecian micro-saltitos), como si el router le estuviera dando prioridad a otros procesos. Recuerdo que comencé a hacer retardos con el "nice" que determina la prioridad: nice -n 5 seq 8000 >/dev/null    y que con el "-n 5" le bajaba la prioridad. ¿Habría alguna forma de q tuviera una prioridad muy alta,,,,no sé si "nice -n 1 seq 8000 >/dev/null" sería máxima prioridad? ¿O no es recomendable esto?.

Por último, en el caso de instalar "coreutils-sleep" probaré los retardos inferiores a 1 sg (que son los que se usan aquí: 5 ms, 100 ms, etc...) e introducirlos en el script a ver si producen también estos micro-saltitos cada X's tiempo.


Saludos y espero que tod@s bien.
Que bien!! Enhorabuena campeón!!  ;D

Enviado desde mi Y635-L01 mediante Tapatalk

Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 06-11-2016, 12:39 (Domingo)
Buenas, hoy quise ponerle una mini-guindilla al vídeo del post anterior de una forma más visible, y así reconfirmar la obviedad y precisión de un motor paso a paso (en este caso accionado por los GPIO's del router y un driver físico).

Hice un sencillo "ahorcado" con un metro de papel pegado al "mastil" y un hilo negro unido a otro de color para que se aprecie milimétricamente la altura a la que se encuentra.

El vídeo consiste en que el hilo negro se va desplazando y se ve como su extremo va desde los 93,1 cm subiendo hasta los 83,0 cm, hace un retardo de 2 sg y vuelve hacia abajo, repitiendo lo mismo 2 veces.


Vídeo "para móviles y PC"                           -=  Pincha Aquí para verlo  =-     (http://sendvid.com/1ckcdfbq)

(http://i64.tinypic.com/vh8d4k.jpg)



El script es esto:

#!/bin/sh

sh ./3_pasos_gpio_der_e_izq.sh 50 5 0      -->  El hilo negro sube: el motor realiza 10 vueltas girando hacia la izquierda (altura inicial = 93,1 cm)
sleep 2                                                     -->  Pausa de 2 sg
sh ./3_pasos_gpio_der_e_izq.sh 50 5 1      -->  El hilo negro baja: el motor realiza 10 vueltas girando hacia la derecha (altura inicial = 83,0 cm)
sleep 2                                                     -->  Pausa de 2 sg
sh ./3_pasos_gpio_der_e_izq.sh 50 5 0      -->  El hilo negro sube: el motor realiza 10 vueltas girando hacia la izquierda (altura inicial = 93,1 cm)
sleep 2                                                     -->  Pausa de 2 sg
sh ./3_pasos_gpio_der_e_izq.sh 50 5 1      -->  El hilo negro baja: el motor realiza 10 vueltas girando hacia la derecha (altura inicial = 83,0 cm)


Tengo en mente como tendría q traspasar todo esto al router desde, tal como se haría con un programa de impresoras 3D usando sólo el eje "X".

Nunca me he puesto con programas de impresoras 3D, ....la duda es la conversión o como tendría que pasarle el modelo al router (formatos, la conversión o siendo a lo bruto: el código en que lo tendría que programar, como lo interpretaría, etc...)

El driver de software funciona, aunque no sea la forma de programación adecuada (falta integrarle los retardos por kernel y no por "sleep" o por "seq" , al margen de que mandar a realizar un modelo por un script no es la forma, aunque funcione), por lo que tendría que pasarlo a otro tipo de programación, ya sea "C" o el que sea.

Bueno, teniendo en cuenta estos aspectos y más que se me escaparán, seguro, ¿se les ocurre como tendría que hacer para este entramado?

La idea futura no es que haya un sólo eje "X", he pensando en el eje "Y" y poner un soporte con una mini-dremel que tengo, por ejemplo (lo que conllevaría si lo hiciese en cambiar los motores, poner varillas, etc..., vaya, una impresora 2D)


Bueno, saludos a todos.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 06-11-2016, 17:10 (Domingo)
Buenas, hoy quise ponerle una mini-guindilla al vídeo del post anterior de una forma más visible, y así reconfirmar la obviedad y precisión de un motor paso a paso (en este caso accionado por los GPIO's del router y un driver físico).

Genial, esto te lo pillaré un día para la puerta de mi nave... jejeje

Citar
La idea futura no es que haya un sólo eje "X", he pensando en el eje "Y" y poner un soporte con una mini-dremel que tengo, por ejemplo (lo que conllevaría si lo hiciese en cambiar los motores, poner varillas, etc..., vaya, una impresora 2D)

Estaría bien hacerse una mini-fresadora para hacer grabados o pequeñas cositas de alta precisión (no se, por ejemplo los módulos de una antena wifi...),  fijar el cabezal de corte sería un gran problema, por cuestión de diseño y cargas...  yo me decantaría mas que por un dremel, por una fresadora de odontología,  por ser muy pequeño, ligero y altamente resistente, además tiene refrigeración para el corte, esto se puede encontrar con cierta facilidad...

Habría que ver qué cuesta un aparato de estos hoy en día, se que he visto alguna fresadora digital pequeña y recuerdo que no me pareció cara...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: danitool en 12-12-2016, 18:02 (Lunes)
Otro router para la colección: Zyxel P660HW-D1, todo un clásico por así decirlo (solo dispone de 2MB de flash)

20GPIOs! localizados y en principio casi todos disponibles

https://foro.seguridadwireless.net/openwrt/(experimento)-zyxel-p660hw-d1-con-openwrt/


(https://wikidevi.com/w/images/8/81/P660HWD1_rev1-GPIOs.jpg) (https://wikidevi.com/w/images/8/81/P660HWD1_rev1-GPIOs.jpg)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 26-02-2017, 18:38 (Domingo)
Buenas a todos, ......Sicilia, 03/02/2016......desde ese entonces, este HILO ya ha cumplido 1 año.

Este mensaje es puramente honorífico a todos los contribuidores que lo han hecho posible y a el par bueno de visitantes de a saber desde donde, pero q con mucho gusto de q así sea, se hayan conseguido 109 respuestas (hyper aportes) y 12.000 visitas.


Y comenzó la andadura que tan buenos frutos ha dado...(03-02-2016)

(http://i68.tinypic.com/2vwe90h.jpg)


....1 año más tarde...(07-02-2017) --> 12.000 visitas y 109 respuestas (1.000 visitas/mes ó 250 visitas/semana)

(http://i65.tinypic.com/ix46dc.jpg)



Mirando para atrás, en medio y en adelante....sólo me queda deciros, que sois unos máquinas y que no hay nada mejor que la colaboración colectiva sin ningún tipo de apropiación de ideas, sino todo lo contrario, y que cada uno le saque el provecho que crea oportuno a nivel particular, profesional, etc.

....sin más...... GRACIAS.....YOU ARE THE KINGS, sin vosotros esto no sería posible.



Resultados y recapitualizaciones destacadas hasta la fecha:

- 11 Routers con GPIO's operativos y siempre con intención de que siga creciendo.... (aun me falta por añadir a la tabla el del anterior mensaje a este....Gracias danitool, ....20 GPIO's ...brutal!!)

- Proyectos en funcionamiento:

* El de Ficht aplicado en ámbito profesional combinado con cámaras, detección de movimiento-acción a realizar, iluminación, etc.....
* El de raphik con el manejo de una pantalla lcd via bus i2c usando GPIO's.
* El mío, en ámbito particular también combinado con cámaras, iluminación, ...ya lo publicaré más detalladamente (lo conseguí hace unos días aunque en constante modificación-progresión y poco a poco (automatizando tareas de registro y control de una micro-instalación fotovoltaica aislada rural en remoto, lo que me permite ahorro de gasolina "80 km's" y tiempo, es más un hobbie que otra cosa).
* Y los que habrán que no se han publicado y/o que este foro e hilo han aportado a incentivarlos, despejar dudas, etc.....no duden en publicarlo aunque parezca simple, ...lo bueno no está en lo simple o complicado, sino en lo funcional para cada caso.



- Recapitualizaciones de pruebas, avances, proyectos, ... :

- Herramientita casera y simple para facilitar la localización de GPIO's en PCB --> Respuesta 8 (https://goo.gl/pX4Kon)

- 1º Prueba en caliente del control de una placa pequeña con 8 relés (sale de 3 a 5 €) --> Respuesta 29 (https://goo.gl/9CJX4c)

- Colocación de conectores en carcasa para un fácil acceso-conección a los GPIO's --> Respuesta 34 (https://goo.gl/9S1BoI)

- Mera muestra de los valores de voltaje y estados de 1 GPIO como fundamento básico --> Respuesta 44 (https://goo.gl/ZwpPy0)

- Activación de una lámpara mediante 1 relé (circuito casero al 100%.....este circuito de 1 relé comprado sale 1 ó 2 €) --> Respuesta 59 (https://goo.gl/cyY23L)

- Activación de un zumbador-altavoz, sonando el tono antiguo de un SMS y Activación de ventiladores de PC mediante una placa pequeña usando 1 relé (PCB de 2 relés) --> Respuesta 63 (https://goo.gl/m1ove9)

- Protección del router (casos especiales) con un Buck-Boost (estabilizador de tensión tanto con voltaje inferior como superior al de entrada)  --> Respuesta 66 (https://goo.gl/2cLOLb)

- Disposición impresionante de placa pequeña de 8 relés en el interior de la carcasa y con conexiones externas -->   Respuesta 67 (https://goo.gl/Y0zRbg)

- Uso de PHP vía web o de APP para el móvil/tablet con qué controlar GPIO's remotamente con interfaz gráfica (SSH Button)--> Respuesta 68 (https://goo.gl/iOYWPD)

- Relés de estado sólido/bajo consumo (no hacen ruido al cambiar de estado) --> Respuesta 69 (https://goo.gl/9Z8EKF)

- 1º Proyecto funcional y en ámbito profesional (Ficht) --> Respuesta 70 (https://goo.gl/9N6PFt)

- Proyecto usando GPIO's - manejo de una pantalla lcd via bus i2c --> Respuesta 76

 (https://goo.gl/47Jn0F)- Divisor de tensión (convertir 5v en 3,3 v), uso y disposición de leds y pulsadores para cada estado, ej de conmutador --> Respuesta 78 (https://goo.gl/SKpxln)

- Usando un conmutador como entrada en un GPIO accionar otro GPIO como salida --> Respuesta 79 (https://goo.gl/tBQbPc)

- Uso de un conversor de analógico a I2C para transformar datos analógicos en digitales --> Respuesta 81 (https://goo.gl/F2kX33)

- Simulación del funcionamiento de un motor paso a paso mediante el uso de los LEDs LAN --> Respuesta 96 (https://goo.gl/Vpa2V6)

- Formas de hacer retardos inferiores a 1 sg (sin y con el uso del SLEEP "que necesitaría extroot") --> Respuestas 98 a 100 (https://goo.gl/oWgpGd)

- Simulación con LEDs LAN del funcionamiento de un motor paso a paso enviando por parámetros: vueltas, dirección y velocidad -->   Respuesta 101 (https://goo.gl/l58MZC)

- Depuración para hacer retardos lo más exactos posibles (usando drivers del kernel) --> Respuesta 102 (https://goo.gl/drwj9A)

- Control de un motor paso a paso con el uso de un simple driver de 1 € en Ebay --> Respuesta 105 (https://goo.gl/oiaZ7V)

- Otro ejemplo más visual controlando un motor paso a paso (se aprecia la precisión milimétrica del movimiento) --> Respuesta 107 (https://goo.gl/KJKoSp)



Impresionante señores y señoras!!! ....a día de hoy la limitaciones las pone o se las encuentra un@, ....xq yo veo que con la colaboración y la tecnología cada día parece más infinita...............G R A C I A S !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: eduperez en 28-02-2017, 23:57 (Martes)
He estado trasteando con un WRT3200ACM, pero la verdad es que sin mucho éxito...

* No he encontrado el GPIO de entrada que se corresponda con el botón del WPS.
* Tampoco he encontrado puntos en la placa base que se correspondan con los GPIOs de salida.
* Los LEDs de los puertos ethernet (2 LEDs por cada uno de los 4 puertos) deben estar multiplexados de alguna manera, porque al jugar con los GPIO se encienden y apagan todos al mismo tiempo (cuando consigo que hagan algo).
* El resto de LEDs (11 en total) del aparato se pueden controlar fácilmente desde /sys/class/leds.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 08-05-2017, 01:37 (Lunes)
Añadidos 2 Routers a la Lista de Routers con GPIO's operativos para darle usos como con la Raspberry Pi:


- Zyxel P660HW-D1        (por danitool)

Detallado en esta respuesta (nº 109):

https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg351529/#msg351529 (https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg351529/#msg351529)


- Linksys WRT3200ACM        (por eduperez)

Detallado en esta respuesta (nº 111):

https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg353661/#msg353661 (https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg353661/#msg353661)



Total de Routers en el listado: 12

Gracias por el aporte !!!
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 05-06-2017, 00:17 (Lunes)
Buenas, hace 2 semanas hice una "mini-impresora 2D con WiFi sin necesidad de PC" con motores bipolares paso a paso "4 hilos" y un bolígrafo (aprovechando 2 mecanismos de unidades DVD de PC). Por suerte con todo el tiempo que llevaba pa lante y patrás con los motores paso a paso, los scripts hechos y demás, el script mini-driver básico que hice, montarlo todo y dejarlo funcionando en sus primeras fases no alcanzó a las 8 horas (madrugada del domingo). Así que quien quiera hacérselo, le ocupará muy poco tiempo.

De momento es 2D (sólo eje X e Y): tiene puesto un bolígrafo, aunque la idea principal es ponerle un láser para quemar superficies y hacer logos, dibujos, guías, etc...

Obviamente el siguiente pasó será hacerla 3D (X, Y, Z) para ponerle x ej: un taladro, fresas, un lápiz 3D, un Hotend, etc..


Vídeo               -=  Pincha Aquí para verlo  =-     (http://sendvid.com/jx6ue7ix)

(http://i68.tinypic.com/xlldv7.jpg)  (http://i66.tinypic.com/xkx9a9.jpg)

Link de la imagen de las impresiones en HD --> http://i65.tinypic.com/161ants.jpg (http://i65.tinypic.com/161ants.jpg)


Al final pongo el enlace con todos los scripts hechos para las figuras geométricas de prueba. Lo propio es poder realizar dibujos en cualquier programa de edición, exportarlos en el formato adecuado (G-CODE u otro) e importarlo por cable o wifi al router, y lanzarlo a imprimir. En esto último es donde reside el problema con el que llevo 2 semanas luchando, y que me gustaría resolver, a ver si entre todos podemos adaptar/crear un "driver" o la forma en que por ejemplo los G-CODE puedan ser interpretados y llevados a acabo, al menos de momento por los ejes X e Y.

Voy a crear un nuevo tema para el desarrollo de este Proyecto --> [Proyecto] Impresora 2D y 3D con WiFi usando GPIOs en Routers con OpenWRT (x 2€) (https://foro.seguridadwireless.net/openwrt/(proyecto)-impresora-2d-y-3d-con-wifi-usando-gpios-en-routers-con-openwrt-(x-2)/)

Un saludo y gracias a todos.


Enlace con los scripts para las pruebas: https://goo.gl/SQaZmz (https://goo.gl/SQaZmz)
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Ficht en 05-06-2017, 07:59 (Lunes)
Buenas, hace 2 semanas hice una "mini-impresora 2D con WiFi sin necesidad de PC" con motores bipolares paso a paso "4 hilos" y un bolígrafo (aprovechando 2 mecanismos de unidades DVD de PC). Por suerte con todo el tiempo que llevaba pa lante y patrás con los motores paso a paso, los scripts hechos y demás, el script mini-driver básico que hice, montarlo todo y dejarlo funcionando en sus primeras fases no alcanzó a las 8 horas (madrugada del domingo). Así que quien quiera hacérselo, le ocupará muy poco tiempo.

De momento es 2D (sólo eje X e Y): tiene puesto un bolígrafo, aunque la idea principal es ponerle un láser para quemar superficies y hacer logos, dibujos, guías, etc...

Obviamente el siguiente pasó será hacerla 3D (X, Y, Z) para ponerle x ej: un taladro, fresas, un lápiz 3D, un Hotend, etc..


Vídeo               -=  Pincha Aquí para verlo  =-     (http://sendvid.com/jx6ue7ix)

(http://i68.tinypic.com/xlldv7.jpg)


Al final pongo el enlace con todos los scripts hechos para las figuras geométricas de prueba. Lo propio es poder realizar dibujos en cualquier programa de edición, exportarlos en el formato adecuado (G-CODE u otro) e importarlo por cable o wifi al router, y lanzarlo a imprimir. En esto último es donde reside el problema con el que llevo 2 semanas luchando, y que me gustaría resolver, a ver si entre todos podemos adaptar/crear un "driver" o la forma en que por ejemplo los G-CODE puedan ser interpretados y llevados a acabo, al menos de momento por los ejes X e Y.

Voy a crear un nuevo tema para el desarrollo de este Proyecto --> [Proyecto] Impresora 2D y 3D con WiFi usando GPIOs en Routers con OpenWRT (x 2€) (https://foro.seguridadwireless.net/openwrt/(proyecto)-impresora-2d-y-3d-con-wifi-usando-gpios-en-routers-con-openwrt-(x-2)/)

Un saludo y gracias a todos.


Enlace con los scripts para las pruebas: https://goo.gl/SQaZmz (https://goo.gl/SQaZmz)

Que pasada!! que chulo te ha quedado!!
Enhorabuena.  >:(
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 27-08-2017, 14:36 (Domingo)
Totalmente de acuerdo en la utilidad de los GPIOs.

GPIOs en el Comtrend AR-5387un (https://wiki.openwrt.org/toh/comtrend/ar5387un)

Cantidad GPIOs accesibles en la placa y configurables: 14

GPIOs asociados a LEDs, configurados en el kernel: 5
Cuando están configurados por el kernel como LEDs significa que no se pueden exportar como GPIOs, al menos con el firmware oficial. Pero no hay problema, incluso son más fáciles de controlar. Ejemplo
  • encendido: echo 1 > /sys/class/leds/AR-5387un:green:dsl/brightness
  • apagado:  echo 0 > /sys/class/leds/AR-5387un:green:dsl/brightness

Gpios en los leds usados por el kernel
  • Internet rojo     GPIO1
  • Internet verde    GPIO7
  • Power    rojo     GPIO4
  • Power verde     GPIO8
  • DSL verde     GPIO11
Los leds de Internet y Power son bicolor, lo que significa que cada patilla va conectada a un GPIO diferente.

LEDs de LAN, son cuatro y en principio van controlados internamente por hardware. Pero podemos hacerlos accesibles como GPIOs ejecutando el comando:
Código: [Seleccionar]
devmem 0x1000009C 64 0x0de esta forma ya podremos exportarlos como GPIO y controlarlos con scripts de usuario
  • LAN1     GPIO25
  • LAN2     GPIO26
  • LAN3     GPIO27
  • LAN4     GPIO28

Botones:
  • Reset     GPIO23
No creo que se pueda hacer mucho con este GPIO, a menos que eliminemos el botón configurado en el kernel.

Otros, en partes sin soldar, al lado de el botón de reset y del LED DSL
  • R107     GPIO9
  • R109     GPIO10
  • R79     GPIO12  
  • R158     GPIO24




Como proyecto usando un GPIO, ya comenté en otro sitio que adapté el driver de infrarrojos que usan en la rpi para que funcione como emulador de mandos a distancia de infrarrojos mediante el uso de LIRC, pudiendo funcionar en cualquier dispositivo. Lo documenté en la wiki

https://wiki.openwrt.org/doc/howto/lirc-gpioblaster

Es emisor únicamente, y para conseguir que el módulo del kernel funcione es necesario compilar el firmware con el paquete de lirc-gpioblaster y el demonio LIRC. Todo está documentado.

De esta forma podemos controlar cualquier aparato de casa o empresa que use mandos a distancia. Control que podemos hacer de forma programada con CRON, o bien accediendo desde cualquier sitio mediante ssh o aplicacion web (si desarrollamos una interfaz para ello).

Podríamos controlar bombas de calor, aires acondicionados, cadenas musicales, televisores, cualquier cosa que use mandos a distancia ya que prácticamente LIRC es capaz de emular casi cualquier mando a distancia.[/size]

Buenas, estoy probando este Comtrend AR-5387un con la Chaos Calmer 15.05.1 para el control de leds y no me deja exportarlos luego como GPIO's. Le puse la 15.05.1 porque la que tenía era una ya compilada que no deja instalar paquetes como el "screen", mega util para dejar algún script ó programa en el router trabajando en 2º plano sin tener ningún dispositivo conectado a el necesariamente.

root@Router_5:/# devmem 0x1000009C 64
0x0000000000000000
root@Router_5:/# echo 25 > /sys/class/gpio/export
ash: write error: No such device
root@Router_5:/# echo 26 > /sys/class/gpio/export
ash: write error: No such device
root@Router_5:/# echo 27 > /sys/class/gpio/export
ash: write error: No such device
root@Router_5:/# echo 28 > /sys/class/gpio/export
ash: write error: No such device

Me imagino que la dirección de memoria será otra, pero no sé ni como averiguarla. Sé que esto no se dice, pero tengo una "urgencia real" para un proyecto que estoy haciendo y así usarlos, si alguien lo sabe se lo agradecería.

También estoy viendo que al abrir el router los leds tienes 2 patas y no 3, son leds normales no bicolor, así que sólo funciona el comando el "green" en cada led, el "red" dan fallo.

echo 1 > /sys/class/leds/AR-5387un:green:power/brightness

Obviamente los "red" dan fallo, pero por comentarlo, lo raro es que estén exportados en sys/class, cuando el hardware creo que nunca ha cambiado.


Un saludo
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: daskoud en 28-08-2017, 17:48 (Lunes)
como podría utilizar el boton de wps delrouter vh4032n para utilizarlo como gpio.
En la pagina de openwrt me marca [ 35   low   BUTTON WPS ], pero no me deja utilizarlo, el error es este
: Device or resource busy
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 29-08-2017, 08:17 (Martes)
Totalmente de acuerdo en la utilidad de los GPIOs.

GPIOs en el Comtrend AR-5387un (https://wiki.openwrt.org/toh/comtrend/ar5387un)

Cantidad GPIOs accesibles en la placa y configurables: 14

GPIOs asociados a LEDs, configurados en el kernel: 5
Cuando están configurados por el kernel como LEDs significa que no se pueden exportar como GPIOs, al menos con el firmware oficial. Pero no hay problema, incluso son más fáciles de controlar. Ejemplo
  • encendido: echo 1 > /sys/class/leds/AR-5387un:green:dsl/brightness
  • apagado:  echo 0 > /sys/class/leds/AR-5387un:green:dsl/brightness

Gpios en los leds usados por el kernel
  • Internet rojo     GPIO1
  • Internet verde    GPIO7
  • Power    rojo     GPIO4
  • Power verde     GPIO8
  • DSL verde     GPIO11
Los leds de Internet y Power son bicolor, lo que significa que cada patilla va conectada a un GPIO diferente.

LEDs de LAN, son cuatro y en principio van controlados internamente por hardware. Pero podemos hacerlos accesibles como GPIOs ejecutando el comando:
Código: [Seleccionar]
devmem 0x1000009C 64 0x0de esta forma ya podremos exportarlos como GPIO y controlarlos con scripts de usuario
  • LAN1     GPIO25
  • LAN2     GPIO26
  • LAN3     GPIO27
  • LAN4     GPIO28

Botones:
  • Reset     GPIO23
No creo que se pueda hacer mucho con este GPIO, a menos que eliminemos el botón configurado en el kernel.

Otros, en partes sin soldar, al lado de el botón de reset y del LED DSL
  • R107     GPIO9
  • R109     GPIO10
  • R79     GPIO12  
  • R158     GPIO24




Como proyecto usando un GPIO, ya comenté en otro sitio que adapté el driver de infrarrojos que usan en la rpi para que funcione como emulador de mandos a distancia de infrarrojos mediante el uso de LIRC, pudiendo funcionar en cualquier dispositivo. Lo documenté en la wiki

https://wiki.openwrt.org/doc/howto/lirc-gpioblaster

Es emisor únicamente, y para conseguir que el módulo del kernel funcione es necesario compilar el firmware con el paquete de lirc-gpioblaster y el demonio LIRC. Todo está documentado.

De esta forma podemos controlar cualquier aparato de casa o empresa que use mandos a distancia. Control que podemos hacer de forma programada con CRON, o bien accediendo desde cualquier sitio mediante ssh o aplicacion web (si desarrollamos una interfaz para ello).

Podríamos controlar bombas de calor, aires acondicionados, cadenas musicales, televisores, cualquier cosa que use mandos a distancia ya que prácticamente LIRC es capaz de emular casi cualquier mando a distancia.[/size]

Buenas, estoy probando este Comtrend AR-5387un con la Chaos Calmer 15.05.1 para el control de leds y no me deja exportarlos luego como GPIO's. Le puse la 15.05.1 porque la que tenía era una ya compilada que no deja instalar paquetes como el "screen", mega util para dejar algún script ó programa en el router trabajando en 2º plano sin tener ningún dispositivo conectado a el necesariamente.

root@Router_5:/# devmem 0x1000009C 64
0x0000000000000000
root@Router_5:/# echo 25 > /sys/class/gpio/export
ash: write error: No such device
root@Router_5:/# echo 26 > /sys/class/gpio/export
ash: write error: No such device
root@Router_5:/# echo 27 > /sys/class/gpio/export
ash: write error: No such device
root@Router_5:/# echo 28 > /sys/class/gpio/export
ash: write error: No such device

Me imagino que la dirección de memoria será otra, pero no sé ni como averiguarla. Sé que esto no se dice, pero tengo una "urgencia real" para un proyecto que estoy haciendo y así usarlos, si alguien lo sabe se lo agradecería.

También estoy viendo que al abrir el router los leds tienes 2 patas y no 3, son leds normales no bicolor, así que sólo funciona el comando el "green" en cada led, el "red" dan fallo.

echo 1 > /sys/class/leds/AR-5387un:green:power/brightness

Obviamente los "red" dan fallo, pero por comentarlo, lo raro es que estén exportados en sys/class, cuando el hardware creo que nunca ha cambiado.


Un saludo

Supongo que tendrás instalados los módulos kernel para gpio, ¿no? Si no, empieza por ahí.
kmod-leds-gpio , y tal y tal...
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: daskoud en 29-08-2017, 14:29 (Martes)
Si los tengo instalados, he seguido el tutorial de openwrt https://wiki.openwrt.org/doc/howto/hardware.button (https://wiki.openwrt.org/doc/howto/hardware.button).

Cundo pulso el boton wps y escribir por el terminal logread, este detecta las pulsaciones.

Pero cuando utilizo uci system para asignarle una tarea al pulsar no hace caso.
He intentado también  utilizar echo $BUTTON pero tampoco no muestra nada
Título: Re:
Publicado por: Ficht en 29-08-2017, 15:03 (Martes)
Yo no sé, pero imagino que el botón debe estar asignado a la función wps en el kernel, que si no está configurado en wireless pues no hace nada.
Para usarlo, igual hay dos caminos, si te compilas tus firm's  puedes modificar el archivo de la placa para que ese gpio quede libre, o si no, no sé si con devmem o algo así, poder exportar el gpio para su uso.

Por otra parte, no sé si el firm que usas tiene o no devmem incluido, creo que hay que compilarlo junto al firm...

Ojo, no sé si estoy mezclado cosas o si se me entiende...
Hace 5 meses que no hago nada en openwrt/LEDE y me siento inseguro de lo que hablo de memoria.
Saludos.

Enviado desde mi PRA-LX1 mediante Tapatalk

Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Yo_Julio en 26-09-2017, 17:31 (Martes)
Hola
Pongo otro router ARV4518 muy parecido al 7518 que ya está puesto aquí antes.
Lo he usado para controlar 4 válvulas de riego.

No he podido controlar los leds con BB, algo debe haber mal, así que lo he recompilado borrando los leds del DTS y los manejo como GPIOS. Los uso para indicar el estado de cada válvula

Todos los contactos salen del mismo sitio que el 7518 excepto uno que sale del sitio para un chip cuadrado que hay debajo al lado.  

gpio208 0 led VoIP           (gpio247  ha de ser 0)
gpio209 1 led phone1      (gpio247  ha de ser 0)
gpio210 2 led phone2      (gpio247  ha de ser 0)

gpio224 16 chip rectangular  4
gpio225 17
gpio226 18 chip rectangular  9
 
gpio228 20 led dsl
gpio229 21 led internet verde
gpio230 22 led wlan
gpio231 23 led power rojo
gpio232 24 led internet rojo

gpio233 25
gpio234 26 chip rectangular 12
gpio235 27 chip cuadrado    14
gpio236 28
gpio237 29 - encinede leds de LAN bloquea switch
gpio239 31
gpio240 32 chip rectangular  1
gpio241 33 chip rectangular  2
gpio242 34 chip rectangular 19
gpio243 35 led usb
gpio244 36
gpio246 38 chip rectangular  3
gpio247 39 ha de ser 0 para controlar VoIP Phone1 Phone2
gpio248 40
gpio249 41 chip rectangular  7
gpio250 42 chip rectangular  6
gpio251 43 chip rectangular  5
gpio253 45

He soldado una raspa de pines y las conexiones las he hecho con hilo de un viejo transformador

(http://i66.tinypic.com/106nfd0.jpg)

He usado una placa de relés de 12V que andaba por casa aprovechando que tiene un ULN2003, así puedo conectarla directamente.
Uso uno de los GPIOS que no se activa en el BOOT como llave que da corriente a los otros 4
Finalmente he instalado uHTTPd y una sencilla página web con un formulario para controlar todo desde el móvil

(http://i67.tinypic.com/2zxqkb7.png)

Todo está copiado de lo que ya ha se ha dicho aquí del 7518, en el how-to home automation openwrt, how-to gpios de openwrt y alguna página de ejemplos de shell scripting. Sólo he juntado las piezas. El mérito es suyo.

Detalle de las conexiones
(http://i67.tinypic.com/2e2msmr.png)


Saludos a todos.





Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 29-09-2017, 20:50 (Viernes)

No he podido controlar los leds con BB, algo debe haber mal, así que lo he recompilado borrando los leds del DTS y los manejo como GPIOS. Los uso para indicar el estado de cada válvula


De BB a CC cambió la numeración de los pines. En algún lugar recóndito del foro debe de estar la numeración correcta. Si te hace falta, puedo echar un vistazo a ver si la encuentro. Debería estar en el hilo perteneciente al susodicho router.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Yo_Julio en 01-10-2017, 19:31 (Domingo)
Lo que le ocurre es que con BB los leds VoIP Phone1 y Phone2 están siempre encendidos, desde el BOOT.
Despues de trastearlos como GPIOs he visto que para controlar el estado de los GPIOs que manejan esos leds hace falta que gpio247 sea 0, si no es cero no responden.
Habría que probar a ver si con el firmware oficial BB al poner gpio247 a 0 se pueden manejar como leds.
A ver si me hago con otro, porque este no quiero tocarlo ahora que la peña flipa al ver que controlo el riego y las luces del jardin desde el móvil  ;D
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 07-10-2017, 16:00 (Sábado)
Hola
Pongo otro router ARV4518 muy parecido al 7518 que ya está puesto aquí antes.
Lo he usado para controlar 4 válvulas de riego.

No he podido controlar los leds con BB, algo debe haber mal, así que lo he recompilado borrando los leds del DTS y los manejo como GPIOS. Los uso para indicar el estado de cada válvula

Todos los contactos salen del mismo sitio que el 7518 excepto uno que sale del sitio para un chip cuadrado que hay debajo al lado.  

gpio208 0 led VoIP           (gpio247  ha de ser 0)
gpio209 1 led phone1      (gpio247  ha de ser 0)
gpio210 2 led phone2      (gpio247  ha de ser 0)

gpio224 16 chip rectangular  4
gpio225 17
gpio226 18 chip rectangular  9
 
gpio228 20 led dsl
gpio229 21 led internet verde
gpio230 22 led wlan
gpio231 23 led power rojo
gpio232 24 led internet rojo

gpio233 25
gpio234 26 chip rectangular 12
gpio235 27 chip cuadrado    14
gpio236 28
gpio237 29 - encinede leds de LAN bloquea switch
gpio239 31
gpio240 32 chip rectangular  1
gpio241 33 chip rectangular  2
gpio242 34 chip rectangular 19
gpio243 35 led usb
gpio244 36
gpio246 38 chip rectangular  3
gpio247 39 ha de ser 0 para controlar VoIP Phone1 Phone2
gpio248 40
gpio249 41 chip rectangular  7
gpio250 42 chip rectangular  6
gpio251 43 chip rectangular  5
gpio253 45

He soldado una raspa de pines y las conexiones las he hecho con hilo de un viejo transformador

(http://i66.tinypic.com/106nfd0.jpg)

He usado una placa de relés de 12V que andaba por casa aprovechando que tiene un ULN2003, así puedo conectarla directamente.
Uso uno de los GPIOS que no se activa en el BOOT como llave que da corriente a los otros 4
Finalmente he instalado uHTTPd y una sencilla página web con un formulario para controlar todo desde el móvil

(http://i67.tinypic.com/2zxqkb7.png)

Todo está copiado de lo que ya ha se ha dicho aquí del 7518, en el how-to home automation openwrt, how-to gpios de openwrt y alguna página de ejemplos de shell scripting. Sólo he juntado las piezas. El mérito es suyo.

Detalle de las conexiones
(http://i67.tinypic.com/2e2msmr.png)


Saludos a todos.


Magnífica aportación, y muy bien hecho por compartir, donde crees que no has hecho casi nada por ti, estás muy confundido, justo estaba pensando en hacer algo por página web y no había pensado que ya estuviera, así que me acabas de ahorrar mucho tiempo, además es un ejemplo práctico en el foro perfecto. Gracias

Una cosa, para poder añadir el router a la lista de routers con GPIOs operativos, podrías decir exactamente cuantos GPIOs está libres, cuantos usando los Leds, etc... para poder completar la tabla adecuadamente. No me quedó del todo claro si conseguiste accionar los leds con un firm tuyo o el original, porque si es tuyo vendría bien que lo añadieras para facilitar todo lo necesario si no te importa.


Bueno un saludo y muy importante lo que has aportado.


PD: Ten cuidado con los cables que parece que están apuntito de tocarse y donde querías un 1, al igual tienes un 0. Pero muy buena idea lo de reutilizar el transformador.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Yo_Julio en 17-10-2017, 17:01 (Martes)
Hola edudi

Con Backfire me iban todos los leds pero no la wifi.
Con AA no va la wifi, o yo no soy capaz de hacerla funcionar, y el led VoIP, phone1 y phone2 se quedan fijos y no se dejan controlar.
BB oficial  (ARV4518PWR01A-squashfs.image) y sucesivas ya no caben en la flash.  :'(

Lo que hice fue compilar BB sin luci y la wifi iba pero los leds mal como en AA.
Así que modifiqué el fichero DTS y quité los leds  [lo que está en ARV4518PWR01.dts sección gpio-leds { }  ] -bueno dejé el de power verde- de forma que se pueden controlar los leds como si fueran gpios.

O sea una vez compilado con el DTS modificado en lugar de hacer:
echo 1 > brightness al led del usb de /sys/class/leds
se hace:
echo 0 > /sys/class/gpio/gpio243/value
que es atacar directamente al gpio que lo controla.

Después de eso tampoco iban VoIP, phone1 y phone2 hasta que descubrí que tienes que poner el gpio247 a 0. De esa forma ya puedes controlarlos.

Resumiendo: BB y 11 gpios
u41 es el rectangular y u5 el cuadrado. Foto en la wiki
 
gpio224 u41 patilla 4
gpio226 u41  patilla 9
gpio234 u41 patilla 12
gpio235  u5 patilla 14
gpio237 encinede leds de LAN y bloquea switch NO USAR
gpio240 u41  patilla 1
gpio241  u41  patilla  2
gpio242  u41  patilla 19
gpio246  u41  patilla 3
gpio247  hay que ponerlo a 0 para controlar VoIP Phone1 Phone2
gpio249 u41  patilla 7
gpio250 u41 patilla 6
gpio251 u41 patilla 5

y 9 más que son los leds si modificas el DTS como yo

gpio208  led VoIP           (gpio247  ha de ser 0)
gpio209  led phone1      (gpio247  ha de ser 0)
gpio210  led phone2      (gpio247  ha de ser 0)
gpio228  led dsl
gpio229  led internet verde
gpio230  led wlan
gpio231  led power rojo
gpio232  led internet rojo
gpio243  led usb

Ahora, a toro pasado, sospecho que si pones gpio247 a 0 puedes controlar los 3 leds con el firmware BB sin modificar el DTS  :-\
Tengo por ahí el bin compilado con mi DTS. Si lo quieres lo subo, pero creo que no hace falta.

El hilo que he utilizado es de un transformador, esmaltado. Aunque se toquen no pasa nada.

Y lo que echo de menos es conectarle un RTC o un módulo DCF77 que en Ebay los hay baratitos...



Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: antares en 17-10-2017, 20:38 (Martes)
Yo tambien utilizaba todos los cablecillos que encontraba hasta que me compre un carrete de hilo para wire wrapping. Es de 0,5 mm con funda plastica flexible y el interior de 0,20 viene como preestañado por lo que suelda muy facilmente.
En aliexpress lo venden como "30awg wire wrapping" en carretes de 300 metros por 4 euros y poco.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: peperfus en 02-11-2017, 13:28 (Jueves)
Hola

Supongo que no, pero ¿se sabe algo de si hay GPIOS disponibles en el Livebox ARV7519? Sería interesante averiguarlo dado el buen hardware de este router.

Si alguien experimentado se quiere dedicar a investigarlo, yo puedo donarle una unidad para ello.

Gracias.
Título: Re: Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudi en 01-12-2017, 20:48 (Viernes)
Buenas, estos días he estado trasteando con las API de Telegram para dotar al router capaz de ejecutar comandos/scripts através del Telegram y buscando por google encontré varias cosas, la 1ª funciona y la 2ª estoy en pruebas, así que les invito a tratar de hacerlo funcionar:


Les envío el comando por si lo quieren usar por SSH o scripts para notificaciones de un router/servidor/Raspi, etc al Telegram.... hay que hacerse un bot en Telegram e instalar el curl en el router/servidor/Raspi:

curl -k -s -X POST https://api.telegram.org/bot[EL TOKEN DEL BOT]/sendMessage -d chat_id=[El Id_chat de tu usuario personal, no del bot] -d parse_mode=Markdown —data-urlencode text="Amigo, amigo, amigo"

(http://i65.tinypic.com/2dtdmqa.jpg)


Ideal para scripts, .....si se activa algo, por ejemplo si se abre una puerta que tenemos su apertura controlada por GPIO, que envíe una notificación al BOT al margen de las otras funciones que le hayamos añadido al propio script.


Para crear un bot, abran en Telegram un privado a este bot: BotFather

Para obtener el ID_Chat de usuario abran un privado a este bot: @get_id_bot          ó accedan a: https://api.telegram.org/bot[EL TOKEN DEL BOT]/getUpdates?offset=0




Buenas, el otro día un compañero me habló de las API de telegram, ....y obviamente, se me despertó la curiosidad para OpenWRT (scripts, GPIO's, etc... envío y recepción en ambos sentidos, el bot desde el router al telegram del móvil como al revés)

Me he creado un bot y estoy empezando a probar, de momento las instrucciones de instalación van bien, me da el id de chat, pero aun no consigo recibir/enviar mensajes y cosas de esas, os dejo el link:

https://github.com/alexwbaule/telegramopenwrt (https://github.com/alexwbaule/telegramopenwrt)


También he visto que por ssh hay info de que mediante JSON se pueden usar los bots de telegram, lo que va através de jq, lo cual no veo en los repositorios.

Lo típico, me gustaría poder ejecutar comandos que funcionen en ambas direcciones: encender un LED, relé, etc...


Saludos a tod@s, ....que mágico es que las cosas nunca tengan fin


======================================= ACLARACIÓN ======================================

Disculpen que haya copiado mis dos mensajes de mis publicaciones en otros hilos, pero eran estrechamente relacionados y este hilo también, si hay avances los pondré sólo en el actual, ....estos son los otros 2:

[Tutorial] Whatsapp desde OpenWrt

Compilar telegram en OpenWRT
Título: Re:Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: edudiNEW en 21-09-2018, 03:03 (Viernes)
Buenas, soy edudi, pero con mi nuevo usuario dado el problema que hubo con la pérdida de usuarios en el FORO:

edudiNEW

Lo publico, ya que creé este post y considero correcto identificarme dadas las 33.000 visitas y las 120 respuestas que tiene.

Ojo, no es algo egocéntrico, es algo que considero importante.

A ver si puedo dedicarle tiempo a algunos flecos que se me han quedado (añadir 1 router que está en esta página o en la anterior, ...)


Un saludo
Título: Re:Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: Tki2000 en 21-09-2018, 07:50 (Viernes)
Buenas, soy edudi, pero con mi nuevo usuario dado el problema que hubo con la pérdida de usuarios en el FORO:

edudiNEW

Lo publico, ya que creé este post y considero correcto identificarme dadas las 33.000 visitas y las 120 respuestas que tiene.

Ojo, no es algo egocéntrico, es algo que considero importante.

A ver si puedo dedicarle tiempo a algunos flecos que se me han quedado (añadir 1 router que está en esta página o en la anterior, ...)


Un saludo

Bienvenido de nuevo.
Esperando que pulas todos los flecos que quieras...  ;D
Título: Re:Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: raphik en 22-09-2018, 21:05 (Sábado)
Buenas, soy edudi, pero con mi nuevo usuario...

Pues bienvenido de nuevo, edudiNEW.

He estado investigando la forma de gestionar los GPIOs mediante una interfaz gráfica en el teléfono móvil. He encontrado una aplicación para android e iOS que funciona con OpenWRT.

https://foro.seguridadwireless.net/openwrt/blynk-openwrt/

Saludos.
Título: Re:Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: antares en 29-10-2018, 12:03 (Lunes)
Esta otra app nos va a permitir tener en OpenWrt los datos de los sensores disponibles en un móvil Android. Se llama SensorUDP.

Para probarlo sin complicarnos en programar vamos a necesitar estos paquetes:
opkg install ncat coreutils-od

Configuramos en el móvil la IP y el puerto donde va a escuchar el ncat, conectamos por wifi al router y le damos a enviar datos.
Lanzamos en el router el servidor ncat y tendremos los valores de los sensores que hemos elegido.
Envía 96 bytes divididos en 12 bytes por sensor divididos en 4 bytes float big endian por valor.

# ncat -w 5 -n -u -l -p 1000 | od --endian=big -f -N96 -v -w12
0000000    -0.028885953     0.017600656    -0.019534111
0000014   -0.0116624525     -0.09689436     -0.99590814
0000030   -0.0030543262     -0.02076942   -0.0033597588
0000044        83.12735       -5.778362     -0.08822329
0000060               0               0        8.646405
0000074               8               0               0
0000110               0               0               0
0000124               0               0               0
0000140
write: Broken pipe

Si solo queremos asignar los lux de luminosidad ambiental a nuestra variable:
#lux=$(ncat -w 5 -n -u -l -p 1000 | od --endian=big -f -j48 -N12 -v -w12 | awk '{print $4}')
write: Broken pipe
# echo $lux
25.348093

En mi móvil tengo sensores de presión barométrica y temperatura pero por alguna razón la app no los manda.
En este enlace hay más información y un programa en Python para leer los sensores.
https://tinyurl.com/y6u79snk

Saludos
Título: Re:Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: raphik en 05-11-2018, 22:06 (Lunes)
Le doy la vuelta al título del post: Raspberry Pi para darle uso como router OpenWrt

https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi

Saludos.
Título: Re:Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: morgan_flint en 17-12-2018, 19:13 (Lunes)
Añado a continuación los GPIOs del P-660HW-61. En el primer post aparece el P-660HW-D1 pero, como puede verse en este hilo (https://foro.seguridadwireless.net/openwrt/(experimento)-zyxel-p660hw-d1-con-openwrt/) hay bastantes diferencias entre ambos, aunque el firmware OpenWRT de danitool parece funcionar en ambos (con posible pérdida del puerto serie según indica Yo_Julio en ese hilo (https://foro.seguridadwireless.net/openwrt/(experimento)-zyxel-p660hw-d1-con-openwrt/msg359504/#msg359504)).

 Para que sea facil de seguir, pongo con letra más gorda al lado de los círculos los GPIO que contienen y dentro de los mismos están los números en un tamaño más pequeño identificando los puntos exactos):

(https://i.imgur.com/ukE1OlL.jpg)

(https://i.imgur.com/rEJIaf9.jpg)

Pongo también a continuación las fotos de antares (https://foro.seguridadwireless.net/openwrt/(experimento)-zyxel-p660hw-d1-con-openwrt/msg365256/#msg365256) (ver también 4 posts más abajo) que me han ayudado a localizarlos, con identificación de los mismos según el pinout del TNETD7300 (https://openwrt.org/_media/media/datasheets/tnetd7300-pinout.png):

(https://i.imgur.com/WLQeGl1.jpg)

(https://i.imgur.com/5Fp4b3s.jpg)

En resumen, están identificados todos, salvo el GPIO 14, que no aparece en el pinout del TNTD7300, y los GPIOS 16, 20, 21 y 25 cuyos pads, según se ve en las fotos anteriores, no están conectados a ninguna pista del PCB. Esto da un total de 20 GPIOs (sin incluir los GPIOs 0 y 1, RX y TX, que no los pongo, ya que están en el puerto serie y utilizados por éste).

Los GPIOs 2, 3, 8 a 13, 15, 17 a 19, 26 y 27 (14 en total) están accesibles en la cara inferior, y los GPIOs 4 a 7, 9, 10, 12, 15, 17, 19 y 22 a 24 (13 en total) están accesibles en la cara superior (algunos en ambas caras y/o más de un sitio). El bus I2C está en los GPIOs 4 y 5.

Evidentemente, puede haber algún error (espero que no...), y alguno no podría utilizarse si ya estuviese siendo utilizado por el firmware para otras cosas, y a lo mejor es necesario levantar algún componente o cortar alguna pista para aislarlos del resto del circuito, pero ahí está la información para el que quiera experimentar.

Supongo también que más de uno llegará a los LEDs, entre otras cosas; yo me he limitado a seguir las pistas hasta un primer punto accesible para soldar de una manera más o menos cómoda (siempre que ha sido posible; algunos nacen y mueren en una via del PCB).

En fin, espero que sea de utilidad. Yo aún no he cargado OpenWRT en el router, pero espero hacerlo en breve (seguiremos informando...).

EDITO: Había un error en los GPIOs 11 y 19. Corregido en las fotos y texto
Título: Re:Routers con GPIO's operativos para darle usos como con la Raspberry Pi
Publicado por: morgan_flint en 19-12-2018, 12:30 (Miércoles)
OJO: En el post anterior había un par de errores en los GPIOs 11 y 19, editado y corregido pero lo indico aquí también para que sea más visible.