It already works end-to-end from Android client app to Django server to AVR. Now it only needs polishing and then real-life testing.
If you are wondering what this system does here’s a short explanation. We wanted to have electronic door control system at the office so we installed electronic locks to our premises. Then I got an idea that I want to design and implement the rest of the system, mainly the part that actually controls the locks.
First I ordered couple of Arduino boards and started experimenting. I got it working from small python script to AVR over serial link. Then I created python module that could be used by Django app. Then we did an Android app to talk to Django. It uses our office wifi and simple key to authenticate the user to the Django server. And the last piece to the puzzle was to integrate all these together. I could open the door by tapping a lock icon in the Android app. Pretty cool.
This was the second phase of the project. I converted the serial version to use ethernet connection. It was more than just replacing the physical layer as I needed to take into account all the peculiarities of the ethernet link e.g. what if the router is down and how the components can auto-discover each other if the link is broken for a while.
This is controlling our locks, so it has to be somewhat secure.
It uses Duemilanove compatible Seeeduino board and Wiznet ethernet shield. I ordered these from Seeedstudio.
There you can see the processor board connected to relay board. I only needed two relays for this project. In the bottom you can see two LM7812 regulators. One is powering the relays and the other is feeding the processor and ethernet boards. In this picture they don’t have any heatsinks attached.
The relays work beautifully and are controlling the 30V output circuit like it is the most natural thing.
The first attempt was to use LM7812 regulators but there were problems. The regulator needed to dissipate 18V drop in voltage and it ment that there was no point in doing it like that.
Then I found TSR 1-24120 step-down switching regulator which is more advanced and does not need heatsink or any other external components to work. It is wonderful.