This is an old revision of the document!


{tag>project}

Ceiling lights control

GitHubRepository

  • 6 Ceiling lights
    • 4 neon lights
    • 2 LED strip neon replacements
  • 2 5-wire 230V cables connect the lights to a self-made relay box
  • Each ceiling light
    • shares Earth and N
    • has it's separate L
  • relay box contains
    • 1x 4-channel opto-isolator relay 5V/230V , switchable with 3.3V IO, pull low to GND to switch
    • 1x 2-channel opto-isolator relay 5V/230V , switchable with 3.3V IO, pull low to GND to switch
  • Lasercut-Box with Light-Switches on wall
    • offers 6 2-way up/down switches
    • offers 3 push-buttons
    • --> 15 buttons
    • contains Teensy 3.0 µC (??)
    • contains RF433 transmitter
  • Teensy µC
    • reads 15 buttons
    • controls RF433 tx
    • has 6 unused gpio prepared to switch ceiling light directly
    • firmware takes rf433 cmds on /dev/ttyACM0
    • firmware reports buttons and takes gpio-to-set-states on /dev/ttyACM1
    • firmware also switches currently unconnected gpio directly
  • Relay-Box is connected to RaspberryPi1's GPIOS running as licht.realraum.at
    • 5V to VDD
    • 3V3 to VCC
    • gpio4, gpio23, gpio18, gpio17, gpio22, gpio21
  • RaspberryPi1
    • installed in carton box on shelf above passage
    • powered by USB-Multi-Charger
    • runs golightctrl
      • switches ceiling lights via GPIO
      • which provides Webserver to switch lights
      • reads Buttons from teensy
      • knows ceiling light states from GPIO
      • sends RF433 cmds directly via teensy or sends request to send to arduino on mursat shelf via MQTT

Current Problems

  • if raspberryPi1 dies or has problems, light can not be switched
  • teensy Firmware logic for gpios LOW == ON needs to be changed
  • switching ceiling light power on/off is probably incompatible with planned change of installing ESP8266 based H801 for each light

TODO: 1. connect Relay directly to Teensy µC 2. change firmware to switch LOW for light-on 3. change firmware to have 2 Modes * Direct-Mode: µC directly switches ceiling lights on button-presses and reports current state to golightctrl * Indirect-Mode: µC only reports button presses, does not directly switch ceiling lights, golightctrl tells µC which ceiling light to switch 4. have firmware automatically switch back to Direct-Mode * if ttyACM gets closed * golightctrl fails to send SwitchToDirectMode-Cmd after 60s 5. change golightctrl to * periodically send SwitchToDirectMode-Cmd * switch power of ceiling lights via µC * know ceiling light state from µC * send MQTT cmd to H801 to switch ceiling light off instead of cutting power (because faster and less weird when switching on again) * only cut power to ceiling lights when presence==false or people hit off-switch/webbutton multiple times or H801 MQTT keepalive times out or MQTT msg could not be delivered

realraum Graz, Brockmanngasse 15, 8010 Graz, realraum - Verein für Technik in Kultur und Gesellschaft
  • /var/lib/dokuwiki/data/attic/roomauto/deckenlichter.md.1483594561.txt.gz
  • Last modified: 2017-01-05 06:36
  • by xro