IR afstandsbediening met Raspberry Pi zonder LIRC (1 / 1 stap)

Stap 1: Aan de slag

Installeren van pySerial

  • Om de seriële (UART) communicatie werken moet om de seriële module te installeren.

sudo ad rem-worden installeren python-serial

Nadat dit is geïnstalleerd kunt Python code gebruiken door het doen van seriële importeren.

  • Vervolgens moet draad GPIO 14 (TX) en GPIO 15 (RX). Aangezien mijn doel is om te ontvangen signalen de IR dat ik bedraad alleen GPIO 15 (RX).
  • De IR-sensor vereisen 5V en GND verbinding. Dan uitgangssignaal van IR-sensor aangesloten op GPIO 15.

De Python code om te lezen het IR signaal ontdekt als heel erg eenvoudig. Als volgt.

 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 

Deze code zal nu IR signaal 1 byte lezen op een tijdstip en prenten uit de waarde.

Ik probeerde de baud-rates door trial and error en neergestreken voor 2400 BPS. Hoewel seriële communicatie ondersteunen tot 115KBPS is het interessant waarom IR met een lagere snelheid. Mijn gok is dat het zou betrouwbaarder te gebruiken lagere snelheid, omdat minder mogelijkheid IR losse 1 of 2 bits signaal via de ether.

Decoderen IR externe sleutels

Nu is de volgende stap om te decoderen van de sleutelwaarden. Ik gebruikte een standaard Samsung TV IR externe voor deze inspanning.

Eerste belangrijke punt is om erachter te komen hoeveel bytes aan gegevens voor elke sleutel. 12-16 bytes kan variëren. (degene die ik heb geprobeerd). Bytelengte is gewoonlijk dezelfde voor alle sleutels. Die bytes zijn kop bytes, gegevensbytes (aan de sleutel kan identificeren) en staart bytes. De bytes van de header zal hebben een handtekening voor het model van de externe IR. Ik een blad van het excel gebruikt voor het verzamelen van de waarden van de kerngegevens na Antzy Carmasaic pagina

Diep duiken in de vastgelegde sleutelwaarden, blijkt byte 0-5 bestaat uit een kop, herhaald voor alle sleutels. 6 tot en met 11 gegevens bytewaarden vertegenwoordigen de sleutelwaarde. Er zou sommige waarden van de staart. Byte 12 is staart voor de samsung externe.

Toetsen toewijzen

De exacte manier voor deze afstandsbediening is te slaan bytes 6-11 in een array en vergelijk het met een nieuwe binnenkomende sleutel. In plaats daarvan, ik heb een eenvoudig algoritme als volgt.

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

Het geeft bijna een unieke waarde voor elke sleutel. U kunt een betere algoritme dan dit uitzoeken.

Ik uitgebreid de Python code om vast te leggen van Samsung externe kerngegevens. Zodra ik toegewezen sleutelwaarde berekend dan ik opgeslagen het python programma zelf.

Bestand is gekoppeld. naam - ir_serial3samsung.py. Samsung externe stuurt 2 sets van gegevens. Dus ik vangen vangen 24 bytes om te spoelen van de Raspberry Pi seriële data buffer. Maar ik gebruik alleen 1e instellen om te decoderen.

Wanneer u deze code uitvoert identificeert het correct de toetsen die worden ingedrukt. U kunt de rest van de sleutels in de afstandsbediening decoderen door te kijken van de waarde "keyidentity", dat het programma wordt afgedrukt. Klik toevoegen om hen te nemen.

Conclusie

Dit is een zeer eenvoudige en effectieve manier om een afstandsbediening gebruiken met Raspberry Pi met Python. U wilt berekenen hoeveel het totale aantal bytes voor een sleutel, hoe lang de bytes van de header, gegevensbytes en staart bytes. Aangezien u van A tot Z van dit proces dat kunt u eenvoudig aanpassen aan uw toepassing weten zou. Omdat dit kleine python codes zijn is het zeer gemakkelijk om te debuggen als je enig probleem.

Gerelateerde Artikelen

Afstandsbediening met Raspberry Pi en Phidget WebService

Afstandsbediening met Raspberry Pi en Phidget WebService

Schakel uw framboos controle estafette, leidde, sensor en digitale ingang op afstand met Phidget WebService. "De Phidget WebService is een achtergrond proces dat alle evenementen en data van een USB-Phidget-via het netwerk uitzendingen: het maakt geb
Maak uw telefoon/tablet/desktop een afstandsbediening met een Raspberry Pi

Maak uw telefoon/tablet/desktop een afstandsbediening met een Raspberry Pi

Ik heb mijn netwerken en audio/video apparatuur in een kabelbehuizing. Sommige apparatuur zoals de satellietontvangers beschikken over RF afstandsbediening. Maar de meeste apparatuur heeft infrarood afstandsbediening. Dit Instructable zal tonen hoe t
Raspberry Pi met voeding Pi zonder Monitor of toetsenbord Setup

