Sun, 13 Nov 2016

Scripting A Light Bulb

This is adapted from an email I sent to an internal "gadget fan" mailing list at work in response to a question someone asked about controlling lighting electronically.

I went “simple” and I’m pretty happy with it.

I bought this bulb from Amazon.

It’s made in China and sold under several different brand names, most commonly “Flux” and “Magichome.”

You can get the WiFi RGBW version from Amazon (and a domestic seller) for ~$35.

If you feel comfortable shopping via Alibaba (I don’t) you could probably get it for ~$20.

There are several client tools for interacting with them. I’ve used one written in Go and an (easier to work with, IMO) one written in Python.

It doesn't do the dumb thing (UPnP on the open internet) so no, my light bulb isn't helping to bring down Twitter.

In addition, if you live in the iOS universe there’s a plugin that makes it work with Homebridge (and hence HomeKit.)

I can tell Siri to control my lights. Useless, but fun.

More practically, I wrote a Python script that turns on the lamp in my son’s room in the morning and gradually eases him up with subtle color changes.

It kicks off from a cron job running on a Raspberry Pi. (It doesn’t have to be a Pi, of course — any Linux machine or Mac would work.)

I’m sure it could be made to work from Windows, too, but that’s Somebody Else’s Problem. 😁

:: 19:57
:: /tech/gadgets | [+]
::Comments (0)

The Magic Word:
Which planet is closest to the sun? (hint -- it's Mercury...)

UNIX Shell is the Best Fourth Generation Programming Language

It is the UNIX shell that makes it possible to do applications in a small
fraction of the code and time it takes in third generation languages. In
the shell you process whole files at a time, instead of only a line at a
time. And, a line of code in the UNIX shell is one or more programs,
which do more than pages of instructions in a 3GL. Applications can be
developed in hours and days, rather than months and years with traditional
systems. Most of the other 4GLs available today look more like COBOL or
RPG, the most tedious of the third generation lanaguages.

“UNIX Relational Database Management: Application Development in the UNIX
Environment” by Rod Manis, Evan Schaffer, and Robert Jorgensen. Prentice
Hall Software Series. Brian Kerrighan, Advisor. 1988.