Web Application and Raspberry Pi


I am building a home automation system that will be based on a Raspberry Pi. I mainly use Python for this project.

What I need is my users to be able to login to a website and control their home devices. Since there is not the possibility of using static IPs, commands cannot be sent directly to the Raspberries. So, I figured out it has to be a web application where users should deposit commands and Raspberries should enquire for commands according to their unique ID.

I am a beginner in web development, so I would like to ask for directions on how to move on this. Is there any commercial platform that I could integrate in my system? How should I approach this attempt? If I need to develop it from scratch, which methods do you suggest?

Thanks in advance,
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

nociSoftware EngineerCommented:
The Rasp PI's have a macaddress. That address should be unique enough.
If you poll your website (Using HTTPS & properly configuring that, of course)
then  you can identify each device without having a big administration besides.
Make the MAC address part of each request from the RaspPi's.

And return the data that is waiting to them. Hardly rocket science.
panmitzAuthor Commented:
Thanks noci.

So you suggest that I write a script with PHP that recognizes the MAC address of each raspberry and returns the appropriate commands. OK for this part.
How about the front end? Is a Joomla website capable of these things (since it has user management) or do I need some other tool?
(Told you I'm a newbie ;-) )
I should probably mention that in the future it should be possible to also build Android and iOS applications for the same system for the user's part.
nociSoftware EngineerCommented:
No you write some program on the rasp-pi that read the MAC address from the interface.
And them make a regular web query  or  POST with the mac address embedded.
Should be doable from java/python.

The server can then lookup values and return everything that is needed for the client.

I would make it a dedicated php/cgi script. (you can test this with a regular browser)
and if you want automated access curl (http://curl.haxx.se ) has the tools (Commandline tool and library)

You can consider SOAP if you want a more fancy API. (not easily testable using a browser).

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
panmitzAuthor Commented:
Thank you
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Servers

From novice to tech pro — start learning today.