PlatformIO – open source ecosystem for IoT development
What is PlatformIO
PlatformIO is independent of the platform, in which it is running. In fact, the only requirement is Python, which exists pretty much everywhere. What this means is that PlatformIO projects can be easily moved from one computer to another, as well as that PlatformIO allows for the easy sharing of projects between team members, regardless of operating system they prefer to work with. Beyond that, PlatformIO can be run not only on commonly used desktops/laptops but also on the servers without X Window System. While Platform IO itself is a console application, it can be used in combination with one’s favorite Cloud & Desktop IDE or text editor such as PlatformIO IDE for Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, VSCode, etc.
Alright, so it can run on different operating systems. But more importantly, from a development perspective at least, is a list of supported boards and MCUs. To keep things short: Supports approximately 200 Embedded Boards and all major Development Platforms.
Developer can compile the same code with different development platforms using the Only One Command platformio run. This happens due to Project Configuration File (platformio.ini) where you can setup different environments with specific options (platform type, firmware uploading settings, pre-built framework, build flags and many more).
How does it work?
Without going too deep into implementation details, work cycle of the project developed using this platform is as follows:
- Users choose board(s) interested in “platformio.ini” (Project Configuration File)
- Based on this list of boards, Platform IO downloads required toolchains and installs them automatically.
- Users develop code and Platform IO makes sure that it is compiled, prepared and uploaded to all the boards of interest.
Platform IO IDE
This is the next-generation integrated development environment for IoT.
-
Cross-platform build system without external dependencies to the OS software:
- 550+ embedded boards
- 30+ development platforms
- 15+ frameworks
- PIO Unified Debugger
- PIO Remote
- PIO Unit Testing
- C/C++ Intelligent Code Completion
- C/C++ Smart Code Linter for rapid professional development
- Library Manager for the hundreds popular libraries
- Multi-projects workflow with multiple panes
- Themes support with dark and light colors
- Serial Port Monitor
- Built-in Terminal with PlatformIO Core (CLI) and CLI tool (
pio
,platformio
)
Platform IO Core (CLI)
This CLI tool is a heart of whole ecosystem and consists of
- Multi-platform Build System
- Development platform and package managers
- Library Manager
- Library Dependency Finder (LDF)
- Serial Port Monitor
- Integration components (Cloud & Desktop IDE and Continuous Integration).
This Tool
is written in Python 2.7 and works on Windows, macOS, Linux, FreeBSD and ARM-based credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, etc.).
Installation
Follow instructions for installation https://docs.platformio.org/en/latest/installation.html
You may also like :
- Arduino ESP32 support on Windows and Ubuntu
- IoT with ESP8266
- Mongoose OS – an IoT firmware development framework
- What is LiteOS?
- How To Enable Free HTTPS on your website
Pingback: Best Arduino IDE alternatives to start programming