 Okay, hello everybody and welcome to foster them the lightning talk session I want to introduce you Alexandria with talk about prototyping the internet of things with we'll load rain studio. I hope I Close it's close closely. Okay, so we'll give us more introduction to this topic. Thank you Thank you. So hello everybody. My name is Alex I teach computer science at the Polytechnic University in Bucharest Mostly to computer science students and some computer science track to non computer science students I'm going to talk about while you dream studio a project that we started about five years ago With the purpose of bringing prototyping and hardware programming closer to students The idea was that everything is going to run softer Actually, not only it's run not only that it's going to run softer. It's gonna be connected to the internet So it will not matter in which field you will work You will have to know some basics of computer science. It's becoming more and more like mathematics Mathematics is used everywhere. Computer science will be used everywhere. So it's automotive robotics Manufacturing it doesn't matter. The problem is how do you introduce computer science? And how do you help people that didn't study computer science? To use it and that that's a challenge Part of the solution was Arduino and is Arduino I'm guess everybody is familiar with this board what they actually did is Take a device which was rather common in computer science and engineering and make it easy to use for everybody it's easy to connect it has a super simple programming interface and Everybody can write a program with ten lines of code and make something blink. So that's great The problem is it's the device is limited. So we're talking about connectivity and Arduino is not exactly Well, both suited for connectivity and if you go to more Processing Arduino again is not the best solution. So, um, somebody in the UK Came out with this which is the Raspberry Pi. I hope everybody is familiar with it Which is great. Absolutely great low cost super well to use for students and for prototyping If you can connect the keyboard a screen and the mouse So as long as you can do this and use it as a computer that's super fine Now the problem is what happens if the board is inside a device if you want to build a robot a Car it's on top of a building. So you want to use it for something more electronics like Your Raspberry Pi is not going to be accessible with the key screen and the keyboard So this becomes increasingly difficult The steps to program a Raspberry Pi, which is not available with the mouse and the keyboard as You need to have some networking knowledge Find an IP address SSH into it Use some text based editor compile it and run it and if this sounds really easy for people that think of this or of this It's really difficult for people that did not study computer science or maybe are in fine arts in fine arts They need to do a statue for instance. They want to make it interact with you on Facebook. It's difficult with SSH So taking the example of Arduino We designed a piece of software an open-source software called while you dream studio Which is a one-click software programming for devices like the Raspberry Pi? Just to go through it. It has a simple interface. So the simplest way is just the text editor where you can write some code Connect your device so you hit the connect button if the device is in your local network It will show up here if your device is remotely. We have a web server which connects you to the device Or if you have a serial port and the serial cable the device will pop up on one of the serial ports Once you're connected you have a run button. This is all you need to do So the software while you're in studio takes care of copying your project to the Pi Compiling it if necessary running it and giving you some feedback This is the basic process on programming a pie way easier than SSH IP addresses Logins and so on We tried to translate the software in several languages. These are the languages that we support so far We would love some translators So if you think this is a cool project It would really really help us if you can submit the translation or maybe complete some of the translations that we have there If you want to do a little bit more We have an advanced interface where you can have a tree for your project so you can upload some files Most of the programming will be done in one file programs. Some people really need more. So this is another option Some people have asked us, okay, we don't have a pie. How do we do this? So We somehow reversed engineered fritzing. It was not maintained until half a year ago and we are able to load some simple fritzing designs and Simulate them actually simulate and we don't simulate electronics We have some of the APIs in JavaScript. So you can write simple JavaScript programs and this simulator will show them up or We have been asked to do device emulation So if your system supports QMU you can emulate the Raspberry Pi one These are basically some of our users are mostly universities It's also trying to public library used it a public library in Bucharest used it I think older Dodger used it for some hackathons So more or less these are our users While it in studio is at the third version. This is a pluggable system. So we've built it the third time It's basically a plug-in architecture. It can be extended really really easily on It's fairly documented. Let's say so we're looking for contributors for the moment We can support Raspberry like Raspberry Pi like devices. So anything that runs Linux We can support an NXP chip called rapid IoT as editors we support Monaco Google Blockly for Python and We had an industrial project and we needed OPC UA. So we built an OPC UA model editor As languages we have Python Node.js shell and the visual programming language But it's extensible. So adding a language is just writing another plug-in We have the simulators and emulators. We have a dashboard for graphing. It's mostly for debugging We have a notebook. So if you know Jupiter notebook it's similar, but for using it on the Raspberry Pi And for users that need some more control we have a shell so they can show into their device The bottom line is we have a platform that is super easy to use at least for beginners It's not for writing rocket science programs, but it's super good for prototyping It's fully GDPR compliant And it's super easy to extend these are the devices that we support so far It comes into flavors. You can either download an application. It's a web application It's an electron package for Windows Linux and Mac OS or we have a web application It's exactly the same code base just built for the browser and you could use it directly online You can use our server or you can just download the code and run your own server. So All the data that is stored on the online version is stored on the local storage on the browser local storage So it's fully GDPR compliant Basically the web server is just serving a static local application that runs in your browser It's fully open source written in JavaScript actually for electron we license it under Apache to zero license So anybody can contribute use it change it so on and so forth We're looking for contributors So if you like the project, we are really really happy to talk to you about contributions Translators, that's another thing so the our group speaks about seven languages together, but we surely need more and Because we all have day jobs like we work at university and students learn at university. We are looking for sponsors Thank you very much This is our website and that's our github repository if you have any questions I'll gladly answer. Thank you questions