Eclipse Che

Codeanywhere 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 PIO Remote™ guide first.

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

  3. You should have a running PIO Remote™ Agent on a host machine where hardware devices are connected or visible for remote operations.

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 PIO 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, 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.txt
│   ├── platformio.ini
│   └── src
│       └── main.ino
└── project-B
    ├── lib
    │   └── readme.txt
    ├── 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 upload OTA Firmware

    using Project-A

  • pio remote run -d project-B -t upload upload OTA Firmware

    using Project-B

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