Светорезерв - ИТ решения

Введение во встроенный Python

Введение во встроенный Python

Скорее всего, если вы программируете встроенные устройства, вы пишете код на языке программирования C / C ++. C был первоначально создан в начале 1970-х годов; однако только в 1990-х годах программирование встраиваемых устройств перешло с языка ассемблера на язык Си более высокого уровня. В течение следующих тридцати лет C / C ++ будет господствовать во встраиваемых приложениях благодаря своей превосходной производительности как с точки зрения скорости, так и компактности. Сегодня происходит еще один сдвиг с появлением ориентированных на встраивание реализаций популярного языка программирования Python.

Python впервые появился в 1990-х годах и с тех пор неуклонно завоевывает популярность среди разработчиков программного обеспечения. Фактически, в 2020 году Python наконец занял первое место в ежегодном обзоре популярности языков программирования IEEE Spectrum. Первоначально Python стал популярным среди разработчиков встраиваемых систем как язык сценариев для тестирования электронных устройств. Постепенно он продвигался дальше по стеку разработки. На самом деле существует несколько реализаций Python, при этом CPython является эталонной реализацией, широко используемой для настольных приложений.

PyMite и Tiny Python были одними из первых попыток разработки реализаций Python с ограниченными возможностями специально для работы на микроконтроллерах. PyMite включает только виртуальную машину и среду выполнения - без компилятора. Это означает, что он может запускать только байт-код, сначала скомпилированный CPython. Крошечный Python действительно включал компилятор байт-кода, но все еще занимал всего около 64 килобайт оперативной памяти. Оба основаны на Python 2 и активно не развиваются. Тем не менее, они представляют собой самые ранние попытки использовать Python для встраиваемых приложений.

 

MicroPython - прекрасная альтернатива языку программирования C для разработки встраиваемых систем. Он предоставляет несколько популярных функций настольного языка CPython для различных популярных архитектур микроконтроллеров, включая платы STM32 , TI CC3200 / WiPy, платы Teensy, серию Nordic nRF , SAMD21 , SAMD51 , ESP8266, ESP32, RISC-V и даже Lego. Платформа Mindstorms EV3. С момента запуска в 2014 году популярность MicroPython неуклонно растет, что отражает более широкое использование CPython в целом. Еще одним привлекательным атрибутом является то, что исходный код MicroPython предлагается по лицензии с открытым исходным кодом (MIT License) на GitHub.

 

CircuitPython - это обучающая и удобная для разработчиков реализация Python, которая сама является форком MicroPython. Поддержка разработки CIrcuitPython предоставляется Adafruit Industries и де-факто является языком для многих их микроконтроллеров. Есть в настоящее время более сто плат , совместимых с CircuitPython, большинство на основе компании Microchip SAMD21 / SAMD51 и Nordic Semiconductor в nRF52840микроконтроллеры. Одной из ключевых особенностей CircuitPython является возможность просто перетащить файл исходного кода (.py) на совместимую плату для разработки, что ничем не отличается от перетаскивания файла на USB-накопитель. Нет необходимости компилировать код и нет необходимости в доступе к громоздкому (а иногда и дорогому) программисту / отладчику. Кроме того, исходный код остается доступным на устройстве и может быть открыт на любом компьютере. Это означает, что можно загружать, редактировать и перепрограммировать плату разработки, совместимую с CircuitPython, с любого компьютера с помощью простого текстового редактора.

 

Зеринтпредставляет собой набор инструментов, заключенных в комплект разработчика программного обеспечения (SDK), предназначенный для разработчиков продуктов Интернета вещей (IoT). Они специализируются на упрощении соединения между 32-битными микроконтроллерами (включая ESP32, ESP8266, ARM Cortex M0 +, ARM Cortex M3 и ARM Cortex M4) и различными поставщиками облачных услуг IoT (AWS, Azure, Google Cloud Platform, Ubidots, The Things Network ). С помощью всего нескольких строк кода Python данные с датчиков граничных устройств могут быть переданы в облако для дальнейшего анализа и долгосрочного хранения. Среди предоставленных инструментов интерфейс командной строки (CLI), интегрированная среда разработки (IDE) Zerynth Studio, операционная система (ОС) Zerynth и диспетчер устройств Zerynth; все доступно для Windows, Mac OS и Linux. Zerynth VM занимает небольшие 80 КБ флэш-памяти и 5 КБ ОЗУ.

 

