Tabla de contenido:
Video: Indicador de velocidad de Internet: 4 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Visión general
Este "indicador de velocidad de Internet" le brindará una supervisión casi en tiempo real del uso de su red. Esta información está disponible en la interfaz web de la mayoría de los enrutadores domésticos. Sin embargo, acceder a él requiere que detenga su tarea actual para buscarla.
Quería ver esta información sin tener que interrumpir mi tarea actual, mostrarla en un formato que fuera comprensible con solo un vistazo rápido y obtener la información de una manera que funcione con tantos enrutadores como sea posible, para que otros puedan potencialmente usarlo también.
Como hace las cosas
Me decidí por SNMP (Simple Network Management Protocol) como la forma de obtener la información del enrutador. SNMP se usa ampliamente en equipos de red y si su dispositivo no lo admite de forma predeterminada, se puede usar DDWRT (firmware de enrutador de código abierto) para implementar SNMP.
Para mostrar la información de una manera fácil de entender, utilicé un medidor de un automóvil. Los medidores de automóviles están diseñados para brindarle información sin distraer o confundir, para que el conductor pueda mantener la vista en la carretera. Además, tenía algunos por ahí.
Como esto estaría en mi escritorio, decidí que también haría la luz de fondo RGB porque los accesorios de computadora deberían ser todos RGB. ¿Derecha?
Desafíos
Los medidores que tenía utilizan un actuador Air-Core. Nunca había oído hablar de ellos antes de este proyecto.
De Wikipedia: El medidor de núcleo de aire consta de dos bobinas perpendiculares independientes que rodean una cámara hueca. El eje de una aguja sobresale en la cámara, donde se fija un imán permanente al eje. Cuando la corriente fluye a través de las bobinas perpendiculares, sus campos magnéticos se superponen y el imán queda libre para alinearse con los campos combinados.
No pude encontrar una biblioteca para Arduino que admitiera SNMP en la configuración del administrador. SNMP tiene dos formas principales, agente y administrador. Los agentes responden a la solicitud y los gerentes envían la solicitud a los agentes. Pude hacer funcionar la funcionalidad de administrador modificando la biblioteca Arduino_SNMP creada por 0neblock. Nunca he programado en C ++ más que hacer que los LED parpadeen en un Arduino, así que si hay problemas con la biblioteca SNMP, avíseme e intentaré solucionarlos, por ahora está funcionando.
Además, SNMP no está diseñado para visualización en tiempo real. El uso previsto es para realizar un seguimiento de las estadísticas y detectar interrupciones. Debido a esto, la información en el enrutador solo se actualiza cada 5 segundos (su dispositivo puede variar). Esa es la causa del retraso entre el número de la prueba de velocidad y el movimiento de la aguja.
Paso 1: herramientas y materiales
Necesitaremos 3 puentes en H completos. Los modelos que utilicé son Dual TB6612FNG y Dual L298N.
Cada actuador Air-Core requiere 2 puentes H completos porque las bobinas deben controlarse de forma independiente.
Uno de los medidores que estoy usando tiene una bobina en cortocircuito a tierra con un diodo y una resistencia. No estoy seguro de la ciencia detrás de esto, pero hacerlo le permite girar unos 90 grados con solo una bobina encendida.
Usaré el regulador de 12v a 5v que es parte de la placa L298N que seleccioné para alimentar el ESP32.
Todos los circuitos LED son opcionales, así como los conectores JST. Puede soldar fácilmente los cables directamente al ESP32 y al controlador del motor.
Paso 3: Diseño de código
Configuración de código
Necesitaremos configurar Arduino para poder usar la placa ESP32. Hay una buena guía ubicada aquí que lo guiará a través de la configuración de ESP32 Arduino.
También necesitará la biblioteca Arduino_SNMP que se encuentra aquí.
Para configurar el código, deberá recopilar cierta información.
- IP del enrutador
- Velocidad de carga máxima
- Max Velocidad de descarga
- Tu nombre y contraseña de WiFi
- OID que contiene los recuentos de octetos para "entrada" y "salida" en la interfaz WAN de su enrutador
Existen OID (identificadores de objeto) estándar para la información que queremos. Según el estándar MIB-2 los números que queremos son:
ifInOctets.1.3.6.1.2.1.2.2.1.16. X
ifOutOctets.1.3.6.1.2.1.2.2.1.10. X
Donde X es el número asignado a la interfaz de la que desea obtener las estadísticas. Para mí, ese número es 3. Una forma de confirmar que este es el OID correcto para usted y de identificar qué número de interfaz necesita usar, es usar una herramienta como MIB Browser.
Para obtener velocidades máximas, utilicé SpeedTest.net. una vez que tenga sus velocidades en Mbps, deberá convertirlas en octetos usando esta fórmula.
Octetos por segundo = (Resultado de la prueba de velocidad en Mbps * 1048576) / 8
Función de código
El código envía una solicitud de obtención de SNMP al enrutador. Luego, el enrutador responde con un número, el número representa el recuento de octetos que se han enviado o recibido. Al mismo tiempo, registramos la cantidad de milisegundos que han pasado desde que se inició Arduino.
Una vez que este proceso ha sucedido al menos dos veces, podemos calcular el porcentaje de uso basado en nuestros valores máximos usando este código
percentDown = ((float) (byteDown - byteDownLast) / (float) (maxDown * ((milis () - timeLast) / 1000))) * 100;
Las matemáticas se desglosan así:
octetsDiff = snmp_result - Anterior_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second) / 1000
Porcentaje = (octetsDiff / MaxPosableOverTime) * 100
Ahora que tenemos el porcentaje de uso de la red, solo necesitamos escribirlo en el indicador. Lo hacemos en 2 pasos. Primero usamos la función updateDownloadGauge. En esta función usamos "mapa" para convertir el porcentaje en un número que representa una posición en radianes en el indicador. Luego le damos ese número a la función setMeterPosition para mover la aguja a la nueva posición.
Paso 4: Diseño de la carcasa
Para contener todo, diseñé un gabinete en fusion360 y lo imprimí en 3D. El diseño que hice es relativamente simple. Usé pegamento caliente para sujetar los componentes al interior y el medidor se mantiene en su lugar pellizcándolo entre la cubierta frontal y la contraportada. No es necesario utilizar la impresión 3D para crear la carcasa. Por ejemplo, podría hacer un estuche de madera, o podría volver a poner todo en el estuche original en el que venían los medidores.
Mis archivos STL están disponibles en thingiverse si desea verlos, pero es poco probable que funcionen para usted a menos que obtenga exactamente los mismos calibres que usé.
Archivos de casos:
Gracias por leer. Avíseme si tiene alguna pregunta y haré todo lo posible para responder.
Recomendado:
Registrador de velocidad del viento y radiación solar: 3 pasos (con imágenes)
Registrador de Velocidad del Viento y Radiación Solar: Necesito registrar la velocidad del viento y la potencia de la radiación solar (irradiancia) para poder evaluar cuánta energía se podría extraer con una turbina eólica y / o paneles solares. Mediré durante un año, analizar los datos y luego diseñar un sistema fuera de la red
Construya su propia antena BiQuad 4G con prueba de velocidad: 7 pasos (con imágenes)
Construya su propia antena BiQuad 4G con prueba de velocidad: en este instructivo, voy a mostrarle cómo hice una antena BiQuad 4G. La recepción de la señal es pobre en mi casa debido a las montañas alrededor de mi casa. La torre de señales está a 4,5 km de la casa. En el distrito de Colombo, mi proveedor de servicios ofrece una velocidad de 20 Mbps. pero en m
Pruebe su velocidad de Internet con Raspberry Pi + Ubidots: 9 pasos
Pruebe su velocidad de Internet con Raspberry Pi + Ubidots: Raspberry Pi se ha convertido en un dispositivo ampliamente utilizado no solo para la creación de prototipos y con fines educativos, sino también para proyectos de producción industrial dentro de las empresas. Además del tamaño, el bajo costo y el sistema operativo Linux completamente operativo de Pi, también puede interactuar con
Velocidad de medición en vertedero con sensor de distancia: 4 pasos (con imágenes)
Velocidad de medición en vertedero con sensor de distancia: hicimos un dispositivo que calculaba la velocidad del agua sobre un vertedero. Esto se mide con dos sensores de distancia
Fotografía con flash de alta velocidad: 6 pasos (con imágenes)
Fotografía con flash de alta velocidad: esta es una imagen de un destornillador a mitad de rebote. Después de leer sobre fotografía de alta velocidad en una revista, me inspiré para buscar en mi armario y ver qué se me ocurría. Usé una pantalla de creación casera para disparar el flash mientras mi digital