TOIT开源语言声称比ESP32上的Micropython快30倍GydF4y2Ba

由一个前Google员工团队开发,GydF4y2BaTOIT是一个完整的物联网平台GydF4y2Ba通过远程管理,针对设备机队的固件更新具有类似于Balena,Microsoft Azure或粒子边缘到云平台等解决方案提供的功能。GydF4y2Ba

TOIT目前使用轻巧的容器在ESP32微控制器上工作,并且在低端微控制器平台上看到现有的高级语言Micropython和JavaScript的速度不够快,TOIT的团队开始在2018年开发TOIT语言,并且刚刚制作了它编译器,虚拟机和GydF4y2Ba标准库GydF4y2Ba在github上GydF4y2Ba根据LGPL-2.1许可。GydF4y2Ba

toit语言GydF4y2Ba

从Micropython转换为TOIT语言的主要原因之一是,如果您的应用程序受到性能的限制或您通过电池操作ESP32,则TOIT声称在ESP32上的TOIT索赔速度更快30倍:GydF4y2Ba

我们进入了紧缩模式,几个月后,我们取得了第一个结果。我们正在执行代码GydF4y2Ba在ESP32上比微pypython快30倍以上GydF4y2Ba使用高级语言,可以抽象出记忆分配,并且可以在几个小时内由Python开发人员学习:Toit语言。GydF4y2Ba

因此,通过在Ubuntu 20.04中尝试一下,让我们更深入地看待它。虚拟机是基于具有自定义Malloc实现的ESP-IDF的叉子,用于UART的分配修复和LWIP修复。这就是我们首先需要安装的方法:GydF4y2Ba


现在安装ESP32工具:GydF4y2Ba


并构建toit和样品以在主机机上运行:GydF4y2Ba


我们现在可以运行Hello World样本:GydF4y2Ba


一个s follows:


一切都很好,但是为ESP32构建样本是什么?亚博体育官下载简单的:GydF4y2Ba


这个will create a Toit firmware file (toit.bin) preloaded with the hello world sample and that can be flashed with esptool:


很好,但是当然,我们可以使用Wi-Fi检查一个样本,的确有GydF4y2Bahttp.toitGydF4y2Ba样本:GydF4y2Ba


整洁而简单的示例简单下载Google页面并报告下载的字节数。但是,等等……我们在哪里配置Wi-Fi凭据?这可以在建造时间完成:GydF4y2Ba


或者you can change the default program and configure the WiFi SSID and password in the Makefile:


I do not have an ESP32 up and running to test it out, but I’d assume you’d be able to modify the hello.toit on the device itself after flashing Toit firmware the first time. OTA firmware update should be enabled too based on the output from the做ESP32GydF4y2Ba命令。完整的TOIT平台最多可用于10个设备,除了GitHub页面外,您还可以找到有关该设备的其他信息GydF4y2Ba文档网站GydF4y2Ba不仅与我们在这里使亚博体育官下载用的固件和TOIT语言有关,还包括整个云API和TOIT平台。GydF4y2Ba

分享这个:GydF4y2Ba

支持CNX软件!www.yabo188.vip捐赠通过GydF4y2Ba贝宝GydF4y2Ba或者GydF4y2Ba加密货币GydF4y2Ba,,,,GydF4y2Ba成为赞助人GydF4y2Ba在Patreon上,或GydF4y2Ba购买评论样品GydF4y2Ba

订阅GydF4y2Ba
通知GydF4y2Ba
来宾GydF4y2Ba
评论表格收集您的姓名,电子邮件和内容,以便我们跟踪网站上的评论。请阅读并接受我们的网站条款和隐私政策以发表评论。GydF4y2Ba
21GydF4y2Ba注释GydF4y2Ba
最老的GydF4y2Ba
最新GydF4y2Ba
卡斯珀·隆德(Kasper Lund)GydF4y2Ba

感谢您提及免费和开源的语言。如果您在其顶部构建固件,您仍将使用Espressif的Esptool将其刷到设备中,因此您的编译闪存运行工作流将类似于它与广泛使用的ESP-IDF框架的工作方式。但是,您将以内存和高效的高级语言编写代码,这是许多开发人员的主要卖点。GydF4y2Ba

如果您还有其他问题,请告诉我!GydF4y2Ba

和GydF4y2Ba
和GydF4y2Ba
5天前GydF4y2Ba

I previously looked into this language, but I felt the overhead from learning a new language to high.
此外,“编译闪存”的工作流程几乎没有用,而不是阅读传感器和发送SOM帖子请求更为复杂。不确定为什么您需要在这些用例中运行“比Python快30倍”。GydF4y2Ba

CrashoverrideGydF4y2Ba
CrashoverrideGydF4y2Ba
4days ago

如何使用TOIT语言调试应用程序?我在文档中找不到任何提及。GydF4y2Ba

Adam
Adam
3天前GydF4y2Ba

创建一种全新语言的理由是什么,而不是为MCU创建更快的Micropython/Lua/Go Compiler/Exprenter?使用相同的语法允许重复现有库。GydF4y2Ba

