Playing with IOT

I got a few ESP microcontrollers – ESP32 and ESP8266. These are Arduino type micros with Wi-Fi and (optionally) Bluetooth built in. The ESP8266 is actually the basis for the Sonoff controllers.

This means you can control the micro from the internet, and by extension the Amazon Echo or Google Assistant. I chose Adafruit IO as the service broker – more about that later.

I had built a little fixture to use as a macro photography stand. I wanted a way to light the subject which led to the following:

  • Build something to control a ring of intelligent LEDs – Neopixels
  • Control this from the internet – use Adafruit IO to control the brightness, color, and number of pixels lit.
  • Use IFTTT to interface Alexa and Google assistant to Adafruit IO.

So now I can control the light ring from a PC, tablet or phone. Or by talking to it.

Then I came across a color sensing device. This “looks” at a surface and derives an RGB color value for what it “sees”

OK, now imagine I can look at a color and tell my neopixel ring to mimic it.

  • Build a device to read the sensor and tell me what it “sees”
  • If I see a color I like, send it to Adafruit IO, where it in turn can control the Neopixel ring, or any other arrangement of Neopixels I care to play with.

This is the Neopixel controller. This one controls a ring of sixteen LEDs. you can select brightness, number of leds, and the color. Your choices are shown on a small OLED display.

Number of LEDs lit, the brightness percentage, and the color values (0 – 255) and bar graph.

Here is the Adafruit IO “dashboard” that controls the thing. You are allowed up to 10 “feeds” that can send and receive data to and from a web connected device. It acts as an MQTT broker, which accepts data “published” to a feed, and sends data to devices that “subscribe” to the feed. Essentially, both your Adafruit IO and your device “listen” for stuff that is for them (based on your subscription authorization and feed names and so forth) then act accordingly.

And this is the color sensor bread-boarded up. The three top LEDs show the color sensed, and the lower three are the individual Red, Green, Blue intensities. The OLED display is similar to the one on the controller – showing the color values. Pushing the button “publishes” the color value to the Adafruit IO dashboard, where the controller can pick it up. So you can scan a color and set the LEDs you are controlling to it.

Of course you can also manipulate the dashboard from any internet connected device.

Finally, there is voice control via IFTTT

This part got a bit tedious because the commands have to be set up individually. Google Assistant is a little smarter – it understands numbers and so forth so it took setting up only three or four commands instead of a unique one for every action

So that’s where I am on this one. I can see controlling any sort of deck or display lighting by extending these prototypes.

Posted in Projects | Tagged as: , ,

Comments are closed.