He tardado algo más que una semana, lo reconozco, incluso lo he dejado de lado durante algunos meses y varias han sido las causas:
El retraso técnico más importante que tuve fué un problema para conseguir hacer login en el Zyxel, la autenticación HTTP me dió mas de un quebradero de cabeza puesto que a este router da igual que le pases el usuario y contraseña bien ya en la primera petición, la ignora totalmente y sólo funciona con una segunda petición. Finalmente he conseguido hacerlo funcionar y me ha servido de patrón para el script del Conceptronic, que utiliza la misma validación.
Por otro lado también han surgido algunos acontecimientos importantes que han interrumpido muchas cosas en mi vida, así como que con una de las tormentas, cayeron varios árboles tirando tendido telefónico y eléctrico; solucionando con ello el resto de mis problemas de conexión (cableado telefónico nuevo excelente, ahora mi ADSL alcanza los 2048 Kbps) y espaciando mucho mi interés en modificar este script, ya que la línea ahora va perfecta. 🙄
Bueno, centrándome en las mejoras incorporadas a esta versión:
- Por un lado como ya comenté en algún post anterior, llegó un momento en el que necesitaba saber cuando la línea perdía conectividad puesto que un técnico podía estar «arreglando» mi conexión. Por ello hice un experimento que va incluído en esta versión. El adslometer puede usar un proxy HTTP de un equipo de la red para enviar una peticion HTTP que envíe un SMS avisando de la desconexión. Es imprescindible que dicho ordenador tenga disponible otra conexión a internet que no sea la propia línea ADSL, ya sea por otra red Wifi, Internet móvil, etc…
- Se ha añadido soporte para el Zyxel 660HW, aunque sólo lo he probado sin sincronizar el router. Faltaría probar bien que lee los valores una vez sincronizado y que es capaz de resincronizar la velocidad cuando sea oportuno.
- Se ha añadido soporte para el Conceptronic C54APRA2+, que lo estoy utilizando ahora mismo puesto que la tormenta de ayer hizo que el SMC7809A-ISP pasase a mejor vida. También falta comprobar que resincronice correctamente la velocidad.
- Se ha añadido una línea al script de configuración para que no se muestren los errores de PHP al interntar conectar si el router está caído. Si teneis algún problema con el script, quereis depurarlo o desarrollar nuevas funcionalidades, debereis comentar esa línea para ver todos los mensajes posibles.
- En los scripts de los plugins del SMC y del Conceptronic hay una constante llamada ADSL_MODE que indica el modo en el que el router debe resincronizar (ADSL normal ó ADSL2+) y varía según la página de cada router. Por defecto los dos resincronizan en modo ADSL normal, si quieres que lo haga en modo ADSL2+ no te olvides de modificarlo.
- He incluído dos scripts (test_router.php y test_sms.php) para poder probar el funcionamiento del script que está configurado sin guardar datos en la base de datos, resulta muy útil para desarrollar nuevos scripts para soportar más routers.
Parte de este empujón final para conseguir hacer funcionar el adslometer con estos routers se lo debo a Gonzalo Díaz que me pidió si podía continuar el desarrollo (un saludo desde aquí 😀 ) y también quisiera dar un especial agradecimiento a Raúl Viveros por enviarme una corrección del script SQL (utilizaba las comillas » en lugar de `) así como que faltaba el paquete php5-mysql en la lista de paquetes necesarios. 😳
Recordad que aun teniendo alguno de estos routers, si el firmware es distinto al que yo uso, la página web del router podría ser diferente y provocar que el adslometer no consiga leer los valores de la conexión, aunque es fácil adaptarlo.
Si teneis cualquier pregunta o problema no dudéis en comentarmelo.
Espero que os resulte útil.
Un saludo.
Descárgalo aquí: adslometer_v0.1.1.tar.gz