Pages: [1]   Go Down
Author Topic: Anyone interested in developing a cloud service?  (Read 546 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

[[ Sorry if this is the wrong forum for this. ]]

 I've been thinking of engineering an open-source free/cheap Arduino cloud service.  Google searches for such things turn up some possibilities but nothing open-source enough for my tastes -- please feel free to correct me if I'm reinventing the wheel.  Also most available solutions are generic but I'm interested in an Arduino-optimized solution.  Anyone interested in helping with the specification writing and Arduino development?  I've done a lot of distributed and cloud related internet services as well as a lot of free/cheap software services (ORMLite, dmalloc, mailnull, ...).

The idea would be code on github as well as launched on Amazon EC2 for 24/365 and support a set of API calls to upload/download values from the cloud and some simple triggering logic.  The API would support discovery (N ways to do this), triggering events through web calls/templates (increase theromostat temp for example), reporting (maybe limited graphing or more likely integration with some 3rd party graphing tool) to report on voltages and relay status, etc..  More suggestions for features here are welcome.

I don't want this to be a system designed by committee but I would be interested in thoughtful feedback.  To cover costs there would be fees but I'm shooting for free for intermittent use and $1/year for 10 devices or something afterwards.  Depends a _ton_ on the average trxn load and storage requirements.  Something btw $1/year or $1/month should be doable for all but the most data intensive applications.  The goal is a system that covers the cost and maintains the necessary Amazon instances/network.  I have a day job so $0 income from this will be fine.

I've written a couple of Arduino devices but I'm far from an expert there so I would need help with the Arduino side of the fence.  For example, I'd like to use UDP for the device pings to keep the network requirements to a minimum but I'm not sure that's even supported by all network shields although the google says it does.  Auto-discovery of a cloud-enabled device is a challenge that would be need solved from the start.

I'm not interested in being a lead for a huge team project but a couple of good partners on the Arduino side of the fence would make this fly.  I'm also not a UI designer so some interface work on the web-app side would also help.  If you are interested either reply or [better] ping me via my projects above.  If I get a lot of responses my apologies in advance if someone else seems like a better fit.

Again, my apologies if this is inappropriate for this forum.  Happy hardware hacking to you all.
gray
Logged

0
Offline Offline
Tesla Member
***
Karma: 143
Posts: 9577
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perhaps you should explain just what the "cloud" is and how it is different from other forms of network implementation.
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perhaps you should explain just what the "cloud" is and how it is different from other forms of network implementation.

Sorry, sure.  I'm talking about a library that will facilitate network connectivity of a device without the Arduino programmer writing the server side.  All the programmer would have to do is link in the cloud service library and register their device with the service to be able to remotely control it, monitor it, and be notified by the device 24/365.

In it's most simplistic form, the cloud service library would first allow for some sort of registration of the application.  This is ~pseudo code:

Code:
cloud.register("username", "password", "MyTempApplication");

Then it would allow the persisting of values to the remote cloud server.  So you could say something like:

Code:
#define TEMP_VALUE = 100
cloud.store(TEMP_VALUE, 67) ;
// so you can store a bunch of values then publish in one trxn
cloud.publish();

It could also look up values that would be refreshed once and a while:

Code:
temp = cloud.retrieve(TEMP_VALUE);

That make sense?
gray
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 536
Posts: 27048
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Most Arduino uses are embedded, non-connected applications.
This could be useful for some small number of things.
Have to worry about security too.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

> Most Arduino uses are embedded, non-connected applications.
> This could be useful for some small number of things.

Agreed.  Although just about all my applications (EV car charger, temperature differential controller, etc.) would be improved with some monitoring.  I've got other projects that just about require the ability to talk to them remotely.

> Have to worry about security too.

Indeed.  I was thinking of both a username and a shared secret for the application and encryption of the data based on those values using one of the cheaper encryption algorithms if necessary.  Maybe XXTEA.
Logged

Pages: [1]   Go Up
Jump to: