A few months ago, I was drawing in Adobe Illustrator for an animation we were producing, and I was having trouble with my laptop bogging down and becoming completely unresponsive when Illustrator threw up its hands at copying or pasting the hundreds of tiny switches and buttons I had drawn on a .
When that happened, my options were basically to wait 10–15 minutes for Illustrator to get itself together and return control, or log in remotely and kill the process. Thankfully, Gil showed me how to do the latter. Here are the instructions, in case I need them again:
I’m testing out django CMS for a small personal site, bobtiki.me, and installing it on my WebFaction hosted server. I’m writing down the steps, so you don’t have to! (And by “you,” I mean “future Mark who has forgotten these steps.”)
I’ve had a great experience with WebFaction — they’re both inexpensive and reliable. If you’d like to give them a try, please use this affiliate link to sign up for a free trial, and try installing for yourself.
My goal is to have made at least one tiki mug for my home tiki bar, by the end of the year. I’ve been poring over Tiki Central’s forums to learn more about the process. I have also picked up a couple of books on it, and have been creating a big workflow list of all of the tips and tricks I’m finding so far.
I’m controlling everything in this project with a Raspberry Pi 2, a system on a chip. Essentially it’s a really tiny Linux computer that you can use for most anything you could use a full-size computer for. It’s just not quite as powerful.
I was afraid, when I first started this project, that I would need to attach an Arduino to the Pi, to use as a slave to control the LEDs. The Adafruit NeoPixels, that I had picked to light the tiki mug shelves, are very sensitive when it comes to the timing of their communication, so if you’re not sending data to them at just the right speed, they won’t show the colors you want them to show (or maybe they won’t light up at all). The Pi, being a modern multitasking computer, might be busy doing something else, and not be able to communicate to the NeoPixels on the schedule it wants. The Arduino, on the other hand, is a real-time microcontroller, which means it can schedule its communications on a real-time clock and communicate at the required speed all day long.
Thankfully, someone much more clever than I figured out a way to drive NeoPixels consistently from the Pi by combining the Pi’s PWM (pulse-width modulation) module with its DMA (direct memory access) module, so that the NeoPixel data signal can be sent without being interrupted by the Pi’s multitasking operating system. The resulting library, rpi_ws281x, was exactly what I needed, and Adafruit’s tutorial on setting it up is killer.
The only thing that’s different in my setup is that I used a different level shifter chip to get from the 3.3V Pi logic level to the 5V logic needed by the NeoPixels. I used a Sparkfun PCA9306 Level Translator Breakout, which was also quite easy to set up. You just need a reference voltage attached on either side of the breakout, and then connect the data wire to each side, and the voltage gets shifted up or down as necessary. Here’s my circuit layout:
Anyway — success!
Surprisingly, the bigger challenge was getting the pixels I already had hung from the air duct to be controlled by the Pi as well. Those LEDs are controlled by older chips, the WS2801, which use a different communications protocol. It should have been just as easy, but I really started looking in the wrongplace, and it led me down this path of trying to deconstruct these really convoluted projects that were doing way more than I needed. I’m sure they’re great for the folks who made them, but man, I was way more confused than I needed to be.
Eventually, my salvation came in realizing that the Pi’s Serial Peripheral Interface bus would be the best place to connect these pixels, and a rough test code file from Adafruit pointed me in the right direction. The test code worked great, but the functions didn’t match up with the NeoPixel functions, so I spent a decent chunk of the afternoon writing a new library for the SW2801 Pixels that I’m calling PaleoPixel. (Because they’re older!) That way, once I load both kinds of pixel strips into my eventual master control program, I can issue the same commands to pixels of either type, and they’ll react the same, even though the underlying hardware is different.
Controlling just the PaleoPixels with the Pi, here’s my circuit:
The upshot of all of this is now I can get rid of the Arduino entirely, and save both communications overhead and a big chunk of space inside my project box. Now, I just need to control them together… next time!
Movies are a huge passion in my life, so of course I have a screening room (which most other people would probably call a “home theater”) in my basement. Tiki is a passion of mine too, and while I haven’t brought too much tiki decor into my home (just a bunch of mugs, at the moment), that’s starting to change.
The screening room is now getting a name: the Lava Lounge, somewhat after the upstairs Lava Room at the now-closed Trader Vic’s Las Vegas, but I’m a sucker for alliteration, so “Lounge” it is. (I never actually went up to the Lava Room on my one trip there, but I fell in love with the neon sign.) The Lounge already has deep red walls, red leather recliners, and a Shag print that features a volcanic island. Plus, I’ve recently added red LED path lights that make it feel even more lava-like. I’d like to add a faux-neon mini sign to the door, among other upgrades, but some of those plans will have to wait for a bit.
Update 2016-05-15: Due to unintentional overlap with a Seattle bar called “Lava Lounge,” I am changing the name to Kilauea Cove. This name refers to the complete area, with both the Screening Room and the Tiki Nook.
Just outside of the door to the screening room, there is a little nook that I usually call the “tiki nook”, which has a tiny bar-top for mixing drinks and some shelves for my more interesting tiki mugs. Extending that lava feeling out to the tiki nook is the next project, and this is the first in a series of posts that will show how I’m building that out.
Tiki Nook History
The tiki nook space is pretty basic — bare white walls and a really awkward HVAC duct that plows through the space. I’ve dressed it up with faerie lights zip-tied to the duct for a while, but as the lights would burn out, and I had real trouble figuring out which bulbs to replace without spending a really tedious weekend with my multimeter, I eventually added another string of new faerie lights and then another, so there was this web of broken lights and working lights, all zip-tied together into some sort of terrible fishnet. To top it all off, the newer faerie lights I picked up just weren’t very bright, and it was pretty much impossible to see well enough to make a drink without propping the refrigerator door open. I could have bought some bright LED faerie lights, but then it would just be this ugly bright mess all the time. Obviously, something must be done.
The first order of business was to replace the old, busted lights with something I could mold into the roles of both swank, dim tiki lounge and mixing a drink here, so my eyes need a few more watts. I clipped the old zip ties and strung up a new set of Adafruit 12mm Diffused Thin Digital RGB LED Pixels. These LEDs use WS2801 controller chips, and I had an old Arduino Diecimila laying around doing nothing, so I hooked ’em up, and temporarily set up a basic lighting pattern so I could get a feel for them. I won’t get into the code for this here, since it isn’t my final lighting look, but it’s a simple tweak of Adafruit’s test code for the pixels.
Once I had the new pixels up, and we got the insurance payout for the damages incurred during #SewerSaga, I decided that I could finally do some cool stuff with the nook, with even more animated lighting and some special effects. Some of the lighting is still wending its way across the country, but there’s one thing I had to test now that I had the basic parts.
I’ve long wanted to have a real tiki bar attraction in my home, and inspired by and , I thought I could finally do a miniature volcano in my tiki nook. We’ll get into the specifics of the design in future posts, but now that I have everything I need to control the smoke machine, I wanted to give that much a try!
I’d put together a Sparkfun Beefcake Relay Kit, which lets a 5V signal from a microcontroller essentially turn on a switch that can handle a 120V mains connection. At the moment, the relay will be triggered by the aforementioned Arduino, but eventually everything will be controlled by a master Raspberry Pi.
Anyway, I got that wired together, and based on Control a Fog Machine With Your Microcontroller by Jeff Haas, I hacked up an IEC power cable to connect to this remote. I thought I had everything together correctly, but I’d just tested it manually and not by triggering with the Arduino at all, so when I finally did that, I discovered a short in my 1/8″ plug connector. I solved that with a judicial application of hot glue, but now the LED on the relay lights when it’s supposed to, but doesn’t actually trip the switch and… Okay, I thought I solved it with the hot glue, but there’s still something loose, because if I wiggle the connector around, it works fine.
I think the big challenge is going to be ducting the fog in such a tight space, as well as controlling it, so that it will act on cue the way I want it to. I suspect the answer may be in quickly filling a reservoir with smoke and then pushing it out on cue with a solenoid — or a woofer, much like what uses — but I’ll cross that bridge when I come to it!
Recently, I wanted to upgrade my website on ye olde Django 1.6.5 to finally come up to speed with Django 1.8.3 (current, as of this writing). However, I realized that upgrading a WebFaction webappin situ seemed to be a rather painful process. In addition, WebFaction doesn’t set you up with Virtualenv by default, and I’d like to be able to upgrade Django and the other packages I need for my site without affecting any of my other sites.
I’m going to show how I did my upgrade, but of course, you may have things set up differently, and YMMV. However for a relatively simple site, like mine, I hope this will be helpful.
Frustratingly, it seems when you sign up for HBO Now on the Apple TV, it just associates it with your iTunes account, and that’s it. No email confirmation. No password to sign in to HBO Now on other iOS devices or on the web.
I appears the best answer is to sign up on your iOS device first, but if you’ve already signed up on the Apple TV, here’s the workaround:
Log into your iTunes account on your Mac or PC.
Go to Account > View Account. You will be asked for your iTunes password again.
Scroll down to the Settings section. You will see Subscriptions: on the left, and on the right side next to that, click Manage.
If you have many subscriptions, you might need to scroll down. Next to HBO Now, select Edit.
Under Automatic Renewal select Off and then click Done. You may need to confirm in another dialog box, because iTunes really wants you to be sure.
Download the HBO Now app for your iOS device (iPhone, iPad, or iPod touch) that uses the same iTunes account for purchases as your Apple TV. At the launch screen, select Start Your Free Trail With iTunes, then register with an email address and password. It seems that it doesn’t need to be the same email you use for iTunes, as the purchase goes through iTunes, so it’s automatically linked to the same iTunes account.
Repeat steps 1–4, but then this time you won’t see Automatic Renewal in the Edit page, but Renewal Options. Click the button to Subscribe, and it will ask you to confirm. Once you do, the Automatic Renewal option will reappear, with On already selected.
Enjoy HBO Now on all of your devices! If you want to log in to hbonow.com, use the email and password that you entered in step 6. Assuming both your iOS device and your Apple TV use the same iTunes account, it does not seem necessary to log out of HBO Now on your Apple TV.