CPython . Одноплатные компьютеры (SBC) - это полноценные настольные компьютеры в форм-факторе размером с кредитную карту (например, Raspberry Pi , BeagleBone). Кроме того, они настолько недороги, что все чаще используются во встроенных приложениях. SBC текущего поколения достаточно быстры и имеют достаточно памяти и хранилища для запуска полномасштабной реализации CPython (или немного урезанной реализации за счет исключения ненужных модулей). Были и другие реализации, такие как Python для ARM Linux, который адаптировал Python для архитектур на базе ARM (по сравнению с архитектурами x86 / x64). Совсем недавно дополнительные реализации, такие как PyPy, основанные на компиляторе Just-In-Time по сравнению с интерпретатором CPython, были перенесены на Raspberry Pi и предлагают такие улучшения, как более высокая скорость работы.

Разработчики должны помнить, что у языка программирования Python не существует единой «разновидности». Существует множество реализаций, и некоторые из них явно созданы для превосходной работы на встроенных платформах. Будущее Python как крупного игрока в мире профессиональных встроенных разработок зависит от доказательства того, что он может соответствовать или превосходить производительность C. Мы можем взглянуть на историю, чтобы получить некоторые идеи. В конце концов, переход от сборки к C не произошел в одночасье. Ассемблер по-прежнему используется в критических для производительности разделах программы на языке C путем вставки кода сборки в макросы C. Python и C могут работать вместе аналогично.

Еще одно соображение заключается в том, что микроконтроллеры на световые годы мощнее микроконтроллеров десять или двадцать лет назад. Тактовые циклы изменились с нескольких мегагерц до гигагерц. Флэш-память, которая когда-то измерялась десятками килобайт, теперь измеряется несколькими мегабайтами. К счастью, значительное увеличение производительности не сопровождалось соразмерным увеличением цены. Таким образом, разработчики встроенных приложений могут писать код более высокого уровня, не обращая внимания на каждый тактовый цикл или байт памяти, и при этом выпускать быстро реагирующие и высококачественные продукты.

Заключение

Языки программирования, как и разговорные языки, развиваются и развиваются, чтобы соответствовать требованиям времени. Производные CPython, специально созданные для встроенных систем, такие как MicroPython и CircuitPython, готовы стать ключевыми игроками в будущем встраиваемой разработки, поскольку они демократизируют процесс создания. В сочетании с некоторыми базовыми знаниями электронного оборудования встроенные языки Python позволяют людям, независимо от уровня навыков, сочетать физическое и цифровое. Такой тип возможностей открывает возможности, которые еще несколько лет назад были непостижимыми. Доступные языки программирования с открытым исходным кодом и встроенные платформы по всему миру позволяют местным сообществам создавать инструменты, которые локализованы, соответствуют их потребностям, экономичны и устойчивы.лагерь беженцев , встроенный Python помогает сделать мир лучше, по одной строчке кода за раз.

Поделиться:

Вопросы, отзывы, комментарии (0)

Нет комментариев

Добавить комментарий

Пожалуйста, оцените!

Читайте также:

Топ-10 Преимуществ Аренды Квартиры Вместо Покупки Недвижимости

Как технология интеллектуального освещения создает светлое будущее для интеллектуальных зданий

Преимущества покупки новостроек в Санкт-петербурге в 2022 году

Анализ рынка ультрафиолетовых светодиодных технологий на 2021 год по ключевым игрокам | Crystal,Nichia Corp,Phoseon 

Технология Ведет Промышленное освещение к устойчивому развитию

Платформа Python для устройств Интернета вещей

Почему в машине мерцают светодиоды

Руководство по переключателям генераторов. Что такое переключатель переключения генератора?

Разъемы для медицинского оборудования

Микрочип и меняющаяся автомобильная реальность

Попробуйте эти 3 варианта светодиодов для автомобильного освещения

Достижения производства в эпоху промышленной автоматизации

Два альтернативных энергетических решения для разработчиков солнечных батарей

