Med IR-fjärrkontroll med Raspberry Pi utan LIRC (1 / 1 steg)

Steg 1: Komma igång

Installera pySerial

  • För att få det seriella (UART) kommunikation arbetet måste installera modulen följetong.

sudo lämplig-få installera python-serial

När detta är installerat kan Python kod använda den genom att göra Importera följetong.

  • Sedan behöver tråd GPIO 14 (TX) och GPIO 15 (RX). Eftersom mitt mål är att ta emot IR-signaler jag trådbundna endast GPIO 15 (RX).
  • IR-sensorn kräver 5V & GND anslutning. Utsignal för IR-sensorn kopplas sedan till GPIO 15.

Python-koden att läsa IR-signalen fick reda på att vara mycket mycket enkelt. Enligt följande.

importera följetong
ser = följetong. Serial ("/ dev/ttyAMA0")
ser.BaudRate = 2400

för jag i intervall (0,15): # IR-signal för en nyckel är oftast ca 12-16 bytes
data = ser.read(1) # läsa 1 byte i taget
skriva ut ord(data) # data läsa karaktär, ord konverteras till ASCII-värde

Nu läser denna kod IR-signal 1 byte i taget och skriver ut värdet.

Jag försökte överföringshastigheter genom trial and error och bosatte sig för 2400 BPS. Även om seriell kommunikation stöder upp till 115KBPS är det intressant varför IR med en lägre hastighet. Min gissning är att det skulle vara säkrare att använda lägre hastighet, eftersom mindre möjlighet IR signal lösa 1 eller 2 bitar i etern.

Avkoda IR fjärr nycklar

Nästa steg är nu att avkoda nyckelvärdena. Jag använde en standard Samsung TV IR-fjärr för denna insats.

Första viktiga punkten är att räkna ut hur många byte med data för varje tangent. Det kan variera 12-16 byte. (de jag försökte). Vanligt är byte längden samma för alla nycklar. De byte har huvudet bytes, data-byte (för att identifiera nyckeln) och svans byte. Header-byte kommer att ha en signatur för modellen av IR-fjärr. Jag använde ett excel-blad för att samla viktiga datavärdena efter Antzy Carmasaic sida

Djup Dykning i de fångade nyckelvärdena, det visar byte 0-5 består av rubrik, upprepas för alla nycklar. 6 till 11 data bytevärden representerar nyckel värde. Det kan finnas vissa svans värden. Byte 12 är svans för samsung remote.

Mappning av nycklar

Den exakta vägen för denna avlägsna är att lagra byte 6-11 i en matris och jämföra den med en ny inkommande nyckel. Istället gjorde jag en enkel algoritm som följer.

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

Det ger nästan ett unikt värde för varje nyckel. Du kan räkna ut en bättre algoritm än detta.

Jag utökade Python koden för att fånga Samsung remote nyckelinformation. När jag räknat mappade nyckelvärde sedan lagras jag det själva python programmet.

Fil är bifogad. Name - ir_serial3samsung.py. Samsung remote skickar 2 uppsättningar med data. Så jag fånga capture 24 byte för att spola Raspberry Pi seriella data buffert. Men jag använder bara 1: a att avkoda.

När du kör den här koden identifierar det korrekt tangenterna trycks. Du kan avkoda resten av nycklarna i fjärrkontrollen genom att titta på värdet "keyidentity" som programmet skriver ut. Då tillägga att inkludera dem.

Slutsats

Detta är ett mycket enkelt och effektivt sätt att använda en fjärrkontroll med Raspberry Pi med Python. Du måste räkna hur många byte för en nyckel, hur länge header-byte, data-byte och byte som svans. Eftersom du skulle veta från A till ö av denna process kan du enkelt ändra den för att passa din ansökan. Eftersom dessa är små python koder är det väldigt lätt att felsöka om du träffar någon problem.

Se Steg
Relaterade Ämnen

Setup Raspberry Pi med Diet Pi utan bildskärm och tangentbord

NOOBS kräver en bildskärm, tangentbord och mus, som lägger till ~ $60 (USD) eller mer i kostnad. Men när Wi-Fi fungerar, behövs dessa enheter inte längre. Kanske kommer att DietPi stödja USB till seriell i bilden.Varje gång jag startar ett nytt proje...

Trådlös Multi-Channel Voice-Controlled eluttag med Raspberry Pi

Uppdatera 2/11/2014: Tack till alla som röstade för det här projektet i Raspberry Pi contest!Detta projekt är en kombination av flera skillnaden resurser:Min enda-outlet projektet med Raspberry Pi och Python, ursprungligen inspirerad av användaren wi...

Trådlös jul Light Timer med Raspberry Pi och Python

Uppdatera 1/14/2014: Tack till alla som röstade för det här projektet i hårdvara Hacking Contest! Ser fram emot min nya maker penna.Uppdatering 12/31/2013: Letar du efter en mer avancerad version av detta projekt? Kolla in min nya flerkanaligt röstst...

Att bygga robotar med Raspberry Pi och Python

målet med denna handledning är att hjälpa dig att börja programmering med Python att styra din Arduino robotar med en Raspberry PI. Vi går över grunderna som installation och några enkla exempel att styra din robot från en Python GUI från Raspberry P...

