David Morfin on 24 Oct 2014 11:26:37 -0700

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Spark Core

On Fri, Oct 24, 2014 at 1:44 PM, Rich Freeman <r-plug@thefreemanclan.net> wrote:
On Fri, Oct 24, 2014 at 10:51 AM, Keith C. Perry
<kperry@daotechnologies.com> wrote:
> The big claim to fame for this devices is that it is already
> **shudder** "cloud connected".  So out of the box, you can control things
> over the internet.

Interesting.  I wonder how easy it is to:
1.  Use their cloud utilities to develop/build/deploy code, but make
the code itself self-contained on the device so there is no impact if
it goes down (or just minor impact, like the clock can't set its own
time and so on).

It depends on what you mean.  The way their API is implemented, to send commands TO the device, you send commands to spark.io/api/something (I don't remember off hand) and then the next time the device polls them for updates it gets the information (otherwise it wouldn't work behind NAT).  The device itself doesn't go down anyway, and will happily run without internet indefinitely, but you won't be able to hit the API or deploy code.  That said, I've been able to successfully send commands to my own 

2.  Run "cloud-based," but using your own server, which could possibly
be another box on the same subnet.

I like the idea, but I don't think it would be trivial to support as-is... they say everything is open source, but I don't recall seeing any way to set it up to hit your own implementation.  Maybe I just missed that, but it would definitely be a nice feature if you're making a product and don't want to rely on a third party.  

I also have a device from linino.org, which is a bit bigger (maybe twice as big) and a bit more expensive ($60?), but gives you full access to the ARM side (running linux) that is controlling the wifi.  So with that device you have a huge amount more flexibility on what you can do.  In that case, there is no easily exposed API system that you can hit from anywhere though, so you need to figure out how to talk to the device on your own.  Also the setup for the sparkcore requires just an easy to use app on a smart phone (or connect serially over USB), while the linino requires that you reconfigure your wireless to talk to its default network, then reconfigure it there (or connect serially over USB).

I'd also point out that I'm seeing crashes from both devices with disturbing frequency.  I think there is something leaking in the TCP code on the sparkcore (maybe not an issue if you're using API access instead of making direct outbound TCP sockets), and on the linino it seems like the linux side just randomly kernel panics and/or halts.  I haven't had a chance to track it down yet, but when connected serially it seems like sometimes it drops the network connection and tries to re-establish, and something in that process is causing it to panic.
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug