PlatformIO 是一个用于物联网开发的开源生态系统。它提供跨平台的开发环境和统一的调试器,还支持远程单元测试和固件更新。
PlatformIO 是独立于平台运行的,实际上它只依赖于 python,然而 python 在 macOS、linux 和 windows 都能完美适配. 也就是说 PlatformIO 的工程从一个电脑很容易迁移到另一个电脑,只需要拷贝再使用 PlatformIO 就能完美打开,不管团队中的成员使用什么操作系统 PlatformIO 可以让工程共享变得异常简单. 除此之外, PlatformIO 不仅可以在笔记本和台式机上运行,同样可以运行在没有显示桌面的服务器。PlatformIO 的核心(PlatformIO Core) 就是一个终端程序, 它能配合您喜欢的多款云 IDE、桌面 IDE 或者 通用代码编辑器构建 PlatformIO 的 IDE,比如 Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, VSCode 等等。
目前官方推荐的 IDE 使用方案就是 VSCode + PlatformIO IDE 插件。
相比于Arduino IDE,PlatformIO的编译速度会快很多,而且支持自动补全。对于使用tiny ML和Arduino_GFX的程序来说,Arduinno IDE编译速度是极慢的,往往需要十几分钟。而Platform IO只需要几分钟。
当然PlatformIO的安装可能需要一些时间,并没有Arduino IDE那样开箱即用。PlatformIO如何安装可以参考这篇文章。
TinyML 是机器学习和嵌入式 IoT 设备的交叉领域,是一门新兴的工程学科,具有革新许多行业的潜力。机器学习正处于一个交叉路口,两种计算范式齐头并进,即以计算为中心的计算,和以数据为中心的计算。在以计算为中心的计算范式下,数据是在数据中心的实例上存储和分析的;而在以数据为中心的计算范式下,处理是在数据的原始位置执行的。尽管在目前,以计算为中心的计算范式似乎很快会达到上限,但是以数据为中心的计算范式才刚刚起步。
当前,物联网设备和嵌入式机器学习模型日益普及。预计到 2020 年底,将有超过 200 亿台活跃设备。人们可能并未注意到其中许多设备,例如智能门铃、智能恒温器,以及只要用户说话甚至拿起就可以“唤醒”的智能手机。
对于tinyML,我们推荐《TinyML:基于TensorFlow Lite在Arduino和超低功耗微控制器上部署机器学习》这本书。同时介绍tinyML平台:Edge Impluse,一个可以快速部署机器学习模型的平台。
— Dec 12, 2022
Made with ❤ and at ZJU.