WEBVTT

00:00.000 --> 00:10.000
Thank you.

00:10.000 --> 00:21.000
Today my talk is about power attempt to build 20 euros marked home server, which will be completely open but in hardware in software.

00:21.000 --> 00:24.000
So, you all have the help.

00:24.000 --> 00:28.000
I'm owner of Tollenex, all he makes is small company in Florida Bulgaria.

00:28.000 --> 00:33.000
We are dealing with electronic design and production of electronic devices.

00:33.000 --> 00:38.000
We have more than 1000 products, most of them are with top and source license.

00:38.000 --> 00:40.000
How this started?

00:40.000 --> 00:43.000
We have a local conference, which is copying for them.

00:43.000 --> 00:47.000
It's run by volunteers locally in Florida Bulgaria every year.

00:47.000 --> 00:51.000
We gather with friends, bring beer, make talks.

00:51.000 --> 00:58.000
And the last two years in the row, we make challenge to ourselves.

00:58.000 --> 01:03.000
To build something which is at first sight impossible to build.

01:03.000 --> 01:07.000
And we try to do it until the next conference.

01:07.000 --> 01:12.000
And such challenge in 2024 was to build.

01:12.000 --> 01:22.000
One euro is 5 personal computers, which to be like retro computers running basic games and tips.

01:22.000 --> 01:28.000
Almost the development talk is almost here, but we now have it.

01:28.000 --> 01:38.000
And yesterday more than 150 sets of 5 computers were built here at first then in a soldering workshop.

01:39.000 --> 01:49.000
So, last year, during the conference, I was trying to configure commasystem to exploring how it works.

01:49.000 --> 01:54.000
And I told that it's way much to complicate it.

01:54.000 --> 01:59.000
However, installed commasystems know what I am talking about.

01:59.000 --> 02:07.000
You watch some videos on YouTube, how to do this or that because you have so many options.

02:07.000 --> 02:12.000
And so many futures which confuse you at the beginning.

02:12.000 --> 02:14.000
Commasystems is great.

02:14.000 --> 02:19.000
Once you do this process, everything is okay, you know what to do.

02:19.000 --> 02:26.000
But until you learn how to do it, there is a big, big learning curve.

02:26.000 --> 02:32.000
So, I told me we should do something which is affordable and easy to use.

02:32.000 --> 02:37.000
And this is how this challenge to build something for 20 euro come up.

02:37.000 --> 02:44.000
So, many people will say, okay, but there is plenty of free cloud services.

02:44.000 --> 02:49.000
Every IoT vendor has some cloud service.

02:49.000 --> 02:52.000
But there are a few problems.

02:52.000 --> 02:56.000
First you don't have privacy, they lock everything you do.

02:56.000 --> 03:04.000
Then the basics are usually free, but if you want to do anything else behind pushing some buttons,

03:04.000 --> 03:10.000
you have to go to the pro extended plus version and you have to pay.

03:10.000 --> 03:15.000
And there is absolutely no compatibility between the different vendors.

03:15.000 --> 03:22.000
So, sometimes you have 10 apps to work with 10 devices you bought from different vendors.

03:22.000 --> 03:27.000
As I said, there are very nice open source alternatives.

03:27.000 --> 03:36.000
But the problem is that they want to support everything and compete with each other to bring more and more futures.

03:36.000 --> 03:41.000
And this makes them very complex in resource hungry.

03:41.000 --> 03:52.000
So, then such smart conservators usually need Raspberry Pi 5 or 4, with at least 4 gigabytes of RAM.

03:52.000 --> 03:59.000
So, I want to build something very basic, very affordable, and to be completely open source,

03:59.000 --> 04:05.000
and you can tailor to your need.

04:05.000 --> 04:13.000
We just need to add some notes to make some logic, logic to display some chart data,

04:13.000 --> 04:17.000
and to make some scene editing.

04:17.000 --> 04:19.000
Simple, simple scene editing.

04:19.000 --> 04:24.000
For the hardware, because we said the challenge, 20 euro,

04:25.000 --> 04:33.000
I found suitable processor from Albinder, which has dual-core Cortix A7,

04:33.000 --> 04:39.000
running at one gig here and building 128 megabytes of RAM.

