Toit开源语言在ESP32上比在MicroPython上快30倍

原文链接:Toit open-source language claims to be 30x faster than MicroPython on ESP32 由Jean-Luc Aufranc撰写。
本文共计1053字,预计阅读3分钟

Toit是前谷歌员工团队开发一个完整物联网平台,该平台具有远程管理、固件更新的功能。它适用于设备群,其功能类似于 balena、Microsoft Azure 或 Particle这类边缘到云平台解决方案所提供的功能。

Toit 原本是使用轻量级容器在 ESP32 微控制器上工作,不过在看到现有高级语言 MicroPython 和 Javascript 在低端微控制器平台上运行不够快之后,Toit 团队在2018 年开始开发 Toit 语言,并且实现了开源。他们还在基于LGPL-2.1 许可证的基础上在Github上发布了编译器、虚拟机和标准库 。

Toit语言
Toit语言

如果你们的应用程序受到了性能限制,或者你们使用电池运行 ESP32,你们可以试试从 MicroPython 切换到 Toit 语言。因为Toit 方面声称在 ESP32 上使用 Toit 可将性能提高 30 倍:

我们进入了加班模式几个月后,我们有了第一个结果,即一种抽象出内存分配的高级语言Toit语言我们使用该语言ESP32 上执行代码的速度比MicroPython 快 30倍,而且Python开发人员可以在几个小时内学会该语言。

因此,让我们可以通过在 Ubuntu 20.04 中试用来更深入地了解它。该虚拟机基于具有自定义 malloc 实现、UART 分配修复和 LWIP 修复的 ESP-IDF 的分支。以下是我们首先需要安装的:


现在安装 ESP32 工具:


并通过构建toit和示例使其在主机上运行:


现在我们可以运行 hello world 示例:


如下:


一切都很好,那么如何为 ESP32 构建示例呢?也很简单,如下:


这将创建一个预加载了的 hello world 示例的 Toit 固件文件 (toit.bin),之后就可以使用 esptool 刷新,如下所示:


很好!另外我们肯定也可以用 Wi-Fi 来检查示例,确实有http.toit示例:


这一简洁又简单的例子只是下载谷歌页面并报告下载的字节数。但是等等,我们在哪里配置Wi-Fi凭证呢?可以在构建时添加,如下所示:


或者你们也可以通过更改默认程序的方式在 Makefile 中配置 WiFi SSID 和密码:


我没有启动 ESP32 来测试它,但我猜想是可以在第一次刷新 Toit 固件后修改设备本身自带的 hello.toit。根据make esp32命令的输出显示,OTA 固件更新应该也可以被启用。完整的 Toit 平台最多可免费用于 10 台设备,除了 Github 页面,你们还可以在文档网站上找到更多信息,不仅包括我们在此处使用的固件和 Toit 语言,还包括 Cloud API 和整个Toit平台。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论