WEBVTT

00:00.000 --> 00:07.000
Let's see if I'm sure then.

00:07.000 --> 00:12.000
So welcome, and thanks for being here.

00:12.000 --> 00:18.000
So this talk is about a very, do it yourself project.

00:18.000 --> 00:26.000
And this is how I made some smartness into a done EV charger for,

00:26.000 --> 00:31.000
well, for open source and for being viable for me

00:31.000 --> 00:35.000
to charge a car at my parents.

00:35.000 --> 00:37.000
Okay, I'll try to speak louder.

00:37.000 --> 00:39.000
My voice is really getting a hard time.

00:39.000 --> 00:41.000
Thanks.

00:41.000 --> 00:45.000
So I'm currently a kickhouse developer at the,

00:45.000 --> 00:49.000
a tiny bit, which is a company we do with data analytics.

00:49.000 --> 00:52.000
I presented a track like founded this.

00:53.000 --> 00:59.000
I presented on 1, 2019 about privacy and showing who is tracking us

00:59.000 --> 01:00.000
through the internet.

01:00.000 --> 01:04.000
And I'm also a hip-olycerly user group that exists in a cornea.

01:04.000 --> 01:07.000
And we are organizing also a free software conference there,

01:07.000 --> 01:09.000
and CFP is open.

01:09.000 --> 01:18.000
So, okay, so I made my own way of interacting with a car for,

01:18.000 --> 01:19.000
for charging.

01:19.000 --> 01:22.000
And first of all, the reason why I did this is this was a site project,

01:22.000 --> 01:24.000
and I wanted to learn Rust.

01:24.000 --> 01:30.000
So I ended up making this as an excuse as a project to learn the language.

01:30.000 --> 01:34.000
And I talked yesterday at the Rust that room about how I did it,

01:34.000 --> 01:37.000
the talk of today is why I did it.

01:37.000 --> 01:40.000
So why?

01:40.000 --> 01:46.000
Well, I now own an EV and charging cheaper than the public pricing

01:47.000 --> 01:52.000
and my parents lived in the countryside where there's a very poor electric power.

01:52.000 --> 01:55.000
There's less than 2.2 kilowatts peak available.

01:55.000 --> 02:00.000
And most of the chargers that are currently available do a kind of,

02:00.000 --> 02:02.000
this smart grid balancing and so on,

02:02.000 --> 02:06.000
but they are only interested in high power output for 10 cars or 20 cars,

02:06.000 --> 02:08.000
and this is not my use case.

02:08.000 --> 02:11.000
These balancing chargers exist,

02:11.000 --> 02:14.000
but first of all, they usually require physical wiring,

02:14.000 --> 02:18.000
which is cumbersome because when you have a car that is like 15 meters away from

02:18.000 --> 02:21.000
your circuit breaker in a different area,

02:21.000 --> 02:27.000
then you would have to do a different groundwork to put a wire.

02:27.000 --> 02:31.000
Just a tiny little wire that only carries like one volt to check

02:31.000 --> 02:34.000
what's the amperage of the breaker.

02:34.000 --> 02:38.000
So it's really expensive and really not convenient for this to do.

02:38.000 --> 02:40.000
This is kind of displaced.

02:40.000 --> 02:42.000
So it doesn't really make a lot of sense to like,

02:42.000 --> 02:47.000
all through like 15 meters away to just go to the other side and charge the car there.

02:47.000 --> 02:51.000
Because we already had, we already had AC there.

02:51.000 --> 02:55.000
We just didn't have that one wire.

02:55.000 --> 02:58.000
So the thing is also that cost matters,

02:58.000 --> 03:03.000
because part of the sighting to purchase an EV was the cheap electricity

03:03.000 --> 03:05.000
and the convenience, like 10 years across,

03:05.000 --> 03:08.000
that it would be cheaper than running a gas car.

03:08.000 --> 03:11.000
So given that this is also decreasing the preheating acid,

03:11.000 --> 03:15.000
it doesn't make sense to spend more on chargers and other infrastructure

03:15.000 --> 03:21.000
than it's needed because then you're just moving the milestones

03:21.000 --> 03:24.000
and it doesn't make sense economically.

03:24.000 --> 03:26.000
As I said, this is expensive.

03:26.000 --> 03:28.000
Should they?

03:28.000 --> 03:31.000
Well, the tech is very complex right now.

03:31.000 --> 03:35.000
Many of these chargers that are quite intelligent

03:35.000 --> 03:38.000
that they have hardware inside, like a Raspberry Pi or something like that,

03:38.000 --> 03:40.000
which is already quite expensive on itself.

03:40.000 --> 03:44.000
It's like 50-60 euros, just the device.