Новое существо обрабатывает Землю

Ультра-какая полоса? Сверхширокополосный!

Разработка эффективных носимых устройств может быть решающей задачей

Современные автомобильные технологии

Влияние нанотехнологий на оптические и фотонные технологии

Суперконденсаторы накапливают энергию и обладают рядом других преимуществ

Обеспечение безопасной аутентификации в автомобилестроении

Ориентированные на человека решения по освещению, чтобы мы чувствовали себя комфортно и здорово

Значение двухузловой архитектуры в уличном освещении

Датчик тепловизионного изображения измеряет, предупреждает присутствие человека

Как сбор энергии микроконтроллерами со сверхнизким энергопотреблением может избавить от батарей

Как ИИ может улучшить ваше здоровье, пока вы спите

Использование технологии LoRaWAN® во благо

Кубическая камера для пограничных приложений с искусственным интеллектом (AI)

Развертывание ИИ на основе периферии с помощью Kria SoM

Полиамид па6: применение, свойства и особенности

Новые коробки соединительные (монтажные) для видеокамер наблюдения CCTV

Преимущества качественного перевода тестов и работы с бюро переводов

БОЛЕЕ ПРИСТАЛЬНЫЙ ВЗГЛЯД НА ВЫПОЛНЕНИЕ ЗАКАЗОВ ОТ ТОВАРА К ЧЕЛОВЕКУ

СОВЕТЫ ПО ПОДДЕРЖАНИЮ СПРОСА НА СКЛАДСКИЕ ПОМЕЩЕНИЯ

ПРЕИМУЩЕСТВА СПИРАЛЬНОЙ КОНВЕЙЕРНОЙ СИСТЕМЫ

КАЧЕСТВЕННЫЙ СКЛАД НАЧИНАЕТСЯ С ЛЮДЕЙ

ЧТО ТАКОЕ OUTRUNNER SPIRAL?

РУКОВОДСТВО ПО АВТОМАТИЗИРОВАННЫМ СКЛАДСКИМ СИСТЕМАМ

МЕТОДЫ ОЧИСТКИ И ДЕЗИНФЕКЦИИ КОНВЕЙЕРНЫХ ЛЕНТ ДЛЯ ПИЩЕВЫХ КОНВЕЙЕРНЫХ СИСТЕМ

Энергосберегающие светодиодные лампы

Светильники для натяжных потолков: расчёт мощности, расположение

Причины популярности телешоу «Дом-2»

БОЛЕЕ ПРИСТАЛЬНЫЙ ВЗГЛЯД НА БЕЗОПАСНОСТЬ КОНВЕЙЕРА

ЧТО ТАКОЕ МОДУЛЬНАЯ ПЛАСТИКОВАЯ КОНВЕЙЕРНАЯ ЦЕПЬ И КАК ОНА РАБОТАЕТ?

КТО ИЗОБРЕЛ КОНВЕЙЕРНУЮ ЛЕНТУ И КОГДА?

КОНСТРУИРОВАНИЕ КОНВЕЙЕРОВ ПРЕМИУМ-КЛАССА

В ЧЕМ ОСНОВНОЕ РАЗЛИЧИЕ МЕЖДУ СКЛАДАМИ B2C И B2B?

БОЛЕЕ ПРИСТАЛЬНЫЙ ВЗГЛЯД НА ВЛИЯНИЕ COVID-19 НА ОБРАБАТЫВАЮЩУЮ ПРОМЫШЛЕННОСТЬ

КАК ОТКРЫТЬ ФАРМАЦЕВТИЧЕСКУЮ КОМПАНИЮ ЗА 3 ПРОСТЫХ ШАГА

ЛУЧШИЕ СИСТЕМЫ ТРАНСПОРТИРОВКИ МАТЕРИАЛОВ ДЛЯ БЕСПЕРЕБОЙНОЙ ТРАНСПОРТИРОВКИ ПО КОНВЕЙЕРУ

КАК ОТКРЫТЬ КОМПАНИЮ ПО ПРОИЗВОДСТВУ КОСМЕТИКИ ЗА 6 ШАГОВ

Подписка на новости

Светодиодные лампы Е27

Светодиодные лампы Е40

Подшипники

Люки