July 15, 2013 at 5:11 pm #22538
I’m strongly considering writing a (free) remote-access solution for the OSPi so I can work with it when away from my home network. I don’t want to have people opening up holes in their firewalls; I want it to be properly designed with some kind of socket connection to a cloud server. (probably using ZMQ)
Long-term goals are to provide manual operation, scheduling, rain delay, status, and logs via desktop and mobile applications. Short-term goals are manual operation and rain delay. (i.e. “don’t run for the next 12 hours due to rain”)
I’ve just secured free server hosting from Rackspace for this under the agreement that the code will be 100% open-source and the service will be free, so we don’t have to come up with a way to cover the server costs.
What I’d really like to do is something like a free and extensible version of the Greenbox project: http://www.22seeds.com/blog/introducing-greenbox
So – would anyone be interested in using something like this? I’d love to hear feedback and decide if it’s worth the time investment.July 15, 2013 at 6:03 pm #24848
I’d be interested in it. I currently access my home security/automation through a cloud solution (Alarm.Com). I had considered digging into Razberry/Open Z-wave to see if I could hack a solution to control OSPi via Z-Wave and subsequently Alarm.Com. My current solution is just my private VPN to my home network, which works for other things as well. Having a bookmark to another website would be a lot easier though, and would be accessible from any machine, as opposed to those that have been configured for VPN.July 16, 2013 at 12:27 am #24849
This is a topic I am very interested in and have spoken with Ray about on multiple occasions. I think this is required for the product to move up the ladder. I also think this is something that should be used with Ray’s server only because of trust issues. It is the same reason I have him hosting the hosted version of my web app.
I think the remote solution can be built into the firmware and use the already present HTTP GET API. This opens all the options off the bat and is backwards compatible. Here is how I see this system playing out:
1) On the firmware an additional button will exist next to the programs and weather buttons, up top, saying Remote Access.
2) That page, when opened, will show the registration status of the device and based off that show you the relevant information or present a form to register.
3) Registration is done using an email and a password. This becomes your login to the mobile app (the one hosted on Ray’s site) for example. This registration has a unique OpenSprinkler ID associated with it and is stored on the server with the account information. Each account can have multiple devices and when using such account you will be presented with a device selection screen on initial login.
4) The device uses an open socket it initiates to communicate meaning no port forwarding is required. This is the part I know the least about and need the most assistance with. The biggest obstacle here is remembering this will be programmed into a microcontroller. Resources are severely limited and doing security using SSL is pretty tough. Therefore, something such as PGP might be suitable? This is where my research has been focused.July 16, 2013 at 3:27 am #24850
I’m not sure there is really a secure way to transmit login information to the server, but then again there really isn’t a need for it to be ultra secure. I’ve seen websites that house personal information that have zero security (not good btw!). I think just making it difficult to sniff the traffic should be enough protection. There are two libraries that I know of for the Arduino that are for the tea encryption which is a fast, simple encryption protocol.
You must be logged in to reply to this topic.