En utilisant la télécommande IR avec framboise Pi sans LIRC (1 / 1 étapes)

Étape 1: Mise en route

Installation pySerial

  • Pour obtenir le travail de communication série (UART) besoin d’installer le module de la série.

sudo apt-get installer python-serial

Une fois ceci installé Python code peut l’utiliser en faisant Importer serial.

  • Ensuite, besoin de câbler GPIO 14 (TX) et 15 GPIO (RX). Étant donné que mon but est de recevoir l’IR signaux que j’ai câblé uniquement GPIO 15 (RX).
  • Le capteur IR nécessitent 5V et GND de connexion. Ensuite le signal de sortie du capteur IR connecté à 15 GPIO.

Le code Python pour lire le signal IR découvert à être très très simple. Comme suit.

 import serial ser = serial.Serial ("/dev/ttyAMA0") ser.baudrate = 2400 for i in range (0,15): # usually IR signal for a key is about 12-16 bytes data = ser.read(1) # read 1 byte at a time print ord(data) # the data read in character, ord will convert to ASCII value 

Maintenant copiez le code suivant lit signal IR 1 octet à la fois et imprime la valeur.

J’ai essayé les débits en bauds par tâtonnements et s’installa pour 2400 BPS. Si communication série prend en charge jusqu'à 115KBPS elle est intéressant pourquoi IR en utilisant une vitesse plus lente. Ma conjecture est que ce serait plus fiable d’utiliser une vitesse plus faible, puisque moins de possibilité IR lâches 1 ou 2 bits de signaux en direct.

Décoder des clefs à distance IR

Maintenant, l’étape suivante consiste à décoder les valeurs de clés. J’ai utilisé une télécommande Samsung TV IR standard pour cet effort.

Premier point important est de savoir combien d’octets de données pour chaque clé. Il peut varier de 12 à 16 octets. (ceux que j’ai essayé). Longueur en octets est généralement même pour toutes les clés. Ces octets sont octets de l’en-tête, les octets de données (pour identifier la clé) et les octets de queue. Les octets de l’en-tête auront une signature pour le modèle de la télécommande IR. J’ai utilisé une feuille excel pour récupérer les valeurs de clé de données Antzy Carmasaic page suivante

Profonde plongeant dans les valeurs de clés capturées, il montre octet 0-5 se compose d’en-tête, répété pour toutes les clés. Valeurs de données de 6 à 11 octets représentent la valeur de la clé. Il pourrait y avoir certaines valeurs de la queue. Octet 12 est la queue pour le samsung distant.

Mappage de clés

La manière exacte pour cette télécommande consiste à stocker les octets 6-11 dans un tableau et comparez-la avec une nouvelle clé entrante. Au lieu de cela, j’ai fait un algorithme simple comme suit.

KeyIdentity = byte [6] + 2 * octet [7] + 3 * octet [8] + 4 * octet [9] + 5 * octet [10] + 6 * octet [11]

Il donne presque une valeur unique pour chaque clé. Vous pouvez déterminer un algorithme mieux que cela.

J’ai étendu le code Python pour capturer les informations de clé télécommande Samsung. Une fois que j’ai calculé la valeur de clé mappé puis j’ai stocké le programme python lui-même.

Fichier est joint. nom - ir_serial3samsung.py. Samsung distant envoie 2 séries de données. Donc j’ai capturer 24 octets afin de vider les données séries Raspberry Pi capture buffer. Mais j’utilise seul 1er set pour décoder.

Lorsque vous exécutez ce code, il identifie correctement les touches enfoncées. Vous pouvez décoder le reste des touches de la télécommande en regardant la valeur « keyidentity » que le programme imprime. Puis ajouter le programme pour les inclure.

Conclusion

Il s’agit d’un moyen simple et efficace d’utiliser une télécommande avec Raspberry Pi avec Python. Vous avez besoin de comprendre combien nombre total d’octets d’une clé, combien de temps les octets de l’en-tête, octets de données et les octets de queue. Étant donné que vous sauriez de A à Z de ce processus que vous pouvez facilement le modifier pour l’adapter à votre application. Puisqu’il s’agit des codes petit python, il est très facile à déboguer si vous appuyez sur n’importe quel problème.

Articles Liés

DIY Difficulté à utiliser votre télécommande GoPro avec un monopode QuikPod !

DIY Difficulté à utiliser votre télécommande GoPro avec un monopode QuikPod !

QuikPod et GoPro sont un match parfait, mais ce qui si vous ne souhaitez pas utiliser votre télécommande, afin d'avoir plus facilement accès aux commandes ? Votre GoPro clips bien sur, mais il n'y a pas de place pour la télécommande. Voici notre solu
L’utilisation de télécommandes IR avec Arduino (actuels et mis à jour)

L’utilisation de télécommandes IR avec Arduino (actuels et mis à jour)

Je suis fatigué de ces tutoriels de programmation compliquées sur l'utilisation de certaines choses. J'aime simple, facile à comprendre, étape par étape les instructions. Mon plus gros problème était avec IR et de POV. J'ai enfin maîtrisé comment con
En utilisant le Module de commande de l’iRobot Create avec Linux

En utilisant le Module de commande de l’iRobot Create avec Linux

depuis iRobot n'a pas fourni les utilisateurs de linux avec un moyen d'utiliser le module de commande, j'ai dû moi-même le comprendre.Ne soyez pas intimidé, c'est pas difficile du tout, vraiment. Tout que vous devez faire est d'exécuter quelques scri
MediaCenter simple et commande à distance avec une convivialité améliorée

MediaCenter simple et commande à distance avec une convivialité améliorée

Oui, c'est une autre axée sur le bricolage PC Media Center (ou HTPC), mais avec une caractéristique unique : il a sacrément simple à contrôler, donc bien adapté pour les personnes âgées, personnes handicapées, ou simplement paresseux utilisateurs.De
En utilisant le module mini Sim900/sim900A avec Arduino UNO

En utilisant le module mini Sim900/sim900A avec Arduino UNO

Il y a beaucoup de sites qui parlent d'à l'aide d'un bouclier GSM avec un Arduino, en plus de l'IDE Arduino lui-même. Il y a également plusieurs bibliothèques GSM là-bas, ou vous pouvez utiliser commandes AT pour rouler. Je ne pouvais pas en trouver
Comment utiliser SSH avec framboise Pi 2

Comment utiliser SSH avec framboise Pi 2

SSH est l'abréviation de Sfixer SHellSes un protocole réseau crypté qui vous permet d'accéder à la ligne de commande d'un appareil sans fil-ly depuis un terminal distant.Ce que cela signifie pour le pi de framboise, c'est qu'il n'a pas besoin d'être
Verrouiller le fichier/dossier en utilisant le fichier de commandes

Verrouiller le fichier/dossier en utilisant le fichier de commandes

Bonjour maintenant vous pouvez facilement verrouiller votre fichier ou un dossier dans windows sans aucunelogiciel. J'ai créé un fichier batch pour cela. vous pouvez le télécharger ici [taille: 1Mo] [ici je vous demande de téléchargement car il conti
Lumières de télécommande Arduino avec télécommande universelle

Lumières de télécommande Arduino avec télécommande universelle

j'ai se sont penchés en domotique depuis un certain temps, mais n'ont pas commis à lui tout de suite, surtout à cause de l'étiquette de prix. L'année dernière (2010) j'ai acheté ces prise de commande à distance marche/arrêt interrupteurs donc je pour
Utilisez n’importe quel IR distance avec votre arduino

Utilisez n’importe quel IR distance avec votre arduino

Cet Instructable va montrer comment utiliser n'importe quelle télécommande infrarouge avec un Arduino...Etape 1: Obtenir la bibliothèque IRremote ArduinoLa première chose que vous devez faire, c'est obtenir la bibliothèque Arduino IRremote depuis ce
Comment utiliser la télécommande dans le principal système GV-650

Comment utiliser la télécommande dans le principal système GV-650

cet article traite principalement de vous montrer comment utiliser la télécommande IRÂ dans le principal système GV-650.Étape 1 : v étape 1 :Appuyez sur le bouton « Plein écran » dans la télécommande pour passer d'écran normal au mode plein écran Mod
Mon utilisation de Ninzerbean "tissu d’impression avec Citra-Solv"

Mon utilisation de Ninzerbean "tissu d’impression avec Citra-Solv"

j'ai commenté sur le réel instructable car je ne voulais pas créer un autre quand vraiment j'étais commentaires seulement, mais après quelques douteuse flagellation verbale de l'auteur, je vais prendre place une page web distincte juste pour un comme
Bit Banging avec framboise pi pour contrôle I2C avec perl

Bit Banging avec framboise pi pour contrôle I2C avec perl

Première un peu d'histoire généralPour utiliser la plupart de l'I2C pour port parallèle de l'IC avec le Raspberry pi que vous devez être capable de manipuler les données peu sage. Habituellement, cela se fait dans un micro contrôleur, mais avec l'IP,
Système de temps de présence & avec framboise et Phidgets

Système de temps de présence & avec framboise et Phidgets

Dans ce tutoriel, nous allons créer une période facile & système de fréquentation à l'aide d'un Pi de framboise et Phidgets RFID en lecture-écriture.Nous allons utiliser une page web pour afficher l'heure actuelle, et un message de confirmation pour
Sécurité à la maison bricolage et Automation avec framboise Pi 2

Sécurité à la maison bricolage et Automation avec framboise Pi 2

Dans ce instructable je détaillerai mes méthodes pour créer une Home Security entièrement personnalisé et le système d'automatisation.Il s'agit d'un travail en cours, et que je vais ajouter à ce que je vais.Pour l'instant, je vais vous donner une ven