Eclipse Che

Eclipse Che is an open-source Java based developer workspace server and cloud integrated development environment (IDE) which provides a remote development platform for multi-user purpose. The workspace server comes with a RESTful webservice and provides high flexibility. It also contains a SDK which can be used to create plug-ins for languages, frameworks or tools.

Note

  1. Please make sure to read Remote Development guide first.

  2. You need PlatformIO Account if you don’t have it. Registration is FREE.

  3. You should have a running PlatformIO Remote Agent on a remote machine where hardware devices are connected physically or accessible for the remote operations. See Remote Development Quick Start for details.

Demo

../../../_images/ide-eclipseche-demo.png

Integration

  1. Sign in to Codenvy (based on Eclipse Che). A registration is FREE and gives you unlimited private projects.

  2. Open Workspaces tab

  3. Click on “Add Workspace”, then switch to “Runtime” tab.

    • Name set to “PlatformIO”

    • Stack search for PLATFORMIO

    • Click on “Create” button, then “Open”.

../../../_images/ide-eclipseche-new-workspace.png
  1. Using opened Terminal, please log in to PlatformIO Account using platformio account login command.

Quick Start

Let’s create our first PlatformIO-based Codenvy Project

  1. Click on Menu: Workspace > Create New Project and select platformio-arduino-blink sample. Set “Name” to “Arduino Blink” and press “Create”.

../../../_images/ide-eclipseche-create-project.png
  1. Now you can use dropdown Commands menu and process project with “run” command

../../../_images/ide-eclipseche-run-project.png
  1. If you prefer to work with PlatformIO Core (CLI) CLI, then you can process project using Cloud IDE Terminal and the next commands:

Multi-Project workspace

You can have multiple PlatformIO-based Projects in the same workspace. We recommend a next folders structure:

├── project-A
│   ├── lib
│   │   └── README
│   ├── platformio.ini
│   └── src
│       └── main.ino
└── project-B
    ├── lib
    │   └── README
    ├── platformio.ini
    └── src
        ├── main.cpp
        └── main.h

In this case, you need to use -d, --project-dir option for platformio run or platformio remote run commands:

  • pio remote run --project-dir project-A -t upload build Project-A

  • pio remote run --project-dir project-A -t upload remote firmware uploading

    using Project-A

  • pio remote run -d project-B -t upload remote firmware (program) uploading

    using Project-B

See documentation for platformio remote run --project-dir option.