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
Please make sure to read Remote Development guide first.
You need PlatformIO Account if you don’t have it. Registration is FREE.
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.
Sign in to Codenvy (based on Eclipse Che). A registration is FREE and gives you unlimited private projects.
Open Workspaces tab
Click on “Add Workspace”, then switch to “Runtime” tab.
Name set to “PlatformIO”
Stack search for PLATFORMIO
Click on “Create” button, then “Open”.
Using opened Terminal, please log in to PlatformIO Account using pio account login command.
Let’s create our first PlatformIO-based Codenvy Project
Click on Menu: Workspace > Create New Project
and select
platformio-arduino-blink
sample. Set “Name” to “Arduino Blink” and
press “Create”.
Now you can use dropdown Commands menu and process project with “run” command
If you prefer to work with PlatformIO Core (CLI) CLI, then you can process project using Cloud IDE Terminal and the next commands:
pio run - build project locally (using Cloud IDE’s virtual machine)
pio run -t clean - clean project
pio remote run -t upload - upload firmware (program) to a remote device
pio remote device list - list available remote devices
pio remote device monitor - Remote Serial Port Monitor
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 pio run
or pio 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 uploadingusing Project-A
pio remote run -d project-B -t upload
remote firmware (program) uploadingusing Project-B
See documentation for pio remote run --project-dir
option.