Rachel's Yard| A New Continuation
(This is one of many parts series on dominating the world with Siri.)
Back when I moved into this house in August, I had to have the old garage door openers replaced... Let's just say that they were very very very old. So I contacted a local contractor (support local business!) for installation, and unfortunately, because my garage door is an one-piece door (instead of a sectional door), he recommended me using a screw drive garage door instead of belt drive, and that limited my options for the motor. Needless to say, the garage door opener was not very smart...
That means I have to use the dreadful HomeLink in our cars to control them. Not very fun. I originally had the idea of controlling it with a Raspberry Pi, but it was thrown to the back of my head...
Fear not, the DREAM IS ALIVE!
^ That's the Raspberry that we are gonna use for the hub.
^ At least the camera works. The popular
homebridge-camera-ffmpeg currently does not have audio, so I modified the plugin and optimized it for RPi. More importantly, there's sound!
^ I literally have no idea what I'm doing... I know that you need a relay, a magnetic switch, and some jumpers... But that's all. I have NO IDEA how to wire them... (Story of a software gurl...) Special thanks to Ben La Monica for creating this awesome plugin!
^ Time to take apart the remote... The garage door openers do have the wall-mounted ones, but I don't want to ruin those...
(This is when my friend Niraj comes over and help me with this... Kudos to the EE guy.)
^ Let's try the magnetic switch... It works, of course... As Niraj said, this is the easiest part.
^ Annnndddd the relay works, no problem!
^ In theory, once I hook up the circuit from the remote to the relay COMM and NO, closing the relay should work, but.... It didn't. Debugging took like 3 hours, and it turned out to be interference? Anyway...
^ Need to make myself feel better with dessert...
^ Need to make a quick trip down to Home Depot... Just realized that I can't find my multimeter, and my soldering iron was trashed...
^ Once we figured everything out, time to solder... And I'm a terrible at soldering... Time for Niraj the big boi!
^ Finished product! Don't ask about the Dremel on the table... It was something stupid...
^ Look at this thicc boi
Annnnnd it's 1AM already, so we will do the sensor and wiring the next day (also we need to move the cars around which is annoying...)
^ Garage Hub in its natural habitat (with the sensor hooked up).
^ Again, I have to move the remote further away from the box... Because interference.
And there you have it, Open Sesame:
Currently, I can only open/close one garage door at a time, due to the limitation of the remote (you can't press two buttons at the same time). I might get two one-button remote so it can control both door at the same time.
(This is one of many parts series on becoming the ultimate Apple fanboi/fangurl.)
Recently I've acquired a HomePod for the bomb ass speaker (trust me, it's better than Sonos), and for its Home Hub so I can automate all the things, and I can access my stuff at home remotely.
I have a bunch of TP-Link switches and bulbs, but sadly, it doesn't have first-party support yet. Fear not,
homebridge is here for the rescue...
However, I do have an old Bluetooth spekaer (Big Blue Live) that needs some AirPlay love... Trip down to Fry's, get a Raspberry Pi and a case, and go to town...
We want to accomplish this:
iPhone <-> AirPlay <-> RPi <-> Bluetooth <-> Blue Blue Live
Here are the dead simple steps to follow... I'm on Raspbian Stretch Lite, and I highly recommend Stretch (Debian 9). YMMV.
Upgrade your Raspberry
sudo apt-get update
sudo apt-get dist-upgrade
Install PulseAudio as ALSA is no longer maintained
sudo apt-get install pulseaudio pavucontrol pulseaudio-module-bluetooth
Compile and install the
development branch of
shairport-sync. Please also compile
shairport-sync with Apple alac support (
--with-apple-alac), PulseAudio support (
--with-pa), and SSL support. I use PolarSSL for its "lightweight-ness" (
--with-ssl=polarssl). Configure with
./configure --with-pa --with-avahi --with-systemd --with-apple-alac --with-stdout --with-ssl=polarssl --with-metadata --with-soxr, and install whatever missing libraries on your way...
Fix your permission.
policykit-1 should already be installed when you install
pulseaudio, and you need to add
pi to the group
lp. Reboot for shits and giggles after you are done.
Now you should able to pair without running as root. Run
[bluetooth]# agent on
[bluetooth]# scan on
[NEW] Device xx:xx:xx:xx:xx:xx Big Blue Live
[bluetooth]# pair xx:xx:xx:xx:xx:xx
[bluetooth]# trust xx:xx:xx:xx:xx:xx
connect yet. We don't need to connect manually.
Disable the built-in DAC on Raspberry Pi by commenting out
/boot/config.txt, reboot for shits and giggles
name = "AirPlay Pi"; // This is going to be the name shown to your devices
interpolation = "soxr"; // Despite what the configration said, RPi is more than powerful to handle soxr
output_backend = "pa"; // this should not need explanations
drift_tolerance_in_seconds = 0.010; // might as well
alac_decoder = "apple"; // use alac decoded
Configure auto connect. Put the following to a file, and set appropriate permissions:
/usr/bin/bluetoothctl << EOF
systemd madness. Put the following to
Description=Connect to BT speaker
ExecStart=/path/to/the script in step 8
sudo systemctl daemon-reload and
sudo systemctl enable bt-connect
Voilà, now you should have a functional AirPlay -> Bluetooth Raspberry Pi.
PulseAudio might not use
a2dp and uses
headset profile by default, resulting in a very horrible audio quality... If that's the case, shutdown
shairport-sync, and run
pulseaudio --start. Then run the script in Step 8 to connect to your speaker. Run
pactl list sinks to identify, and run
pactl set-card-profile <id> <a2dp or a2dp_sink>. Afterward, kill pulseaudio with
pulseaudio -k and restart
shairport-sync, also run script in step 8 to reconnect.
Update 1: E3-12xx v4 has a lead time of 4 weeks from Asia via ACME, no source via Superbiiz
So I've been looking at Paperspace.io and Sixa.io for virtual desktop solutions, and it does look very appealing. However, is it possible to run it in a home-lab environment?
Currently, I have a XenServer running on my E5-1650v3 node (256GB) and Apache Guacamole for vdi. I do want to enable some sort of GPU capabilities (like for my Jetson TX2 training, but I will use Sixa.io for now; my workstation has a very shitty support for Linux). Looking at XenServer's HCL, and Intel seems to be a promising solution...
However, Intel is being a stupid asshole. E3-15xx v5 are available only in BGA. (WTF?) and E3-12xx v4 are not available anywhere except very special order. I was able to find v5 but only in Asia (none available in North America). What the fuck?
But, the Skull Canyon NUC does have a Iris Pro processor and unofficially supported by XenServer...
Here's the pricing as of the time of the writing: