Anonymous

Project:Traffic Lights: Difference between revisions

From London Hackspace Wiki
no edit summary
No edit summary
Line 1: Line 1:
== USB Traffic Lights ==


The traffic lights above Lovelace are currently connected to Babbage via USB. Theyre a USB HID device (Vendor ID  0x03EB, ProductID = 0x2044 - LUFA stack testing vid/pid) that is controlled by a Daemon running on Babbage.
'''Warning: You should read and understand this document ''in full'' before opening or hacking on the traffic light'''


To control them directly you need to send a Set_Report request to the Control Endpoint with the data part being 8 bytes long. The first 3 bytes are uints that represent the 3 lights, the rest of the values can be left as zero. A non-zero value means the light is on
'''Please speak with [[User:marrold|marrold]] prior to hacking to find out the current status of the Project.'''


You can also read from the first Interrupt Endpoint to get a report of the current light status.
[[File:TrafficLightOutside.JPG|250px|thumb|right|Traffic Light]]


=== Safety ===


== Babbage Daemon ==
* '''Mains voltage''' is present in the traffic light.
* '''Always''' isolate the power before opening up any of the sections.
* '''Always''' isolate the power before programming the ESP8285 - otherwise your risk damaging your computer or yourself.


The daemon running on Babbage (under my account) listens for UDP packets on port 9009. Simply send a 3 character string terminated by carriage return and newline to set the light status, for example:
=== Hardware ===


100\r\n <- green light on<p>
The traffic light is a PEEK Elite Traffic Light in a RAG (Red - Amber - Green) configuration, manufactured around 2001. It's currently fitted with Pedestrian hoods as these are more compact than the Primary or Secondary hoods.
101\r\n <- green and red lights on<p>


This daemon handles the USB stuff for you.
=== Controller ===


== Current uses ==
The traffic light is controlled by a [https://www.itead.cc/wiki/Sonoff_4CH "Sonoff 4CH"] 4 channel relay board, a commercially available device that costs around £15-25. The relay board itself is controlled by an Espressif ESP8285 System on Chip (SoC), which is almost identical to the popular ESP8266, but contains additional memory. The ESP8285 has onboard WiFi and supports the Arduino platform and libraries, making it ideal for an "IoT" device.


Since I changed the API none of the IRC commands that use the lights work.
=== Wiring ===


There is a doorbot listener on babbage that listens for unknown cards at the door and blinks the Red light 5 times. It Erases the current light state after doing this
The traffic light is powered from 90-250v AC (50/60Hz). The controller contains an AC-DC convertor to bring it down to the 3.3V required by the ESP8285. The 4 relays output mains voltage, which is then dropped down to ~12v AC by an individual transformer ''per bulb''.


=== Bulbs ===


== Safety ==
The "real" bulbs for these traffic lights are 12V, 50W Halogen Bulbs with a GY6.35 base from General Electric, however they have been replaced with generic 4W LED bulbs to reduce the brightness and power consumption.


The bulbs run on 240v from the mains, theyre isolated from the USB side by 3 solid-state opto-isolated relays. There is a board inside the red module that contains the electronic parts. DO NOT OPEN IT WHILST THE MAINS ARE CONNECTED. The right hand traces of the board will be at 240V and there is NO ground connection
=== Programming ===
 
The Sonoff 4CH can be programmed via serial using the Arduino IDE, Platformio, or any other software capable of programming an ESP8285.
 
To get into flashing mode, you must press and hold the L1 button down as you power up the board.
 
Some USB to Serial adapters are unable to supply the required current to the Sonoff. If you see weird behaviour like the board restarting, you may need to power it externally with 3.3V (NOT MAINS!).
 
{| class="wikitable"
! style="font-weight:bold;" | Colour
! style="font-weight:bold;" | Use
|-
| style="background-color:#cbcefb;" | Violet
| style="background-color:#cbcefb;" | VCC (3.3V)
|-
| White
| Tx
|-
| style="background-color:#c0c0c0;" | Grey
| style="background-color:#c0c0c0;" | Rx
|-
| style="background-color:#000000; color:#ffffff;" | Black
| style="background-color:#000000; color:#ffffff;" | Ground
|}
 
'''N.B: Remember to "invert" the UART connections'''
 
=== Current Use ===
 
The traffic light currently cycles through the light cycle displayed at road junctions.
 
 
== Pictures ==
 
{|
| [[File:TrafficLightInside.JPG|thumb|Inside, showing the controller. ]]
| [[File:TrafficLightController.JPG|thumb|A close up of the controller, showing the programming lead. ]]
| [[File: TrafficLightBulbs.JPG|thumb|The "real" 50W GY6.35 bulbs.]]
|}


[[Category:Projects]]
[[Category:Projects]]
[[Category:Space_Infrastructure_Projects]]
[[Category:Space_Infrastructure_Projects]]
242

edits