Étape 2: Renifler les codes combiné
Maintenant que votre récepteur est câblé à la Pi, vous pouvez commencer la première phase passionnante de ce projet - le sniff. Ceci implique l’utilisation du script Python ci-joint pour enregistrer le signal transmis par le combiné lorsque vous appuyez sur chaque touche. Le script est très simple, et je recommande fortement de que vous avez un coup d’oeil avant que vous l’exécutez - après tout, le point de ce projet est que vous ne sera pas juste aveuglément exécuter du code de quelqu'un d’autre !
Avant de commencer ce processus, vous aurez besoin pour s’assurer que vous avez les bibliothèques Python nécessaires pour exécuter le script de sniffer. Ils sont répertoriés en haut du script :
Les bibliothèques RPi.GPIO et datetime ont été inclus avec ma distribution de Raspbian, mais j’ai dû installer la bibliothèque matplotlib comme suit :
Cette bibliothèque est un graphe couramment utilisé, traçant la bibliothèque qui est très utile même en dehors de ce projet, donc certainement installer ne peut pas nuire ! Une fois que vos bibliothèques sont à jour, vous êtes prêt à commencer l’enregistrement des données. Voici comment fonctionne le script :
Lorsqu’elle est exécutée (en utilisant la commande « python ReceiveRF.py »), il configure la broche GPIO définie comme une entrée de données (broche 23 par défaut). Il sera ensuite continuellement goûter la goupille et indiquez si elle reçoit un numérique 1 ou 0. Cela se poursuit pendant une durée définie (5 secondes par défaut). Lorsque cette limite est atteinte, le script s’arrêtera à enregistrer des données et va fermer la GPIO entrée. Puis, il effectue un post-traitement peu et parcelles la valeur d’entrée reçue contre la montre. Encore une fois, si vous avez des questions sur ce que fait le script, vous pouvez probablement y répondre vous-même après avoir regardé comment ça marche. J’ai essayé de rendre le code lisible et simple que possible.
Ce que vous devez faire est de regarder dehors pour lorsque le script indique qu’il a ** commencé enregistrement **. Une fois que ce message s’affiche, vous devez appuyez sur et maintenez une des touches du combiné pour une seconde environ. N’oubliez pas de le tenir près du récepteur. Une fois que le script a terminé l’enregistrement, il utilisera matplotlib pour tracer un graphique forme d’onde du signal qu'il a reçu au cours de l’intervalle d’enregistrement. Veuillez noter que si vous êtes connecté à votre Pi en utilisant un client SSH tel que PuTTY, vous devrez également ouvrir un X11 application pour permettre à la forme d’onde à afficher. J’ai utiliser xMing pour cela (et pour d’autres choses comme la télécommande-desktopping dans mon Pi). Pour permettre à l’intrigue à afficher, il suffit de démarrer xMing avant d’exécuter le script et attendre les résultats de comparaître.
Une fois votre fenêtre matplotlib apparaît, la zone d’intérêt au sein de l’intrigue devrait être assez évidente. Vous pouvez utiliser les contrôles au bas de la fenêtre pour effectuer un zoom avant jusqu'à ce que vous êtes en mesure de repérer les hauts et les bas du signal émis par le combiné, la touche est maintenue enfoncée. Voir l’image ci-dessus pour obtenir un exemple d’un code complet. Le signal sera probablement composé de très courtes impulsions séparées par des périodes de temps où aucun signal n’est reçu. Ce bloc de brèves impulsions sera probablement suivi par une période plus longue, où rien n’est reçu, après quoi le modèle répétera. Une fois que vous avez identifié le modèle appartenant à une seule instance de code, prendre une capture d’écran comme ça en haut de cette page et passez à l’étape suivante de l’interpréter.