Pan / Tilt ansiktsspårning med raspberry pi

med viss ansträngning har jag funnit att styra två servomotorer för att tillåta en webbkamera för att pan/tilt vid spårning av ett ansikte i realtid med raspberry pi inte så omöjligt som det först verkar. Med vissa försiktiga tweaking och kod optimer...

IBeacon porttelefon med Raspberry Pi och Azure

I slutet av mars gick jag till en hackathon på Universal Studios. Vi skapat ett system där gäster kunde förbifartsleden kö linjen genom att fylla i en serie som skulle leda dem runt landet Ritten är i där den genomsnittliga sluttid var 66% av nuvaran...

Home Automation med Raspberry Pi, Arduino, Domoticz, MySensors.

Hej Fellow beslutsfattare,Detta är min första Instructable på Home Automation. Tanken är att bygga en controller och trådlösa noder för att kontrollera och övervaka.Efter en massa hit och prov med många olika styrenheter som OpenHab, DomotiGa, sedan...

Sakernas Internet med Raspberry Pi - 1

När jag var ny på IOT (Internet Of Things), såg jag att det fanns knappt några tutorials som var tillräckligt enkelt för nybörjare att förstå och prova. Det var antingen till mycket tekniska jargong, eller hårdvaran var alltför komplex.Så nu när jag...

Den Tweeting Intercom: (Dörren Strike) relä övervakning med Raspberry Pi

Detta instructable handlar om uppföljning av reläer med en Raspberry Pi. I det särskilda fallet får vi en titt på en sofistikerad Telegärtner DoorLine Pro intercom som innehar två potentialfria reläer. Normalt de används för att utlösa en elektriska...

Med ett skiftregister med Raspberry Pi

detta instructable kommer att försöka förklara, enkelt uttryckt, vad ett skift register är, och hur du kan använda den med Raspberry Pi för att expandera GPIO porten genom att köra åtta utgångar med bara fyra GPIO portar.Till att börja med, vad är et...

Vem är i kaffebryggaren? Ansiktsigenkänning med Raspberry Pi, OpenCV och Sigfox

IntroduktionHar du någonsin under hur ansiktsigenkänning fungerar? Har du hört talas om Sigfox? Gillar du hallon?I den här guiden kommer vi att utveckla en prototyp med en Raspberry Pi att känna igen ansikten med OpenCV och skicka Id för den igenkänd...

Binär ledde med Raspberry Pi

Detta projekt kommer att växla på/av två LED-lampor med raspberry pi. Kontroll av ljus kan göras av python-koden.Steg 1: Förutsättningar... Raspberry pisladdarTvå lysdioderTvå resistorerAnsluta lysdioder med 3 och 8 stift av hallon b + modell. Jorda...

Lite Banging med Raspberry pi för I2C kontroll med perl

Första lite allmänna bakgrundAtt använda många av I2C till parallellporten IC med Raspberry pi du behöver för att kunna manipulera data lite klokt. Gör oftast du i en micro controller, men med pi finns det mycket mer makt att göra andra saker så när...

Blinkar en lysdiod med raspberry pi

Idag ska jag bokföra hur blinka en led med raspberry pi. Blinkar en LED är en nybörjare uppgift och enkel uppgift.komponenter som krävs:Raspberry pi.2 hane till honkontakter. En 330 omh motstånd.EN LED.En skärbräda.Steg 1: förfarandeHär är pin diagra...

Styra riktning och hastighet av DC-Motor med Raspberry Pi

Detta är en enkel guide när lär dig att styra DC motorer med Raspberry pi. Om raspberrypi - är det en cradit kort storlek liten dator som har generell input/output GPIO stift som används till att kontrollera olika elektroniska apparater, ventilen och...

DIY RTC DS1307 modul och användning med Raspberry Pi

Hej vänner,Efter en hel del forskning kom jag bygga min egen RTC med DS1307.Jag kommer att använda min RTC med Raspberry Pi.Jag skulle ha köpt en modul men det var alldeles för dyrt... så jag bestämde mig att bygga min egen.Kan komma igång.Steg 1: Re...

Dim en lysdiod med raspberry pi 3 och python

Hej! Jag ska visa dig hur man tona ned en lysdiod med Raspberry Pi.Svårighetsgrad: Lätt/nybörjare.Håll ögonen öppna för nästa instructables!Steg 1: Vad behöver vi?Hej! Jag ska visa dig hur man tona ned en lysdiod med Raspberry Pi.Svårighetsgrad: lätt...

RC bil med Raspberry Pi

Detta Instructable är skriven för alla som är intresserade att göra en RC bil från vanliga tillbehör. Många av dessa material kan ersättas med andra som tjänar samma syfte.Erfarenhet krävs:Lödning erfarenhetLaser skärning erfarenhetDremel skärande er...

Media Home center med raspberry pi

Med Raspberry pi och en hdmi/vga display från en gammal stationär bildskärm kan du skapa du egna hem mediacenter. Detta är ett mycket enkelt projekt och kräver minsta nödvändiga kunskaper i programmering/inbäddade systemdesign. Alla komponenter är fr...