04:39.000 --> 04:47.000
So, these small resources didn't give us much options.

04:48.000 --> 04:52.000
Here is three months after the technical.

04:52.000 --> 04:55.000
We already had our hardware.

04:55.000 --> 05:00.000
We have Ethernet, USB host, audio, LCD display,

05:00.000 --> 05:09.000
lipo charger, which allows you to run the server from small lipo battery in SD card for logging.

05:09.000 --> 05:17.000
If you want to make a small box, the small board is power over Ethernet option.

05:17.000 --> 05:29.000
So, you can put inside the lipo battery, and it's small box, it's 8 by 5 cm.

05:29.000 --> 05:37.000
For the notes, we decided to use one of our standard boards, which got some release and inputs.

05:37.000 --> 05:44.000
For the software on the server side, we had no much options except OpenWRT,

05:44.000 --> 05:52.000
because OpenWRT is run very comfortable in small memory footprints.

05:52.000 --> 06:02.000
It is the latest Linux kernels with all the security patches, which is requirement if you want to do IoT stuff.

06:02.000 --> 06:08.000
And of course, it has all the packages, which we need for the development.

06:08.000 --> 06:17.000
Big thanks to Zoughton, who is here, and who made the port for the OpenRT 113.

06:17.000 --> 06:23.000
I put his gift on this slide.

06:23.000 --> 06:30.000
From the OpenWRT packages, this is the list of packages we are using at the moment.

06:30.000 --> 06:39.000
As you see, it's a PHP Python entity and some other stuff.

06:39.000 --> 06:43.000
For the note side, we decided to use SQL.

06:43.000 --> 06:48.000
Why? It's very popular, very active development.

06:48.000 --> 06:55.000
It supports a large amount of sensors and peripherals.

06:55.000 --> 07:04.000
And it's extremely easy to modify by making your own external components.

07:04.000 --> 07:10.000
And it actually runs on almost every ESP32.

07:10.000 --> 07:17.000
So, this is the work name we named all the max codes, home of things.

07:17.000 --> 07:23.000
And the basic functionality is already implemented.

07:24.000 --> 07:28.000
Right now, we are adding new features on weekly basis.

07:28.000 --> 07:32.000
Almost everything we wanted to achieve is already done.

07:32.000 --> 07:38.000
I will show you in the next slide how the interface is looking.

07:38.000 --> 07:43.000
All you need to do is to connect a Internet cable to your server.

07:43.000 --> 07:50.000
And you can't secure code or to lock in your home network and open all index code.local.

07:51.000 --> 07:55.000
And then you see the first page.

07:55.000 --> 08:00.000
You have to set up the time after that.

08:00.000 --> 08:06.000
You can scan for Wi-Fi networks and enter your credential.

08:06.000 --> 08:11.000
Why do we need? We are all ready connected to this home network.

08:11.000 --> 08:19.000
But we need the credential to verify the Wi-Fi and to program the notes automatically later.

08:20.000 --> 08:26.000
Then we create a user log in and this is our welcome screen.

08:26.000 --> 08:34.000
We can configure now areas, areas is a group of sensors to not be bulky.

08:34.000 --> 08:39.000
We are making two areas basement for four.

08:39.000 --> 08:45.000
Then we can scan for notes and we found the one of the notes.

08:45.000 --> 08:50.000
Every note when it is programmed for the very first time, make access points.

08:50.000 --> 08:54.000
And our server detects them by the Polynx code prefix.

08:54.000 --> 09:00.000
And then you can add friendly name and see what's inside this note.

09:00.000 --> 09:06.000
And you see a dashboard with all the features of this note.

09:06.000 --> 09:12.000
Then you can assign friendly names for the different delays.

09:12.000 --> 09:16.000
Temperature sensors keeps like this.

09:16.000 --> 09:21.000
And if you don't need somebody else, you can just hide them.

09:21.000 --> 09:28.000
And this is how the dashboard looks after you made this small configuration.

09:28.000 --> 09:32.000
As you see, it has basement and first floor.

09:32.000 --> 09:35.000
Group of sensors and features.

09:35.000 --> 09:39.000
Then I can move the order, which is displayed.

09:39.000 --> 09:42.000
I can move the basement on the bottom.

09:42.000 --> 09:48.000
And when I go to the dashboard, I see the basement below.

09:48.000 --> 09:55.000
Then I can do something like resetting firmware upgrading, factory reset,

09:55.000 --> 10:04.000
or I can hide this button if I don't want the user to interact with them.

10:04.000 --> 10:07.000
And this is what you can do again.

10:07.000 --> 10:14.000
To set time zone to check the MTT configuration.

10:14.000 --> 10:19.000
As you can see, the password is generated by the server at the first run.

10:19.000 --> 10:22.000
At the first run.

10:22.000 --> 10:29.000
We can add more users.

10:29.000 --> 10:31.000
And give them some rights.

10:31.000 --> 10:34.000
What to see, what to change, and it's either.

10:34.000 --> 10:37.000
So what is in the to do list?

10:37.000 --> 10:42.000
We have to make the lots, charts, and the scenic data.

10:42.000 --> 10:48.000
It will be good if we can manage to make a push notification to your phone.

10:48.000 --> 10:53.000
So when something happens to get a notification on your phone.

10:53.000 --> 10:57.000
And to add as a cell if we want to connect to the outside world.

10:57.000 --> 11:02.000
Because right now we work with the local home network.

11:02.000 --> 11:05.000
So problems to solve.

11:05.000 --> 11:08.000
It opened WRT.

11:08.000 --> 11:16.000
I was very surprised that there is no driver for this popular Wi-Fi model.

11:16.000 --> 11:22.000
Which is available in Linux kernel, but probably I see the logic.

11:22.000 --> 11:27.000
And WRT is usually running on a process which has internal Wi-Fi.

11:27.000 --> 11:33.000
So nobody has working for external Wi-Fi models on the driver's side.

11:33.000 --> 11:37.000
And the driver we found works only in monitoring mode.

11:37.000 --> 11:42.000
So you can monitor the network, but you cannot connect to the devices.

11:42.000 --> 11:45.000
So I'm calling for help.

11:45.000 --> 11:50.000
If there are people here from WRT, which can face this problem, please help.

11:51.000 --> 11:58.000
Because right now we use this RTRO 9K obsolete USB Wi-Fi model,

11:58.000 --> 12:04.000
which is the only we found supported fully in the open WRT.

12:04.000 --> 12:07.000
There are some small problems on the north side too.

12:07.000 --> 12:14.000
We made a small PR because for this node, we always want to have prefix,

12:14.000 --> 12:16.000
polymx hot.

12:16.000 --> 12:23.000
And there are some small PR requests, which is pending since July.

12:23.000 --> 12:27.000
And it's not merged yet, but it's normal.

12:27.000 --> 12:33.000
I can see that they get maybe dozens of PRs every week.

12:33.000 --> 12:42.000
They have backlog of about 350 PRs and about 500 issues.

12:42.000 --> 12:44.000
And then you speak on path.

12:44.000 --> 12:48.000
Fortunately, there is a very easy way to work around this.

12:48.000 --> 12:51.000
You can make a description for your board.

12:51.000 --> 12:56.000
And the changes you did on GitHub, you can address them.

12:56.000 --> 13:04.000
If you put this in your email also, you will always make completely support your board.

13:04.000 --> 13:10.000
Even if your PR is not merged to the matrix, it's a small issue.

13:11.000 --> 13:16.000
So, while we were developing, we got a ton of new ideas.

13:16.000 --> 13:22.000
For different hardware nodes, which will allow to make access control

13:22.000 --> 13:28.000
to monitor some status of the machine's production

13:28.000 --> 13:38.000
to do parameter logging and to make some maintenance of the machines.

13:38.000 --> 13:42.000
If you see some deviation from the sensors.

13:42.000 --> 13:48.000
So, if you want to join this project, we have dedicated this card server

13:48.000 --> 13:52.000
and we have repositories.

13:52.000 --> 13:58.000
You're welcome to give ideas or to participate.

13:58.000 --> 14:02.000
So, I think I finish.

14:03.000 --> 14:08.000
You're welcome.

14:08.000 --> 14:11.000
We're welcome.

14:11.000 --> 14:13.000
Time for questions.

14:13.000 --> 14:14.000
Hello.

14:14.000 --> 14:16.000
Thanks for your job.

14:16.000 --> 14:20.000
It's great to see a new assistance for your sponsors.

14:20.000 --> 14:23.000
My question is probably a feature request.

14:23.000 --> 14:26.000
And I think that I miss in my system at home.

14:26.000 --> 14:29.000
I use all the export that I have 20.

14:30.000 --> 14:33.000
But I have like a light and the switch.

14:33.000 --> 14:37.000
And I want to combine them with only one device.

14:37.000 --> 14:43.000
If I want to turn on and off the light, I use the switch.

14:43.000 --> 14:45.000
The end of the switch.

14:45.000 --> 14:50.000
And if I want to turn on all over the brightness, I use the light.

14:50.000 --> 14:56.000
So, it's very nice to have only one device that I can do the board.

14:56.000 --> 14:59.000
Do you plan anything like a vitrol?

14:59.000 --> 15:00.000
Yeah.

15:00.000 --> 15:02.000
Everything is possible.

15:02.000 --> 15:05.000
This project is just running.

15:05.000 --> 15:09.000
Now, and we are open to any suggestion and features.

15:09.000 --> 15:14.000
And I think just we want to keep it simple.

15:14.000 --> 15:18.000
And we want to keep it low cost affordable.

15:18.000 --> 15:23.000
If your features doesn't confront with this requirements,

15:23.000 --> 15:27.000
it's most likely they will be included.

15:27.000 --> 15:28.000
Okay.

15:28.000 --> 15:32.000
As you see, what focus here is you plug the internet.

15:32.000 --> 15:35.000
You're server is set up.

15:35.000 --> 15:39.000
You scan for devices you add them and manipulate them.

15:39.000 --> 15:41.000
No reading, any else.

15:41.000 --> 15:44.000
No watching for YouTube videos.

15:44.000 --> 15:47.000
We don't want to replace commosystem.

15:48.000 --> 15:49.000
This is great.

15:49.000 --> 15:54.000
We will never touch one percent of commosystem futures.

15:54.000 --> 16:01.000
But we are comfortable with this set of futures for all needs.

16:01.000 --> 16:03.000
I had a question.

16:03.000 --> 16:16.000
Is it be home running on the A7 or is it fleshed from another?

16:16.000 --> 16:20.000
My machine.

16:20.000 --> 16:26.000
How are the notes flushed by PC?

16:26.000 --> 16:35.000
If he is p32 board and usually he is p2 for flashing,

16:35.000 --> 16:43.000
you just use the emerald configuration and he is p home to generate the binary code.

16:43.000 --> 16:46.000
And then you flash it with his p2.

16:46.000 --> 16:49.000
But you don't flash it through the server.

16:49.000 --> 16:53.000
We want to be for non-technical person.

16:53.000 --> 17:01.000
I have 84 year old father, which I am using like better tester.

17:01.000 --> 17:05.000
He is electric engineer.

17:05.000 --> 17:07.000
He is very smart.

17:07.000 --> 17:16.000
Like for many things I do, but he doesn't work with computers.

17:16.000 --> 17:21.000
And if he managed to do this server and to use it,

17:21.000 --> 17:24.000
I am sure that everybody will.

17:24.000 --> 17:29.000
First of all, thank you for all of me.

17:29.000 --> 17:31.000
We love it.

17:32.000 --> 17:39.000
Have you considered using ESP hosted as a Wi-Fi device.

17:39.000 --> 17:43.000
This way you can also implement Bluetooth and maybe later as it be.

17:43.000 --> 17:44.000
Yeah, yeah.

17:44.000 --> 17:49.000
If you saw on the picture, we have UX connector on the server.

17:49.000 --> 17:58.000
And we have already module with ESP C5, which is two and four gigahertz

17:58.000 --> 18:02.000
and if support is a matter and everything.

18:02.000 --> 18:08.000
And we can use UXB hosted to implement this protocol on the server.

18:08.000 --> 18:11.000
So yes, it is possible.

18:11.000 --> 18:12.000
Awesome.

18:12.000 --> 18:13.000
Thank you very much.