Raspberry Pi met voeding Pi zonder Monitor of toetsenbord Setup

NOOBS vereist een monitor, toetsenbord en muis, die voegt ~ 60 dollar (USD) of meer in kosten. Echter zodra Wi-Fi werkt, zijn deze apparaten niet langer nodig. Misschien, zal DietPi ondersteuning voor USB naar seriële in de afbeelding.Elke keer als i
Draadloze kerst lichttimer met Raspberry Pi en Python

Draadloze kerst lichttimer met Raspberry Pi en Python

1/14/2014 Update: dank aan iedereen die gestemd voor dit project in de Hardware Hacking wedstrijd! Benieuwd naar mijn nieuwe maker-pen.Update 12/31/2013: op zoek naar een meer geavanceerde versie van dit project? Check out mijn nieuwe multi-kanaals s
Draadloze Multi-Channel Voice-Controlled stopcontacten met Raspberry Pi

Draadloze Multi-Channel Voice-Controlled stopcontacten met Raspberry Pi

Update van 2/11/2014: dank aan iedereen die gestemd voor dit project in de Raspberry Pi-wedstrijd!Dit project is een combinatie van verschillende middelen van het verschil:Mijn single-outlet-vergrendelingsbeheerproject met Raspberry Pi en Python, oor
Internet van dingen met Raspberry Pi - 1

Internet van dingen met Raspberry Pi - 1

Toen ik was nieuw voor IOT (Internet van dingen), zag ik dat er nauwelijks tutorials die eenvoudig genoeg voor een beginner om te begrijpen en waren waren uit te proberen. Er was ofwel te veel technisch jargon, of de hardware te ingewikkeld was.Dus n
Bouwen van robots met Raspberry Pi en Python

Bouwen van robots met Raspberry Pi en Python

het doel van deze tutorial is zodat u kunt beginnen met programmeren met Python om te controleren uw robots van de Arduino met een Raspberry PI. We gaan over de basics zoals installatie en enkele eenvoudige voorbeelden om te controleren uw robot van
How to turn een USB-camera met Raspberry Pi in een Onvif IP Camera?

How to turn een USB-camera met Raspberry Pi in een Onvif IP Camera?

IntroductieDit instructable, zullen we een nieuwe interessante Camera oplossing, die nooit eerder hebben gezien! Ik zou willen tonen u hoe u verbinding kunt maken uw USB-camera en de Raspberry Pi met Camera SDK. Het doel is om te zetten uw webcam aan
Wees gewaarschuwd wanneer jongen terug van school (met een baken, zonder programmering is)

Wees gewaarschuwd wanneer jongen terug van school (met een baken, zonder programmering is)

iBeacons zijn blutooth apparaten die zenden hun informatie (positie...) dus dat bewust bluetooth-apparaten (zoals smartphones, Raspberry Pi...) zijn in staat om speurder zij en hun informatie te krijgen.In de tas van uw kind zetten en laten we trigge
Afstandsbediening uw Raspberry Pi

Afstandsbediening uw Raspberry Pi

De meeste artikelen die bespreken inloggen op je Raspberry Pi op afstand gebruiken xrdp om sessies van extern bureaublad te maken in uw Raspberry Pi. Dit is vaak een goede oplossing, en werkt zelfs als u niet over een fysieke monitor aangesloten op j
Domotica met Raspberry Pi, Arduino, Domoticz, MySensors.

Domotica met Raspberry Pi, Arduino, Domoticz, MySensors.

Hallo collega-makers,Dit is mijn eerste Instructable op Home Automation. Het idee is het bouwen van een controller en draadloze knooppunten controle en monitor.Na een heleboel hit en proef met veel verschillende controllers zoals OpenHab, DomotiGa, g
Bouwen van een transistor printplaat voor controlerende airconditioner afstandsbediening met Arduino

Bouwen van een transistor printplaat voor controlerende airconditioner afstandsbediening met Arduino

ik was ter ondersteuning van een groep studenten op hun afstudeerproject. Een van de moeilijkheden die zij was over de beheersing van een airco-unit met Arduino microcontroller.Het eerste experiment dat we geprobeerd aan het trainen was door record l
Home automation met raspberry pi met behulp van ROR

Home automation met raspberry pi met behulp van ROR

Het doel van dit project naar huis bedieningsorgaan zoals lamp, ventilator, TV, gebruik van uw bestaande slimme telefoon enz.Wat is nodig1-raspberry pi 28 GB, klasse 10 micro sdcard1 USB wi-fi adapter1 USB power adapter 5V1 USB-voedingskabel8 kanaals
4 manieren om verbinding maken met een draad zonder solderen

4 manieren om verbinding maken met een draad zonder solderen

In dit Instructable ik leert u vier manieren om een draad zonder solderen. Solderen kan lastig en het verwarmt de ruimte in beslag, dus waarom niet gewoon overslaan volledig als u kunt? Een ander vervelend ding over solderen is dat het duurt een tijd