Giter Site home page Giter Site logo

antoniovazquezblanco / particle-cli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from particle-iot/particle-cli

0.0 1.0 0.0 23.17 MB

Command Line Interface for Particle Cloud and devices

License: Apache License 2.0

Makefile 0.03% JavaScript 91.05% Shell 0.17% C++ 8.65% C 0.04% Handlebars 0.06%

particle-cli's Introduction

npmBuild StatusCoverage StatusLicense

Particle's full-stack Internet of Things (IoT) device platform gives you everything you need to securely and reliably connect your IoT devices to the web. For more details please visit www.particle.io.

Particle CLI

The Particle CLI is a powerful tool for interacting with your IoT devices and the Particle Cloud. The CLI uses node.js and can run on Windows, Mac OS X, and Linux. It's also open source so you can edit and change it, and even send in your changes as pull requests if you want to share!

Table of Contents

Installing

For end-users, the most up-to-date installation instructions can be found here: macOS / Linux | Windows

Getting Started

These next two commands are all you need to get started setting up an account, claiming a device, and discovering new features.

particle setup

Guides you through creating a new account, and claiming your device!

$ particle setup

particle help

Shows you what commands are available, and how to use them. You can also give the name of a command for detailed help.

$ particle help
$ particle help keys

Updating Firmware

Photon/P1/Electron

particle update

If you wish to easily update the system firmware running on your device to a later version, you can use the particle update command. For the exact version it will update to, check the version of the files in the updates folder.

  1. Make sure you have DFU-util installed.
  2. Connect your device via USB, and put it into DFU mode.
  3. Run particle update.

Command Reference

For the full list of commands, please see the CLI command reference.

Known Issues

  • The Wireless Photon Setup Wizard will only automatically switch networks on OS X. Users of other operating systems will need to manually connect their computer to the Photon's Wi-Fi. You will be prompted during the wizard when this is required.

Development

Installing

  1. Install Node.js [[email protected] and [email protected] are required]
  2. Clone this repository $ git clone [email protected]:particle-iot/particle-cli.git && cd ./particle-cli
  3. Install dependencies $ npm install
  4. View available commands $ npm run
  5. Run the tests $ npm test
  6. Run the CLI $ npm start
  7. Start Hacking!

Running

To ensure compatibility with a wide range of NodeJS versions, the CLI's source is transpiled using Babel.

When developing, run individual commands using:

$ npm start -- <command> <options> - e.g. $ npm start -- library view dotstar --readme

Anything after the -- delimiter is passed directly to the CLI (docs), source code is transpiled on-demand.

To test the transpiled source as it will be published:

  1. Compile: $ npm run compile
  2. Register the particle command globally: $ npm link
  3. Run commands: $ particle --help (using standard argument formatting)

Testing

The Particle CLI has a number of automated test suites and related commands. The most important are:

  • npm test - run all tests (NOTE: End-To-End tests require additional setup)
  • npm run lint - run the linter and print any errors to your terminal
  • npm run test:ci - run all tests excluding device-dependent end-to-end test as CI does
  • npm run test:unit - run unit tests
  • npm run test:integration - run integration tests
  • npm run coverage - report code coverage stats

All tests use mocha, chai, and sinon with coverage handled by nyc.

We recommend running locally if you can as it greatly shortens your feedback loop. However, CI also runs against every PR and error reporting is publicly available.

Updating system firmware

  • npm run update-firmware-binaries <version> where <version> is the newly released system firmware version like 0.7.0

  • Test on each platform by doing

    # Check old firmware version
    bin/particle.js serial inspect
    
    # Flash new system firmware
    bin/particle.js update
    
    # Verify new firmware version
    bin/particle.js serial inspect
    
  • Do not update the versions or CHANGELOG.md just yet!

  • Commit as something like "adds firmware binaries for 0.7.0" and proceed to release a new CLI version (below).

Releasing a new version

See RELEASE.md.

particle-cli's People

Contributors

alan707 avatar andrewmacheret avatar avtolstoy avatar brycekahle avatar busticated avatar derekmpeterson avatar dmiddlecamp avatar dwcares avatar endorama avatar harrisonhjones avatar hypnopompia avatar jameshagerman avatar jme783 avatar joegoggins avatar kennethlimcp avatar kylemarsh avatar m-mcgowan avatar markterrill avatar mebrunet avatar monkbroc avatar nikeee avatar objectivesee avatar rwaldron avatar sergeuz avatar suda avatar technobly avatar towynlin avatar wgbartley avatar wraithan avatar yutingyou avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.