03:44.000 --> 03:48.000
And if the goal is saving money, then this is my economics.

03:48.000 --> 03:54.000
If I charge at home, I would be charging at around 18 cents of an euro,

03:54.000 --> 03:59.000
particularly what I learned that I have already been charging at the average of 34,

03:59.000 --> 04:03.000
which means that if I visited my parents twice a year twice a month for a year,

04:03.000 --> 04:06.000
I get to save at most 80 euros.

04:06.000 --> 04:10.000
So, there's a point where it doesn't make sense to purchase a charger.

04:10.000 --> 04:14.000
Oh, it's just less expensive for me to just charge a type,

04:14.000 --> 04:18.000
which doesn't make a lot of sense for the charging industry.

04:18.000 --> 04:22.000
So, as I said,

04:22.000 --> 04:26.000
the Turkey solutions are expensive and also the open solutions that exist

04:26.000 --> 04:29.000
on opening VSC and so on are also very expensive,

04:29.000 --> 04:35.000
because they use computing hardware that is quite expensive to have in an embedded device.

04:35.000 --> 04:42.000
And there are reasons for this of course, but can we do more with less than that?

04:42.000 --> 04:49.000
So, what I did is I tried to research for what I think is the sensible way of going through this,

04:49.000 --> 04:52.000
trying to see what is already existing.

04:52.000 --> 04:54.000
How could I make it?

04:54.000 --> 04:57.000
What are the standard simple things in charging?

04:57.000 --> 05:00.000
What are the projects of existing open source that implement this?

05:00.000 --> 05:06.000
And maybe develop something that doesn't anything that is missing.

05:06.000 --> 05:11.000
And keeping mind that what I want to do is I wanted to just be able to charge the car

05:11.000 --> 05:13.000
at the maximum rate possible,

05:13.000 --> 05:18.000
but keeping in mind that things like having running water and having rich open

05:18.000 --> 05:23.000
and that the secret breaker doesn't break is the main point here.

05:23.000 --> 05:28.000
And also maximum, the car charge rate,

05:28.000 --> 05:32.000
because I could just charge out one amp, but that wouldn't take me there here long.

05:32.000 --> 05:35.000
So, there's two standards.

05:35.000 --> 05:40.000
How many of you know about how EVSE is charging what are the standards around this?

05:40.000 --> 05:42.000
Okay.

05:42.000 --> 05:46.000
Okay, for the majority of the room doesn't so let's talk a bit about this.

05:46.000 --> 05:50.000
There's basically two main standards about going this way.

05:50.000 --> 05:53.000
Here's the letter one, the IECU 6181.

05:53.000 --> 06:00.000
This is electric signaling that uses pulse with modulated signal,

06:00.000 --> 06:05.000
where depending on how much of the pulse is full,

06:05.000 --> 06:08.000
then this signals how much of an amp you are requesting.

06:08.000 --> 06:11.000
So, for each one percent of the cycle that you had,

06:11.000 --> 06:16.000
this is 0.6 amps, this was based on an American standard before.

06:16.000 --> 06:18.000
And this is very cheap to implement.

06:18.000 --> 06:22.000
You don't even need an integrated circuit to do this.

06:22.000 --> 06:24.000
You could do it with a 555 timer,

06:24.000 --> 06:29.000
but you can also do this with an SP32 with anything that has the capacity to output one volt

06:29.000 --> 06:35.000
and then have a couple of resistors and the capacitors to do the rest of the wiring.

06:35.000 --> 06:38.000
This is very, very easy to do.

06:38.000 --> 06:43.000
The bad thing about this is that since 0.6 amps is the,

06:44.000 --> 06:48.000
it's the one percent and the minimum if it's a 10 percent on the standard,

06:48.000 --> 06:53.000
you can't really tell the car to charge at less than 6 amps.

06:53.000 --> 06:56.000
And in my case, I had between 0 and 10 amps.

06:56.000 --> 06:59.000
So if I only have from 6 to 10,

06:59.000 --> 07:03.000
then for half the time where anything is being run at home,

07:03.000 --> 07:07.000
the car would just be sitting idle, which is not convenient.

07:07.000 --> 07:13.000
Then there's the more sophisticated ISOIC-15118 standard,

07:13.000 --> 07:16.000
which is a lot more convenient to implement,

07:16.000 --> 07:18.000
because this is packet based.

07:18.000 --> 07:23.000
So on both of these things,

07:23.000 --> 07:25.000
what basically what you have,

07:25.000 --> 07:29.000
if you have ever seen one of these chargers at the street or anywhere,

07:29.000 --> 07:32.000
you will see that there's five connectors.

07:32.000 --> 07:36.000
One of them is called the control pilot and what it does is,

07:36.000 --> 07:39.000
this is that one and earth is the only path

07:39.000 --> 07:42.000
where the charger communicates to the car.

07:42.000 --> 07:45.000
So this ISO is standard.

07:45.000 --> 07:46.000
Well, the people that have the same standard,

07:46.000 --> 07:48.000
just uses that wire to make up all that,

07:48.000 --> 07:52.000
with modulated signal, which is very easy.

07:52.000 --> 07:56.000
But the ISO, what it does is, over that signal,

07:56.000 --> 07:59.000
it has to send Ethernet packets,

07:59.000 --> 08:04.000
which requires you to use something that is called

08:04.000 --> 08:08.000
a PLC.

08:08.000 --> 08:12.000
You may have seen this, for example, when you use,

08:12.000 --> 08:16.000
there's these solutions where you put two devices on the AC,

08:16.000 --> 08:19.000
directly, and then you put, you have Ethernet over there,

08:19.000 --> 08:22.000
that's using this sort of same kind of communication.

08:22.000 --> 08:25.000
The thing is, these modules are quite expensive.

08:25.000 --> 08:29.000
I didn't see them online to be able to purchase them for less than 60 euros.

08:29.000 --> 08:33.000
Maybe there's, I mean, probably for integrators,

08:33.000 --> 08:35.000
this is cheaper, but for me, it's an individual,

08:35.000 --> 08:39.000
I couldn't even participate of getting this in an open source,

08:39.000 --> 08:42.000
how we can think for less than that.

08:42.000 --> 08:47.000
And I would also have to implement over this Ethernet thing,

08:47.000 --> 08:51.000
also the actual signaling with the car, which is XML.

08:51.000 --> 08:55.000
So you will either have to do all of the XML signaling

08:55.000 --> 08:57.000
in some embedded kinds of devices, like,

08:57.000 --> 08:59.000
on ESP32 or something like this,

08:59.000 --> 09:01.000
but the things that are already built,

09:01.000 --> 09:04.000
like in opening the EVSE, and some other projects,

09:04.000 --> 09:08.000
are using currently full Linux OS with Python

09:08.000 --> 09:13.000
to run the XML parser basically,

09:13.000 --> 09:15.000
which means that there's also a lot of overhead

09:15.000 --> 09:20.000
in terms of, like, the kind of computer devices that we are using for this.

09:20.000 --> 09:22.000
So maybe there's a third way.

09:22.000 --> 09:25.000
I used something that is not standard here,

09:25.000 --> 09:27.000
which is the car vendor API.

09:27.000 --> 09:30.000
This is for different providers.

09:30.000 --> 09:34.000
This is the one I'm using, where you have an API,

09:34.000 --> 09:39.000
that using the own car 5G car,

09:39.000 --> 09:42.000
you can ask it how much it should charge.

09:42.000 --> 09:46.000
This is possible in AC, because when you charge car in AC,

09:46.000 --> 09:48.000
it's the onboard charging in the car,

09:48.000 --> 09:52.000
the one who knows how much it can charge.

09:52.000 --> 09:55.000
So you can request it directly to that.

09:56.000 --> 09:57.000
So what did I do?

09:57.000 --> 09:59.000
I first bought the dumbest charger I could,

09:59.000 --> 10:01.000
and the cheapest one I could find

10:01.000 --> 10:03.000
to write to understand how this works.

10:03.000 --> 10:05.000
Step two, this assembly.

10:05.000 --> 10:09.000
To check whether the cheapest thing has enough

10:09.000 --> 10:12.000
of what it needs to, to not break apart

10:12.000 --> 10:14.000
and catch up in flames.

10:14.000 --> 10:15.000
And it does.

10:15.000 --> 10:18.000
Basically, the one thing that is the most expensive,

10:18.000 --> 10:21.000
the thing that is most expensive here,

10:21.000 --> 10:23.000
if I wanted to do this on my own,

10:23.000 --> 10:25.000
which I also thought about doing,

10:25.000 --> 10:28.000
is the big wires here.

10:28.000 --> 10:30.000
I'll step away from the camera for a moment.

10:30.000 --> 10:33.000
These three wires, the five meters of cable,

10:33.000 --> 10:35.000
are the most expensive thing on a charger.

10:35.000 --> 10:36.000
Just the five meters of wire,

10:36.000 --> 10:39.000
can run you maybe like 40, 50 years of the 60,

10:39.000 --> 10:42.000
that this costs, is basically copper.

10:42.000 --> 10:45.000
Copper is really expensive nowadays.

10:45.000 --> 10:47.000
The rest of it is very cheap electronics.

10:47.000 --> 10:51.000
You have a couple of relays to switch on

10:51.000 --> 10:53.000
and off the GAC current.

