Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
24-11-2017, 17:43 (Viernes)
Inicio Ayuda Reglas Buscar Ingresar Registrarse
Noticias:
Liberada wifislax64-1.1 version final para descargar

Videos Downloader




+  Seguridad Wireless - Wifi
|-+  Equipos y materiales
| |-+  Puntos de acceso, routers, switchs y bridges
| | |-+  Openwrt & LEDE (Moderadores: jar229, Noltari, Pteridium, Tki2000)
| | | |-+  Routers con GPIO's operativos para darle usos como con la Raspberry Pi
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: 1 2 3 4 5 [6] 7 Ir Abajo Imprimir
Autor Tema: Routers con GPIO's operativos para darle usos como con la Raspberry Pi  (Leído 20223 veces)
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #100 : 12-07-2016, 21: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
« Última modificación: 13-07-2016, 00:09 (Mi?rcoles) por edudi » En línea
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #101 : 13-07-2016, 00: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




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.
« Última modificación: 13-07-2016, 01:07 (Mi?rcoles) por edudi » En línea
danitool
*******
Conectado Conectado

Mensajes: 593


Ver Perfil
« Respuesta #102 : 13-07-2016, 13: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.
En línea
seny
*****
Desconectado Desconectado

Mensajes: 152


Ver Perfil
« Respuesta #103 : 04-09-2016, 19: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
En línea

┌┴┴┴┴┴┴┐
| .       *  |
└┬┬┬┬┬┬┘
Ficht
*******
Desconectado Desconectado

Mensajes: 505



Ver Perfil
« Respuesta #104 : 04-09-2016, 19: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...
En línea
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #105 : 21-09-2016, 15: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  =-


Vídeo para ver por móviles                          -=  Pincha Aquí para verlo  =-    



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/    ...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.
« Última modificación: 03-10-2016, 13:34 (Lunes) por edudi » En línea
Ficht
*******
Desconectado Desconectado

Mensajes: 505



Ver Perfil
« Respuesta #106 : 22-09-2016, 08: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  =-


Vídeo para ver por móviles "La web lo está procesando, ...en breve... "                                        -=  Pincha Aquí para verlo  =-   



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/    ...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!!  Grin

Enviado desde mi Y635-L01 mediante Tapatalk

En línea
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #107 : 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  =-   




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.
En línea
Ficht
*******
Desconectado Desconectado

Mensajes: 505



Ver Perfil
« Respuesta #108 : 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...
En línea
danitool
*******
Conectado Conectado

Mensajes: 593


Ver Perfil
« Respuesta #109 : 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/


En línea
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #110 : 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)



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




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

- 1º Prueba en caliente del control de una placa pequeña con 8 relés (sale de 3 a 5 €) --> Respuesta 29

- Colocación de conectores en carcasa para un fácil acceso-conección a los GPIO's --> Respuesta 34

- Mera muestra de los valores de voltaje y estados de 1 GPIO como fundamento básico --> Respuesta 44

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

- 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

- 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

- Disposición impresionante de placa pequeña de 8 relés en el interior de la carcasa y con conexiones externas -->   Respuesta 67

- 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

- Relés de estado sólido/bajo consumo (no hacen ruido al cambiar de estado) --> Respuesta 69

- 1º Proyecto funcional y en ámbito profesional (Ficht) --> Respuesta 70

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

- 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

- Usando un conmutador como entrada en un GPIO accionar otro GPIO como salida --> Respuesta 79

- Uso de un conversor de analógico a I2C para transformar datos analógicos en digitales --> Respuesta 81

- Simulación del funcionamiento de un motor paso a paso mediante el uso de los LEDs LAN --> Respuesta 96

- Formas de hacer retardos inferiores a 1 sg (sin y con el uso del SLEEP "que necesitaría extroot") --> Respuestas 98 a 100

- Simulación con LEDs LAN del funcionamiento de un motor paso a paso enviando por parámetros: vueltas, dirección y velocidad -->   Respuesta 101

- Depuración para hacer retardos lo más exactos posibles (usando drivers del kernel) --> Respuesta 102

- Control de un motor paso a paso con el uso de un simple driver de 1 € en Ebay --> Respuesta 105

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



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 !!!
« Última modificación: 07-05-2017, 23:55 (Domingo) por edudi » En línea
eduperez
*****
Desconectado Desconectado

Mensajes: 187


Ver Perfil
« Respuesta #111 : 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.
En línea
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #112 : 08-05-2017, 00: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


- 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



Total de Routers en el listado: 12

Gracias por el aporte !!!
En línea
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #113 : 04-06-2017, 23:17 (Domingo) »

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..



 

Link de la imagen de las impresiones en HD --> 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€)

Un saludo y gracias a todos.


Enlace con los scripts para las pruebas: https://goo.gl/SQaZmz
« Última modificación: 10-07-2017, 02:12 (Lunes) por edudi » En línea
Ficht
*******
Desconectado Desconectado

Mensajes: 505



Ver Perfil
« Respuesta #114 : 05-06-2017, 06: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..





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€)

Un saludo y gracias a todos.


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

Que pasada!! que chulo te ha quedado!!
Enhorabuena.  Angry
En línea
edudi
*****
Desconectado Desconectado

Mensajes: 188


Ver Perfil
« Respuesta #115 : 27-08-2017, 13:36 (Domingo) »

Totalmente de acuerdo en la utilidad de los GPIOs.

GPIOs en el Comtrend AR-5387un

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:
devmem 0x1000009C 64 0x0
de 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
En línea
daskoud
****
Desconectado Desconectado

Mensajes: 53



Ver Perfil
« Respuesta #116 : 28-08-2017, 16: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
En línea
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 1747


Ver Perfil
« Respuesta #117 : 29-08-2017, 07:17 (Martes) »

Totalmente de acuerdo en la utilidad de los GPIOs.

GPIOs en el Comtrend AR-5387un

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:
devmem 0x1000009C 64 0x0
de 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...
En línea

No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
Hacemos pantallas con píxeles casi invisibles, para luego ampliar la letra porque no la vemos... Bonita paradoja...
Creamos analfabetos tecnológicos con una velocidad pasmosa. Todo el mundo "maneja" tecnología, casi nadie sabe lo que tiene entre las manos, pero todo el mundo opina.
El analfabetismo, antes, pasaba desapercibido. Ahora, se transmite por Internet y las redes sociales.
daskoud
****
Desconectado Desconectado

Mensajes: 53



Ver Perfil
« Respuesta #118 : 29-08-2017, 13:29 (Martes) »

Si los tengo instalados, he seguido el tutorial de openwrt 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
En línea
Ficht
*******
Desconectado Desconectado

Mensajes: 505



Ver Perfil
« Respuesta #119 : 29-08-2017, 14: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

En línea
Páginas: 1 2 3 4 5 [6] 7 Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de redes sociales, publicidad y análisis web, quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios
Si continúa navegando consideramos que acepta su uso. OK Más información | Y más
Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines
SMFAds for Free Forums