Spark core and reliable data link


I don’t have any experience working with wifi so I would like to ask you a general question.

Lets say that I want a two way point to point data link. I want it to be fast and reliable. There are of course a lot of solutions, e.g. nRf24L01+, BT or XBee. But my question is, can the Spark core be used for this? (Do I have to first upload the data to the cloud and then download it or is it possible to just send it directly to my computer without any detours)


You can send to anywhere you want. I currently exchange data between Spark cores, a LAN nodejs server and WAN nodejs server.

There are some problems being worked out with the CC3000 firmware. Someone else can speak to the progress of that issue. Since you said reliable the UDP bug won’t affect you either. :smile:

You can do core-to-core transfers with TCP/IP or UDP, but you will need a WiFi access point to bridge the conversation between the cores and you will need to find or write a protocol that you want to use. It is not too hard.

With Spark.publish and subscribe, it is very easy to move data between cores–almost no work at all.

1 Like

Thank you for the answers!

SomeFixItDude: nodejs seams very interesting, I will have to look into that some day. From there website
"perfect for data-intensive real-time applications that run across distributed devices" :smiley:

bko: I thought that Spark.publish was used to transfer data to the cloud, but as I understand from your answer It is also possible to send the data directly to the computer? (Via a WiFi access point)

Spark.publish() does send to the cloud, but it is easy for a computer to monitor those events.

As for Node.JS, I love it. I describe it as server-side JavaScript with lots of goodies built-in (networking stuff is really easy, relatively speaking).

Ok maybe I mixed some things up. So It is possible to send data directly from the Core to a computer (via a WiFi access point) without internet connection? And this is not done with Spark.publish() but in some other way.

Thanks for your patient!

That is correct. You don’t have to use the cloud if you don’t want to, but you would have to implement your own protocol on the Core and the computer. It could be something as simple as Telnet which basically transmits plain-text strings using TCP.

It’s not a trivial task for sure, which is why the Cloud exists, but it is still certainly feasible to roll your own!

Ok thank you! :smiley: