So much new! New features, a getting started video, and more.
We've been hard at work developing new features, fixing bugs, and making it easier to get started with the Spark Core. If you haven't started tinkering yet, now's the time! Let's dig in.
Getting Started Video Tutorial
Will has created a really amazing tutorial for getting started with the Spark Core. He has also demonstrated his excellent taste in dramatic music.
This video walks you not only getting your Core connected, but also taking the first steps towards creating cool projects and custom apps with your device. Covered in the video:
1. Unboxing the Core
2. Configuring the Core using the Spark Core App
3. Blinking LEDs over the Internet with Tinker
4. Flashing custom apps with Spark Build
We've been pretty busy since our last update and have completed two sprints, both of which introduced a bunch of new features including the below:
Up until now, the only way to communicate with the Spark Core was to ask it something. You could remotely call a function using Spark.function(), such as calling the brew() function on a connected coffee-maker to brew a cup of coffee on the fly. Or you could store the temperature in a local variable temp, and then check the temperature with Spark.variable(), and ask for the temperature at any time.
But what if you want the Spark Core to talk to you? Enter Spark.publish(). This feature lets you publish events from the Spark Core, which can be subscribed to through the API. Events are published to a topic, and can be public or private.
To learn more, read our blog post on Spark.publish().
Command Line Interface (CLI)
Professional software developers know that sometimes the fastest way to get stuff done is using the command line. Sometimes you just want to shrug off decades of graphical advances and get a flashing green cursor like it's 1987.
We've now released a command-line interface that will let you do quite a lot from the command line, such as:
- Flashing code to the Core
- Polling variables and calling functions remotely
- Setting up the Wi-Fi network on the Core
- Opening a Serial port to the Core
If you've got Node.js installed, all you need is to type `npm install -g spark-cli` into your terminal window. Once the CLI is installed, type `spark` to get started.
Due to dozens of improvements to the Core firmware, the connection to the Cloud is now significantly more stable. Some of you might have been frustrated by the bug we nicknamed the "Cyan Flash of Death"; although the underlying issues (internal to the CC3000) are present, the Core is now much more stable, and will recover from any failures within the Wi-Fi module. We're still working with TI to resolve the underlying issues but in the meantime, your Core should work the way you expect it to. Thanks @david_s5 for your amazing contributions to our firmware and congrats on winning our bug bounty!
Open Source Android App
The Spark Android app is now open source, ready to act as a template for your own mobile apps for your Spark-powered products.
Don’t worry, iOS fans - the open source iOS app will be coming soon, too!
You can now open multiple tabs in Spark Build, our web IDE! This means that, as members of the community begin to create libraries for various components and accessories like sensors, LCD displays, etc., you can add them as separate files to keep your code clean. This can also help you keep yourself organized as your applications become more complex.
This is the first step on a longer journey to make it easy to import and share libraries with the rest of the community. Most of our team is web guys, and we love tools like Node.js’s npm and Ruby’s gem that make it extremely easy to share libraries. This makes it possible for developers and engineers to stand on each others’ shoulders. We hope to deliver the same simple solution through Spark’s in-process library system.
Open Source Goodness
As you know, we're big open source fans, but as the volume of our open source content has grown, it’s become a little unwieldy. Now if you’d like to browse our open source repositories, visit spark.github.io to see an organized view of the open source tech stack for connected devices that we’ve been publishing over the last few months.
Still to come: webhooks, Spark.subscribe(), and the local cloud
We've still got a ton of new features in mind, but next on the horizon for us are a few important features that will really complete our vision for the Cloud. In particular:
- Registering webhooks, so when certain events happen, you can ping a server
- Spark.subscribe(), which will let one Core communicate with another through the Cloud through a pub/sub model
- The local cloud, which will let you run your own Spark Cloud
Welcome the Spark Elite!
Spark on Maker Shed!
Maker Media is kind of a big deal in our little corner of the world, and they’ve been supporters of ours for a while. Behind the scenes we’ve been working with them for quite some time to get the Spark Core on their shelves.
We are so pleased to be able to say that both the Spark Core and Spark Maker Kit are on Maker Shed! It's hugely exciting news for us and would not have been possible without your support.
The bad news(ish) is that they very quickly sold out of Cores! They've still got some Maker Kits in stock, and we'll be hopefully getting them new Cores soon.
Community and feedback
Our community site has been rocking recently, and that's all because of you! All of the project sharing, library building and bug fixing has just been incredible and we feel so lucky to have you all as part of our community.
Thanks for being awesome,
Zach and the Spark Team