10:53.000 --> 10:57.000
And then, well, you can see there's not much.

10:57.000 --> 11:01.000
The one thing that is maybe a bit interesting to see here,

11:01.000 --> 11:04.000
is that there's this small chip,

11:04.000 --> 11:06.000
this is a,

11:06.000 --> 11:08.000
he got the bias,

11:08.000 --> 11:10.000
A Rm chip, this is a small,

11:10.000 --> 11:13.000
A Rm chip that is doing the post,

11:13.000 --> 11:16.000
with more related thing.

11:16.000 --> 11:19.000
I could change this and program it to do whatever I wanted,

11:19.000 --> 11:22.000
but I couldn't find a new sheet easily online to flash it.

11:22.000 --> 11:23.000
So it was,

11:23.000 --> 11:25.000
if I wanted to do this with,

11:25.000 --> 11:28.000
with the IEC standard,

11:28.000 --> 11:30.000
I could just remove this wire,

11:30.000 --> 11:32.000
this is the control pilot that I mentioned,

11:32.000 --> 11:35.000
and run this through my own microcontroller,

11:35.000 --> 11:36.000
and then talk to the car,

11:36.000 --> 11:39.000
and then put another wire here so that the charger knows

11:39.000 --> 11:41.000
that I'm talking to something that is like the car,

11:41.000 --> 11:43.000
so that the charger knows I'm talking to something,

11:43.000 --> 11:44.000
the car knows I'm talking to something,

11:44.000 --> 11:46.000
and I put something in the middle to make things work.

11:46.000 --> 11:47.000
This is what I thought,

11:47.000 --> 11:49.000
I had in mind at the first time,

11:49.000 --> 11:51.000
but then I saw the car API,

11:51.000 --> 11:53.000
it was very much easier to do that way,

11:53.000 --> 11:55.000
so I started in that,

11:55.000 --> 11:58.000
but if we all wanted to do something with this,

11:58.000 --> 12:00.000
this is a very possible and easy.

12:00.000 --> 12:03.000
This is basically a Cortex M3,

12:03.000 --> 12:05.000
with 72 megahertz,

12:05.000 --> 12:08.000
it's a really, really small microcontroller.

12:08.000 --> 12:13.000
So in order for me to be able to do this,

12:13.000 --> 12:16.000
smart and be able to do a grid balancing,

12:16.000 --> 12:18.000
I would have to build a wattmeter,

12:18.000 --> 12:20.000
and I wanted to do this wirelessly,

12:20.000 --> 12:24.000
so that I didn't have to run wires over the countryside,

12:24.000 --> 12:28.000
to tell the car a plus something to let

12:28.000 --> 12:30.000
the car know how many I'm still request.

12:30.000 --> 12:32.000
So this wattmeter,

12:32.000 --> 12:36.000
instead of all of the money that we would cost to other things,

12:36.000 --> 12:39.000
I, well, you can see,

12:39.000 --> 12:41.000
this is really cheap to do.

12:41.000 --> 12:44.000
The current transformer is just,

12:44.000 --> 12:47.000
I'm not sure if I don't think they have here,

12:47.000 --> 12:50.000
the picture of the city anyway.

12:50.000 --> 12:53.000
This is basically,

12:53.000 --> 12:55.000
the current transformer is something that you,

12:55.000 --> 12:56.000
yeah, it's a coil that you,

12:56.000 --> 12:57.000
you put one wire over it,

12:57.000 --> 12:59.000
and it will measure in both,

12:59.000 --> 13:02.000
how many amps are being passed through the wire,

13:02.000 --> 13:05.000
really small electronics device,

13:05.000 --> 13:07.000
not even electronics.

13:07.000 --> 13:11.000
And then a power source to power this from the,

13:11.000 --> 13:13.000
from the grid.

13:14.000 --> 13:15.000
And then, yeah,

13:15.000 --> 13:18.000
something to the car, which is an API.

13:18.000 --> 13:22.000
For doing this with the,

13:22.000 --> 13:25.000
the SP32, I used Rust,

13:25.000 --> 13:28.000
because you can see my talk just today,

13:28.000 --> 13:31.000
because it just works,

13:31.000 --> 13:32.000
it's easier to build this,

13:32.000 --> 13:34.000
but then with the C++ SDK in my opinion,

13:34.000 --> 13:36.000
if you want to do something with this,

13:36.000 --> 13:38.000
I highly recommend it.

13:38.000 --> 13:40.000
And then, sorry,

13:40.000 --> 13:42.000
and then,

13:42.000 --> 13:43.000
here it is.

13:43.000 --> 13:44.000
Just,

13:44.000 --> 13:47.000
well, this is basically the current transformer,

13:47.000 --> 13:49.000
this is running to AC directly,

