Spørgsmål:
Brug af Raspberry Pi til at styre min vekselstrøm via infrarød
Ram Rachum
2012-10-01 22:34:18 UTC
view on stackexchange narkive permalink

Når jeg er på vej hjem fra et eller andet sted, vil jeg være i stand til at tænde min vekselstrøm et par minutter, før jeg ankommer til min lejlighed, sandsynligvis ved at bruge min telefon til at oprette forbindelse til min Raspberry Pi på mit skrivebord, som vil igen styre AC. AC kan styres ved hjælp af en infrarød fjernbetjening. Jeg vil have, at Raspberry Pi udsender det nødvendige signal.

Hvad skal jeg købe til Raspberry Pi, så det kan sende det nødvendige signal? Jeg har også brug for noget, der giver mig mulighed for at prøve signalet sendt af den originale fjernbetjening, så jeg kunne fortælle Raspberry Pi, hvilket signal der skal sendes. Hvordan gør jeg det?

Bemærk, at det eneste programmeringssprog, jeg ved, hvordan man bruger, er Python. Hvis noget kræver programmering i C eller noget, er det ikke en god løsning for mig.

Fire svar:
Alex Bain
2013-01-12 22:16:13 UTC
view on stackexchange narkive permalink

Som nævnt ovenfor er LIRC en fantastisk softwarepakke til at få din RaspberryPi til at sende og modtage IR-signaler. Fra december 2012 inkluderer det nyeste Raspbian OS nu ar0ns LIRC-driver.

Jeg skrev en vejledning for at få LIRC installeret og konfigureret på din RaspberryPi (fra hardware og op), da jeg selv skulle løse dette samme problem. Når du har fået LIRC installeret og arbejder på RaspberryPi, kan du bruge nogle af de inkluderede applikationer til at sende og modtage IR-kommandoer fra Python / Ruby / dit valgte sprog.

http: // alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/

I dag skrev jeg et nyt blogindlæg, der beskriver skematisk (og dele, jeg købte) til at opbygge en RaspberryPi IR-modtager. http://alexba.in/blog/2013/03/09/raspberrypi-ir-schematic-for-lirc/
ikku
2012-10-01 22:49:00 UTC
view on stackexchange narkive permalink

Der er nogen, der allerede har skrevet en LIRC-kernedriver til Raspberry Pi, den kan findes her: LIRC Raspberry Pi-driver. Også den nødvendige hardware- og forbindelsesskema kan findes på denne side.

Jeg har ikke selv eksperimenteret med LIRC, men der er mange applikationer til rådighed, der bruger LIRC, jeg antager, at de nu alle arbejder på Raspberry Pi .

Hvis du ønsker / har brug for, kan jeg dykke ned i dette emne lidt dybere og komme med nogle yderligere oplysninger.

For Python-delen er der et Python-modul, der skal interagere med LIRC, kaldet pyLirc og en nyere vedligeholdt version kaldet pyLirc2

Tak for svaret, men siden mistede mig ved "Kompilér kernen igen" :) Er der ikke noget, der er mere plug-n-play?
Indtil denne chauffør finder vej ind i en distro, er jeg bange for, at det er den eneste mulighed for LIRC at arbejde. Men der er et GPIO-modul til python, da du er en Python-programmør, kan du oprette din egen Python-kode til at gøre præcis, hvad du vil, ved kun at bruge den hardware, der vises på den linkede side. Du skal læse, hvilken IR-sekvens AC-fjernbetjeningen sender, og afspille den igen. Det skulle være muligt at bruge dette Python GPIO-modul.
min kommentar '... Jeg er bange for, at det er den eneste mulighed for LIRC at arbejde ...' er kun gyldig inden for GPIO-sammenhæng. Serielle / USB osv. Enheder skal fungere uden problemer.
Nagasaki45
2013-06-04 00:24:00 UTC
view on stackexchange narkive permalink

Jeg har fundet LIRC som en relativt nem måde at sende IR-meddelelser på, men jeg ville virkelig være i stand til at kontrollere LIRC fra java. Jeg kan godt lide at programmere i java og fandt ingen ligetil tutorial til python for at overbevise mig om at arbejde med det i stedet for java. Efter flere timers forsøg på at sende IR-koder fra pi ved hjælp af java fandt jeg den næste løsning til at være relativt enkel: et bash-script, der indeholder meddelelsen irsend og beder java om at køre den.

Eksempel:

toggleLight.sh

  #! / bin / bashirsend SEND_ONCE HyundaiFan lightOnOff  

RunBash.java

  public class RunBash {public static final ugyldigt main (String args []) {String cmd = "../toggleLight.sh"; prøv {Runtime runtime = Runtime.getRuntime (); Process proces = runtime.exec (ny streng [] {"/ bin / bash", "-c", cmd}); int exitValue = process.waitFor (); System.out.println ("exit værdi:" + exitValue); } fange (Undtagelse e) {e.printStackTrace (); }}}  

Du formoder, at du får exit-værdi: 0 . Hvis din exitværdi er 127, betyder det, at bash-scriptet ikke blev fundet af java.

Nogle flere noter:

  • Jeg har prøvede jlirc og lircj - java-indpakninger til LIRC men var ikke i stand til at konfigurere dem korrekt -> fungerer ikke.
  • Den eneste ulempe ved denne løsning er, at du ikke kan lytte efter IR-beskeder. Hvis nogen har nogen idé om at bruge en lignende metode til at lytte efter IR-beskeder, vil jeg gerne vide det.

Nyttige ressourcer:

  • Følg instruktionerne til Alex Bain for opsætning af LIRC til pi. De er rigtig gode! Man kan finde flere oplysninger om irsend her. Det gør det meget tydeligere at liste dine fjernbetjeninger.
  • Her kan du finde flere oplysninger til kørsel af bash-scripts fra java.

Håber det hjælper , Tom

XTL
2012-10-03 12:10:48 UTC
view on stackexchange narkive permalink

Jeg har altid fundet LIRC mere ubehageligt projekt at håndtere end det synes nødvendigt, ligesom lm-sensorer.

Så jeg vil se på dette måske på en lidt mere rundkørsel: hvis du kunne få en mikrokontroller (eller endda en egentlig fjernbetjening) til at sende det korrekte pulstog, når det udløses, måske kan du bruge en gpio-pin (eller uart-besked) på RPi til at "trykke på knappen" mere eller mindre og udløse sendingen.

Det er relativt plug-and-play, hvis du finder den rigtige senderløsning.

Lad RPi bekymre sig om at være en server, og et hardwaremodul (firmware) skal bekymre sig om IR-handlingen. Måske kan du også bruge et lignende trick til at overvåge processtatus.



Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 3.0-licens, den distribueres under.
Loading...