 Good afternoon javascripters. Good afternoon. I know it's very tough after a good lens, especially after the Hasgeek lens. So let's try one more time. Good afternoon javascripters. Okay. I'm Arjun and that's me six years ago. Okay. I'm here to talk about TISL. How many of you are interested to work with hardware here? Okay. Pretty number of hands here. How about like we're learning hardware again, like it'll be pretty tough, right? So hardware is like we have to do a soldering all those things and we don't like crashing the hardware much time. So instead like what we could do was we could piece the hardware about us. So what does that mean? Like we could do programming with the hardware through JavaScript. That's where the TISL has come in. So TISL is a microcontroller, okay, which runs JavaScript. So you could do all your programming with the hardware directly in the hardware using the TISL. Okay. And it has got four ports in it. The ports are port A, port B, port C, and port D, and then GPI port. You can connect different modules which is available there with TISL. These are the 14 different modules which is readily available with TISL. So you can use any of these 14 modules. You can just directly use it with TISL and you could do the programming. So if you see like some of the TISL's interesting modules are like camera, infrared, GPRS, GPS, really Bluetooth, audio, ambient, accelerometer, and et cetera, et cetera. And you might have heard about Raspberry Pi as well as the Adreno, right? You may have a question like where does the TISL lies there? In Adreno, you have to connect Wi-Fi stuff and you can't do programming in JavaScript, but right now there's a possibility like you could use Johnny 5 to do programming in Adreno using JavaScript. Whereas in TISL, you can directly do it in JavaScript. You don't have to use any firmata to convert it into the programming of what you have to do with the hardware. And in case of Raspberry Pi, Raspberry Pi doesn't have Wi-Fi adapter, so you have to connect Wi-Fi adapter to it. But you could do the programming either in Node.js or like you could do in Python or anything. So whereas TISL like Wi-Fi is built in, so you can really connect to the internet, you don't have to see like how to connect TISL to the internet. Whereas in Raspberry Pi, you have to do some kind of setup before you even use the Wi-Fi adapter in it. So if I have to say like TISL is lying between, you have to put in the order like first is Adreno, then the TISL, then the Raspberry Pi. And so in a summary like if you have to say like what TISL is, it runs using JavaScript and it is Node-compatible. And to connect to the modules, you doesn't have to solder. You can just use it directly, plug and play. And it has got the built-in Wi-Fi which I said remote before. And you can do programming remotely. You don't have to connect it if you have got NF or DIC directly in your laptop or in your TISL. And even you can use it with your mobile. And finally installing all the packages to the NPM, that's the package manager. So it makes our life simple. Since we have the web dollars, we don't have to learn something new to use TISL. You can directly use it like how you normally do your programming. And how to install the TISL? It's very simple. In respect of any operating system, you can just say if you have got Node, you have to just say NPM install iPhone G TISL. It installs the TISL for you. And let's see a small demo of it. So this is the TISL. You've got four ports I have set here, as I said. And this is GPIO. And this is the Wi-Fi adapter. And this is the processor. And these two are the 32MP flash memories and the ROM. And this is one of the module which I have connected now currently to it. This is the camera module. So just like the programming, we do the hello world, right? In hardware, they do the blink test. So let's run a small blink test in it. So it says TISL and blink. So it's blinking. And here you could see like the two lights are can you see the lights are just blinking over there? To see the program, this is visible, right? Okay. So how to write the blink program here? Blink is like inbuilt. So when I say TISL blink, it works. What is the actual program which is done? I'll just explain it here. Just like the node, as it works in node, so we have to just import the interface for TISL. So you have to say require TISL and import it out. And it has got two LEDs in it. So first one is what here you're seeing. I'm sorry, wait. What are you seeing? The orange light, it says the Wi-Fi is connected. And before that, there is a red color LED that is whenever there is an error, it blinks out. And next to these orange light, we have got two LEDs that are basically accessed as LED 0 and LED 1. So to make it on, we have to just say output as 1 and output as 0 to turn it off. So I'm accessing it as LED 1 and 2. And I'm just going to make it toggle the LED's light on and off just like how we do it in normal JQuery. It's just a toggle. And we have to just say like LED 1.toggle and LED 2.toggle so that you can see the lights are like toggling off. Now I'll run this again. So to run this, the command is simple. TISL run and blinky.js. So it's now connecting to the TISL. And it's like compiling the thing. It converts basically a JavaScript into Lua, which is inbuilt compiler there in the TISL. So this is a small programming what we have done now. So you can see like it's blinking. And now let's try something with the, yeah, before that. How do we connect to the internet? As I said, it's very simple. TISL Wi-Fi-L. TISL Wi-Fi-L gives us the list of Wi-Fi connections which is available here. So it is giving three things. Currently I'm connected to the Ferrara, which is the mobile thing. And to connect to the Wi-Fi, you have to just say TISL Wi-Fi-N. And okay, I'll just show it here. Hi-Fi and the network name and Hi-Fi and P for the password. So you can just directly connect to internet just giving this one line of command. And if you have to disconnect from the Wi-Fi, just say TISL Wi-Fi-D. That's it. You can just see the help of it. Okay, these are the commands like what we have got with respect to the Wi-Fi. So now let's see one more program like how to run a module. And we'll use a module here with the TISL. And we'll run a small program to capture the images using the TISL. So what I've got here now is an... I've got an PIR, which is not part of the TISL module. It is a separate thing which you have to buy from the market. So this PIR is nothing but a passive infrared sensor. So whenever you have to detect any of the objects, like you can use this, it emits the infrared and detects any object in front of it. So if you can see in some of the hotels, they will just turn on the lights like the moment when you move on. Those kind of steps are done using this PIR. So what I have done is I have connected this PIR to the GPIO. And I just connected... This is the input which is coming from the PIR. I have connected to the G3 pin here. And this is the camera which comes along with the TISL. So it's just going to... What we are going to do now is whenever there is a motion in front of this PIR, we're just going to shoot a picture of it. Okay? So how do we do it? So here, as I said, again we have to import the TISL. It's a regular thing. And since we are using the PIR from the GPIO, I have to say TISL.PORT GPIO and which pin I am using it here. I am using the pin 3 which I said earlier. And we are using the camera module. So just like how we install regular modules in a node, you have to just say NPM install camera-vg0706. I have installed using directly to the package.json. And since I have connected the TISL camera to the Port A, I am just saying use TISL.PORT 8. And I am just setting the compression rate for the cameras as 0.8 and resolution as vga. It's a small vga camera. Even if you... You can replace this camera with your pixie camera if you have like a head of it. And so it's an even-based architecture. So here everything is like even-based. So first thing what you have to do is we have to wait for the camera to get ready. So I'm just saying camera.on to get it ready. So once the camera is ready, we have to wait for the PIR to give us a signal saying that there is some motion detected in front of it. So we are just going to say pir.on and rise. And once this rises there, we are just going to take a picture. I have to just say camera.takepicture and I have to just call back a function here. And I'm just checking for the error and normal steps and generating a name. And I have to just... Once we get the images, I have to save it. So I'm just saying process.send file. And name of the file name is here. So here. And this is the image what we are getting from the camera. That's it. I will run the demo of it now. So to run this, we have to say tissell run index.js and I have to say where to upload the photos, the images basically. I'm just giving hyphen upload.dar. So that it gets stores in our local directory where I'm trying to run this. Just running this. So it's up. So what I have to do is I have to just make a motion in front of it. It has directed some motion and has saved the picture here. And this is that picture, which has got saved now. I'm just making one more. Yeah. It has directed one more picture, which has come out now. So let me stand in front of it. And you can see. Yeah. Just taking one more picture of it now. Next thing. We will try a small thing like why don't we tweet this picture directly to the Twitter to say like we are doing it from the JS file. This is the simple same program, whatever we have got here. Instead of that save, I'm sorry here. Instead of this save, I'm just going to say post an image to the tweet. This is the code for, I've just got my over everything there. And just going to say post, I'm sorry. Yeah. Here, instead of the process.send, I'm just going to make a tweet directly here. And let me tissell. Let me make sure Wi-Fi is connected. Tissell run tweet. Yeah. It's there with the hashtag. I'm sorry. Just reconnect it. Sometimes you'll get this kind of weird address. Just to reset, you have to just unplug it and run it again. It's connecting to camera. Yeah. Just taking a picture. The internet is slow. Yeah. Just taking one more picture. Just come out here. Yeah. Here we go. That's it. I'm sorry. And if you're interested in buying tissell, you can buy it from here. Even you can go to tissell.io and you can buy it directly. And I've got the promo code for it. If you guys are interested in buying, you can just contact me. I'll give you the promo code for you. You'll get a 10% discount if you're interested in buying tissell. That's it. Thank you. I'm sorry. I'm not going to get up with the laptop. So you mentioned connecting to a Wi-Fi network. Now, is that possible programmatically? Can I do that from... Yeah, you can do it from the program. So I can just connect to iPhone? Yeah, you can connect. Yeah, it works. Yeah, just I showed tissell blink. The program is inbuilt. Just like that Wi-Fi program is all inbuilt into it. Inbuilt into it so that you can do the programming as well. Whenever there is a motion you want to connect to the internet, then you can put it. Okay. Thank you. How does it handle GPIO locks? I'm sorry? How does it handle multiple requests coming to the same GPIO pins? I mean, in terms of right locks, if multiple programs are coming and trying to access the same pin? See, I haven't tried it. I just tried with simple things only. I haven't tried with GPIO, so I'm not sure how it works there. Suppose I load one JS in browser. So it's execute in browser and I can check the error in browser. But for hardware, where it's compiled? It's like the JavaScript file is getting compiled into tissell. It just bundles the JavaScript in the laptop and it sends the JS bundle to the tissell where it gets compiled into a Lua, which is inbuilt in tissell, and it gets processed there. The compiling happens basically in the tissell, not in the laptop. Okay, so is there any architecture as defined? Yeah, you can go and see it. If you just go to the website, you can see the architecture as well. Yeah, it's inbuilt. Hi. How is it different from Arduino or in terms of capabilities or anything? What are the differences that we can see? See, the modules are readily available here, so you don't have to buy any hardware separately. You have to use it with tissell. Okay, but in terms of capabilities, I was asking. Since we have got the GPIO port, you can mostly, like so many of them have written the driver files, like in case of relay, you got it. Most of the modules are available. Like if you have to see, like, just seen pair connecting to it, then I have seen somebody connecting and LED lights to it. It seems to be very simple. I haven't seen any problem to it. Okay, thank you. Hi. Another comparison question. Can you compare it with the Beagle bone black? No, I haven't done any comparison. Because it has a web ID and hot code push. No, I haven't done any comparison. I have no idea. Okay. Yeah. So how stable is it? Is it production ready right now? Yeah, some of them are, mostly people use it for prototyping it. Like they haven't seen anywhere, like just for fun, we are doing it. It's like if you want to implement anywhere, you can just do it. So I'll have to switch to another controller if I want to, say, manufacture it. Can you be loud? I'll have to switch to another controller, say, if I want to manufacture it on a large scale. I didn't get you. So I have to switch to another controller, or say, say Arduino or something, if I want to manufacture it on a large scale. Yeah, you can do that, yeah. Once you are like, once your prototype is up and running, here you can change it to any microcontroller you want to. This is basically for running your prototypes. So you can just see without using your breadboard, you can directly run the prototyping here and you can just test it out in any other microcontrollers as well. Hi. Can you explain more about the architecture of the board? Yeah. How is it that JavaScript running on the board? I don't have it. Okay. Let me see. Basically, I don't, yeah. If I have to say, just say like, we'll be just basically bundling all those JavaScripts from our laptop and we'll be sending it to the TESL, where TESL converts all these JavaScript files into an Lua, where they have, it's like inbuilt in a TESL so that it gets compiled there. I don't remember where exactly I've seen the architecture. Maybe I'll show you once I'm out there. So that would convert JavaScript to C? It's not C, it's to Lua, L-U-A. Okay, that's another programming language? That's a programming language. Wait, let me get you that. Yeah, this is the thing. Yeah, this is what they are using inside the TESL. Okay, thanks. Anybody? Thank you.