It is clear by now that this project will consist of three hardware components. One of them is the Smart Controller that communicates with Control Center via XBee DigiMesh network.
It would be great if this controller could control our custom designed LED driver, generic LED drivers and also existing light fixtures using the old-tech-bulbs.
Making a system that is compatible with all these drivers is a challenge, but since we are designing our own LED driver, we have an opportunity to make it compatible with other generic LED drivers that accept 0-10V PWM input for dimming. It is out of the question that any of those old mercury, metal-halide and sodium-vapor based bulbs can be dimmed (without any modifications to them, or even with) so we can make our Smart Controller turn these on/off and that's it.
The Controller has to measure power consumption, log it internally with RTC, and report back to the Control Center as soon as possible.
Switching the loads on/off can be acomplished with solid state relays.
Dimming is done with 10V PWM output where 10V is generated with a tiny on-board step-up converter.
RTC will have a backup battery, actually a 1.0F super-capacitor to keep the time runing when power is cut to the lamps in the morning (every morning). This power cutting must be detected by the microcontroller also, in order to save the power consumption with RTC stamp to EEPROM, and to be able to report this information back to the Control Center once power is restored!
Since we will be using XBee and their DigiMesh system, it *should* be easy to create a network of lamps which will distribute messages from any Smart Controller to the Control Center's XBee (Gateway).
It turns out that Lamp (street light) poles are some sort of magnets when it comes to traffic, and every now and then a car crashes into one. When this happens, the Smart Controller which is located in one of those poles will be broken/unpowered. Thanks to DigiMesh this means that adjacent poles can continue communicating with each other directly, skipping this broken XBee node. How cool is Mesh topology? The only thing left to do is proove that DigiMesh works with many many nodes on a single network.
Anyone has any ideas about the limitations of DigiMesh? How many XBees can operate on a single network?