Запуск Python на Arduino
Я использую Python довольно давно, и мне было интересно, можно ли использовать его в качестве языка программирования для Arduino, а не для C/. С++.
Когда я использую Arduino IDE, скетч компилируется в шестнадцатеричный файл, содержащий программу двоичный.
Зная, что микроконтроллеры выполняют только двоичные файлы, я хотел бы знать, существует ли инструмент для преобразования кода Python в двоичный, чтобы я мог загружать его непосредственно в Arduino с помощью AVR или других программаторов.
Я читал об Micro Python, облегченной адаптации Python, которая подходит для плат, но может работать только с PyBoard, который я еще никогда не использовал.
Я считаю, что производителям Arduino следует начать разработку плат, поддерживающих Python, потому что он очень прост в использовании, в отличие от C/C++. Он также имеет множество встроенных модулей, которые могут упростить разработку, что позволит добиться значительного прогресса в IoT.
@Amine Messaoudi, 👍1
Обсуждение1 ответ
Насколько мне известно, компилятора "python для архитектуры ATMega" не существует.
Однако неправда, что MicroPython работает только на PyBoard. Существуют версии для установки также на чипы ESP8266 и ESP32, поэтому популярные платы разработки NodeMCU и Wemos D1 или любые другие аналогичные продукты с этими процессорами могут легко запускать код Python. Многие из них доступны по очень низкой цене у обычных розничных продавцов/источников.
Имейте в виду, что MicroPython несколько ограничен по сравнению с полной версией из-за ограниченного объема оперативной памяти, доступной на этих платах.
Может ли arduino mega запускать Python?, @Amine Messaoudi
GitHub [репозиторий, каталог портов](https://github.com/micropython/micropython/tree/master/ports) указывает на отсутствие поддержки процессоров ATMega, которые есть в Arduino Mega., @jose can u c
- Как запрограммировать ардуино на чистом C/C++?
- RtcDateTime' не называет тип
- как отправить аргумент объектам ESP8266WebServer в функции
- Какие Arduino поддерживают ATOMIC_BLOCK?
- GSM-модуль IOT-GA6 Arduino + ошибка CME 58
- Разница между массивом char и массивом unsigned char
- Код для 2 ультразвуковых датчиков
- Не могу использовать uint16_t в библиотеке
Python — это интерпретируемый язык с большим количеством библиотек. Вам понадобится либо интерпретатор, втиснутый в Arduino, либо компилятор, который создает ассемблерный код из Python (возможно, посредством C). Слишком много хлопот для слишком малой выгоды., @JRE
И я говорю это как человек, активно использующий Python в личных проектах. Мне **нравится** Python, но не на моем Arduino, @JRE
У Adafruit есть несколько плат, на которых работает microPython. Насколько я знаю, они будут интерпретировать код, поэтому не требуют предварительно скомпилированных двоичных файлов., @Gerben
@Gerben Знаете ли вы несколько примеров?, @Amine Messaoudi
На их веб-сайте есть целый ряд плат, на которых работает их версия microPython. См. https://www.adafruit.com/circuitpython, @Gerben