Difference between revisions of "Beacon3"
From Hackstrich
(Response codes) |
(Status output.) |
||
Line 47: | Line 47: | ||
*** No parameters | *** No parameters | ||
*** Flash a unique pattern on the Beacon so it can be identified from a distance | *** Flash a unique pattern on the Beacon so it can be identified from a distance | ||
+ | ** Status: '''s''' | ||
+ | *** No parameters | ||
+ | *** Ask the Beacon to send back a bunch of status information. Terminated by \0, not \n! | ||
** Debug: '''d''' | ** Debug: '''d''' | ||
*** No parameters | *** No parameters |
Revision as of 22:24, 30 July 2011
Beacon3 will be a beacon for the top of our flag(less?) pole for Burning Man 2011. It will be simpler than Beacon2 as time is limited to get it done, but we want a brighter beacon.
Project Status
- 2011-07-19: Initial design started.
- 2011-07-23: Schematic for LED driver board started and almost completed.
- 2011-07-24: Board layout for LED driver board completed pending final review.
- 2011-07-25: Final review of board layout for LED driver board completed, order submitted to MyRO for manufacturing.
- 2011-07-28: Completed schematic for planar board and began board layout.
- 2011-07-29: 4 Cree MC-E LEDs (on star heatsink/boards) ordered.
- 2011-07-30: Completed board layout for planar board, pending review tomorrow. Started work on remote control interface.
Design
- Beacon Unit
- Same enclosure as Beacon2 can be used to save time, just remove PCBs and replace with these
- Planar PCB that fits onto the spindle, which the other boards plug into vertically
- Single MCU this time, as there are fewer LEDs
- Same light sensor and (lack of) charging circuitry as Beacon2 can also be used
- Regulator on planar will only be needed for wireless functionality, MCU can operate over whole battery range as can LED drivers
- Will use an ATmega328p for the MCU, makes it Arduino-compatible
- 4 RGBW LED units on Star boards and heat sinks at 12, 3, 6, and 9
- Using Cree MC-E ~2.5W per component colour RGBW LEDs
- 4 RGBW LED driver boards (custom) at 1:30, 4:30, 7:30, and 10:30
- 4x NXP SSL3250A chips on each board looks good to drive the RGBW LEDs
- Will drive them at 200mA per component colour constantly, and 500mA flashes of 820mS
- This chip has a fixed I2C address though so an I2C mux would be needed on each LED board
- The PCA9545 looks perfect for this, I2C controlled 4:1 I2C mux and can be "turned off" so that there's no need for a planar mux
- 4x NXP SSL3250A chips on each board looks good to drive the RGBW LEDs
- Remote Control Unit
- Having a remote that would make the beacon extra-noticeable when a button was pressed would be cool
- To get long enough range to be useful, we'd want ~50mW
- XBee is probably the best way to go, but need to look at power draw for the RX side and would have to custom-design a remote control unit
- Remote Control Unit could just be:
- Arduino Fio
- XBee Series 1 RP-SMA (plugs directly into Arduino Fio)
- Rubber-duck antenna
- LiIon pack (plugs directly into Arduino Fio)
Wireless Protocol
- Commands are one letter, followed by parameters that vary by function.
- Newlines signal the end of a command
- Beacon3 response has a single character severity code (e for error, i for informational/success), then the rest of the line is free-form text
- Beacon3 response is terminated with a newline, unless otherwise specified
- Command listing:
- Identify: i
- Parameter: 3 character device ID followed by the 802.15.4 address of the remote device (i.e. RCD2 for the remote control device at address 2)
- Identify to the beacon who the remote device is.
- Flash: f
- No parameters
- Flash a unique pattern on the Beacon so it can be identified from a distance
- Status: s
- No parameters
- Ask the Beacon to send back a bunch of status information. Terminated by \0, not \n!
- Debug: d
- No parameters
- Ask the Beacon to send debug information as it beacons, will stop when any character is received from the remote device
- Identify: i