At Nanyang Technological University (NTU), student dormitories are implementing energy-efficient automated room lighting.
- Lights left ON overnight or during the day, wasting electricity
- Inconsistent usage habits across students
- No centralized management or automation
- Philips Hue smart lights (Zigbee devices)
- MQTT broker for communication
- ROS 2 orchestration layer
Build a ROS 2 Python package that acts as a scheduled lighting controller for a dorm room.
The system must automatically:
- Turn lights ON at 8:00 PM (students return to rooms)
- Turn lights OFF at 8:00 AM (save daytime energy)
- Send commands to the light via MQTT
- Receive current light state from MQTT
- Publish light state into ROS 2
The submission must include a proper README.md or quick start guide.
The README should clearly explain:
- How to install dependencies
- How to build the ROS 2 package
- How to run the MQTT broker
- How to run the ROS 2 node
- How to test ON/OFF commands
The submission must also include an architecture section explaining how the system works.
We want to see how you:
- Break down a problem
- Structure a ROS 2 Python package
- Use Git
- Write clean Python code
- Work with MQTT
- Think about system architecture
- Explain your work clearly in a README
- Clone the repo
- Complete the assignment
- Push to your own GitHub repo
- Share the repo link