Étape 2: Obtenir la bande passante du routeur
La première photo ci-dessus montre les informations de la bande passante de notre routeur. Fondamentalement, l’idée de cette instructable doit montrer ces données de bande passante du port WAN de notre routeur sur l’écran OLED. Pour ce faire à Pi doit obtenir en quelque sorte cette information au routeur.
J’ai au départ mais que je dois avoir la Pi gratter cette information depuis la page web de routeurs, mais il s’avère qu’il peut être fait beaucoup plus efficacement à l’aide de SNMP.
J’espère que votre routeur prend en charge SNMP ou vous allez devoir trouver une autre façon de faire de cette partie. Mon routeur exécute DD-WRT et accéder à l’information juste nécessaire que SNMP être réactivé à la page Services du routeur.
Nous allons faire un peu de travail de ligne de commande maintenant pour vérifier notre accès aux données SNMP du routeur. Si vous avez une machine Mac ou Linux, vous pouvez probablement faire ce directement, sinon vous pouvez SSH dans le Pi de framboise et d’émettre les commandes a partir de là.
Installer à l’aide de snmp : sudo apt-get installer snmp
Snmp à partir de votre routeur à l’aide d’essai: « snmpwalk - v - 1C 192.168.0.1 public »
Pour expliquer cela, snmpwalk va marcher à travers toutes les données disponibles snmp et vous le montrer. '-v 1' signifie d’utiliser la version 1 du protocole. «-c public' moyens de montrer l’information du public et « 192.168.0.1 » sont l’adresse ip de mon routeur.
Vous pouvez également utiliser ' snmpwalk - v - 1C 192.168.0.1 public | des prix si vous devez afficher une page d’information à la fois. Je devais faire ça pour faire défiler les pages de valeurs snmp pour trouver le numéro de la connexion WAN.
De toutes ces informations, nous avons juste besoin d’obtenir le total boui dans et le nombre total d’octets sur du port qui nous intéresse (le Raspberry Pi programme retire par la suite le nombre total d’octets précédent de l’actuel total d’octets à travailler sur le débit de données chaque fois qu’il met à jour l’écran). Pour mon routeur, il utilisait l’oid (identificateur d’objet) « 1.3.6.1.2.1.2.2.1.10.1 » pour le nombre total d’octets vers l’intérieur sur le port WAN et « 1.3.6.1.2.1.2.2.1.16.1 » pour le nombre total d’octets vers l’extérieur sur le port WAN. Si vous êtes chanceux, que ce sera la même pour votre routeur, sinon vous devrez faire un peu d’enquêter pour savoir à qui vous aurez besoin d’oid spécifique.
Cela briser un peu plus loin l’oid fondamentalement comprend deux parties. Le « 1.3.6.1.2.1.2.2.1.10 » la partie sans la fuite « 1 » est pour le nombre total d’octets dans une interface et le « 1 » à la fin est le numéro de l’interface. « 1.3.6.1.2.1.2.2.1.16 » est pour les octets - avec la même « 1 » pour la même interface sur la fin.
Dans la première photo ci-dessus, vous pouvez voir que le nom interne pour le port WAN est ppp0. À l’aide de snmpwalk comme indiqué dans la deuxième photo vous pouvez déduire que le nombre d’interface pour ppp0 est 1.
Nous pouvons tester cela en publiant : snmpget - v - 1C 192.168.0.1 public 1.3.6.1.2.1.2.2.1.10.1
Ceci obtiendra seulement les informations snmp pour cet oid. Si vous utilisez la flèche vers le haut après que chaque commande, vous pouvez tapez cette commande plusieurs fois et obtenir une indication si c’est le nombre que vous êtes après, qui montre le nombre total d’octets sur le port requis.
Ne vous inquiétez pas trop beaucoup si vous n’êtes pas certain si c’est l’oid correct, nous pouvons facilement changer cela dans le code lorsque vous exécutez le programme moniteur de bande passante.
Armé avec cela, nous pouvons utiliser ces informations pour écrire un script Python pour afficher la bande passante.