We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Prototyping the Internet of Things with Wyliodrin STUDIO

00:00

Formal Metadata

Title
Prototyping the Internet of Things with Wyliodrin STUDIO
Subtitle
An open source platform for building IoT prototypes
Title of Series
Number of Parts
490
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
In 2014, teaching a Raspberry Pi programming course was a real challenge, mostly due to the lack of development devices. This is how we came up with the idea of building Wyliodrin STUDIO. Wyliodrin STUDIO is an easy to use IDE for the Internet of Things that enables remote control over embedded devices. While it is a good prototyping tool, the platform also targets students and educators who want to get started in the IoT field. It is designed to help both technical and non-technical people to get started with programming devices such as the Raspberry Pi. In this talk we aim to present Wyliodrin STUDIO, how it works and how we and other universities used it to teach IoT technologies in classes such as computer science, power engineering and film directing. Wyliodrin STUDIO is an open source, web-based IDE designed for fast prototyping of Internet of Things applications. We have build this platform because we needed an affordable way of programming embedded devices such as the Raspberry Pi. Since 2014, when the first platform version was released, we have improved the solution so now it can be used to remotely program, control and monitor devices. For the moment, the platform is compatible with devices such as the Raspberry Pi and BeagleBone Black and supports Python, Node.js and visual, block-based programming languages. Since 2014 the platform has been used by companies such as Intel and Cisco and in institutions such as UCLA, USC, Ulm University and Toronto Public Library. The purpose of our presentation is not only to make an overview of Wyliodrin STUDIO's characteristics, but also introduce the audience to our experience in teaching IoT courses and how the platform helped us.
Computing platformBuildingSource codePrototypeSuite (music)
InternetworkingComputer scienceClosed setLevel (video gaming)Internet der DingeComputer programmingPrototypeStudent's t-testTrailProjective planeComputer hardwareObservational studyInternetworkingLogic gateComputer animation
SoftwareConnected spaceWhiteboardComputer scienceInternetworkingMathematicsObservational studyMereologyField (computer science)RoboticsNeuroinformatikWordComputer animation
Execution unitComputer engineeringLine (geometry)Student's t-testCodeInheritance (object-oriented programming)PrototypeComputer programmingInterface (computing)Point (geometry)Connected spaceProcess (computing)Computer animation
Keyboard shortcutTelecommunicationNeuroinformatikTouchscreenBuildingRoboticsBoss CorporationWhiteboardInheritance (object-oriented programming)Computer animation
RobotTouchscreenKeyboard shortcutSoftwareWhiteboardTelecommunicationIP addressLevel (video gaming)Computer programmingPiComputer animation
Computer programmingInstance (computer science)PiOpen sourceSoftwareComputer scienceFacebookObservational studyComputer animation
Computer programmingXML
Interface (computing)Interface (computing)Text editorPersonal area networkLocal area networkBoss CorporationWeb 2.0Server (computing)Serial port
Formal languageTranslation (relic)SoftwareFeedbackProcess (computing)LoginFlow separationProjective planeIP addressArmComputer programmingPi
Interface (computing)BitNetwork topologyInterface (computing)Projective planeComputer programmingComputer fileComputer configurationTelecommunication
SimulationComputer programmingComputer simulationComputer animation
EmulatorPiPhysical system
Data modelEndliche ModelltheorieGastropod shellVisual systemVirtual realityGraph (mathematics)LaptopEmulatorIntegrated development environmentComputing platformMoment (mathematics)Universe (mathematics)PiGame controllerLibrary (computing)ArmText editorPhysical systemMultiplication signFormal languageGastropod shellGoogolProjective planeGraphische ProgrammierungRevision controlBlock (periodic table)Similarity (geometry)Line (geometry)Computing platformEmulatorLaptopEndliche ModelltheorieComputer programmingPrototypePlug-in (computing)Goodness of fitInheritance (object-oriented programming)Computer simulationComputer animation
Computing platformOpen sourceStudent's t-testData storage deviceFormal languageWeb browserUniverse (mathematics)TorusStaff (military)Translation (relic)Group actionWindowMathematicsCodeLocal ringWeb applicationCartesian coordinate systemRevision controlTelecommunicationServer (computing)Web 2.0Computer animation
WebsiteRepository (publishing)Computer animation
Point cloudFacebookOpen source
Transcript: English(auto-generated)
Hello everybody, welcome to FOSDEM, the lightning talk session. I want to introduce you, Alexandru, with a talk about prototyping the internet of things with low drain studio. I hope I...
Closely? It's close. Closely? Okay. So give us more introduction to this topic. Thank you. The stage is yours. 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 WhyLoudrein 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 that it's going to run softer, it's going to 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's a challenge. Part of the solution was Arduino and is Arduino. I 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 the device is limited. So we're talking about connectivity and Arduino is not exactly well suited for connectivity. And if you go to more processing, Arduino again is not the best solution. So 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 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, is 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 YLudrin 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 a text editor where you can write some code, connect to 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 a 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 YLudrin 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 Pi, way easier than SSH, IP addresses, logins
and so on. We tried to translate the software in several languages, these are the languages that it supports 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, five programs, some people really need more, so this is another option. Some people have asked us, okay, we don't have a Pi, 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 the simulator will show them up. Or we have been asked to do device emulation, so if your system supports QEMU, you can emulate the Raspberry Pi one. These are basically some of our users, mostly universities, it's also Toronto Public Library,
used it, the public library in Bucharest used it, I think Coder Dojo used it for some hackathons, so more or less these are our users. Why loading studio is at the third version. This is a pluggable system, so we've built it the third time.
It's basically a plugin architecture, it can be extended really, really easily. It's fairly documented, let's say, so we're looking for contributors. For the moment, we can support 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 have 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 plugin. 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 Jupyter 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 shell 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 in two 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 can use it directly online. You can use our server, or you can just download the code and run your own server. All the data that is stored on the online version is stored 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 2.0 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. Our group speaks about seven languages together, but we surely need more, and because we
all have day jobs, 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?