Sign in   |  Join   |  Help
Untitled Page

ARCHIVED FORUM -- March 2012 to February 2022
READ ONLY FORUM

This is the second Archived Forum which was active between 1st March 2012 and 23rd February 2022

 

Raspberry PI as media center steered by Beolink 4

rated by 0 users
This post has 21 Replies | 6 Followers

Alsfeld
Top 500 Contributor
Posts 147
OFFLINE
Bronze Member
Alsfeld Posted: Sun, Sep 1 2013 8:27 PM

I am using a Raspberry PI with RaspBMC (http://www.raspbmc.com/) as media center with XBMC controlled by my Beolink 4.

(1) In order to realize this solution, I am using a TSOP7000 miniature infrared receiver of 455kHz (http://darisusgmbh.de/shop/product_info.php/products_id/34359/language/de)

(2) I followed the instructions on http://forum.stmlabs.com/showthread.php?tid=5549 Step 3 to Step 5.

(3) Unfortunately I had some difficulties with the Beolink 4, since not all selected keys trained worked in the beginning. In these cases I exchanged the recorded codes and used the codes from the document "Beo4" on page http://lirc.sourceforge.net/remotes/bang&olufsen/.

MJBeo
Top 500 Contributor
Netherlands
Posts 270
OFFLINE
Gold Member
MJBeo replied on Fri, Sep 6 2013 5:08 PM
Cool! Will this work with beolink 1000? And this IR receiver is only 3€?

I will try this, thanks

Beosound 5 Encore + Beosystem 5500 + S45.2; BV7-40 MKV + BL7.1 + BL14.4+ AppleTV4; various link rooms with MCL2 A or MCL2 A/V + RL60.2 / CX100 / CX50 & Cona  / IWS2000; BG4000; Beosystem 1200 + BV1600.

Rivenflush
Top 200 Contributor
Gothenburg
Posts 333
OFFLINE
Bronze Member

This looks cool!

Is XBMC running smoothly? What skin do you use (Aeon?)?

What model of the Raspberry PI do you have (A or B)?

 

Br

Martin

My B&O products: Beosound 9000, Beosound 2300, Beosound Century, Beolab 8000, Beolab 6000, Beolab 4000 x2, Beolab 3500, Beolab 2000, Beolab 10, Beolink Active x2, Beotime, Beo5 x2, Beo4, A9 keyring x2, LC2 dimmer x6 and growing....

Beobuddy
Top 25 Contributor
Utrecht, The Netherlands
Posts 3,972
OFFLINE
Founder

I have the B version and it works very slow. I've tried several XMBC images, but stopped experimenting due to the amount of irritation.

For the record, I stream video from a NAS.

Alsfeld
Top 500 Contributor
Posts 147
OFFLINE
Bronze Member

@MJBeo

Yes, you only need the TSOP7000 IR receiver for ~3 Euros and some cable to connect it to GPIO.
It should work with the beolink 1000, too.
I only recorded the most important keys, see attached lircd.conf file. For more complicated tasks I anyway use a keyboard.

@Rivenflush

It's running OK for accessing and streaming video, music and picture files from NAS (Synology) in my case. Live TV via HDHomeRun Internet Tuner + NAS + DVBLink runs perfectly, too. But normally I use my NAS as video recorder and watch it later via raspberry on my TV.

Originally I used the default skin "Confluence", but I changed to "Quartz" and overclocked my Raspbmc to increase the performance. I am using Raspberry Model B.

Alsfeld
Top 500 Contributor
Posts 147
OFFLINE
Bronze Member
Alsfeld replied on Sun, Apr 5 2015 9:45 AM

I had some problems with the TSOP7000, not reacting always to my Beolink 4 (like loose contact). The TSOP4838 (for 38 kHz) which I connected via PUC to my Beovision 9, on the other hand worked smooth form the beginning. After added a capacitor C1 - 4.7µF, a diode D1 - 1N4148 and a resistor R1 - 4k7 like this:

+-----------------------+ 3                                  | /|   3

|                     + +----------+-------------------+-----|< |-o VS

|                       |          | +                 |     | \|

|      ______________   |        -----                 |    D1(1N4148)

|     /                 |        -----                | |

|    (                  |          |                  | |

|     \______________ - +----------+-------o GND      | |

|                       | 2     C1(4.7µF)    2         |

|                       |                              |

|               data -> +------------------------------+----------o OUT

+-----------------------+ 1                          R1(4k7)        1

 

The TSOP700 works smooth and reliable with the Beolink 4(see http://www.lirc.org/receivers.html, too).

But still I have two questions:

1)     Is there somebody who can explain, why I need an C1 and R1 for the TSOP7000 to work smooth but not for the TSOP4838?

2)     On http://lirc.sourceforge.net/remotes/bang&olufsen/ you find a lirc.conf file for the Beolink 4. I used the old one, with the following format per Key:

          name KEY_UP

              200    3125     200    3125     200   15625

              200    3125     200    6250     200    6250

              200    6250     200    6250     200    6250

              200    6250     200    6250     200    6250

              200    6250     200    6250     200    6250

              200    9375     200    6250     200    6250

              200    6250     200    3125     200   12500

              200

 

The “new” format (somebody changed the file on 01-May-2014)

 

    name KEY_UP

          KEY_0                    3125                      #  Was: 200

          KEY_0                    3125                      #  Was: 200

          KEY_0                    6250                      #  Was: 200

          KEY_0                    6250                      #  Was: 200

          KEY_0                    6250                      #  Was: 200

          KEY_0                    9375                      #  Was: 200

          KEY_0                    6250                      #  Was: 200

          KEY_0                     #  Was: 200

Does not work on my Raspberry PI setup. In case somebody is looking for the old file, I have downloaded and can provided it.

 

 

Alex
Not Ranked
Essex
Posts 64
OFFLINE
Bronze Member
Alex replied on Sun, Apr 5 2015 12:06 PM

for my Avant 55" i use a MINIX X7 system,

They are a great media system android based and also has its own version of XMBC which runs really smoothly

also B&O have the PUC to control it so controlling it via the B&O remote was easy!

tournedos
Top 10 Contributor
Finland
Posts 7,357
OFFLINE
Bronze Member
Moderator

Alsfeld:
1)     Is there somebody who can explain, why I need an C1 and R1 for the TSOP7000 to work smooth but not for the TSOP4838?

These 3-pin IR receiver ICs are quite sensitive components. The C and R are there to filter & suppress power supply interference. Even if you didn't find the *38 to necessarily need them, it probably works more reliably and is more sensitive with them.

The last time I looked into the "Beo 4" entry in LIRC repositories some years ago, the config file was far from complete and seemed to have been captured with unstable and/or incorrect timing parameters so it didn't need many additional uncertainties to start working erratically. I ended up recapturing it completely from scratch. Unfortunately I don't think I have it left anywhere anymore, since I later abandoned LIRC completely and wrote my own receiver on an Arduino.

Now that my main TV is a Sony, I don't need any direct IR control at all since the RPi + OSMC -combo is controlled directly via HDMI CEC. Unfortunately that also means I need to live with the crappy Sony remote.

--mika

boetter
Not Ranked
Posts 1
OFFLINE
Bronze Member
boetter replied on Sat, May 2 2015 7:41 AM

Sounds lile a fantastic solution! I am ready to buy a Minix for my Beocenter 1, but unable to find any info on B&O compability anywhere. Can you help? Maybe a step-by-step guide on how to set it up?

Purup
Not Ranked
Posts 4
OFFLINE
Bronze Member
Purup replied on Mon, Jun 12 2017 12:47 PM

Hello,

I'm all new to this forum and the Raspberry PI and now my mind is set on controlling some LEDs with my Beolink4.

So far, I have setup a Raspberry Pi Zero with LIRC and connected a TSOP7000 as per your diagram above. By running "mode2 -d /dev/lirc0", I get lot of output when pressing the remote. It looks like:

space 12
space 6056
space 6266
space 75
space 113
space 6072
space 125
space 24
space 2979
space 191
space 12325
...and so on - lots off spaces, very few pulses. Does this looks right? (Occasionally I get output even when I don't press the remote too, mostly spaces between 1 - 25)

I have used irrecord to create the lircd.conf file, but examining the file pulse/space data looks very irregular - not anywhere as neat as your examples above. I have also copy/pasted your KEY_UP values into the lircd.conf file. Regardless, using irw I am not able to detect any button presses.

Any suggestions as to where the problem is would be much appreciated!

Also, if I could have the lircd.conf file you had success using, that would be great. My email is mads@purup.com

Thanks!

 

 

samsp
Not Ranked
Posts 44
OFFLINE
Bronze Member
samsp replied on Sat, Apr 6 2019 5:54 AM

did you get this to work with the Beo4?

Purup
Not Ranked
Posts 4
OFFLINE
Bronze Member
Purup replied on Mon, Apr 8 2019 11:18 AM

Unfortunately not. I couldn't find any help or figure it out so I gave up. If you succeed please let me know, thanks.

RaMaBo
Top 150 Contributor
near Munich
Posts 626
OFFLINE
Gold Member

Hi,

 

several years ago i downloaded the 'correct' (= old format) Lirc file from lirc.org.

It's attached  as a zip file containing 'beo4.conf'.

Ralph-Marcus

Purup
Not Ranked
Posts 4
OFFLINE
Bronze Member
Purup replied on Wed, Apr 10 2019 2:41 AM

Thanks. Did you also manage to successfully build a Raspberry PI receiver?

samsp
Not Ranked
Posts 44
OFFLINE
Bronze Member
samsp replied on Fri, Apr 26 2019 7:05 AM

I have been playing with a Raspberry Pi with Lirc, and did not find any success.Sad

However I did see a link to a github repo for BeoMote which is a library for use with an Arduino. The original was designed for a B&O eye, and I am using a TSOP 7000. I have reworked a clone and have it working pretty reliably with an Arduino Uno. The circuit is the same as in this thread, but without the 4k7 resistor. I have it hooked up to the 3.3v and pin 3 of my Uno. Pressing remote buttons will result in translated commands being sent over the serial port. Initially it seemed excessive to use both a Pi and Arduino, but in retrospect it should be more reliable as the Arduino can do the time sensitive pulse processing, leaving the Pi to do other CPU intensive work without having to worry about the remote processing.

My git clone is at https://github.com/samsp99/Beomote. I also added the commands I could find in the BeoRemote One that were not already in the commands enum from Beo 4.

The loop function of the sketch writes the remote data via the USB serial connection. If I have the arduino hooked to a USB port of the Pi, then I can read the data via the USB serial port that is created over the USB connection. It seems like the Pi has the drivers included so it maps the arduino to /dev/ttyUSB0.

I will be hooking this up to OpenHab to control my TV, Receiver, Fire TV, PS4 etc via a combination of HDMI CEC and IP commands (Pioneer). Essentially an overly complex and expensive version of a Logitech Harmony, but with the egonomics of a B&O remote.

 

 

Weebyx
Top 75 Contributor
Denmark
Posts 1,213
OFFLINE
Bronze Member
Weebyx replied on Fri, Apr 26 2019 8:49 AM

samsp:

I have been playing with a Raspberry Pi with Lirc, and did not find any success.Sad

However I did see a link to a github repo for BeoMote which is a library for use with an Arduino. The original was designed for a B&O eye, and I am using a TSOP 7000. I have reworked a clone and have it working pretty reliably with an Arduino Uno. The circuit is the same as in this thread, but without the 4k7 resistor. I have it hooked up to the 3.3v and pin 3 of my Uno. Pressing remote buttons will result in translated commands being sent over the serial port. Initially it seemed excessive to use both a Pi and Arduino, but in retrospect it should be more reliable as the Arduino can do the time sensitive pulse processing, leaving the Pi to do other CPU intensive work without having to worry about the remote processing.

My git clone is at https://github.com/samsp99/Beomote. I also added the commands I could find in the BeoRemote One that were not already in the commands enum from Beo 4.

The loop function of the sketch writes the remote data via the USB serial connection. If I have the arduino hooked to a USB port of the Pi, then I can read the data via the USB serial port that is created over the USB connection. It seems like the Pi has the drivers included so it maps the arduino to /dev/ttyUSB0.

I will be hooking this up to OpenHab to control my TV, Receiver, Fire TV, PS4 etc via a combination of HDMI CEC and IP commands (Pioneer). Essentially an overly complex and expensive version of a Logitech Harmony, but with the egonomics of a B&O remote.

 

Raspberry PI is not by default running a realtime Linux kernel, and that is why it is very difficult/almost impossible to get the IR decoded correct on the PI.

I tried and almost got it working, but it still missed a lot of commands from the remote. 

An Arduino on the other hand works 100% perfect. I have build a totally LC2 compatible system that uses Arduino and Philips Hue, which is all controlled by Beo4.

Everything works and can be set up like LC2 lamps.

/Weebyx

TWG
Top 75 Contributor
Posts 1,672
OFFLINE
Gold Member
TWG replied on Sat, Apr 27 2019 8:02 AM

You guys have made some VERY interesting and useful projects for the B&O world and I'm very curious about these solutions!


Would you mind sharing how you did it, what parts are required and what functionality is possible with your setups?

Weebyx
Top 75 Contributor
Denmark
Posts 1,213
OFFLINE
Bronze Member
Weebyx replied on Sat, Apr 27 2019 12:31 PM

TWG:

You guys have made some VERY interesting and useful projects for the B&O world and I'm very curious about these solutions!


Would you mind sharing how you did it, what parts are required and what functionality is possible with your setups?

I have made my Philips Hue control with an original B&O Ir Eye(because it is beautiful on the wall), connected to an Arduino Uno.

On the Uno is running the code that detects IR pulses, and decodes them the same way B&O does it.

Once the IR code is decoded to a command, the Arduino determines if it has something to do with the Light command, and if so, it creates a http webrequest to the Philips Hue bridge via the Hue API, that tells Hue which lights/groups to turn on/off/dim and so on.

It requires some coding experience, but it is not as hard as it sounds. Off course Arduino knowledge is required. The HW is very simple if you use the B&O IR eye.

It is also easy to use the old IR receiver from a Beomaster 35/4500.

/Weebyx

 

beophase
Not Ranked
Posts 52
OFFLINE
Bronze Member
beophase replied on Sat, Apr 27 2019 9:42 PM

Hi! Sounds like one can control a Beovision motorstand with an IR-receiver and Arduino Uno?!

I need more Beolabs!

samsp
Not Ranked
Posts 44
OFFLINE
Bronze Member
samsp replied on Sun, Apr 28 2019 2:47 AM

I have had a love of B&O hardware for decades, but could not justify the resources to buy it, particularly for TV/Video equipment where the price/functionality is not there. I have admired the integration of a complete B&O system and wanted to achieve the same thing in a heterogeneous environment. I wanted something similar to logitech harmony, but cleaner using a BEO 4 or BeoRemote One. 

I have now built it.

IR signals are received by an Arduino Nano together with a TSOP 7000 IR reciever, capacitor & resistor. This is running a custom version of BeoMote that processes the IR pulses, translates them into binary and sends codes via the built in serial port/USB connection.

I then have a Raspberry Pi running OpenHab2 as the control unit. The arduino is connected via USB which appears as a serial port to the Pi. OpenHab has bindings for Serial. PioneerReciever, Sonos, zwave and I extended an HDMI-CEC one posted on the forums. 

I am using HDMI-CEC to control my TV (Vizio), PS4 & FireTV Cube. CEC is great for this as its more reliable than IR, can power on devices that don't via IR (PS4) and don't support IR (FireTV). It will also do the source switching automatically without me having to figure out the inputs.

My reciever (Pioneer) is supposidly CEC capable, but its buggy. The IP binding works great for it.

I have rules that interpret the B&O commands, and then map them to CEC or other commands. I can select a source with the Beo Remote One, and it will switch it on, switch to it, and then send subsequent signals to that device.

I have it filtering out volume to the receiver, standby turns everything off, lighting maps to zwave devices etc.

Total cost of hardware (not including remote(s)) < $100. The biggest issue was getting small numbers of individual components, so I now have a collection of resistors, capacitors, diodes, Arduino Nanos (came as a pack of 3) etc.

 

TWG
Top 75 Contributor
Posts 1,672
OFFLINE
Gold Member
TWG replied on Sun, Apr 28 2019 7:41 AM

I like all of your projects! It's what the Beoworld needs, too!

- what about circuit diagrams of your individual solutions?
- which software is required on arduinos and raspberry pi's?
- are TSOP 7000 receivers still available? I thought they where end of life and aren't manufactured anymore!?


For non-ir devices like the PS 4 and Fire TV cube you can use FLIRC USB, a programmable USB Infrared adapter:
https://flirc.tv/flirc-usb
The only little downside: It needs PUC (or other ir sources) to be controlled by a B&O system as FLIRC doesn't support the B&O ir frequency. I'm controlling a Nvidia Shield TV from a Beosystem via PUC -> FLIRC USB.

samsp
Not Ranked
Posts 44
OFFLINE
Bronze Member
samsp replied on Mon, Apr 29 2019 1:42 AM

The circuit for my Arduino is essentially the one on page 1 of this thread. The software is at https://github.com/samsp99/Beomote.

On the Pi, I am running openhab using the openhabian option from openhab.org, together with a couple of standard bindings, and https://github.com/samsp99/openhab2-addons/tree/hdmi-cec/addons/binding/org.openhab.binding.hdmicec

TSOP 7000 are available from ebay. 

Page 1 of 1 (22 items) | RSS