This is an old revision of the document!
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
Depending on your OS you might need a driver.
MacOS caused the most trouble. First you need to make sure to identify the hardware.
... 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
In this case MacOS needs a driver
Todo
#!/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
Todo