In this project, we are going to build a basic IoT system, where we have a bulb that switches on automatically when there is less ambient light around it. These kinds of systems can be used in smart streetlights, which work on their own.
For this project, we will use the Arduino Uno available on the Simuli Virtual Lab platform along with the W5500 Ethernet module and the APDS 9301 light sensor. We will get the current ambient light via the APDS 9301, then based on the current ambient light, send a message to toggle the light via MQTT. We can increase the scale of this project to include as many bulbs as we want because MQTT works with a publish & subscribe model and we can have all the bulbs subscribed to the same topic.
If you are not familiar with the MQTT protocol, you can read our guide here:
Before we can implement the project, let's set up a few things first.