Thank you.
Today my talk is about power attempt to build 20 euros marked home server, which will be completely open but in hardware in software.
So, you all have the help.
I'm owner of Tollenex, all he makes is small company in Florida Bulgaria.
We are dealing with electronic design and production of electronic devices.
We have more than 1000 products, most of them are with top and source license.
How this started?
We have a local conference, which is copying for them.
It's run by volunteers locally in Florida Bulgaria every year.
We gather with friends, bring beer, make talks.
And the last two years in the row, we make challenge to ourselves.
To build something which is at first sight impossible to build.
And we try to do it until the next conference.
And such challenge in 2024 was to build.
One euro is 5 personal computers, which to be like retro computers running basic games and tips.
Almost the development talk is almost here, but we now have it.
And yesterday more than 150 sets of 5 computers were built here at first then in a soldering workshop.
So, last year, during the conference, I was trying to configure commasystem to exploring how it works.
And I told that it's way much to complicate it.
However, installed commasystems know what I am talking about.
You watch some videos on YouTube, how to do this or that because you have so many options.
And so many futures which confuse you at the beginning.
Commasystems is great.
Once you do this process, everything is okay, you know what to do.
But until you learn how to do it, there is a big, big learning curve.
So, I told me we should do something which is affordable and easy to use.
And this is how this challenge to build something for 20 euro come up.
So, many people will say, okay, but there is plenty of free cloud services.
Every IoT vendor has some cloud service.
But there are a few problems.
First you don't have privacy, they lock everything you do.
Then the basics are usually free, but if you want to do anything else behind pushing some buttons,
you have to go to the pro extended plus version and you have to pay.
And there is absolutely no compatibility between the different vendors.
So, sometimes you have 10 apps to work with 10 devices you bought from different vendors.
As I said, there are very nice open source alternatives.
But the problem is that they want to support everything and compete with each other to bring more and more futures.
And this makes them very complex in resource hungry.
So, then such smart conservators usually need Raspberry Pi 5 or 4, with at least 4 gigabytes of RAM.
So, I want to build something very basic, very affordable, and to be completely open source,
and you can tailor to your need.
We just need to add some notes to make some logic, logic to display some chart data,
and to make some scene editing.
Simple, simple scene editing.
For the hardware, because we said the challenge, 20 euro,
I found suitable processor from Albinder, which has dual-core Cortix A7,
running at one gig here and building 128 megabytes of RAM.
So, these small resources didn't give us much options.
Here is three months after the technical.
We already had our hardware.
We have Ethernet, USB host, audio, LCD display,
lipo charger, which allows you to run the server from small lipo battery in SD card for logging.
If you want to make a small box, the small board is power over Ethernet option.
So, you can put inside the lipo battery, and it's small box, it's 8 by 5 cm.
For the notes, we decided to use one of our standard boards, which got some release and inputs.
For the software on the server side, we had no much options except OpenWRT,
because OpenWRT is run very comfortable in small memory footprints.
It is the latest Linux kernels with all the security patches, which is requirement if you want to do IoT stuff.
And of course, it has all the packages, which we need for the development.
Big thanks to Zoughton, who is here, and who made the port for the OpenRT 113.
I put his gift on this slide.
From the OpenWRT packages, this is the list of packages we are using at the moment.
As you see, it's a PHP Python entity and some other stuff.
For the note side, we decided to use SQL.
Why? It's very popular, very active development.
It supports a large amount of sensors and peripherals.
And it's extremely easy to modify by making your own external components.
And it actually runs on almost every ESP32.
So, this is the work name we named all the max codes, home of things.
And the basic functionality is already implemented.
Right now, we are adding new features on weekly basis.
Almost everything we wanted to achieve is already done.
I will show you in the next slide how the interface is looking.
All you need to do is to connect a Internet cable to your server.
And you can't secure code or to lock in your home network and open all index code.local.
And then you see the first page.
You have to set up the time after that.
You can scan for Wi-Fi networks and enter your credential.
Why do we need? We are all ready connected to this home network.
But we need the credential to verify the Wi-Fi and to program the notes automatically later.
Then we create a user log in and this is our welcome screen.
We can configure now areas, areas is a group of sensors to not be bulky.
We are making two areas basement for four.
Then we can scan for notes and we found the one of the notes.
Every note when it is programmed for the very first time, make access points.
And our server detects them by the Polynx code prefix.
And then you can add friendly name and see what's inside this note.
And you see a dashboard with all the features of this note.
Then you can assign friendly names for the different delays.
Temperature sensors keeps like this.
And if you don't need somebody else, you can just hide them.
And this is how the dashboard looks after you made this small configuration.
As you see, it has basement and first floor.
Group of sensors and features.
Then I can move the order, which is displayed.
I can move the basement on the bottom.
And when I go to the dashboard, I see the basement below.
Then I can do something like resetting firmware upgrading, factory reset,
or I can hide this button if I don't want the user to interact with them.
And this is what you can do again.
To set time zone to check the MTT configuration.
As you can see, the password is generated by the server at the first run.
At the first run.
We can add more users.
And give them some rights.
What to see, what to change, and it's either.
So what is in the to do list?
We have to make the lots, charts, and the scenic data.
It will be good if we can manage to make a push notification to your phone.
So when something happens to get a notification on your phone.
And to add as a cell if we want to connect to the outside world.
Because right now we work with the local home network.
So problems to solve.
It opened WRT.
I was very surprised that there is no driver for this popular Wi-Fi model.
Which is available in Linux kernel, but probably I see the logic.
And WRT is usually running on a process which has internal Wi-Fi.
So nobody has working for external Wi-Fi models on the driver's side.
And the driver we found works only in monitoring mode.
So you can monitor the network, but you cannot connect to the devices.
So I'm calling for help.
If there are people here from WRT, which can face this problem, please help.
Because right now we use this RTRO 9K obsolete USB Wi-Fi model,
which is the only we found supported fully in the open WRT.
There are some small problems on the north side too.
We made a small PR because for this node, we always want to have prefix,
polymx hot.
And there are some small PR requests, which is pending since July.
And it's not merged yet, but it's normal.
I can see that they get maybe dozens of PRs every week.
They have backlog of about 350 PRs and about 500 issues.
And then you speak on path.
Fortunately, there is a very easy way to work around this.
You can make a description for your board.
And the changes you did on GitHub, you can address them.
If you put this in your email also, you will always make completely support your board.
Even if your PR is not merged to the matrix, it's a small issue.
So, while we were developing, we got a ton of new ideas.
For different hardware nodes, which will allow to make access control
to monitor some status of the machine's production
to do parameter logging and to make some maintenance of the machines.
If you see some deviation from the sensors.
So, if you want to join this project, we have dedicated this card server
and we have repositories.
You're welcome to give ideas or to participate.
So, I think I finish.
You're welcome.
We're welcome.
Time for questions.
Hello.
Thanks for your job.
It's great to see a new assistance for your sponsors.
My question is probably a feature request.
And I think that I miss in my system at home.
I use all the export that I have 20.
But I have like a light and the switch.
And I want to combine them with only one device.
If I want to turn on and off the light, I use the switch.
The end of the switch.
And if I want to turn on all over the brightness, I use the light.
So, it's very nice to have only one device that I can do the board.
Do you plan anything like a vitrol?
Yeah.
Everything is possible.
This project is just running.
Now, and we are open to any suggestion and features.
And I think just we want to keep it simple.
And we want to keep it low cost affordable.
If your features doesn't confront with this requirements,
it's most likely they will be included.
Okay.
As you see, what focus here is you plug the internet.
You're server is set up.
You scan for devices you add them and manipulate them.
No reading, any else.
No watching for YouTube videos.
We don't want to replace commosystem.
This is great.
We will never touch one percent of commosystem futures.
But we are comfortable with this set of futures for all needs.
I had a question.
Is it be home running on the A7 or is it fleshed from another?
My machine.
How are the notes flushed by PC?
If he is p32 board and usually he is p2 for flashing,
you just use the emerald configuration and he is p home to generate the binary code.
And then you flash it with his p2.
But you don't flash it through the server.
We want to be for non-technical person.
I have 84 year old father, which I am using like better tester.
He is electric engineer.
He is very smart.
Like for many things I do, but he doesn't work with computers.
And if he managed to do this server and to use it,
I am sure that everybody will.
First of all, thank you for all of me.
We love it.
Have you considered using ESP hosted as a Wi-Fi device.
This way you can also implement Bluetooth and maybe later as it be.
Yeah, yeah.
If you saw on the picture, we have UX connector on the server.
And we have already module with ESP C5, which is two and four gigahertz
and if support is a matter and everything.
And we can use UXB hosted to implement this protocol on the server.
So yes, it is possible.
Awesome.
Thank you very much.