Hallo,
gibt es eine Möglichkeit einen Bluetoothempfänger zu bauen der die
Siganle in Infrarot umwandelt?
Oder gibt es sowas käuflich schon zu erwerben.
Oder kann ich mir soetwas selber bauen, wenn ja kann mir jemand ein paar
Tipps zum einlesen geben.
Gruß und Danke
was soll das denn werden?
eine art bluetooth fernseher steuerung?
sowas ist möglich..
wenn das universell auf hci ebene gemacht werden soll ist es nicht mal
eben getan...
wenn es nur den fernseher steuern soll ist es einfach..
Habe ganz vergessen zu sagen was ich mir vorgestellt habe.
Ich würde gern per HTC (Android) mein TV steuern, die Hifi-Anlage etc.
wäre soetwas zu schaffen oder geht so etwas einfach nicht?
nimm ein btm-222 modul arbeite dich da rein.. nicht schwer..
auf android kommt man auch in den HCI layer des bluetooth protokoll
stacks..
da gibts bestimmt auch rfcomm usw..
dann sendest du mit deinem android handy einfach über rfcomm (virtuelle
bluetooth rs232 schnittstelle) befehle an einen mikrocontroller der
hinter deinem btm-222 modul sitzt..
der interpretiert und sendet die befehle per infrarot (rc-5) weiter an
den fernseher..
eine kleine application muss/solltest du dir für dein android handy
schreiben.
hmm..ok das scheint für dich ganz einfach zu sein :).
und es hört sich fast so an als ob Du das auch schon versucht hast.
Hast Du vielleicht ein paar links wo ich mich in dieses Thema weiter
einlesen kann.
Hallo Tobi,
ich hatte mal etwas ähnliches gebaut. Hat auch sehr gut funktioniert...
War allerdings für ein Windows Mobile 6.5 Phone HTC Touch pro 2.
Hardware war grob folgende:
Mikrocontroller: ATMega328
EEprom 24lc512 zum speichern der Infrarot Signale
Bluetoothmodul BTM222
Infrarot Sende Diode Tsal 6200
Infrarot Empfänger TSOP1736
Habe die Infrarot Befehle von verschiedenen Fernbedienungen
aufgezeichnet und im EEprom abgespeichert. Je nach Funktion welche am
Handy betätigt wurde,
wird dementsprechend ein Befehl aus dem EEprom ausgelesen und per
Infrarot übertragen. Mann kann auch Makros programmieren, so das mehrere
gelernte Befehle hintereinander abgespielt werden.
Bei meinem Handy hatte ich die Möglichkeit die Beschleunigungssensoren
auszulesen und diese als Funktionen zum Beispiel für Umschalten der
Kanäle zu verwenden. Hand nach rechts gedreht Kanal aufwärts, Hand nach
links gedreht Kanal runter ;-)
Hi Peter dank für deine Antwort,
hast Du da vielleicht noch mehr Infos für mich.
Schalplan, Programmierung oder sonst irgendwelche
Links wo Du dich zu diesem Thema schlau gemacht hast.
Gruß
Ich würde das Projekt in einzelne Teile splitten und dann dazu einfach
googeln. So hab ich es zumindest gemacht.
Das ganze ist auf einer Lochraster Platine aufgebaut.
Es gibt da keinen Schaltplan zu.
Fang halt einfach mal an und stell dann konkrete Fragen wenn ein Problem
auftritt bei dem Du dann nicht weiterkommst.
OK werde ich so machen.
Da ich ja kein Profi auf dem Gebiet bin, bitte nicht gleich schlagen
wenn ich etwas komische Fragen stellen sollte.
Hier die erste Verständnissfrage:
sehe ich das richtig
BT Handy -----> BT 222 -> Uart Atmega --> ATmega intern ---> IR Sender
---> TV On
klar müssen dann die Befehle der FB erst gespeichert werden.
Gibt es einen ATmega der genug EEprom hat damit ich mir das EEprom
24lc512 sparen kann oder hat das noch andere Vorteile.
Gruß
Ja so ist die Reihenfolge...
Kommt darauf an wieviel Befehle Du speichern willst.
Und wieviel speicher Du für einen Befehl brauchst.
Zum testen kannst Du es natürlich weg lassen und die
paar Befehle auf das interne EEprom speichern.
Wie würde mann denn die IR-Sender Diode an den z.B. Atmega32
anschließen. Kann mir jemand zufällig in Schaltpaln geben, stehe gerade
irgendwie auf dem Schlauch.
Oder wäre das so wie im Anhang? Dann würde OC2A an den Atmega kommen?
Gruß
Wenn das die Schaltung für den IR-Sender sein sollte dann würde ich
gerne noch wissn, ob ich auch einen BC 338 -16/25/40 verwenden kann weil
die habe ich noch.
Danke und Gruß
Du kannst auch den BC338 verwenden. Ist ja auch ein NPN.
Schaltung passt auch. Eventuell kannst Du sogar den 33 Ohm Widerstand
noch kleiner machen. Ist aber zum testen erstmal egal.
ok Danke.
Hast Du vielleicht noch ein Test Programm für nen Atmega32 damit ich die
Diode überhaupt zum "Leuchten" bringen kann? Oder wo könnte ich sotwas
bekommen
OMG wenn Dummheit weh tun würde.
Teste seit gestern, deshalb meine "dummen" Fragen aber wenn eins von
meinen Krokoklemm Kabeln nicht funzt dann kann es nix werden.
So IR Diode "Leuchtet" schon mal
Tobi schrieb:> ok Danke.>> Hast Du vielleicht noch ein Test Programm für nen Atmega32 damit ich die> Diode überhaupt zum "Leuchten" bringen kann? Oder wo könnte ich sotwas> bekommen
Probiere vielleicht einmal IRSND zum Senden, das Gegenstück zu IRMP
(Software-Decoder für Empfänger). IRMP "versteht" ca. 20 IR-Protokolle.
Bis auf RC6 (nicht zu verwechseln mit RC5) kann IRSND diese Protokolle
auch alle wieder über eine IR-LED aussenden.
Link zu IRMP:
http://www.mikrocontroller.net/articles/IRMP
Link zu IRSND (2. Teil im obigen Artikel):
http://www.mikrocontroller.net/articles/IRMP#IRSND_-_Infrarot-Multiprotokoll-Encoder
Du könntest dann mit IRMP die Codes Deiner FB auslesen (kostet 4 Bytes
pro Taste) und diese dann mittels IRSND wieder verschicken, um Dein TV
zu steuern.
Die Sache mit einfacher RC5-Codierung kannst Du wahrscheinlich
vergessen, da sich heutzutage die allerwenigsten TVs mit RC5 begnügen.
Da gibt es noch dutzende anderer Protokolle auf dem Markt. Mit IRMP hast
Du die Chance, diese zu entschlüsseln und mittels IRSND auch wieder zu
senden.
Zum obigen Artikel gibt es auch noch den entsprechenden Thread in der
Codesammlung:
Beitrag "IRMP - Infrared Multi Protocol Decoder"
Wenn IRSND läuft, brauchst Du "nur" noch eine Routine schreiben, die das
zu sendende Kommando über Bluetooth entgegennimmt und anschließend über
IRSND wieder versendet.
Gruß,
Frank
Hallo Frank,
Danke. Deine Links waren bei mir alle schon rosa zum Glück, habe Sie
auch schon gefunden und Teils gelesen.(Alles kommt noch)
Habe auf meinen 32er die IRSND gespielt. Wenn ich den Code aufspiele und
erst mit nem Summer teste dann sendet er auch alle paar sekunden was.
Ich bin gerade dabei herrauszufinden wo ich in dem Code finde was er
dort sendet und wie ich es ändern kann.
Gruß
Hallo,
wie kann ich mit IRSND einen Befehl z.B. TV On senden (Samsung)?
Muss ich dazu erst den Befehl von meiner FB einlesen?
Oder habe ich die Datei übersehen, in der dieser Code steht?
Gruß und Dank
Tobi schrieb:> wie kann ich mit IRSND einen Befehl z.B. TV On senden (Samsung)?> Muss ich dazu erst den Befehl von meiner FB einlesen?
Ja, Du musst zunächst mit IRMP den Befehl der Samsung einlesen. Du
bekommst dann 3 Werte zurück:
protocol
address
command
Anwendungsbeispiele findest Du im IRMP-Artikel.
Mit den erhaltenen 3 Werten kannst Du dann IRSND füttern. Du könntest
dann zum Beispiel alle benötigten Tasten mit ihren 3 uint8_t-Werten im
EEPROM speichern.
> Oder habe ich die Datei übersehen, in der dieser Code steht?
Nein, hast Du nicht.
Gruß,
Frank
Ich habe mir jetzt eine kleine Schaltung mit dem TSOP1738 aufgebaut
(kein Display vorhanden noch nicht )und habe versucht die ON Taste
einzulesen. Ich habe gedacht das ich die 3 Werte dann angezeigt bekomme
über Uart habe ich nicht bekommen.
Habe dann #define IRMP_LOGGING 1 gesetzt dann habe ich folgendes
bekommen siehe Anhang.
Mache ich das so richtig?
Aber wie bekomme ich mit dem Code im Anhang die Werte protocol, address
und
command?
Hoffe ich stelle mich nicht zu böld an.
Gruß
Tobi schrieb:> Ich habe mir jetzt eine kleine Schaltung mit dem TSOP1738 aufgebaut> (kein Display vorhanden noch nicht )und habe versucht die ON Taste> einzulesen. Ich habe gedacht das ich die 3 Werte dann angezeigt bekomme> über Uart habe ich nicht bekommen.
Das Programm gibt gar nichts aus, Du musst das selbst machen - z.B. in
main.c, welches ja nur ein Anwendungsbeispiel ist. Dort wird der Code
zwar ausgelesen, aber nichts mit ihm gemacht, siehe Kommentar in main.c.
Das musst Du dann selbst mit Leben füllen.
> Habe dann #define IRMP_LOGGING 1 gesetzt dann habe ich folgendes> bekommen siehe Anhang.
Perfekt. IRMP erkennt SAMSUNG32 mit:
p = 10, a = 0x0707, c = 0xfd02, f = 0x01
d.h.
Protocol = 10 (SAMSUNG32)
Address = 0x0707
Command = 0xfd02
> Mache ich das so richtig?
Ja, absolut richtig. Du solltest aber:
- IRMP_LOGGING abschalten
- In main.c die UART nach Deinem Geschmack selbst initialisieren
- Die Werte in main.c selbst ausgeben.
Siehe main() in main.c (die zweite Variante gaaaanz unten für den gcc!):
1
if(irmp_get_data(&irmp_data))
2
{
3
// ir signal decoded, do something here...
4
// irmp_data.protocol is the protocol, see irmp.h
5
// irmp_data.address is the address/manufacturer code of ir sender
6
// irmp_data.command is the command code
7
}
8
}
Du musst also nur den if-Block füllen (Werte auf UART, LCD oder sonstwo
ausgeben). Vorher UART selbst initialisieren, da Du ja IRMP_LOGGING dann
wieder auf 0 stellen solltest.
Gruß,
Frank
Danke Frank,
ich versuche gerade mit meinen begrenzten Programmierkenntnissen deine
Tipps umzusetzen. Was für mich nicht so wirklich einfach ist :).
Werde mal weiter versuchen mich reinzufuchsen. Falls noch Codeschnipzel
vorhanden sind stehe ich dem natürlich immer offen gegenüber.
Danke und Gruß
Ok das scheint doch ein wenig zu schwer für mich zu sein. Die Tipps von
Frank direkt umzusetzen.
Also ich habe ein Problem die UArt für meinen Atmega32 zu initialisieren
und die Werte dann per Uart ausgeben zu lassen.
Wie kann ich das machen bzw. hat jemand ein paar Tipps für mich.
Ich befinde mich noch in den anfängen der Programmierung und stelle
deshalb ab und zu mal ein paar "komische" Fragen.
Meine main.c siehe Anhang.
Danke und Gruß
Konnte die Datei leider nicht an meinen Post anfügen deshalb ein neuer.
Anbei natürlich der Versuch der Init. Falls das richtig sein sollte weiß
ich leider nicht wie ich dann weiter machen soll. Bin für jeden guten
Tipp Dankbar.
To Bi schrieb:> Anbei natürlich der Versuch der Init.
Wo wird Dein irmp_uart_init () aufgerufen? Wo ist Deine
UART-Sendefunktion?
Was soll das:
1
if(irmp_get_data(&irmp_data))
2
{
3
// ir signal decoded, do something here...
4
irmp_data.protocol=10;
5
irmp_data.address=0x0707;
6
irmp_data.command=0xfd02;
irmp_get_data() liest die daten vom IR-Empfänger und schreibt sie in
irmp_data.protocol, irmp_data.address, irmp_data.command.
Was soll Dein Setzen der Werte hier bringen? Etwa über IRSND senden?
Sag erst, was Du hier machen willst:
a) IR-Daten empfangen, über UART senden
b) über UART empfangen, über IR senden
Für a) brauchst Du IRMP, für b) brauchst Du IRSND. Eigentlich wolltest
Du doch nur die Power-Taste über IR senden? protocol, address, command
habe ich Dir geliefert.
Ich glaube, dass das Verständnis bei Dir noch nicht da ist. Wie sieht es
mit Programmieren in C aus?
Gruß,
Frank
Hallo,
Frank M. schrieb:>> Ich glaube, dass das Verständnis bei Dir noch nicht da ist. Wie sieht es> mit Programmieren in C aus?>
Ja so ist es, mir fehlt leider ein wenig Paxis in C wie auch in
Mikrocontrollern. Aber ich versuche mich da immer und immer mehr rein zu
denken und lesen. Aus diesem Grund kommen auch meine "komischen Fragen".
> Sag erst, was Du hier machen willst:>> a) IR-Daten empfangen, über UART senden> b) über UART empfangen, über IR senden>
Was ich auch nicht verstanden habe ist, wie ich das in dem Prog machen
kann das ich die Taste z.B. On einlesen kann und dann später wieder
ausgeben kann.
Bis jetzt weiß ich welchen Code meine FB hat.
Aber vielleicht hast Du einen Tipp für mich damit ich C insbesondere
dein Prog besser verstehen kann.
Gruß und Dank
Wie weit bist Du mit dem Projekt derzeit? Ich habe ebenfalls ein
Interesse an einer solchen Lösung, eventuell auch einer etwas weiter
gehenden:
Ich habe einen Wohnzimmer-PC mit Ubuntu/MythTV. Läuft alles super, aber
auch der Fernseher und der Verstärker wollen ein/ausgeschaltet bzw. die
Lautstärke geregelt werden. Alle bisherigen Universalfernbedienungen
fliegen bei mir früher oder später in die Tonne, weil die eben nicht das
so machen, wie ich will. Und auch den PC über IR (was derzeit klappt) zu
steuern ist eher doof. Lieber wäre mir eine direkte Steuerung über
LAN/WLAN.
MythTV lässt sich bereits prima von Android aus steuern (per WLAN und
App, per WLAN und Browser von allen Smartphones aus). Der Verstärker
aber eben nicht. Da wäre also eine WLAN/BT Lösung ideal. Am Besten noch
eine App, die MythTV direkt per WLAN steuert und eine Box per BT (oder
eben per WLAN).
Ich habe nun mit einem Freund zusammen mit ethersex (ethersex.de)
gewerkelt. Ein Modul bei denen ist IRMP. IRMP lässt sich dort zum
Empfangen und Senden verwenden. Wird ein Signal empfangen, kann so eine
Art Event (Quasi der Code, der Empfangen wurde) per RS232 (und dann z.B.
weiter per BT), per LAN, per I2C oder was auch immer versendet werden.
Das Ganze geht auch umgekehrt: Ich sende per LAN, per (BT->) RS232 einen
Code (IR Protokoll + Code) und die IR Diode sendet. Ich kann an der
Hardware und der Beschreibung für Nachbauten arbeiten (ideal ist das
Pollin NetIO für 20€, günstiger geht es kaum), ebenso an Anpassungen für
Ethersex.
Toll wäre, wenn sich jemand findet, der auf der Android oder auch IPhone
Seite an einer App arbeiten kann. Ich kann das nicht und derzeit habe
ich auch keine Zeit dafür. Bei Ethersex könnte man das auch über eine
Webseite und LAN machen, dann entfällt auch das BT Modul.
Die Lösung hätte den Charme, dass sie später sehr einfach erweiterbar
ist. Man kann (und sollte) aber erstmal klein anfangen und sich auf das
Senden/Empfangen von IR Codes beschränken, LAN (und über Adapter auf
WLAN und dann Android) und RS232 (und über BT Modul auf Android).
Finden sich für die Idee noch Mitstreiter?
Thorsten Eisbein schrieb:> Toll wäre, wenn sich jemand findet, der auf der Android oder auch IPhone> Seite an einer App arbeiten kann. Ich kann das nicht und derzeit habe
Daran habe ich so meine Zweifel...
> ich auch keine Zeit dafür. Bei Ethersex könnte man das auch über eine> Webseite und LAN machen, dann entfällt auch das BT Modul.
hol dir doch einfach ein Terminal-Programm und erstell dir einen
einfachen, hart codierten Befehl für deinen Zweck.
Schickst du ein 'A', wird angeschaltet, schickst du ein 'U', wird
ausgeschaltet.
Da ist es dann auch egal, ob Bluetooth oder TCP genutzt wird.
Apps für Android zu schreiben ist übrigens wirklich keine Kunst.
Grundlagen in C reichen, um die Java-Beispiele von android zu verstehen.
Dann gibt es bei android selbst eine developer-Sektioon, die einen
wirklich an der Hand nimmt und ein hervorragendes Framework zur
Verfügung stellt.
Eine Woche höchstens und du bist fertig...
Dass eine App zu bauen nicht besonders schwer ist, ist mir klar.
Trotzdem fehlt mir dafür die Zeit. Ich habe einen Freund bereits für das
Projekt gewinnen können, der wird mitmachen und die Android Entwicklung
übernehmen.
Eine Webseite auf Ethersex zu erstellen wäre auch eher ein Umweg und
nicht die endgültige Lösung.
Ziel ist es etwas zu schaffen, was am Ende wirklich gut funktioniert.
Und dafür mache ich am Ende auch eine Platine (2 oder 4 lagig, sehr
klein), die alles beinhaltet, was man braucht. Da soll dann sowohl BT
als auch LAN als Übertragungsweg funktionieren. Dann hat man bei der App
die Wahl, ob man WLAN (dann braucht man einen WLAN Router) oder BT zur
Steuerung verwenden will. In einem zweiten Schritt soll dann auch noch
die MythTV Steuerung in die App mit rein. Per BT würde die kleine Box
die Befehle auf LAN Umsetzen und an den PC schicken, per WLAN geht das
dann auch direkt. Andere VDRs sind später auch denkbar, aber ich möchte
lieber klein anfangen...
Ich werde mit ihm nächste Woche über ein Konzept reden und das dann
vorstellen. Wenn dann jemand Lust hat mitzumachen: Gerne. Am Ende wird
auf jeden Fall das Projekt auf eine Webseite zum Nachbauen gestellt.
@Tobi: Das ist ja Dein Thread hier. Wenn Du das lieber hast, stelle ich
das (mein) Projekt in einem separaten Thread vor. Ich möchte den Dir
nicht "klauen".
Du kannst gerne diesen Thread benutzen.
Ich bin wegen Zeitmangels und da ich für den Anfang wohl ein zu großes
Projekt wollte nicht wirklich weitergekommen. Aber ich bin sehr auf Eure
Lösung gespannt.
Gruß
Tobi
Genau so ein Projekt suche ich,
Leider bin ich auch eher Anfänger.
überlege auch schon seit längerem (habs immer vergessen bis ich wieder
im Internet war) was man braucht und wie man das macht.
ich persönlich würde dafür dann ein internet Tablet mit android
einsetzen 7" oder 10" , dann machen die dinger auf dem wohnzimmertisch
nämlich richtig Sinn. bei den günstigen ist leider kein Bluetooth
integriert was wieder für w-lan sprechen würde.
ich denke aber das bluetooth einfacher zu realisieren wäre?
ich werde auf jedenfall dsa Projekt weiter verfolgen, und in den Ferien
(Technikerschule zum Elektrotechniker) in 8 Tagen werde ich das ganze
mal angreifen, das ich zumindest mal den IR teil für mich löse.