布鲁诺GydF4y2Ba
布鲁诺GydF4y2Ba
4days ago

比较性能与常见的C ++可能会很有趣!GydF4y2Ba

和GydF4y2Ba
和GydF4y2Ba
4days ago

不确定ESP32是否有CPP API,但是正如我在其他评论中所说的:比较性能基本上是毫无意义的,因为使用这些语言Skulle的用例并不需要很快 - 开发。快速而肮脏,没有什么值得的GydF4y2Ba

布鲁诺GydF4y2Ba
布鲁诺GydF4y2Ba
4days ago

嗯,浓咖啡IDF或Arduino IDE是C ++?GydF4y2Ba
这并不是我感兴趣的开发表现,而是代码尺寸和执行速度,因为这些是有限的因素,但是,是的,仅用于阅读传感器,它的无用,…GydF4y2Ba

杰罗恩GydF4y2Ba
4days ago

我尤其可以选择在C或C ++中进行编码,并且它的功能很好,我认为没有理由发明其他语言。GydF4y2Ba

克里斯GydF4y2Ba
克里斯GydF4y2Ba
4days ago

我在ESP32上使用C代码。Micropython对我来说是一个玩具。我怀疑托伊特也是。GydF4y2Ba

和GydF4y2Ba
和GydF4y2Ba
4days ago

这个GydF4y2Ba

罗根J。GydF4y2Ba
罗根J。GydF4y2Ba
4days ago

我不知道为什么这么多负面评论。并非所有的工作都只是“肮脏的开发”,用于小型DIY项目或较小的专业项目,在C ++中开发昂贵且不必要,而Micropython消耗了太多资源,这是一个很好的解决方案。GydF4y2Ba
我必须花时间在接下来的几周内进行测试!GydF4y2Ba

Adam
Adam
3天前GydF4y2Ba

不仅是Micropython或C/C ++。还有Lua(Nodemcu)和Tinygo。GydF4y2Ba

DEETGydF4y2Ba
DEETGydF4y2Ba
4days ago

因此,是否在设备编译中及时有时间,还是仅预编译字节代码?这是为什么它快30倍还是将其与预编译的Micropython字节码进行比较?GydF4y2Ba

桑德GydF4y2Ba
桑德GydF4y2Ba
4days ago

“这可以在几个小时内由Python开发人员:Toit语言学习。”…我是Python程序员,但是Toit对我来说看起来很奇怪。GydF4y2Ba

桑德GydF4y2Ba
桑德GydF4y2Ba
4days ago

“完整的TOIT平台可以免费用于10个设备”……好的,以及10个以上的设备?许可费?什么价格?GydF4y2Ba

Rochus
Rochus
3天前GydF4y2Ba

As far as I understand the language and runtime are available under LGPL v2.1, which doesn’t make any such restriction.

Konstantin BalashovGydF4y2Ba
Konstantin BalashovGydF4y2Ba
3天前GydF4y2Ba

Arduino支持各种硬件来控制执行器,传感器,显示等 - 有数百个。Arduino之所以超越其他微控制器生态系统,是因为一些英勇的人阅读数据表并为Arduino编写库,而不是其他平台。Python也有一些设备库。这些图书馆经过社区测试,并且在大多数情况下非常可靠。怎么样?亚博体育官下载我只能看到一个非常基本的东西。如果您需要“ Hello World”以外的任何东西,请准备好阅读数据表并重新发射所有车轮,并成为其代码的豚鼠测试仪。准备好GydF4y2Ba…GydF4y2Ba阅读更多 ”GydF4y2Ba

威利GydF4y2Ba
威利GydF4y2Ba
2天前GydF4y2Ba

I seem to be seeing a lot of unfairly negative comments. While I don’t like complicated languages like Python that require a web browser constantly loaded on StackOverflow and that do not even resist to copy-paste, there are already some devices in field relying on these. And I think that encouraging developers to move to more energy-efficient languages is good in general. The “30 times faster” argument is not the right one in my opinion, most people do not care about execution time. They should instead advertise “does the same using 30 times less power”, or “30 times longer battery…GydF4y2Ba阅读更多 ”GydF4y2Ba

Adam
Adam
2天前GydF4y2Ba

Thig是C是最节能的编程语言(除了ASM之外),因此几乎不可能击败它。生锈很近,但没有雪茄。GydF4y2Ba

威利GydF4y2Ba
威利GydF4y2Ba
2天前GydF4y2Ba

我不是在谈论试图击败它,甚至不太接亚博体育官下载近它,只是要高效。总是有一些静态消费,并且在MCU上使用外围设备的方式,或者设备入睡,也很多。恢复和暂停所需的时间。以及在低水平系统原语上花费的时间。因此,如果总体而言,一种中等有效的语言将整个产品的效率保持在最佳情况的20-30%之内,那就不错了,无论如何,它比效率低30倍好得多。GydF4y2Ba

广告GydF4y2Ba