13:49.000 --> 13:50.000
and then,

13:50.000 --> 13:52.000
this is the current transformer,

13:52.000 --> 13:54.000
you just put one of the wires over here,

13:54.000 --> 13:56.000
and you will measure how much,

13:56.000 --> 13:59.000
so it will measure one bolt over this,

13:59.000 --> 14:00.000
over this line,

14:00.000 --> 14:01.000
if there's 30 amps here,

14:01.000 --> 14:03.000
and otherwise it's just linearly,

14:03.000 --> 14:05.000
whatever it is.

14:07.000 --> 14:08.000
So, I,

14:08.000 --> 14:09.000
oops,

14:09.000 --> 14:10.000
okay.

14:11.000 --> 14:13.000
So now, I could do this manually,

14:13.000 --> 14:15.000
I could just go and curl every,

14:15.000 --> 14:17.000
a couple of seconds for the,

14:17.000 --> 14:19.000
the website that I put on this device,

14:19.000 --> 14:21.000
then,

14:21.000 --> 14:22.000
step,

14:22.000 --> 14:23.000
I could automate it,

14:23.000 --> 14:26.000
and set the charging amps to the car,

14:26.000 --> 14:27.000
every few times,

14:27.000 --> 14:30.000
then I could put this in a more sophisticated script,

14:30.000 --> 14:32.000
but still running from my laptop,

14:32.000 --> 14:33.000
this is not ideal,

14:33.000 --> 14:34.000
because, well,

14:34.000 --> 14:36.000
all of these requirements to have a laptop here,

14:36.000 --> 14:37.000
have LAN access,

14:37.000 --> 14:38.000
and,

14:38.000 --> 14:39.000
well, I just have to remember to do this.

14:40.000 --> 14:41.000
So,

14:41.000 --> 14:42.000
I think,

14:42.000 --> 14:44.000
tap to the car automatically.

14:44.000 --> 14:45.000
Basically,

14:45.000 --> 14:46.000
these things,

14:46.000 --> 14:47.000
so,

14:47.000 --> 14:48.000
I used,

14:48.000 --> 14:50.000
I used a backend with,

14:50.000 --> 14:51.000
with Rust,

14:51.000 --> 14:52.000
and,

14:52.000 --> 14:54.000
for this,

14:54.000 --> 14:57.000
I used Rocket,

14:57.000 --> 14:59.000
because of several reasons,

14:59.000 --> 15:00.000
regarding Rust,

15:00.000 --> 15:01.000
basically,

15:01.000 --> 15:03.000
to ensure that the,

15:03.000 --> 15:05.000
the API requests were valid,

15:05.000 --> 15:07.000
with the,

15:07.000 --> 15:08.000
with the database token,

15:08.000 --> 15:09.000
and so on.

15:09.000 --> 15:10.000
And then,

15:10.000 --> 15:11.000
I even did,

15:11.000 --> 15:12.000
I mapped the vendors,

15:12.000 --> 15:13.000
the,

15:13.000 --> 15:14.000
the energy usage over the,

15:14.000 --> 15:15.000
of the house,

15:15.000 --> 15:16.000
over a period of time.

15:16.000 --> 15:17.000
This was even useful to me,

15:17.000 --> 15:18.000
outside of the,

15:18.000 --> 15:19.000
the thing,

15:19.000 --> 15:20.000
because,

15:20.000 --> 15:21.000
we noticed that,

15:21.000 --> 15:23.000
when,

15:23.000 --> 15:25.000
this,

15:25.000 --> 15:26.000
okay,

15:26.000 --> 15:28.000
this,

15:28.000 --> 15:29.000
at this home,

15:29.000 --> 15:31.000
we have,

15:31.000 --> 15:33.000
our running water,

15:33.000 --> 15:35.000
it comes from,

15:36.000 --> 15:37.000
well,

15:37.000 --> 15:38.000
and,

15:38.000 --> 15:39.000
we have,

15:39.000 --> 15:40.000
water pump to,

15:40.000 --> 15:41.000
to get it through,

15:41.000 --> 15:43.000
and we noticed that we had,

15:43.000 --> 15:45.000
picks of electricity running,

15:45.000 --> 15:46.000
due to the pump,

15:46.000 --> 15:47.000
by just looking,

15:47.000 --> 15:49.000
every few seconds on the,

15:49.000 --> 15:50.000
on the wire,

15:50.000 --> 15:51.000
and we could notice that,

15:51.000 --> 15:52.000
that we,

15:52.000 --> 15:53.000
we should put something to,

15:53.000 --> 15:54.000
to filter this,

15:54.000 --> 15:55.000
this noise on the,

15:55.000 --> 15:56.000
on the,

