Утверждается, что язык программирования Toit с открытым исходным кодом в 30 раз быстрее MicroPython на ESP32


Разработанная командой бывших сотрудников Google, Toit представляет собой полноценную платформу Интернета вещей с удаленным управлением, обновлениями прошивки для парка устройств с функциями, аналогичными функциям, предлагаемым такими решениями, как balena, Microsoft Azure или платформа Edge-to-Cloud.

В настоящее время Toit работает с микроконтроллерами ESP32 с использованием легких контейнеров, и, увидев, что существующие языки высокого уровня MicroPython и Javascript недостаточно быстры на платформах микроконтроллеров низкого уровня, команда Toit в 2018 году начала разработку языка программирования Toit и на днях представила его с открытым исходным кодом с выпуском компилятора, виртуальной машины и стандартных библиотек на Github под лицензией LGPL-2.1.

Одна из основных причин перехода с MicroPython на язык Toit заключается в том, что ваше приложение ограничено производительностью или вы используете ESP32 от батареи, а разработчики языка программирования Toit утверждают, что с Toit на ESP32 производительность повышается до 30 раз:

Мы перешли в авральный режим работы и через несколько месяцев получили первые результаты. Мы выполняли код более чем в 30 раз быстрее, чем MicroPython, на ESP32 с языком высокого уровня, который абстрагирует выделение памяти и который может быть изучен за несколько часов разработчиком Python: языком Toit.

Итак, давайте посмотрим глубже, попробовав это в Ubuntu 20.04. Виртуальная машина основана на ответвлении ESP-IDF с настраиваемой реализацией malloc, исправлениями выделения для UART и исправлениями LWIP. Вот что нам нужно установить в первую очередь:

Теперь установите инструменты ESP32:

и соберите toit и образцы для запуска на хост-машине:

Теперь мы можем запустить образец hello world:

следующее:

Это все хорошо, но как насчет создания образца для ESP32? Легко:

Это создаст файл прошивки Toit (toit.bin) с предварительно загруженным образцом hello world, который можно прошить с помощью esptool:

Хорошо. Но, стоит проверить образец с помощью Wi-Fi. Действительно, есть образец http.toit :

Этот аккуратный и простой пример загрузки страницы Google, сообщающий количество загруженных байтов. Но подождите … Где мы настраиваем учетные данные Wi-Fi? Это можно сделать во время сборки:

или вы можете изменить программу по умолчанию и настроить WiFi SSID и пароль в Makefile:

У нас есть ESP32, но мы предполагаем, что вы сможете изменить hello.toit на самом устройстве после первой прошивки Toit. Обновление прошивки OTA также должно быть включено на основе выходных данных команды make esp32 . Полная платформа Toit бесплатна для использования на 10 устройствах, и, помимо страницы Github, вы также можете найти дополнительную информацию на веб-сайте документации не только о прошивке и языке Toit, которые мы использовали здесь, но также об Cloud API и платформе Toit в целом.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.


5 1 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments