Saturday 9 November 2013

State of progress

Hi everyone !
It's been a while since my last post, but I have been working a lot on my domotic project, as you will see ! Today I just want to show you what I have successfully done, what problems I had, and what is to do next !


The case

I have spent a lot of time on designing the case, because I wanted something really great. My objectives were to have something looking good, as small as possible, and easily openable for maintenance. My first idea was to have a first part fixed on the wall with screws, holding all the electronic part, including the touch screen; then having a second part (polished and painted) which would slot on the first one, so that I would have no visible screw. It was a hard challenge, and I did something quite good, but I was stopped because of the price : having two parts means twice the price of printing, and with the required size, a part is around 100€, which is quite expensive, so I had to do it with a single part.
Finally, I came up with something very simple, and small. I also had to give up on the openable part : all the inside parts will be sticked to the case, so if the screen dies, it will be nearly impossible to replace it.
Here are some 3D renders of the case as it will be on the wall. The exterior desing is quite simple, with just a rounded border.
And here is a preview of the back/inside :

The screen will be sticked to the case, and the board sticked on the screen. The temperature sensor fits the hole so that it shouldn't move, but I will have to change its position (see below).
The hole on the left is for the infra-red receiver, not represented here.
The screws are represented in red, so that they are clearly visible.
The case is fixed on the walls by the screws, which are not visible from outside, except if you look at it from the very bottom. I will have to place the screws on the wall first with a pattern, then slot the case on them by moving it down, like any standard frame fixed on a wall. I hope it will be strong enough !

The wires

The most complicated part was to set the wires between the toilets, the Internet router, and the stove. I had to make a big hole in the toilet's ceiling, so that I could set the sheathes under the attic's floor. Then I screwed all the electronic boards directly on the toilet's wall, which will be covered later :
I looks quite a mess, I did the best as I could ! And as I don't have the outside case now, I also set the screen there.
The red/black wire is the one going to the stove, it is a simple HI-FI wire...
Here is the stove once the wire was upon it. The fire screens can be easily removed and they are hollow, so I can hide the wires between them.
Now, the wire is connected to the stove's RS232 port !
In the corridor, here is the hole I made in the toilet's wall. Right now, you can just see the temperature sensor going though it. At first, the sensor was outside the wall, so that it is the most reactive as possible. However, the first time we turned the stove on, the sensor was too much reactive, because it is quite high, and right towards the stove, so the hot air is directed to it, and the temperature raised to 25°C in half an hour. To correct this, I placed some rubberband on the hole, to isolate the sensor from the pushed air. That means I will have to work again on the case to embed the sensor inside it.


The software

I didn't mention the software earlier. The technology I use is the Qt framework with the C++ language. I made this choice because I am very familiar with them, and they are very easy to work with. The C++ is not the easiest language, I could have used Python with PySide (The Qt binding for Python), but C++ is a bit faster and allows more optimizing when required. As the Raspberry PI doesn't have a very powerful processor compared to a desktop PC, that's wiser.
The good thing is that I can make the software on my PC, test it heavily, and when everything works, compile it again for the Raspberry. I made a test interface so that I can simulate different conditions of the sensors and see if everythings goes well.
I don't plan to release the software by now, because I don't really see the need, but if anyone is interested, let me know and I will push it on github !

The software is not very complex though, I just need a few interfaces, and a nice enough design. Here are the main elements done :
The main screen, always displayed (when the screen is on). There are currently 4 widgets on it :
  • The first one simply displays the current date and time, useful because we don't have any clock in our living room
  • The second one displays the state of the stove and the trigger mode
  • The third one displays the current weather conditions
  • The fourth one displays the current inside temperature
When you click on the temperature widget, you can see a curve of the last 24 hours temperatures
When you click on the stove widget, you can :
  • Turn in on/off manually
  • Set it to automatic/manual trigger mode
  • Set it to holiday mode, so that it won't turn on until you come back and find your house hot :)
  • Configure the automatic mode thresholds and planning (not done yet, but I plan if for this week-end !)

It does work !

Once everything was set up, I was quite impatient to try it ! I had tested all the parts individually, but not together. I had to wait some days because it was not cold enough, and the first time I wanted to turn the stove on, I used the touch screen, and it just worked ! The day after, I set the automatic regulation mode, and was very happy to see the stove on when I got home, the hot air being very comfortable !

No comments:

Post a Comment