15:56.000 --> 15:57.000
on the,

15:57.000 --> 15:58.000
like,

15:58.000 --> 15:59.000
to,

15:59.000 --> 16:00.000
anyway,

16:00.000 --> 16:01.000
I didn't like this,

16:01.000 --> 16:02.000
very much in the,

16:02.000 --> 16:03.000
the,

16:03.000 --> 16:04.000
the car vendor API,

16:04.000 --> 16:06.000
I would have preferred to use one of the standards,

16:06.000 --> 16:07.000
but,

16:07.000 --> 16:08.000
unfortunately,

16:08.000 --> 16:09.000
um,

16:09.000 --> 16:10.000
as I said,

16:10.000 --> 16:12.000
there's no current open source implementations of,

16:12.000 --> 16:13.000
uh,

16:13.000 --> 16:14.000
talking via the XML,

16:14.000 --> 16:15.000
uh,

16:15.000 --> 16:16.000
interface with,

16:16.000 --> 16:17.000
with the car,

16:17.000 --> 16:19.000
that doesn't require you to have a full OS,

16:19.000 --> 16:20.000
um,

16:20.000 --> 16:21.000
as,

16:21.000 --> 16:22.000
as such.

16:22.000 --> 16:23.000
So,

16:23.000 --> 16:24.000
I started with this,

16:24.000 --> 16:25.000
because start small,

16:25.000 --> 16:26.000
and then,

16:26.000 --> 16:27.000
go incrementally from,

16:27.000 --> 16:28.000
from here.

16:28.000 --> 16:29.000
Uh,

16:29.000 --> 16:30.000
this is very easy,

16:30.000 --> 16:32.000
and if we wanted to,

16:33.000 --> 16:35.000
be implemented for some other kind of charge,

16:35.000 --> 16:36.000
or some other kind of,

16:36.000 --> 16:37.000
car API,

16:37.000 --> 16:38.000
this would be very easy,

16:38.000 --> 16:40.000
because most of the work is already done,

16:40.000 --> 16:41.000
in a way that is,

16:41.000 --> 16:42.000
um,

16:42.000 --> 16:43.000
uh,

16:43.000 --> 16:44.000
pluggable.

16:44.000 --> 16:45.000
So, you just need to change the,

16:45.000 --> 16:47.000
eV charge handler kind of thing,

16:47.000 --> 16:48.000
um,

16:48.000 --> 16:50.000
which is something that you only have to implement two things,

16:50.000 --> 16:51.000
well,

16:51.000 --> 16:52.000
actually three,

16:52.000 --> 16:53.000
uh,

16:53.000 --> 16:54.000
one is,

16:54.000 --> 16:55.000
uh,

16:55.000 --> 16:56.000
the kind of object that you want to keep,

16:56.000 --> 16:58.000
as state of what you,

16:58.000 --> 16:59.000
uh,

16:59.000 --> 17:00.000
what you have internally,

17:00.000 --> 17:01.000
which can be whatever you want,

17:01.000 --> 17:02.000
um,

17:02.000 --> 17:03.000
and then,

17:03.000 --> 17:04.000
uh,

17:04.000 --> 17:05.000
only two methods.

17:05.000 --> 17:06.000
One of them is,

17:06.000 --> 17:07.000
get the state,

17:07.000 --> 17:08.000
so that we can,

17:08.000 --> 17:09.000
um,

17:09.000 --> 17:10.000
and the state can be whatever you want,

17:10.000 --> 17:11.000
with some restrictions,

17:11.000 --> 17:12.000
that I have on the next slide,

17:12.000 --> 17:13.000
and then,

17:13.000 --> 17:14.000
request,

17:14.000 --> 17:15.000
uh,

17:15.000 --> 17:16.000
something to,

17:16.000 --> 17:18.000
ask the car to charge at the specific rate.

17:18.000 --> 17:19.000
This can be in,

17:19.000 --> 17:20.000
in the charger,

17:20.000 --> 17:21.000
in the car,

17:21.000 --> 17:22.000
whatever it is.

17:22.000 --> 17:23.000
Uh,

17:23.000 --> 17:24.000
and then there's the state,

17:24.000 --> 17:25.000
the state has to implement five things,

17:25.000 --> 17:26.000
uh,

17:26.000 --> 17:27.000
which is whether it's charging or not,

17:27.000 --> 17:28.000
because if it's not,

17:28.000 --> 17:29.000
uh,

17:29.000 --> 17:30.000
we,

17:30.000 --> 17:32.000
and ask repeatedly things,

17:32.000 --> 17:33.000
until it's done,

17:33.000 --> 17:34.000
and then,

17:34.000 --> 17:35.000
uh,

17:35.000 --> 17:36.000
get the current charge,

17:36.000 --> 17:37.000
get the last request items,

17:37.000 --> 17:39.000
because this may not be the same,

17:39.000 --> 17:40.000
because it,

17:40.000 --> 17:41.000
uh,

17:41.000 --> 17:42.000
takes a while for,

17:42.000 --> 17:43.000
for the things to ramp up,

17:43.000 --> 17:44.000
so this should,

17:44.000 --> 17:45.000
uh,

17:45.000 --> 17:46.000
this should,

17:46.000 --> 17:47.000
remember what was requested,

17:47.000 --> 17:48.000
and this should measure actually on the car.

17:48.000 --> 17:49.000
And this is,

17:49.000 --> 17:50.000
uh,

17:50.000 --> 17:51.000
well,

17:51.000 --> 17:52.000
I also got this,

17:52.000 --> 17:53.000
get the car distance to the point,

17:53.000 --> 17:54.000
in kilometers,

17:54.000 --> 17:55.000
because if you have a way to,

17:55.000 --> 17:56.000
notice,

17:56.000 --> 17:57.000
then we kick,

17:57.000 --> 17:59.000
we can just sleep for hours,

17:59.000 --> 18:01.000
if you are 500 kilometers away,

18:01.000 --> 18:02.000
you don't have to ask,

18:02.000 --> 18:03.000
uh,

18:03.000 --> 18:04.000
for the state,

18:04.000 --> 18:05.000
for at least five hours,

18:05.000 --> 18:06.000
uh,

18:06.000 --> 18:08.000
if you're going at legal speed limits.

18:08.000 --> 18:09.000
Um,

18:09.000 --> 18:11.000
this is the interface that,

18:11.000 --> 18:12.000
uh,

18:12.000 --> 18:13.000
I am rendering right now on,

18:13.000 --> 18:14.000
on this,

18:14.000 --> 18:15.000
so every,

18:15.000 --> 18:16.000
uh,

18:16.000 --> 18:17.000
you can see every three to six seconds,

18:17.000 --> 18:18.000
something like that,

18:18.000 --> 18:19.000
uh,

18:19.000 --> 18:20.000
the,

18:20.000 --> 18:21.000
the water meter is pushing,

18:21.000 --> 18:22.000
um,

18:22.000 --> 18:24.000
a packet with the,

18:24.000 --> 18:25.000
with the amps at that point,

18:25.000 --> 18:26.000
and then,

18:26.000 --> 18:27.000
uh,

18:27.000 --> 18:28.000
the picks in red,

18:28.000 --> 18:29.000
and then in,

18:29.000 --> 18:30.000
in blue the,

18:30.000 --> 18:32.000
the average over a few,

18:32.000 --> 18:33.000
a few,

18:33.000 --> 18:34.000
a few,

18:34.000 --> 18:35.000
a few seconds,

18:35.000 --> 18:39.000
uh,

18:39.000 --> 18:40.000
uh,

18:40.000 --> 18:41.000
of the,

18:41.000 --> 18:43.000
of the,

18:43.000 --> 18:44.000
of the,

18:44.000 --> 18:46.000
of the energy usage.

18:46.000 --> 18:47.000
This is,

18:47.000 --> 18:49.000
this was quite fast for me to do,

18:49.000 --> 18:50.000
um,

18:50.000 --> 18:51.000
I only,

18:51.000 --> 18:52.000
I took approximately,

18:52.000 --> 18:54.000
maybe one month of total development time,

18:54.000 --> 18:56.000
um,

18:56.000 --> 18:57.000
better-show charge car from,

18:57.000 --> 18:59.000
from scratch,

18:59.000 --> 19:00.000
Without,

19:00.000 --> 19:01.000
uh,

19:01.000 --> 19:03.000
with a budget of,

19:03.000 --> 19:05.000
seventy years at most,

19:05.000 --> 19:06.000
because this,

19:06.000 --> 19:08.000
The charger was sixty-three,

19:08.000 --> 19:10.000
plus the,

19:10.000 --> 19:12.000
Three dollars of the,

19:12.000 --> 19:14.000
opportunities plus four of the other,

19:14.000 --> 19:15.000
uh,

19:15.000 --> 19:17.000
uh,

19:17.000 --> 19:18.000
so I mean,

19:18.000 --> 19:20.000
Um,

19:20.000 --> 19:23.000
compared to running and open and

19:23.000 --> 19:24.280
VSE which,

19:24.280 --> 19:31.400
a winning, in this case, I wanted to highlight this room because, well, basically, because

19:31.400 --> 19:38.440
there's nothing currently that that does this, I had to do this because I didn't want

19:38.440 --> 19:48.520
to run a full Linux just to talk some XML with with car or just to send a few packets

