 And now we move on to the next group which is the DAQ. It is a data acquisition system that is highly configurable and user-friendly and allows plugging in of sensor modules and viewing of data in a cache tablet. Its features makes it comparable with the existing DAQs available in the market. The group is mentored by Mr. Shivakaran Kodali, Mr. Sandesh Pati and Mr. Maitri Modrekar and Mr. Raju L.D. So the team is here. Let's start with the presentation. Good afternoon everyone. We are here to present our project, E-Sankalan, a data acquisition system. Before starting with the project, we would like to express our gratitude to Professor D.B. Fateh for giving us this opportunity. Also, a special thanks to our mentors whose guidance was very important during this project. Let me introduce to my team is Payal, Bhargavi, Megha, Shreya, Gaurav, Tanmay and myself is Ankur. The objective of this project was to create a low-cost modular data acquisition system which would be very highly configurable but yet user-friendly. Now, many of you will be wondering what is data acquisition? A sensor is a converter which measures simple physical conditions. A sensor is a converter which converts physical conditions into some electrical form which is then processed and stored in a hardware. This is the basic process of data acquisition and I'll now let Payal explain the hardware that we used in this project. We are using Wigglebone Black as our DAC hardware. It is a small credit card-sized Linux-based computer. It acts as a microcontroller for extracting data from the sensor as well as a server for broadcasting the acquired data. It supports USB, Ethernet, HDMI, apart from these the communication protocols such as ADC, UR, SPI, I2C, GPIO pins, etc. Now, let's take a brief look at the protocols that we are interfacing and supported by Wigglebone. In our project, we termed ADC as a protocol. The analog output from the sensor is given to the onboard ADC. For the process, I2C, Interintegrated Circuit, it is a two-wire interface consisting of serial data line and serial clock line. With every pulse in the clock line, there is a transmission of the data that is synchronous transmission. Another one is a UART, Universal Asynchronous Receiver and Transmitter consisting of RX that is receiver and transmission line for the asynchronous transmission. Now, let's take a look on the workflow. This is the basic workflow of our system. Here, we first plug in the sensors to our hardware, Wigglebone and power the Wigglebone on. Now, as soon as the Wigglebone is powered, a server is initiated on the Wigglebone and now the user can open the Android application. Now, when he opens the application, he needs to connect it to the Wigglebone using either of the communication channels, Wi-Fi or USB mode. For Wi-Fi, it will ask for the IP of the Wigglebone. Now, a series of information will be asked from the user in a very user-friendly manner and the read request will be sent to the Wigglebone server to access the data of the sensor. The server will check the request for its validity and if the request is valid, it will access the data of the sensor and send it back to the Akash tablet using the source same communication channels. Also, there is a feature for data logging in case of disconnection which will be explained later. Now, over to Tanmay. Now, I'd like to highlight the basic features of a system. One of the main features of a system is that it is highly configurable for I2C, UART and ADC ICs. Here, as you can see, there is a simple form in which the user just needs to enter the basic details to extract the data from the sensor. It doesn't need to write those long scripts to extract the data from a sensor. Also, we have given an option to put formulas to convert his raw values into the physical parameters which he actually wants to measure. Also, we have provided a highly interactive UI for selection of the pins. It contains an image of the Wigglebone with zoomable features where the user can easily select the pin on which he wants to attach his sensor. The formula will be explained in detail in the demonstration. Also, we have given an option to enter the rate at which the user wants to get the data. The user might want to get the data at different rates, so he needs to just enter the rate in milliseconds and he will get the data at the desired rate. One of the major challenges that we face during our project is the generalization of the I2C model. For that, we studied several sensors and then we came to finding that basically to extract data from the I2C sensors, we need two types of commands. The one is the configuration commands. Those are the basic commands that are required to set or reset some registers before we can actually get the data from the sensor. And the second is the execution commands. They are the actual commands that are used to read or write data from the registers. Both of these commands can be of three different types, that is the read, write or the delay. Read is basically reading values from the register. Writing a value to a particular register and delay is a simple delay between the execution of the two statements. These are the UI which demonstrate the read, write and delay feature which we will later explain in the demo. Another good feature of our system is that it can handle multiple sensors simultaneously. You can interface many sensors on the BeagleBone at the same time and you will get the data for all the sensors simultaneously. Here as you can see there are different sensors. These all can be interfaced at the same time. The main aim of our project is to get the data from the sensor. So the data which is coming from the sensor, we have displayed the data in highly interactive forms. That is the linear list, the graph as well as the gauze view so that the user can see the data in different forms and can put up his analysis, whatever is required. Now I will hand over to Bhargavi for the rest of the features. Coming to the formula part. Now the value that comes from the sensor need not be the value of the physical quantity which is actually supposed to be measured. It could be a voltage or a current value or a value present in the register. So this value has to be manipulated algebraically using a series of interdependent formulae. Now this is the interactive UI that we have used in order for the user to enter these formulae. As you can see the I2C based sensor BMP uses 11 formulae and we have provided the interface to enter all these formulae so that the user never has to see the raw register values, he can see the direct data, temperature data. It stores sensor configurations. Another very unique feature of our system is the ability to synchronize databases. This is basically aimed at enriching the library of sensor details provided on the tablet. So database tables which are located in other tablets as well as in external libraries can be imported onto the tablet. Now another very important feature is the feature of data logging. Suppose the user wants to take readings for hours and days together but he is not constantly present near the tablet to view the data. Or in case there is a accidental disconnection in the Wi-Fi or USB mode of communication. Crucial data may be lost in this process. So what happens is the sensor data which is extracted from the hardware is directly stored in text files on the board's memory and these text files that can later be accessed for view. Now apart from the ADC, UART and I2C modules, our system also supports sensors based on other protocols. In this case the user will have to supply the Python script to the tablet which is then transferred to the board and it interacts directly with the hardware. And finally our system is quite cost effective. It maintains a balance of speed, accuracy as well as optimal use of the hardware. Over to the demo. Okay now we will be showing a demo of our app. We have connected the gas sensor. As you can see the server has started so the app is prompting you to enter the IP address of the BeagleBone server. Enter that and press OK. You will be taken to a screen to select the protocol on which your sensor works. I will be selecting ADC as the gas sensor works on ADC protocol. You can see the list of all the sensors that work on ADC protocol and that are already stored in our database. You can search for a specific sensor. I will be searching for the gas sensor. Here it is visible so you can either add a new entry or select the already existing configuration. Tap on the gas sensor and you will see the already filled form that contains the sensor code and quantity being measured, the unit and also the pin on which the sensor has been attached. You can edit any of these details and they will be stored. To edit the pin number just tap on the select pin button. You will be shown an image of the BeagleBone black. Just zoom in on the image and select the corresponding pin. Press the Done button. You can review the form and then you can add all the formula that are used for data manipulation. Here we have already added the formula for you. You can clear this list, add new formula, edit the formula, anything you can do with the formula. This is our interface for adding the name and the expression of the formula has to be added. Go back to the form by pressing the Done button. Now you can start the data acquisition process. You can view the data here. Here we have a list of all the active sensors that you have added. We have added the gas sensor. Just tap the Start button to start viewing the data. You will be asked to enter a few minor details like the sampling rate in milliseconds. We are giving 1000 milliseconds and you can also enter the threshold values. Just tap on Start now to start viewing the data. This is the gauge view. We tested the sensor by spraying deodorant all over it and as you can see the values are rising. It is measuring the concentration so when you spray the deodorant the values rise. You can also view the list of the data and the graph of the data. To measure the data of multiple sensors you can just tap the Add button and add a new sensor. Gaurav will explain that part. So now I will be adding another sensor. It is an I2C based 2-in-1 sensor which measures temperature and pressure. Here we will be measuring temperature in degree celsius. After selecting the button and selecting the appropriate entry that is BMP-O85 will be taken to a pre-filled form which has sensor details, basic sensor details and some technical details like the I2C address and the PIN. Well additionally in case of I2C protocol we have to specify a list of configuration and execution commands based on the generalized I2C model. Like on clicking the configuration button you can see a list of configuration commands and you also have the option to add, edit or delete the read, delay or write commands. Here I am adding the delay command. I am specifying the delay in milliseconds. We are clicking on the commit button. We also have the option to edit or delete the existing commands. Here I am deleting the command. Now we can switch to the exact window where we can see the list of execution commands. There is a list of all the read, write, delay commands that will be executed every time. Now in case we can also add the formula that will be applied on the data we will enquire from the sensor. Now press the done button to return to review the form. So as you can see the new sensor is added to the list along with the gas sensor. Now we can tap the new sensor and then start collecting the data by clicking the start button. We can enter the rate as usual like 1000 milliseconds. We can check whether we want to log the data on the server or not. Enter the minimum and maximum thresholds like we have added 25 and 30 degrees Celsius. Then when we click the start now button we can see the data being shown on the gauge view, the data view. The scope of our project. Our project is highly cost effective other than it is mainly targeted to the college students. It is compatible with a wide range of sensors because it is a generalized system. Other than a powerful formula builder is also provided in our system. So user can enter any number of formulas and according to that process the data according to his requirement. Other than we have prepared a proper documentation and the codes are uploaded on the Github link. So developer can go there and go with this project further. These are the main challenges that we have faced throughout the project. Like decreasing the delay speed means increasing the sampling rate. Generalization of the I2C configuration that was a major challenge for us and also provide a very highly interactive user interface for entering the formula. Other than background services in the Android socket program in the Python communication via USB. These were also major challenges for us. What future improvements can be done in our project? Like sampling rate, what we have acquired right now is significant, sufficient. But for high applications it can be enhanced. Sir the library system is such that it's a word we are using. The database is built locally on the Android tablet. Once you have entered, used the sensor using that tablet, you don't need to enter those details again on that tablet again. So yeah I'm explaining that thing. Now suppose IIT Bombay is the partner or the distributor. So database with the library is the library of the configuration itself. Some user distributor can make its own configuration database like we have stored in there. And that database. Yes sir. These are the references.