User Tools

Site Tools


projects:neopixel-bandwidth-room-light

This is an old revision of the document!


NeoPixel Bandwidth Room Light

Overview

A 5 meter NeoPixel strip should light up the room.
The first pixel shows is calculated based on something (loudliness in the room, incoming bandwidth, …)
Over time the pixels move to the next and create a pattern based real life events.

A ESP8266 will control the strip and will accept commands over WiFi (UDP)
One UDP port will accept the json data for the current situation. It will also handle the pixel scrolling.
Every client on the network is able to send data to it and impact the mood light.
Light wars incoming!

The ESPP8266 board is a NodeMCU Amica

Identify Hardware

Depending on your OS you might need a driver.
MacOS caused the most trouble. First you need to make sure to identify the hardware.

  • Boot Linux
  • plugin USB cable from the NodeMCU
  • dmesg
  • ... usb 1-2: new full-speed USB device number 7 using uhci_hcd
    ... usb 1-2: New USB device found, idVendor=10c4, idProduct=ea60
    ... usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    ... usb 1-2: Product: CP2102 USB to UART Bridge Controller
    ... usb 1-2: Manufacturer: Silicon Labs
    ... cp210x 1-2:1.0: cp210x converter detected

Driver

In this case MacOS needs a driver

Arduino IDE Config

Programm

Todo

Flash

  • Tools → Board
    • NodeMCU 0.9 (ESP-12 Module)
  • Tools → CPU
    • 80 MHz
  • Tools → Flash
    • 4M (3M SPIFFS)
  • Tools → Upload Speed
    • 115200
  • Tools → Port
    • /dev/cu.SLAB_USBtoUART

Flash OTA (OverTheAir)

The ESP8266 with an Arduino Core provieds a possibility for a OverTheAir Update.

http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html

Test

#!/bin/bash
IP=192.168.x.x
PORT=2342
for i in 16 48 96 256 128 64 32 16 1
do
   echo led intensity: $i
   echo "{red:$i,green:1,blue:1}"   | nc -w 0 -u $IP $PORT ; sleep 1
   echo "{red:1,green:$i,blue:1}"   | nc -w 0 -u $IP $PORT ; sleep 1
   echo "{red:1,green:1,blue:$i}"   | nc -w 0 -u $IP $PORT ; sleep 1
   echo "{red:$i,green:$i,blue:$i}" | nc -w 0 -u $IP $PORT ; sleep 1
done

SNMP Example

Todo
projects/neopixel-bandwidth-room-light.1508013286.txt.gz · Last modified: 2017-10-14 20:34 by mrweedwood