Prototyping the Internet of Things with Wyliodrin STUDIO
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
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 | 10.5446/47048 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Computing platformBuildingSource codePrototypeSuite (music)
00:08
InternetworkingComputer scienceClosed setLevel (video gaming)Internet der DingeComputer programmingPrototypeStudent's t-testTrailProjective planeComputer hardwareObservational studyInternetworkingLogic gateComputer animation
00:52
SoftwareConnected spaceWhiteboardComputer scienceInternetworkingMathematicsObservational studyMereologyField (computer science)RoboticsNeuroinformatikWordComputer animation
01:38
Execution unitComputer engineeringLine (geometry)Student's t-testCodeInheritance (object-oriented programming)PrototypeComputer programmingInterface (computing)Point (geometry)Connected spaceProcess (computing)Computer animation
02:29
Keyboard shortcutTelecommunicationNeuroinformatikTouchscreenBuildingRoboticsBoss CorporationWhiteboardInheritance (object-oriented programming)Computer animation
02:40
RobotTouchscreenKeyboard shortcutSoftwareWhiteboardTelecommunicationIP addressLevel (video gaming)Computer programmingPiComputer animation
03:22
Computer programmingInstance (computer science)PiOpen sourceSoftwareComputer scienceFacebookObservational studyComputer animation
03:41
Computer programmingXML
03:54
Interface (computing)Interface (computing)Text editorPersonal area networkLocal area networkBoss CorporationWeb 2.0Server (computing)Serial port
04:19
Formal languageTranslation (relic)SoftwareFeedbackProcess (computing)LoginFlow separationProjective planeIP addressArmComputer programmingPi
05:02
Interface (computing)BitNetwork topologyInterface (computing)Projective planeComputer programmingComputer fileComputer configurationTelecommunication
05:19
SimulationComputer programmingComputer simulationComputer animation
05:46
EmulatorPiPhysical system
05:58
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
07:55
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
09:14
WebsiteRepository (publishing)Computer animation
09:30
Point cloudFacebookOpen source
Transcript: English(auto-generated)
00:06
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...
00:21
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.
00:41
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.
01:03
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.
01:21
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
01:44
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.
02:00
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.
02:22
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.
02:40
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.
03:03
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.
03:20
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.
03:40
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,
04:04
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.
04:24
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
04:42
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.
05:02
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?
05:23
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
05:41
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,
06:06
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.
06:25
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.
06:43
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
07:07
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
07:24
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.
07:45
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
08:01
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,
08:23
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,
08:45
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
09:06
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.
09:22
Thank you. Questions?