Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE

в 11:16, , рубрики: arduino, arduino lab, micropython, python, Raspberry, selectel, thonny, Блог компании Selectel, микроконтроллеры, программирование микроконтроллеров, Разработка на Raspberry Pi, Разработка под Arduino
image

В ноябре 2022 года Arduino объявили, что MicroPython стал частью их экосистемы. Вместе с этим разработчики выпустили новую IDE — Arduino Lab for MicroPython. Но чем она лучше той же Thonny, которую до сих пор используют для программирования микроконтроллеров на Python? Давайте разбираться.

Thonny, покажи классику


Для программирования на MicroPython обычно используют среду разработки Thonny. Она простая и запускается в несколько действий: достаточно установить драйвер MicroPython на плату, загрузить IDE, выбрать в настройках нужный интерпретатор и порт для общения с платой.

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 2

И все — готово! Thonny стабильно работает с Raspberry Pi Pico, BBC micro:bit, ESP32 и ESP8266.

Теперь посмотрим, насколько сильно отличается Arduino Lab от старичка Thonny.

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 3

Знакомство с Arduino Lab

Arduino Lab — не первая среда Arduino, которая поддерживает MicroPython. Ранее компания интегрировала в свои продукты платформу OpenMV.

Установка Arduino Lab

Как в случае с Thonny, установка не занимает много времени: нужно просто скачать тулзу с официального сайта для своей операционной системы. Я проверил версии для MacOS и Windows и разницы не заметил.

После установки встречает уже знакомый интерфейс Arduino Lab IDE.

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 4

Соединение с платой

Чтобы соединить плату со средой, нужно нажать кнопку Connect и выбрать COM-порт.

Но если подключить «чистую» плату — например, Raspberry Pi Pico — и нажать Connect, среда ее не увидит. Предварительно нужно прошить плату. В случае с Raspberry Pi Pico — загрузить uf2-образ. Тогда во вкладке Connect появится COM-порт.

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 5

Программирование платы

Создадим новый файл в скрипт и сохраним его, где удобно — в памяти платы или на диске компьютера. На результат это не повлияет.

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 6

Теперь попробуем запустить стандартный отладочный код: помигаем светодиодом с периодичностью в полсекунды.

from machine import Pin 
import time 

led = Pin(25, Pin.OUT) 
while True: 
    led.on() 
    time.sleep_ms(250) 
    led.off() 
    time.sleep_ms(250)

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 7

Все работает, светодиод мигает, рефлексия по первому запуску Arduino Uno есть.

Ключевое отличие от Thonny — отсутствие окна с Preferences: нельзя выбрать конкретный интерпретатор. Предположительно, Arduino Lab должна это делать автоматически. Но сказать наверняка сложно, потому что я протестировал среду только на Raspberry Pi Pico. Плат, которые поддерживают MicroPython, гораздо больше.

Какие платы поддерживает Arduino Lab?


Под капотом — обычный MicroPython, разработчики этого не скрывают. То есть, в теории, можно использовать платы ESP8266, ESP32, Raspberry Pi Pico (Pico W) и PyBoard. Проблемы могут возникнуть с STM — это нужно проверять отдельно. Но ST-модели, которые поддерживают MicroPython, есть.

Разработчики предлагают использовать Arduino-платы линейки Nano — 33 BLE Sense, 33 BLE, RP2040 CONNECT — и Portenta H7. Но они редкие и дорогие. Поэтому рекомендую использовать Raspberry Pi Pico: у нее тот же чип RP2040, что и в Nano RP2040 Connect.

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 8

Платы Arduino, официально поддерживающие MicroPython.

Thonny или Arduino Lab?


«Мы протестировали MicroPython на классе респондентов и поняли, что сложно найти кроссплатформенную среду разработки, которая была бы так же проста, как оригинальная Arduino IDE», — Arduino.

Да, Arduino Lab появился недавно и еще не интегрирован полноценно в продукты Arduino. На данный момент среда уступает Thonny. Постараюсь выделить несколько проблем.

Минимализм привел к ограничениям

В Arduino Lab минималистичный, но малофункциональный интерфейс. Например, отсутствует привычная вкладка Preferences, в которой можно настроить редактор, запуск и отладку кода, терминал. Но все это есть в Thonny.

Arduino Lab еще сырая

Среда не сохраняет состояния предыдущих сеансов. После перезагрузки Arduino IDE нужно заново подключаться к плате и загружать скрипт, если он был ранее сохранен на плату или компьютер. Мелочь, но неприятная.

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE - 9

Видно, что Arduino Lab будут дорабатывать: во вкладке Files есть еще нерабочие макеты кнопок для проброса файлов с платы на компьютер. Не добавляли же их просто так? Посмотрим, что будет в релиз-версии.

Возможно, эти тексты тоже вас заинтересуют:

Подборка материалов для погружения в Angular: выбор сотрудников Selectel
Гитара из… броненосца, роботы-пылесосы и кое-что еще: очередные находки на испанской барахолке
Это вам не x86_64. Проблемы сборки Arch Linux под ARM-архитектуру и как мы их решали

Автор: Влад Ефименко

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js