Paso 2: Conseguir el ancho de banda del router
La primera foto de arriba muestra la información de ancho de banda de nuestro router. Básicamente la idea de este instructable es mostrar estos datos de ancho de banda desde el puerto WAN de nuestro router en la pantalla OLED. Para ello a Pi tiene que llegar de alguna manera esta información desde el router.
Yo inicialmente pero que tendría que tener el Pi raspar esta información de la página web de routers pero resulta que se puede hacer mucho más eficiente usando SNMP.
Esperemos que su router soporta SNMP o vas a tener que encontrar una manera alternativa de hacer esta parte. Corre de mi router DD-WRT y acceso a la información sólo requiere que SNMP se enciende desde la página servicios del router.
Vamos a hacer un poco de trabajo de línea de comandos ahora para comprobar nuestro acceso a los datos SNMP desde el router. Si tienes una máquina Mac o Linux, usted probablemente puede hacer este directamente, de lo contrario puede SSH en la Raspberry Pi y los comandos de allí.
Instalar usando el snmp: sudo apt-get instalar snmp
Prueba snmp de su enrutador usando: 'snmpwalk - v 1 - c 192.168.0.1 pública'
Para explicar esto, snmpwalk recorre todos los datos de snmp disponibles y mostrársela. '-v 1' significa utilizar la versión 1 del protocolo. '-c público ' significa para mostrar información pública y '192.168.0.1' es la dirección ip de mi router.
También se puede utilizar ' snmpwalk - v 1 - c 192.168.0.1 público | menos si necesita mostrar una página de información en un momento. Tuve que hacerlo para avanzar en las páginas de valores snmp para encontrar el número de la conexión WAN.
De toda esta información nos basta obtener los bytes totales en y los bytes totales hacia fuera del puerto que nos interesa (la frambuesa Pi programa más tarde restaremos los bytes total anteriores de los actuales bytes totales para calcular la tarifa de datos cada vez que actualiza la pantalla). Para mi router este utilizaba el oid (identificador de objeto) '1.3.6.1.2.1.2.2.1.10.1' para los bytes total hacia el interior en el puerto WAN y '1.3.6.1.2.1.2.2.1.16.1' para los bytes total hacia fuera en el puerto WAN. Si tienes suerte de que éstos será el mismo para su router de lo contrario puede tener a hacer un poco de investigar para saber que específica oid necesita.
Romper esto un poco más el oid básicamente tiene dos partes. El '1.3.6.1.2.1.2.2.1.10' sin final '1' es para los bytes totales en una interfaz y el '1' al final es el número para la interfaz. '1.3.6.1.2.1.2.2.1.16' es para los bytes - con el mismo '1' para la misma interfaz en el extremo.
Se puede ver en la primera foto que el nombre interno para el puerto WAN es ppp0. Usando snmpwalk como se muestra en la segunda imagen se puede deducir que el número de interfaz para ppp0 es 1.
Podemos comprobarlo mediante la emisión de: snmpget - v 1 - c 192.168.0.1 pública 1.3.6.1.2.1.2.2.1.10.1
Esto conseguirá sólo la información de snmp para este oid. Si utiliza la flecha hacia arriba después de cada comando puede ejecutar este comando varias veces y obtener una indicación de si éste es el número que está después de que muestra los bytes total en el puerto necesario.
No se preocupe demasiado si usted no está seguro de si esto es el oid correcto, podemos fácilmente cambiar esto en el código cuando se ejecuta el programa de monitor de ancho de banda.
Armado con esto podemos utilizar esta información para escribir un script en Python para mostrar el ancho de banda.