Particle Tools
The major difficulty with the Internet of Things deals with the multiple environments to deal with when developing a project.
Particle provides three options, one online and two offline.
|
Online IDE
The recommended tool for development is the Spark online IDE. No more platform-related problems: only one standard Internet browser is needed!
This IDE allows to write and save code, compile and upload to the Spark Core, consult documentation and manage the Spark Cores. The users of others platforms based on the Wiring / Arduino framework will feel at home as the Spark uses the same functions and libraries. Obviously, extra libraries have been added to manage the connectivity, including connection, authentication, reading and writing variables, ... However, the IDE doesn't support users' libraries. This is a very serious limitation for more advanced projects. Code is compiled on the cloud and uploaded through Internet and WiFi to your very Particle Core. Spark has done a splendid job with this IDE. It is another great example of what the Internet of Things can be. |
Particle Dev IDE
To tell the truth, I've never been a huge fan of online IDEs. They require an Internet connection and a large bandwidth. It is interesting to note that Particle is following the same trend as mbed.
Particle has started developing an offline IDE based on Atom, Particle Dev. Both Atom and Particle Dev are in beta. The installation of Particle Dev is fully documented but relies on Docker, a container with a VirtualBox virtual-machine to compile and link the project. I went through the installation process, compiled and uploaded the standard blinky example successfully. However, the whole installation has downloaded 6 GB and the Particle Dev is taking up to 25 GB of disk space because of the Docker container. Again, the Particle Dev with local build is still at very early stage. Needless to say this is not a viable solution. |
Particle Workbench
The new offline IDE is an extension for the Visual Studio Code IDE and addresses many of the issues reported previously.
It is now possible to add libraries to the project, build locally or on the cloud, upload through USB or over-the-air (OTA). |
Command Line Interface
Particle also provides a command line interface for uploading, command line tools for a local build and link, and even a local cloud.
They require downloading and installing the ARM-toolchain, all the needed libraries and SDK, as well as different utilities. As at today, it is still a work in progress for the Photon. Although the process is well documented with these step-by-step instructions, it is not as easy as the online IDE environment. |
The command line building tools are still in development, with the link phase especially and frequently prone to crash. Even following the detailed step-by-step procedure failed.
As main benefit, one single IDE, Xcode, can be used to develop for the board and the iOS-based smartphone, sharing libraries and providing an improved integration between both environments. |
Cloud Services
Recently, Particle has launched a new service called Dashboard, which displays data published by the Core and Photon boards.
The dashboard shown on the right was populated using one single simple line of code. Although still in beta and pretty limited, the Dashboard is very promising. Closely integrated in the Particle SDK, sending data can't be easier! Read the full review.
An interesting option is to use a local server instead of Particle's ones. This option is called local cloud. I haven't tested it yet. |
Conclusion
I have mixed feeling about the tools. The online IDE fits for limited projects only as it doesn't support the user's libraries.
The biggest challenge is the lack of valid alternative to the cloud IDE for large projects. The Atom-based Spark-Dev solution takes too much resources with a virtual machine implementation to be suitable. The command line building tools are too prone to crash and thus unreliable. Despite the Core and Photon huge potential, none of the online and offline options provides a viable solution for serious development with Particle. |
Pros
|
Cons
|
Wrap-Up
|
Links
Posted: 12 Jul 2015
Updated: 01 Mar 2021