 The aim was to build a platform which can handle the transmission and reception of data in a fully duplexed mode using IoT specific protocols. Our team consists of seven people, three of us worked on the web application and the mobile application and four of us worked on the hardware aspect of it. To begin with, first we need to set up the hardware. The major components required in our hardware are sensors, relays, devices, RFID tag readers, UID tags, and a setup for smart plug. We have used a Wi-Fi module in all the setups presented here. So you must be wondering what is so peculiar about this device. Well, the Wi-Fi module is the heart of our project. Here we have used NodeMCU which has an integrated ESP8266 chip which acts as the Wi-Fi module. It has an inbuilt low-power 32-bit microcontroller that can be programmed using Arduino IDE. There are other software development kits that can be used such as Esprino, ESP8266 basic, etc. This NodeMCU acts as a Wi-Fi client and MQTT client in our project. Moving forward to next step, we need to establish a Wi-Fi and MQTT connection. This can be done by using a Wi-Fi manager and PubSub client library that is inbuilt in the Arduino IDE. Moving to the next slide, we will try to understand what MQTT is. MQTT is basically message queue telemetry transport protocol. It is a simple lightweight published subscribe protocol that is basically meant for IoT-based applications. It has three major components, publisher, broker and subscriber. The publisher publishes a message under a particular topic on the broker and the subscriber subscribes to that topic on the broker to get the message. Similarly, users can have multiple topics to publish and subscribe. Coming to the web app, the web app has various functionalities for the user. For example, a user can log into his account and add a device. But the user can log into his account and add devices into the project using the add device button in the devices tab. This is the modal that appears. You have to fill up a form and that's it. Then there are other functionalities also available like creating projects in which you can add devices, various devices under one project as per the user's requirements. There are other functionalities also like Node-RED where you can create your flows inside the web app itself. All of this is also available in a mobile app which you can use directly from your phones. Coming to the presentation, the platform communicates with the device in a bi-directional way. The device-to-platform communication happens when the data from a device is sent, i.e. it is published onto a broker. We subscribe the data and send it to the server using a socket. The server processes the information based on the type of data it has received. Say it is sensor data or some kind of a feedback signal and it stores it in the MongoDB database and sends it to the front-end as a almost real-time plotting. Platform-to-device communication is basically commands that the user will send from the dashboard such as switching it on and off, regulating the intensity of the device. It is also sent to the server using a socket and published onto the MQTT broker ready for subscription by the device. Firstly, we implemented unidirectional communication in two different ways between the devices and the dashboard. The sensors were hooked up to the Arduino board and the data was collected. This data was then sent to the Wi-Fi module via serial communication. This Wi-Fi module published each sensor data on a unique topic which was then subscribed by the dashboard. Once the dashboard subscribes it, it basically takes the data as sensor data which is published on the dash values topic and stores it into the database with the timestamp and also plots it real-time on the dashboard in line charts and gate charts. Can we have the demo? We have created various devices for various sensors like humidity, temperature, x-axis and so on. This is the temperature chart. The data is coming from the sensors which are connected here in this room. So the temperature is almost 20 degrees Celsius in this room since it's a controlled environment. Then the temperature will remain constant. The other physical aspects are like the gate chart which also shows it's 20. The line chart can be plotted again like based on the previous data that has been collected in date-to-date analysis. It's basically you put in the start date and the end date and you see the analysis. So the other things that are being measured are humidity, the light intensity, the x-axis, y-axis and z-axis, accelerations etc. We have implemented many sensors so that we have created a generic platform so we can connect as many sensors as we want. Moving forward to the next flow, we can actually connect the devices using the dashboard. In this, similar to the previous setup, the message gets published on the gateway and the Wi-Fi module subscribes and makes the actions to the setup accordingly. Now we will have the demo. Here we have a bulb and a motor which can be controlled using the dashboard. First we are going to control the bulb so she will switch on the bulb and the bulb switches on. There are no wires involved by the way like it's separate from the dashboard. Now we will turn on the motor. The motor has started rotating. Switch it off. We have also implemented RFID servo motor setup in which when an authenticated card is scanned by the reader, a message is notified on the dashboard and the servo motor rotates by specified degrees. If an unauthenticated user is scanned, then the dashboard is notified about it and the servo motor does not rotate. This setup can be used as a smart lock in future if proper mechanical setup is made. All of these functionalities are also available in the mobile application as well. Since the whole website is also mobile responsive, then the same website can also be opened up on your phone and you can actually select it like he is doing it. As the next part of our project, it is an amalgamation of the two previous experiments. It has both bi-directional channel like we also send messages and they are also sending us messages. It's a smart plug. Basically, you plug any device in it and we can control the intensity of the device. We can switch it on and off. We can set a timer to switch it on and off. We can have notifications coming from it about its actual device state. And we can also monitor the energy that it is consuming since it sends us that energy. So this is the setup for the smart plug. We have connected a bulb to it. Right now it's in the prototype state so not a specific power rating can only be used for testing. And we can increase the intensity. She switched it on. We can increase the intensity of the bulb. And we can set a timer. We'll set it to 7.44. Till the time the timer ends, we'll go on to the energy meter. The device is sending us information about how much energy it is consuming. All this information is stored in the database also for the last 30 days. So in the future, a person can actually take an electricity bill out of it. There are also the task panel where the device, actual device state is being sent from the device on another topic. And those are being displayed in the task panel with a timestamp again. Safe by mistake or some calamity or something, the device did not switch on when I sent a command from the dashboard. Then I'll get to know immediately because there was no notification sent to me about the device state. And no such change will also be made in the database about the device state. So that is why we have a sort of handshake going on. We also have a manual switching option in the smart plug. So if you switch it on from the dashboard, we have a switch over here which we can use to switch it off. It is possible to sync the dashboard and manual switching. It was one of the challenges which took time to overcome. The future scope for this project can be like right now all the devices, like for sensors, we don't need a control panel. It won't work also. It won't do anything. But it's still there on the dashboard. So we can have customizable dashboards as per the user's need. Secondly, we can also set up some sort of a home automation system. Say in the project section, I can have a bedroom, a kitchen, various appliances. So it can actually go to that scale. For the hardware section, the future scope can be that we have implemented many sensors, but we have not made it application specific. So we can implement DHT sensor in a room and measure the temperature and turn on or off the cooling and heating appliances accordingly. Similarly, we have an accelerometer which can locate an aircraft or some flying object and control its position automatically. Also, we have RFID servo motor setup which I already told can be used as a smart plug. And the smart plug can be used to control high power rating devices like ACs and all by making some minor changes. Actually, this is a prototype. So we have implemented it for low power rated devices, but minor changes in circuitry can be made and smart plug can be used for ACs and all high power rating devices. Thank you for the patience. If there are any questions, we cannot. Before all these wireless, there was something called X11 protocol. That was actually transferred using the electrical power itself to transfer control signals. So there was something like a X11 plugs which are available in the market for about $4 or so. And they had a system to control all the plugs. Each of the plugs that you buy had an ID. So I can control through the net and through whatever devices that are there. All the plugs on, off, timed and all that business was there. That's why I came and looked. It looks very similar, but does it have an ID? Each device has a separate ID. In this, we have just implemented one sort of a device. But can I program it? Turn off at 7 and turn off at this thing. And let it be. Turn on at some time, turn off at some time. That is possible. And that can be programmed and kept every day or I have to do it every now. Right now we have set it for a specific time, like tomorrow or day after or whatever. But those are minor changes in the code that can be done very easily. Program it in the sense for the hardware from the hardware side? No, it was mainly that X11 was just a plug. I had looked at that system I think from lots of time ago. That time it was hot. Because this Wi-Fi was not very good. X11, I had seen it in 90s. But they were regularly available for $4. The advantage was I don't need to buy anything. I just plug it in. It's a plug. But you have got that board and all that, no? No, no. We can reduce the circuitry by making a PCB. Actually we have used all the components. We have soldered it, but if we design a PCB and all the SDM small chips are used, then it is possible to reduce the circuit. It was actually a pluggable device only. It was a plug, socket, just X11 socket. So I will just plug it in and it is... Now the other thing was there are lot of now smart things coming up. Which already have all these things built in, no? I can control it through regular internet. I don't need any of your hardware. They have all your, whatever you have done, they already have it built into the device. Those are device specific, like for an AC, only that platform, everything will only work for the AC. This is basically that is a device that is for this platform, any other device we can make for this platform. It is generic IoT. Correct. The device becomes smart. For example, only the modern AC come with all these features. Correct. So you can plug the previous AC to this thing and use it as... ACs and TVs also probably come with all these. Yeah. Not on-off. I think it comes with recording and all kinds of funny things nowadays. You know about the 3 star rating, 4 star rating, 5 star rating. So what if I use this for a 3 star rating AC? What would be the performance of the AC? Will it... Right now this plug is implemented for low power rating devices. So later on in the future... Yeah, that is a future scope. ...a kind of system. If we improve the circuitry inside and if you use high power rating resistors and components, then... That's okay. You can put as many components as possible. So what I want to know is that... So you have a specific rating for like 3 star, 4 star, 5 star. 5 star means less consumption. Yeah. 4 star means less... Oh, so that AC is anyway going to consume. Yeah. Just turn it on. We are just displaying the energy consumed. We are not controlling it. It can reduce the energy consumption. So this is only going to calculate the power? Yeah. Energy. So one thing possible is really to check whether it is 3 star, 4 star or 5 star. That's what it's... Monitoring the energy consumed that day, right? Right. Can you understand that? Okay, just a suggestion but it was good. Maybe you could have applied some AI where related products will give some dashboard adjustments and feedback to the user. So for example, the humidity sensor or the temperature sensor should tell you something about the AC temperature and the related products. So if you have a camera thing, it should say that nobody is there inside. So it should switch off the lights. And we actually wanted to implement that but there was no time. Two months is very less. Okay. I forgot to mention it in the future. Yeah. Actually, I thought it would be one of the good future scopes. In the documentation it's there. I forgot to say it. You have written this. Okay. Thanks. Nice work.