19:48.520 --> 19:55.800
to an HTTP API. This costs one order of magnitude less than what we have on the current

19:55.800 --> 20:00.520
resource space. And I think that sometimes, and this is maybe a bit much of a, you know,

20:00.520 --> 20:06.680
I'll comment, but I believe that also in my work, we work with highly potent machines with

20:06.680 --> 20:12.120
lots of resources, but then when we go to the real world, many of the devices that other

20:12.120 --> 20:18.520
our users are using, don't have as many as much process in power for maybe a website or for

20:18.520 --> 20:28.200
maybe anything else, okay. And also, in general, I think that this is a bit of a waste of resources

20:28.200 --> 20:32.200
in the sense that we have a whole Raspberry Pi work we could be using, something that has

20:33.160 --> 20:39.000
a hundred of the computing power and still do the same thing. That's so it's less

20:39.000 --> 20:48.600
egoist, it's a whole of that, right. Then a future work for this would be, it would be very,

20:48.600 --> 20:55.640
very great to be able to create an ISO-115-118 charger that doesn't require a full OS.

20:56.520 --> 21:03.240
And of course, being able to push the wattmeter through mother, because this is like the

21:03.240 --> 21:09.240
new IoT automation standard, and I think there's no definition of a wattmeter in the mother standard.

21:10.760 --> 21:15.480
Please, correct me, I'm wrong if there's anything from the CSA that knows more about this,

21:15.480 --> 21:21.720
but I didn't find a way to publish this information through that, and I believe that for anyone

21:21.720 --> 21:29.160
with a solar, with a solar roof or with any kind of grid management system, it would be great

21:29.160 --> 21:33.480
to be able to automate this in the same way that the rest of the home automation systems work,

21:33.480 --> 21:38.840
and this is like the new standard going forward. And currently, all of the energy-related parts

21:38.840 --> 21:44.520
of balancing are done in a separate protocol, in a separate way, and I think that the

21:44.520 --> 21:50.680
converging could be a good idea, but I'm not sure, and I'm open to questions here, and for

21:50.680 --> 21:57.640
discussion, for the five minutes we have four minutes we have, so yeah, that we could be interesting.

21:59.080 --> 22:06.280
And yeah, in general, just, well, think about all of the CPU hours that we have wasted on

22:08.520 --> 22:13.160
the charges that we have on the streets and the hundreds of euros that every one of them is

22:13.160 --> 22:20.280
costing that we could just remove from existence just by putting something smaller there.

22:21.960 --> 22:26.680
And that's it. Now, if you have any questions, anything to add here, that would be awesome.

22:26.680 --> 22:32.040
Although there's a standard stack which is used for, and when someone has smart leaching or something,

22:32.040 --> 22:36.040
it's not glued to them. I'm thinking to remember what the moment is, there's a standard stack

22:36.040 --> 22:41.160
of including an energy stack, you probably know, which definitely covers metering, because it covers the

22:41.800 --> 22:45.720
metering of a house and so that might be another way of tackling it, because there's a bunch of

22:45.720 --> 22:51.560
software already written around to do some of this sort of thing for you. Okay, so

22:51.560 --> 22:56.040
matter might be too need to be commercially adopted for it, whereas the other stuff is in every

22:56.040 --> 23:02.200
smart metering Europe, for example. What is it called? I'm fading to remember sitting on band

23:02.840 --> 23:08.200
the band 30 or whatever, it's very cool in every consumer access device, so they run this

23:08.360 --> 23:14.040
approach calls. Oh, thank you. Oh, thank you. We might be the last time,

23:14.040 --> 23:24.200
sometimes we can use some of the questions. Yes. All right, so what was being said is that there's

23:24.200 --> 23:30.840
a different energy standard that was older that exists, that is called Zigbee, and in Zigbee

23:30.840 --> 23:38.040
there is an energy profile that you can run and basically, and this is probably a way where

23:38.040 --> 23:43.640
we could go forward with this. I can compliment that with saying that I believe that a lot of this

23:43.640 --> 23:48.600
Zigbee energy profiles are available in matters, so maybe there is a way of doing this. I believe that

23:48.600 --> 23:56.600
this is the case. So yeah, maybe I'm just strong on the success and we can do this. Yeah, yeah, yeah.

23:59.880 --> 24:05.320
Yeah, so anyone has, I don't know if there's anyone from the open EVSE community here,

24:06.200 --> 24:19.240
maybe, no. Okay. Because, yeah, this, I mean, it would be great if we could make this smaller in a way that

24:19.800 --> 24:31.560
is, yeah. Any other questions coming? Yeah, good. Okay, thanks.

24:32.840 --> 24:35.560
All right, thank you.

