Thank you.
Thank you for that lovely introduction.
So can everyone hear me okay?
All right. Great.
So this talk is can absolutely be interactive,
so if you feel passionately about speaking up about something or disagree with me,
go ahead.
I'd gladly take questions whenever,
or we can just take the questions at the end.
That's fine too.
So what I came to speak about is open source
in industrial control systems, a cultural challenge.
And I'll speak to the challenge a little bit later.
I think of a good way to ease into the topic,
because it's a complicated new one's topic,
is to just talk about my latest project,
which was very relevant to that.
So yeah.
My name is Davy Thurman,
and I'm a self-employed electrician and a programmer.
And yeah.
I work for a big changing street lights,
more specifically the control system.
There's a big push now for smart city controls.
And the systems that were offered to us,
I found them to be very expensive,
considering what they did and didn't do.
And I also found them to be quite inflexible.
And just a lot of them kind of sucked,
but that's just my opinion, I suppose.
But I wanted to create something cheaper and better,
because we were spending taxpayer money,
so that was the inspiration for my project.
So with the help of the Foss community,
I did something, and I couldn't have done it without Foss.
There's just no way.
That's why open source is so dear to my.
It's taught me everything I know about programming.
It's enabled me to be a programmer,
to call myself a programmer.
And it's just a lot of fun to be with you.
So thank you so much for having me here.
Again, I'm happy to be here.
Thank you.
So this is an amazing statement, isn't it?
10% of rate giving lights are now controlled by open source control system.
That's a European capital city, 10% of it.
My boss was super surprised when I told him that.
And it makes us away.
So that picture there is a lovely picture of Rakevik under the northern lights.
We've quite often get northern lights, so that's nice.
This is the dark contextual drawing of the system.
So there is a central server because I'm using tail scale.
So I have my own VPN network, which has nodes.
And the nodes basically just control about roughly 100 street lights at a time.
Each one.
And there are 30 nodes in total.
So you can presumably do that elementary math.
So that's how many street lights now cover the downtown area,
the west side of town.
And a small island just outside of Rakevik.
There's one node, which is special to me.
And I'll get to that one later.
So yeah, this is the control system.
I would love to make it more decentralized in the future using head scale, for example.
But everything is work and you have to prioritize.
And so this is what I have up and running now.
And by the way, this has been running since August, 2024.
So there have been basically no problems.
And I think that that is a great testament to the fact that open source can definitely work as a control system.
So these are the dashboards I created.
That's just leaflet with JavaScript and a mapping structure.
And this is the dashboard that the user sees.
And right now we're just looking at my favorite node, which is the island I told you about.
And you can collect, you can select it to be an astro, which is basically just automated calculation,
which I created with the help of my friend, trap GPT.
I did okay in Calculus and University, but it was quite complicated to calculate the sunrise.
The sunrise and sunset.
So that was good to have GPT on my side with that one.
And I know that there are Python libraries out there that do that sort of thing, but they don't work when you go that far up north.
They sort of work.
They just don't work very well around two times of the year when it's super bright the whole time or super dark.
And it's, I digress anyway.
You can also select manual mode and turn the lights on and turn the lights off.
And that was actually, it comes in handy for maintenance purposes and other purposes which I'll get into later.
This is my favorite node.
This is the island of V.A., you can see Reykjavik here in the background.
And this house is the house that my mother actually was raised in.
And now it's a museum.
So you can go to my mom's house and check it out if you want.
If you ever in Reykjavik.
So this is inside the cabinet.
Probably it doesn't mean much to a lot of people but to electricians.
It's pretty basic. Here's the router and here's some relays.
They control other relays that turn on and off the lamps.
So, and the wiring schematic there.
So, that's another point that I think is important to underscore is it doesn't have to be complicated.
I think a lot of systems over complicate their solutions.
And open sources definitely on your side when you want to make things that just work.
If you want to make something simple, you don't want to over complicate it.
Open source is great. And by the way, I think of electrical work as open source.
Like, I was taught by open source.
People didn't charge me for teaching me stuff when I became an electrician.
So, to me, the mindset of mentorship and teaching and sharing knowledge,
it has been natural to me even before I got into software.
So, I think it's just the right thing to do.
Don't you think?
Yeah.
So, I don't have a contract with these guys but I did want to give them a shout out.
They make excellent routers and it just so happens to be powered by open source.
It powers, it's got open right under the hood.
And this is their brand name. I just wanted to give them a shout out because they have excellent service.
And they definitely made my project way easier than it should have been.
So, yeah, just a small note there about them.
I think it's important to give props where it's due.
Even though they're a company and they're profit oriented,
they didn't have to make an open source product, but they did.
So, the system has an introproble API.
And it was used by Geoform.
And that is a guest-based software company, which is like a mapping software,
Geographical information, a lot of utility companies use it.
And they wanted to see if they could control the city lights of Rickivix through my API.
And I said, yeah, of course they've got an API.
But I did it in one day and I said, there it is.
And they used it and they were super happy.
So, you know, that's another example of like with the other systems that I tested.
You had to get a hold of someone on the phone who was in a different time zone.
And, you know, they were doing some weird sauna festival,
and therefore they would be out of the office for two weeks.
And, yeah, there was just a lot of things like that sort of obscure things that
delayed the deployment of proprietary products.
So, I think that's a huge plus-ropen source.
Why it absolutely belongs in control systems.
And it might not be obvious to you because a lot many of you don't work in control systems,
but there's a lot of resistance to open source in the control system sector.
And that's because people associate it with like Raspberry Pi's and hubby electronics.
And I'm a huge enthusiast of Raspberry Pi's.
That's where I gained a lot of my knowledge just by messing around with them and doing fun things.
But people tend to think of open source as something fun to do as a hobby time.
Even engineers, electrical engineers, talk that way.
And that's something we need to change.
And that's something I need your help with changing.
Anyway, so the next slide is just a video of me demonstrating
the system.
I forgot to speak English in it, but I put subtitles so you can read it hopefully.
And, yeah, let's see if I can play it.
Oh, no sound. Cool.
Okay, I'll just dub it.
Okay, hi. Now I'm shopping. I'm showing what we built.
And I just go in here to the correct substation.
I put in manual mode and turn it on.
And voila, it's on.
Thank you.
That's the island.
I don't know if you noticed.
Thank you, by the way.
That was the island in the very end.
That turned on in the darkness.
You can see it far away.
Probably should have been on before that.
Anyway.
Okay.
Here's another application, which someone asked,
Hey, I'm the someone in charge of festivals in Iceland.
His name is Mermaid is a really nice guy.
And he asked, can I get a button to turn off the lights in Reykjavik during the fireworks display?
Because then we could see the fireworks so much better.
And I was like, yeah, no problem.
I can not be.
That was really stressful because I just deployed the project.
So Mermaid cannot, which is like the cultural festival name.
It's on August 24th and I just recently deployed it.
So I wasn't that confident.
But it worked.
And there was a great fireworks display as you can see.
It's all dark here.
Nice.
Yeah, probably shouldn't stand in the way.
Nice fireworks.
Yeah, I'm not going to take full credit for the fireworks, but I did a little bit.
It's funny though, Mermaid said he felt a little bit like God.
He could just turn lights off and on with a button.
And he felt very tempted to show it off later.
But he didn't.
Thank you, Mermaid.
So yeah, next one.
The problem.
So managers don't take systems seriously unless there's a reputable company supporting them.
And I know that there are a lot of open source companies, companies that embrace open source,
but there are not a lot of companies that specialize in hardware and have electrical engineers
who know industrial, control systems in and out.
But they need to do that.
And yeah, I think that that is a real thing that needs to happen within the community.
And so I'll put my email at the very end.
And you guys can reach out to me if you have any ideas.
And we can make something happen.
And yeah, I guess that's the problem and the solution.
And I think it might be better if you guys have more specific questions about that.
Just jump in and ask me and we can discuss it further.
And I will try not to badmouth anyone too badly.
But right, the next steps are, I need your help.
I already said that, focus on extending capability of the system and working together as a community to build.
So I mentioned that there's a lot of resistance.
But there are also a lot of people who are just like, yeah, cool.
You can do that.
All right.
And I wouldn't have been able to deploy this cool system without those people.
So I just wanted to say a big thanks to the city of Rakeviks for letting us go up to 10%.
That's amazing.
And for taking a chance on the software, which it is,
it is, you know, just working.
So thank you to my bosses atakeviks for helping me do this.
Huge help, like a huge thanks to my family, my son and my beautiful partner for showing me endless patience while I was coding when I should have been paying more attention to them and thank you to my cat for, you know.
I should probably should have spent more time with her.
But now, you know, things are better.
It's deployed.
There's less stress.
So, and thank you to my team who helped me with the slides.
Thank you so much for everyone who helped me with this project.
Yeah, anyway.
So, I guess last but not least, thank you to you to the community.
Thank you for being, you know, a part of this and making this happen.
Everybody who contributed to any sort of open source,
but somehow led to this, it just thank you.
So, any questions?
Oh, we have two questions at once.
Yeah, I have a dual.
Sure.
So, looking at more of the operational side of things.
How do you guys manage to train it?
Because you might be stepping out.
So, you might be wondering, how do you manage to stay spare parts?
What do you do, so to say?
Really good question.
Yeah.
So, I'll repeat the question just so that everybody hears it.
He was asking, how do you do all these things
at once?
For example, training people when you're busy coding.
And how do you account for spare parts?
And things like that.
Is that sort of just of it?
Yeah.
For sure.
No, yeah.
That's a valid, absolutely valid question.
Really good question.
So, in terms of the spare parts,
I'm going to just go back a few slides to share more of the idea behind it,
which I probably could have explained better.
These are readily available parts.
So, you can go to any wholesaler near you and get relays.
These are terminal blocks, same thing.
These are wires, same thing.
The thing is that with a lot of these proprietary smart city solutions,
you have to order specific things.
And even though I'm using teltonica here and power supply,
even though I'm using teltonica,
you can use any router with digital inputs and outputs.
So, I think that that addresses the concern of spare parts.
They're just so readily available.
And that's because of open source, really it is.
You can, you're just more flexible with your code.
You can adapt it to any hardware.
As for the training, I think that that's a really good question.
To be honest, like, I'm a bit of a one-man show,
so I'm very familiar with the problem of being everywhere at once.
And one aspect of this project that does address that
is that any electrician with, you know,
who had enough knowledge to pass an electrician's exam can easily do this.
Easy.
So, they need less supervision.
They just plug things in, screw in the things,
according to the schematic that I print out for them,
and bulbs are uncle.
So, for sure, there are sometimes questions,
like, hey, this cabin is a little bit different.
What should I do?
And you just solve it.
I don't know how to, you update the drawing,
make a different version of it and send it to them,
and they send you pictures, and you just tell them what to do.
So, does that sort of answer your question?
Yeah.
All right, thanks for the great question, by the way.
I think you were next.
I had a question about the security model of this application
that's, I know, or my country,
it would be a lot to start out,
like the security of, like, kind of detects threats
if someone's infiltrated the system.
Yep.
There's a lot of prioritizations,
like, clarity, perfect.
When I worked with a person, I only was three goats.
Uh-huh.
And what they did was monitor network traffic
on the touch.
One point I can touch is a part of the scope of this project.
Yes, it is.
Much like the head scale aspect,
which I would love to do more with,
I would also like to do more monitoring on the traffic,
for example, so that you can detect anomalies,
and detect if there's a threat.
So for this project, it's, you know,
how should I put this?
It's not controlling pace makers of traffic lights
or air traffic control.
If this crops out, it gets dark.
People complain, but no lives are in threat.
So if there's something that happens,
security-wise, you tend to find out
because the lights turn off, right?
At least that's what I imagine.
Haven't any issues yet?
Um, I forgot to repeat the question.
He had, he was concerned about, uh,
security and how, how that is addressed.
And, um, yeah.
So all, the whole system is actually behind, um,
right now I'm using cloud flare and tail scale.
So, and it's routed through, like,
GitHub pages and stuff like that.
So it's not.
The servers aren't directly connected to the internet.
So that's a huge plus for the security.
I think that that would need to be solved in a different way
to be more open source.
Um, but, yeah, maybe I'm getting sideline.
Am I addressing your question?
Okay. Well, like,
right.
Yeah.
Absolutely. Like, I know the system is an island,
and it's not really connected to anything,
and therefore I could be lazy and say,
I don't care about security,
but I do care about security just for those reasons
that you mentioned.
And, um,
I think that that is something that we just definitely can do better,
and we should do better,
and that is worthwhile,
just monitoring traffic and doing other security, um, precautions.
Um,
yep.
Um, but I think I'm running out of time, aren't I?
Okay.
So sorry, I, I, I, I kind of rambled there.
I'm not sure to take in more questions, I'm so sorry.
But okay, so, uh, one more question,
maybe two, maybe three.
One. Okay.
Um, of course, I want to say thank you for being, uh,
someone who just is first, dear, your-
Thank you for being here.
And the question is,
kind of, kind of, question?
What's the latency,
and do you think, and do your lecture with this?
Yeah, because like, this is the will of the stop.
I don't know if you saw the latency, you saw it in the video, right?
Um,
as a little self-conscious about it, actually.
I would say like one second,
like, for the whole, for all the equipment to respond,
um,
you know,
so yeah, here I am like blah, blah, blah,
and,
okay, 45 seconds, I think we can do this.
And click,
and here I go.
Turn it on, too.
Okay, so it's about two seconds.
Um, yeah.
Anyway, thank you so much.
I'm sorry, you can-
Right?
Yep.
Thank you.
Thank you for being here.
Thank you.