PlatformIO简介
PlatformIO是一个开源的物联网(IoT)开发平台,旨在提供跨平台的软件开发工具和框架,使开发者能够更轻松地构建和部署嵌入式系统和物联网设备。
PlatformIO提供了统一的开发环境,支持多种不同的开发板和微控制器平台,包括Arduino、Raspberry Pi、ESP8266、ESP32等等。开发者可以使用PlatformIO来编写、调试和上传代码到这些平台上。
PlatformIO的主要特点和功能包括:
-
跨平台支持:PlatformIO可以在Windows、Mac和Linux等操作系统上运行,提供一致的开发体验。
-
强大的集成开发环境(IDE)支持:PlatformIO可以与多个流行的IDE集成,如Visual Studio Code(VSCode)、Atom等。这些IDE提供了丰富的功能,如代码自动完成、语法高亮、调试工具等,使开发者能够更高效地编写代码。
-
库管理器:PlatformIO内置了一个库管理器,开发者可以从中获取各种开源库和驱动程序,以便在项目中使用。这些库可以通过简单的命令或图形界面进行安装和更新。
-
跨平台构建系统:PlatformIO提供了一个强大的构建系统,支持自动化构建和测试。开发者可以使用不同的构建选项,如编译器、优化级别等,以满足特定的需求。
-
调试支持:PlatformIO支持硬件和仿真调试,可以帮助开发者定位和修复代码中的错误。
-
应用框架和示例代码:PlatformIO提供了许多应用框架和示例代码,包括Arduino框架、ESP-IDF框架等。这些框架和示例代码可以加速开发过程,帮助开发者快速上手。
IDE技术初步选型
Visual Studio Code是一款轻量级但功能强大的源代码编辑器,可在桌面上运行,适用于 Windows、macOS 和 Linux。它内置了对JavaScript、TypeScript和Node.js的支持,并为其他语言(如 Python、C++、C#、PHP、Go)和运行时(如 .NET 和 Unity)提供了丰富的扩展生态系统。
当今市场上的IDE大多派生于Eclipse或Visual Studio Code,Visual Studio Code后来居上,在GitHub上的星级已经比Eclipse高至少一个数量级,且社区强大、容易上手。从性能和社区等方面综合建议使用Visual Studio Code。
物联网开发IDE,用于以基于VSCode的PlatformIO 用户最多,为此初步选用VSCode作为基础框架。
本项目IDE分为Visual Studio Code(以下简称VS Code) 、桌面IDE(非VS Code)、Cloud IDE(以下简称云IDE) 、command-line interface(以下简称CLI)和管理平台组成,整体架构如图所示:
CLI简介
CLI是整个IDE生态系统的核心。它实现所有命令行操作的串接,并和管理平台互相交互,同时也提供基础UI供VS Code、IDE和云IDE调用。包括但不限于如下功能:
- 多平台构建系统
- 统一软件包管理器
- 库管理
- 库依赖关系查找器(LDF Library Dependency Finder)
- 串行端口监控器
- 集成组件(云和桌面集成开发环境以及持续集成)。
CLI通常由Python编写,具备跨平台支持,初期仅要求支持Ubuntu、麒麟、统信、Windows等操作系统主流版本。
CLI要保持独立性,不仅能支持VS code,也要考虑到后期可能支持其他IDE和云IDE。
实现可参考目前物联网最流行的单板VS code网关:platformio-core,其次是乐鑫公司的esp-idf。
参考资料
- 软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
- 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
- python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
- Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html
- https://www.sitepoint.com/what-is-an-ide/
- https://github.com/platformio
管理平台简介
管理平台接收CLI请求,进行相应处理,主要功能如下:
- SDK、中间件、模板等管理
- 用户管理
- 组织管理
- 团队管理
- License管理
管理平台需要提供Web展示页面,同时提供API和CLI对接。管理平台要具备5个9的稳定性,支持500 TPS,可用Flask、Django、FastAPI、Spring Cloud等实现,参考架构如下:
原型参考 https://registry.platformio.org/
IDE简介
IDE为非基于Visual Studio Code的本地开发工具,后期如果有需要可以基于CLI实现。
云IDE简介
云IDE是基于浏览器的集成式开发环境,为开发者提供了稳定的云端工作站。用户在使用云IDE时无需安装,随时随地打开浏览器就能使用。
待基于Visual Studio Code的IDE稳定后,后期考虑云IDE开发。架构规划如下:
DAP简介
为了通过网络进行调试,并支持多种调试协议,在软实时部署RPC服务,实现( Debug Adapter Protocol )。
IDE可在将调试请求发给RPC,RPC再转发给RTOS,实现多OS同时调试。文章来源:https://www.toymoban.com/news/detail-746469.html
文章来源地址https://www.toymoban.com/news/detail-746469.html
到了这里,关于系统设计(架构师)指南A:PlatformIO云IDE实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!