Table des matières:
Vidéo: Jauge de vitesse Internet : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Aperçu
Cette "jauge de vitesse Internet" vous donnera une surveillance en temps quasi réel de votre utilisation du réseau. Ces informations sont disponibles sur l'interface Web de la plupart des routeurs domestiques. Cependant, pour y accéder, vous devez arrêter votre tâche en cours pour la rechercher.
Je voulais afficher ces informations sans avoir à interrompre ma tâche en cours, les afficher dans un format compréhensible d'un simple coup d'œil et obtenir les informations d'une manière qui fonctionnerait avec autant de routeurs que possible, afin que d'autres puissent l'utiliser aussi potentiellement.
Comment ça fait les choses
J'ai opté pour SNMP (Simple Network Management Protocol) comme moyen d'obtenir les informations du routeur. SNMP est largement utilisé dans les équipements réseau et si votre appareil ne le prend pas en charge par défaut, DDWRT (micrologiciel de routeur open source) peut être utilisé pour implémenter SNMP.
Pour afficher les informations d'une manière facile à comprendre, j'ai utilisé une jauge d'une voiture. Les jauges automobiles sont conçues pour vous donner des informations sans être distrayantes ou déroutantes, afin que le conducteur puisse garder les yeux sur la route. De plus, j'en ai eu un peu à traîner.
Comme ce serait sur mon bureau, j'ai décidé de faire également le rétro-éclairage RVB car les accessoires informatiques devraient tous être RVB. Droit?
Défis
Les jauges que j'avais utilisent un actionneur Air-Core. Je n'en avais jamais entendu parler avant ce projet.
De Wikipédia: La jauge à noyau d'air se compose de deux bobines perpendiculaires indépendantes entourant une chambre creuse. Une tige d'aiguille fait saillie dans la chambre, où un aimant permanent est fixé à la tige. Lorsque le courant traverse les bobines perpendiculaires, leurs champs magnétiques se superposent et l'aimant est libre de s'aligner avec les champs combinés.
Je n'ai pas pu trouver de bibliothèque pour Arduino prenant en charge SNMP dans la configuration du gestionnaire. SNMP a deux formes principales, agent et gestionnaire. Les agents répondent à la demande et les gestionnaires envoient la demande aux agents. J'ai pu faire fonctionner la fonctionnalité du gestionnaire en modifiant la bibliothèque Arduino_SNMP créée par 0neblock. Je n'ai jamais programmé en C++ autre que de faire clignoter les LED sur un Arduino, donc s'il y a des problèmes avec la bibliothèque SNMP, faites-le moi savoir et j'essaierai de les réparer, pour l'instant cela fonctionne cependant.
De plus, SNMP n'est pas conçu pour une visualisation en temps réel. L'utilisation prévue est le suivi des statistiques et la détection des pannes. Pour cette raison, les informations sur le routeur ne sont mises à jour que toutes les 5 secondes environ (votre appareil peut varier). C'est la cause du délai entre le nombre sur le test de vitesse et le déplacement de l'aiguille.
Étape 1: Outils et matériaux
Nous aurons besoin de 3 ponts en H complets. Les modèles que j'ai utilisés sont Dual TB6612FNG et Dual L298N.
Chaque actionneur Air-Core nécessite 2 ponts en H complets car les bobines doivent être contrôlées indépendamment.
L'une des jauges que j'utilise a une bobine court-circuitée à la terre avec une diode et une résistance. Je ne suis pas sûr de la science derrière cela, mais cela lui permet de tourner à environ 90 degrés avec une seule bobine alimentée.
J'utiliserai le régulateur 12v à 5v qui fait partie de la carte L298N que j'ai sélectionnée pour alimenter l'ESP32.
Tous les circuits LED sont optionnels, ainsi que les connecteurs JST. Vous pouvez facilement souder les fils directement à l'ESP32 et au pilote de moteur.
Étape 3: Conception de code
Configuration du code
Nous devrons configurer Arduino pour pouvoir utiliser la carte ESP32. Il y a un bon guide situé ici qui vous guidera à travers la configuration ESP32 Arduino.
Vous aurez également besoin de la bibliothèque Arduino_SNMP située ici.
Pour configurer le code, vous devrez collecter certaines informations.
- IP du routeur
- Vitesse de téléchargement maximale
- Vitesse de téléchargement maximale
- Votre nom et mot de passe WiFi
- OID qui contient le nombre d'octets pour "in" et "out" sur l'interface WAN de vos routeurs
Il existe des OID (Object Identifiers) standard pour les informations que nous voulons. Selon la norme MIB-2 les nombres que nous voulons sont:
ifInOctets.1.3.6.1.2.1.2.2.1.16. X
ifOutOctets.1.3.6.1.1.2.1.2.2.1.10. X
Où X est le numéro attribué à l'interface à partir de laquelle vous souhaitez obtenir les statistiques. Pour moi, ce nombre est 3. Une façon de confirmer qu'il s'agit du bon OID pour vous et d'identifier le numéro d'interface que vous devez utiliser consiste à utiliser un outil tel que MIB Browser.
Pour obtenir des vitesses maximales, j'ai utilisé SpeedTest.net. une fois que vous avez vos vitesses en Mbps, vous devrez les convertir en octets en utilisant cette formule.
Octets par seconde = (Résultat du test de vitesse en Mbps * 1048576) / 8
Fonction de code
Le code envoie une demande d'obtention SNMP au routeur. Le routeur répond alors avec un nombre, le nombre représente le nombre d'octets qui ont été envoyés ou reçus. Dans le même temps, nous enregistrons le nombre de millisecondes écoulées depuis le démarrage de l'Arduino.
Une fois que ce processus s'est produit au moins deux fois, nous pouvons calculer le pourcentage d'utilisation en fonction de nos valeurs maximales à l'aide de ce code
percentDown = ((float)(byteDown - byteDownLast)/(float)(maxDown*((millis() - timeLast)/1000)))) * 100;
Le calcul se décompose ainsi:
octetsDiff = snmp_result - Précédent_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second)/1000
Pourcentage = (octetsDiff / MaxPosableOverTime) * 100
Maintenant que nous avons le pourcentage d'utilisation du réseau, il nous suffit de l'écrire dans la jauge. Nous le faisons en 2 étapes. Nous utilisons d'abord la fonction updateDownloadGauge. Dans cette fonction, nous utilisons « map » pour convertir le pourcentage en un nombre qui représente une position en radian sur la jauge. Ensuite, nous donnons ce numéro à la fonction setMeterPosition pour déplacer l'aiguille vers la nouvelle position.
Étape 4: Conception du boîtier
Pour tout contenir, j'ai conçu un boîtier en fusion360 et je l'ai imprimé en 3D. Le design que j'ai fait est relativement simple. J'ai utilisé de la colle chaude pour fixer les composants à l'intérieur et la jauge est maintenue en place en étant pincée entre le capot avant et le capot arrière. Vous n'avez pas besoin d'utiliser l'impression 3D pour créer le boîtier. Par exemple, vous pouvez fabriquer un étui en bois ou tout remettre dans l'étui d'origine dans lequel les jauges sont arrivées.
Mes fichiers STL sont disponibles sur thingiverse si vous souhaitez les consulter, mais il est peu probable qu'ils fonctionnent pour vous à moins que vous n'obteniez exactement les mêmes jauges que celles que j'ai utilisées.
Dossiers:
Merci d'avoir lu. Faites-moi savoir si vous avez des questions et je ferai de mon mieux pour y répondre.
Conseillé:
Compteur de vitesse Internet : 9 étapes (avec photos)
Compteur de vitesse Internet : avec le verrouillage complet en cours en Inde, tout, y compris les services de messagerie, a été fermé. Pas de nouveaux projets PCB, pas de nouveaux composants, rien ! Alors pour surmonter l'ennui et pour m'occuper, j'ai décidé de faire quelque chose à partir des pièces que j'ai alr
Construisez votre propre antenne BiQuad 4G avec test de vitesse : 7 étapes (avec photos)
Construisez votre propre antenne BiQuad 4G avec test de vitesse : dans ce instructable, je vais vous montrer comment j'ai fait une antenne BiQuad 4G. La réception du signal est mauvaise chez moi en raison des montagnes autour de ma maison. La tour de signalisation est à 4,5 km de la maison. Dans le district de Colombo, mon fournisseur de services donne une vitesse de 20 Mbps. mais à m
Capteur/jauge de température du moteur avec sonde sans fil pour véhicules classiques : 7 étapes
Capteur/jauge de température du moteur avec sonde sans fil pour véhicules classiques : j'ai fabriqué cette sonde pour mon adorable Çipitak. Une voiture fiat 126 avec un moteur 2 cylindres refroidi par air sous le capot arrière. Çipitak n'a pas de jauge de température indiquant à quel point le moteur est chaud, j'ai donc pensé qu'un capteur serait utile. Je voulais également que le capteur soit filaire
Vitesse de mesure au déversoir avec capteur de distance : 4 étapes (avec photos)
Mesure de la vitesse au déversoir avec capteur de distance : Nous avons fabriqué un appareil qui calcule la vitesse de l'eau sur un déversoir. Ceci est mesuré par deux capteurs de distance
Faire une jauge de hauteur numérique portable. Fabriqué dans TechShop Detroit. : 3 étapes (avec photos)
Faire une jauge de hauteur numérique portable. Fabriqué à TechShop Detroit. : Contexte : De nos jours, les compas numériques sont très bon marché et font partie des outils quotidiens des fabricants pour concevoir des objets. Il est également très portable. Occasionnellement, nous aurions besoin d'utiliser une jauge de hauteur numérique. J'ai récemment créé 2 par hémisphériques