 back to this, the last session for today. So, I request all of you to please switch off your tutorials. We will have a look at the other part of Sylab. I don't know if you have listened to the XCOS tutorial. Okay, so how it is related. First of all, I have a hardware it may, it in my hand. This hardware is called as a single board heater system. And this hardware was designed and developed at IIT Bombay. And we have, so what is the use of this hardware? First of all, this hardware was designed with the aim of having a plant, a portable plant. How many of you are from electrical engineering department or controls, instrumentation, anything, electrical controls, very few, okay. But you must be aware of the terminologies such as control system, okay. Hardware access, you know, control system, hardware access, plant, process, must be aware of these terminologies. So, what are the rest? All are mathematics, computer science. Electronics, so how many from electronics background? Okay, so you can also be counted as electrical engineering part of, okay. So, this Sylab can not only be just used for plain mathematical calculations, matrix operations, but you can also very well use it, extend its usability for connectivity of a hardware to connectivity of a hardware. So, I am here to demonstrate this feature. You see my desktop screen over there. So, this device by the way is a Atmega 16 microcontroller based device. It has two ports for communication, serial port and USB port. The protocol itself is serial anyways and it is powered by a usual normal household power supply. So, I will just connect this device. I am using a USB cable, a normal USB cable on my console. First of all, I am using Ubuntu 12.04 as the operating system. I have Sylab installed in my computer. I will start Sylab with the command sudo sylab. Now, people who have or who would be using this feature of Sylab with hardware on a Linux system with 12.04, please make sure that to start Sylab from terminal, you need to type sudo before Sylab. This is required for the newer operating systems of Linux because if you do not type sudo, it does not give you the root access. Now, why do you need a root access? Why? Because you are talking to a hardware and there should be enough permissions to go to the kernel level and to the hardware level. There should be enough permissions. So, I will type sudo sylab and I will press enter key. It will ask me for the sudo type. I will type in the password. So, now what I will do is I have experiment code Sylab code in my computer. I will quickly run that experiment. So, what I will do is like, first of all I have connected this device to my computer. So, how do I get to know if my device is getting detected, if the device has got detected. So, what I will do is like on Linux systems, I will type ls slash devices that is dev slash tty usb star. So, my device is a USB device. So, I should get this thing. So, what I get is like, is it visible? So, what I am getting is like slash this slash tty usb 0. So, my device has got detected as usb 0. That is the number, serial number 0 1 2 3. If I have 2 such units connected, I will get 0 as well as 1. That is slash dev slash tty usb 0 and slash dev slash tty usb 1. So, I have to remember this number. What is the device number? Now, what I am going to do? First of all, I will change the Sylab working directory. Why do I need to change Sylab working directory? Because I have to run some files, you know, which are on my hard drive. So, for that I have to first specify the present working directory of my Sylab. You do the same thing for MATLAB. Like you first, you know, change the working directory. So, what I will do is, my folder in which the necessary code are in step test folder. So, I will just go to that folder. I will check my present working directory by typing pwd and it says that I am in desktop under the folder step test. Step test is an experiment name. So, now I will run a file. So, now I will open a file. I will open this file which we have written a code. So, what does this file do is, it will load the toolbox. Now, what toolbox am I using? I am using the serial toolbox of Sylab. Now, Sylab, when you install Sylab, it by default it doesn't have any capability of, you know, reading or writing to a hardware device. So, you need some internal links. Like for example, you need drivers for various devices. The same way, you need some more capability added to the Sylab for it to connect to hardware. So, these extensions are nothing but toolboxes. It is similar to what you do with MATLAB. So, similar to MATLAB in Sylab we have various toolboxes of which I am using the serial toolbox. I am loading it and you can see that you are in this function I am mentioning the device number. Because before starting with the communication, I should declare with what device I am communicating. Because I may have multiple such devices connected. So, I am saying that connect to the USB-0 device. So, this is the execute button. I will execute. So, on the console I will get a message that common port is open. That means that the communication port is open for communication. If otherwise, if I had made some mistake or the hardware is not ready or it is not connected, it will give some other, you know, message. Say the device is not connected or any other customized message. For now, successfully, fortunately, we have this device detected and the compute is open. Then I will also load a function. How many of you did the functions? Scripts and functions. How many of you did scripts and functions in tutorials? Right now in spoken tutorial. Just two, three, four, four people. So, you must be able to understand what I am showing here. So, depending upon the experiment, I have a function written and naming the function as step test. That is simply a name. And here, I am writing some code within this start function and end function line. That is function. Temp is equal to this, this and end function. Between these two lines, I am writing my entire code. So, I will load this function. So, it has executed the function. Now, how many of you are aware of Xcos? Xcos is, how many of you are aware of Simulink? People who have used Matlab must be knowing. Not required, but must be knowing. So, few people know what is Simulink. So, Simulink is nothing but a block diagram kind of representation, a GUI to Matlab, you can say. And so, similar to Simulink in Matlab, we have Xcos for silab. So, I have just started the Xcos environment and I will open already made block diagram, which is again with the name step test. So, I have this block diagram, Xcos block diagram. So, my experiment is what? First of all, this device, I forgot to tell you, this device has a process, has a process of heating and cooling. So, in this device, I have a heater coil, then I have a temperature sensor and I have a fan to cool this assembly. So, it is a process, something is heating, something is sensing the temperature and something else is cooling this mechanism. So, I have a process. So, of which I am allowing the user to change the value of heat, that is, change the value of current passing through the coil, heater coil. Secondly, change the speed of the fan and the user is allowed to read the temperature. So, there are two inputs to the system, the heater and the fan speed and the resulting temperature is the output, which the user will be reading from the device. So, I am giving heater input, I am giving fan input and I am taking the temperature as the output, reading from the device. So, I will just run this simulation. This is just to show you that hardware communication is also possible with silab. You can explore this usability in your labs and it is quite easy to do with USB devices. So, here you can see there are three plots, these are all customized. This is not something hard coded. You can have any amount of plots, any number of plots, any kind of plots. So, I have three plots as per my requirement. One is heater, the first one, fan, the second one and temperature is the third one. So, I am giving a maximum value of heat, the fan is constant and the temperature is rising. See, the temperature over here, I am with the red variable. I am not sure if it is visible for you at the last, but people over here can see it very easily. This is a value of temperature, which so as, so before the time 0, the device was, so what is this temperature? Why did it start from 0? That is the room temperature. So, what was that? Around 28 was the room temperature. So, then suddenly it saw heat of 65, suddenly it got a heat of 65 units and because of that value of heat, the temperature started rising. It is simply an experiment. It could be any experiment. So, here we have talked about, we have saw the usability of, so I can stop this experiment by this top button. I do not have an internet connection right now, but so this was local access of this particular hardware device. We also have, so I must have talked about virtual laboratory, virtual labs. So, as a part of that virtual lab project, we have a virtual laboratory deployed at IIT Bombay for this particular device. Yeah, I will give you details. So, for this device, we have virtual laboratory deployed at IIT Bombay. We have around 15 such devices hosted over the internet online 24-7. So, these devices are available for access, for experiment online or over the web. I will just give you the link where you can start using our laboratory. So, I will just write the site name over here. So, this is the website name that is www.co-iphone-learn.in-slash-web-iphone-sbhs. This is the URL with which you can use this virtual lab facility. Okay, here you have to register, the documents are available, the basic files are available, even tutorials are available. So, that is it about the hardware access feature of CyLab with the device. Any questions on this hardware presentation? Like how did I did something? Yes. Yeah, so the question is like the code which I have showed you, the CyLab code that can be used as it is for any other process. Yeah, that is very true because I am customizing my code to this particular hardware. Yeah, of course, but on this particular hardware, I can perform n numbers of experiments. See what the point on here is like, you are communicating with the device. In this experiment, I am just passing the value of three variables, heat, fan and temperature. The logic, like what do you want to do with these variables sits in CyLab. Okay, so the logic part is in computer, the controller as in sits in the computer. The hardware, between the hardware and the computer, only the values are passed. Okay, the logic part is in the computer. The question is, if I am not mistaken, the question is can you put the program, can you put the logic or the experiment in the hardware itself? Okay, so this deals with programming of microcontroller, if I am not mistaken. So, this deals with programming of microcontroller. And if you burn the algorithm or the experiment in the hardware, any other question related to any topic, spoken tutorials or CyLab or any other? Beyond the words of closing the session. So, that is it for today. Thank you very much.