 So welcome. Thanks for joining the talk. We're going to start with a demo. So unfortunately I couldn't attend most of the talks in this room today but you all I think very well know that there's lots of open source software available for IoT like for doing like protocol stuff for doing device management like we briefly spoke about software upgrades and device management just before but how do you put everything together and how do you go from linking an LED on your Arduino kind of stuff to something more more real and more of an end-to-end solution. What if I wear UPS or FedEx or like should probably name a third one just to make not make any unnecessary publicity and I want to provide my customer with a solution to do asset tracking management right I have those super valuable parcels with I don't know like say this is Mona Lisa or this is super expensive food or medical equipment and the customer needs to know whether the package is traveling safely and not being dropped not being opened temperature remains in a given range etc so how how do we do that how do we get to a point where we have at the end of the day we have some kind of dashboard so that might not actually be for the for the customer himself or herself this is maybe more for the FedEx and UPS but we could very well imagine a similar UI or similar application for the end user I want the list of my tracks the list of parcels within each track and the live telemetry coming from from the parcels right and so apparently the room here is way colder at least if you can say that then the building K where we are doing the same demo at that they could both but this is literally the telemetry coming from the parcel and maybe this is something that's sensitive to light what happens if I open up the box no no no not supposed to happen this is way we way too much so that's basically the use case how do we how do we implement it and with what with what kind of technology so maybe let's try with some a couple slides as a support for the conversation the idea really is like we want to track the the goods and like all the parcels so that if I'm UPS or FedEx I can optimize maybe the way that the tracks will will deliver the parcels like the ones that are more more critical I can sell some services to my customers and I mean all in all are really like generating value but in the right way right I mean maybe this means money for the for the for the company involved but this means ideally like maybe a better world like that's what IOT should be about so the way it's implemented and that some of the the projects I'll be sort of name dropping in the presentation is so it's all the way with the sensors some of you might have spotted that the sensor within the box obviously it's not just a legal plastic box this is a TI sensor tag so like this is really than enough the shelf Bluetooth low-energy beacon if you will that has humidity pressure temperature etc sensors on it and the goal is basically to take the telemetry from this guy all the way to the internet so how do we like bridge the gap there first it it starts with a gateway so if they're in the warehouse or on the trucks themselves you would find a gateway providing basically the connectivity on one hand the gateway that that's really what a gateway does passing some some messages from one interface to the other pretty much on one side that would be Bluetooth low energy right to interact with the with the sensors and what do you want at the end of the day is send the data over over the internet so for that we rely on eclipse cura and I live a bit deeper into what it is but think about cura as open WRT on steroids I would say it's basically a good old router kind of stack and like if you want to use if your board if your device if your gateway has Wi-Fi and a cellular modem and Ethernet maybe you want to configure all those interfaces so that maybe the Wi-Fi behave as a hotspot and blah blah blah so cura would certainly do that but also allow you to create custom applications on top of and deploy your your own applications on top of in my case it's a very simple app slash plug-in that will every five seconds or so discover all the all the sensors in proximity and how we're depending on how many packages I have for all of them I will like grab the telemetry data and do what send the data to the cloud and what's what's on the cloud side what cura does is basically use MQTT as the protocol for the communication one option would be use like commercial IoT clouds out there basically all of them support MQTT because MQTT is sort of like the de facto standard now open standard for all things and IoT messaging or you can rely on eclipse kapu which is basically the the integrated platform for all the all the services that you basically require on on your server side all the way from device management to storing the data to having a digital twin API and we'll talk about more maybe about digital to later on this is all those services so basically all the Docker containers sort of that that you need that are IoT specific would be part of capua and in my demo and what you've seen basically the dashboard that you've seen is a simple HTML and JavaScript application that you can see the screenshot of over there that talks to the capua APIs to retrieve the list of tracks retrieve the list of parcels etc etc and capua being based on on on containers and being cloud native if you will is meant to run on things like Kubernetes or in my particular case this is an open shift running on Google Cloud but it could be like literally any kind of variation of maybe you have the all the microservices spread across different data centers and you have and you want to scale up your data store you can easily do that etc etc so that's kind of the end-to-end yeah the end-to-end solution and it sort of illustrates that when you really care about building an actual end-to-end IoT solution there's yeah basically three stacks of software's three three major areas where you need to to work and stop building software for one is the the devices themselves like that what I call the the constraint device is really the microcontrollers if you will anything that's not necessarily or very likely not IP capable kind of device which very likely will use a gateway to to get the connectivity and so what what what's in the scope of the gateway will we'll talk about that in just a minute and then the cloud the goal being I briefly mentioned like especially for servers there's lots of like IoT cloud platforms out there very commercial very close very proprietary as opposed to if you if you are to build an IoT solution I would think that I mean the server especially would need to be like if it is based on open source and based on open standards it means that it's way easier to start thinking oh you know what I I don't quite like MQTT for my use case it just doesn't scale or it's like that's not a protocol I want to use I want to say co-op if you if you have a a oops a server stack that's like pretty modular and even more so open source replacing the connectivity layer your broker by something different shouldn't be a big deal good luck with that on Azure IoT or AWS IoT and etc right and I mean that's the whole point of basing the IoT on top of open source I don't think I need to get to convince you about that so what do we do at eclipse around IoT some of you might be already using I would hope so some of the stuff coming out of eclipse we have 30 different open source projects all the way from fairly basic building blocks if you will like eclipse power or eclipse mosquito if you guys care about MQTT you've used those clients and server projects respectively for doing your MQTT stuff and we have yeah a very a very active community that basically try and address the three stacks that agents mentioned and if you look at the history and this is where suddenly the IoT community is headed we're going from like having very small very independent building blocks like a device management stack that you would put in your embedded device firmware to a protocol as a server-side implementation of the MQTT protocol etc etc this is really helpful only when you really want to be of this solution like end-to-end solution you don't really want to have to integrate all the bits yourself and ideally when you come to building the gateway you're not pulling power on one end and another open source library from the other etc and you have some kind of integrated framework right so for the constraint devices I probably won't talk about that too much especially since in the demo if I've shown you the device is really literally an off-the-shelf very commercial very very well I don't think it's close actually I think the firmware for these guys is open but I didn't have to to develop anything specific for this particular device but maybe I would like to like if I if I want to lower the cost of the of having many beacons in my solution I will actually be building the firmware for my for my constraint devices in which case if there is one thing that that you need to remember and this is aligned with what we've heard in the talk just before there's I guess two things one is that having a good hardware abstraction layer when it comes to building your your embedded application so that ideally if you stop them like your your solution on I don't know an at-mail microcontroller microcontroller and you want to move to a cortex more like powerful kind of device ideally you don't have to rewrite everything so there are some things that could help from from the eclipse community like like eclipse edge and another important aspect of constraint devices especially is if you can't update them like you really don't really own the devices because I mean we've seen all the bad shit that can happen if if someone gets control of the device so there is a very good open standard out there for doing device management of constraint devices it's called lightweight m2m you can get the reference implementations from from eclipse and so that's called eclipse waka ama and there's actually lots of cellular in particular cellular modules manufacturers who already lightweight m2m into the firmware so by default they're already like you can already start managing them from your from from server and do over the upgrade like like we've seen just before gateway wise what are we talking about we're talking about like I said an open wrt kind of stack on steroids and what do I mean by steroids is like we care about iot so not only do we want a router to provide the connectivity we want to provide the connectivity to to to sensors we want to provide reliable connectivity on the shop floor if we care about industrial iot use cases so this is one but we also want to enable you want to enable either like your developers within your company or possibly your customers and your partners to develop apps on top of the gateway so you need some kind of application container and the ability to extend the functionality of the gateway like and leveraging the fact that the gateway takes care of keeping the connectivity up and running as much as possible you want an app that will leverage some kind of Bluetooth low energy driver or even better a ti sensor type driver that will already be part of the of the stack and start like using the data and just start building your your your iot gateway application so that's what eclipse is all about and so it's a framework that takes care takes care of the of the all the networking stuff and it's operating system agnostic which means that you can run a cura on Fedora on dbn even on Windows it will always be the same way to manage the Wi-Fi it will always be the same API is to to to configure a DMZ or whatever you want to do purely from a networking perspective and then on top of that again very much operating system and a hardware agnostic you can start tinkering with and playing retrieving that the location of your device through the the standard GPS API of eclipse cura you can start interacting with a mud bus industrial piece of equipment and that's really the scope of eclipse cura and it's being used by when you can run it on any kind of Linux based or Windows based device or you can even get off the shelf gateways that have cura built into them and as opposed to this guy which I very likely don't want to put on the actual roof of an actual truck you can probably get like a ruggedized version of a gateway that runs the very same software that I'm demonstrating here right so this is not a talk about like home automation but like if you care more about a specialized distribution of a gateway stack for home automation you may have heard about openhab or eclipse smart home so this is essentially like a targeted like all the drivers you would need to do philips you and whatever else home automation gadget you have you can you can get from from eclipse smart home and then I'll keep the last five minutes or so of my talk to focus on maybe the area where it matters the most to have good open source stuff available this is on on the cloud side of things and so we have again there we have lots lots of building blocks and we're working towards and an integrated stack one really interesting area is around device management so again lightweight m2m it is a very important standard that you should look at if you care about device management so lesion is sort of the counterpart server side of eclipse wakama and it's based on java but a really cool a really interesting project from eclipse is eclipse hobbit which is how do you like say I have a thousand of those and I need to upgrade the software and the software is I don't know a hundred megabytes worth of like a binary binary blob whatever that is and I want a solution so that first I don't want to kill my network with one when my thousand devices will start downloading the binaries all at the same time and if they really do that and all update the software all at the very set the same time and I have a nasty bug and it's basically a very buggy firmware and I'm gonna break all my devices all at the same time so hope it is the the orchestrator if you will of software great rollouts and software great campaigns so how do I make it so that I only upgrade my devices that are located in southern France first and if and and let's do that over the course of seven days if I see that there is a failure rate above 2% then I stopped every campaign altogether right this kind of functionality associated with the UI the dashboard so that you can see how many percent of your fleet is running that particular version of the firmware how do you model the dependency between all the all the software artifacts of software components this is what he eclipsed hope it is all about and I think that's pretty pretty unique in the in there in the open source community so that you might want to look at that provides all kinds of APIs for for integrating and creating your own agents if what you want to do is manage and operate over like with m2m you can certainly do that maybe you want to use hope it will also roll out new docker containers updates at the edge that they could certainly work as well but that's kind of like yeah you can certainly deploy hook bit deploy deploy lesion deploy eclipse mosquito so that you have an MQTT broker but at some point you need some integration and you need some common notion and common knowledge of what's what's the device in the first place like I don't want to duplicate the effort of authenticating my devices when they start talking to my MQTT server authenticating them when they want to do a software upgrade authenticating them when there is a need for storing the data that they just sent so this is what eclipse capua is all about so defining all the all the APIs all the microservices if you will that are required as part of the stack so what what is what should be my device registry in the first place what what's the device identity what's required to uniquely identify the device to to have the security credentials and have this in a very like abstract way so that's that's capua and so once capua has all those like microservices defined it's fairly easy to provide some kind of UI management console management dashboard which I could actually this is a part of the demo that I should have shown earlier but basically how do I like navigate my fleet of devices track 3 with the green light is actually that particular truck here and I could I could go if my session is still valid and that would hope it is yep I could look at what are the software packages that my my particular device is running so for that it would make a query to the device registry very likely etc etc I can have a look at what's in my data store I can I can configure new users with specific roles specific ACLs so that John may be able to read the telemetry information and Jane will be able to only manage the settings of the applications that are not the edge so that's that's really literally what eclipse capua is all about and what happens what happens under under the hood is that for all the microservices that are being defined there might be I mean the functionality might be an existing eclipse building block like maybe for the device registry underneath eclipse capua although that's not the case today but I would hope that's what will happen it could be implemented by means of hot bit or maybe this is your own existing LDAP that you want to sort of hook to them to the particular service for the data store by default capua would store some of the data sort of the static metadata in the my sequel database the and the telemetry will be an elastic search database you want to replace that because you have an existing inflex DB database you want to leverage it's fairly easy to do and so that's that's really the goal of eclipse capua and it's again cloud native so the goal is that you can easily deploy on on the public cloud private cloud hybrid cloud is really your call and it's really depending on your need in terms of whether you need to scale maybe the connectivity layer because you're going to have so many devices connecting and in which case the connectivity layer will actually be eclipse eclipse hono which is yeah basically a generic infrastructure for taking care of ingesting data coming from MQTT devices co-op devices and whatnot and make sure that you have a consistent API so that you can consume the telemetry data without having to bother what was the initial the protocol initially being used so that's what we do lots of lots of name dropping I would hope that you can you have a look at the projects there's lots of companies that actually and for me this is sort of gold when you have like a company that start saying that they actually start shipping products that are being based on an eclipse IOT and there's certainly a lot for the gateways like I said you can get off the shelf gateways that support and like that are compatible if you will with eclipse cura server side there's also a lot of common ground between some commercial platforms out there and an eclipse IOT and we try and do and I want to make sure to sort of pitch that before to open it up for for questions there's a lot happening in our open source community so virtual IOT meetup if you want to like every other week we have webinars if you want to learn about what's happening in the open source IOT community out large it's it's literally a commercial pitch free it's really like we want to hear about open source cool open source stuff being built so check that out we do testbed this is actually the testbed meant to demonstrate how the the technology can be used for real real use cases this is our website get involved join the mailing list if you use the projects come and find me after the talk or like if you have an idea of a cool open source project you'd like to contribute chances are the eclipse IOT community could be a good place there's already a lot happening so it might make sense for you and one one final plug and we'll share the results of that of that particular survey we've been doing that for three or four years we ran a developer survey if you wouldn't mind spending eight or ten minutes of your time telling us what protocols you use what programming language you care the most about when it comes to IOT whether you care more about a server side stuff or blah blah blah this is open until I think the end of next month the all the data sets are going to be published so it's not like we're going to make money out of it or anything it's more about understanding the trends understanding what should be in the IOT dev room next year and things like that so with that I think that's the end of my presentation this is where to find me and I have some time for questions and the demo worked so yeah we have a few more minutes for questions everything was very clear that's correct thanks for that the question is I the question is I did mention digital twin although I yeah I briefly passed over over that as part of the presentation my bad the project name is eclipse Ditto it is fairly new but the code is there and it actually actually works what's the idea behind digital twin one thing that I have been doing here like as part of my demo is well I I want to retrieve the telemetry coming from from the sensors and it turns out the sensor is actually connected at this point so like I get data one thing that a digital twin API allow you to do is basically have a digital representation of your physical asset so that it at the end of the day doesn't really matter whether the device is currently accessible or not you still want somehow to know what's the latest temperature that the device has reported or if we're talking about a an electric light bulb the light bulb might not be connected at the very at a given time but yet I want to toggle the switch on off and have the digital twin represent what the physical state is or should be should the device be connected and this is the scope of like digital twin in general and there's lots of platforms out there who have their own sort of like way of doing digital twin and Ditto is trying to do that as well but yeah you should check it out there's lots of documentation already there lots of demos and this is actually a note to myself I should try and integrate that as part of the demo to see what happens when I just remove the battery can we still do useful stuff yeah you can take one more question chance to model some ownership relation as a user right device right so what's do we somehow address the you're modeling the ownership of the device and ownership therefore of the data I guess this is not I don't think any of the eclipse products do that we have an interesting initiative called eclipse vorto which might be like the closest thing to to to allowing that and basically have yeah models to describe the capabilities of the devices and I guess you could combine that with maybe other models other descriptions of who's holding what and what's kind of the maybe the hierarchy of the capabilities hierarchy of the data and then map that to do the roles in capoeira and stuff like that but yeah yeah okay thanks a lot thank you thank you very much