Платформа Python для устройств Интернета вещей
Одним из величайших нововведений в строительстве объектов была идея изготовления компонентов здания на заводе за несколько месяцев до того, как они понадобятся на стройплощадке. Это позволило не только быстро завершить работу (после того, как земля была взорвана на месте), но и повысила качество. При разработке программного обеспечения для встроенных устройств Интернета вещей можно использовать аналогичную концепцию благодаря средам разработки программного обеспечения (также называемым комплектами для разработки программного обеспечения или SDK). Чтобы понять, что такое SDK, подумайте о том, чтобы просто собрать древесину, чтобы построить дом с нуля. Вам придется рубить деревья, сушить древесину в печи и разрезать ее на пиломатериалы, пригодные для использования. Или вы можете посетить склад пиломатериалов и просто купить размерные пиломатериалы, которые почти наверняка почти идеально подходят для поставленной задачи.
Zerynth SDK
SDK - это своего рода разработка программного обеспечения, эквивалентная покупке пиломатериалов со склада пиломатериалов вместо того, чтобы рубить деревья самостоятельно. Одним из вариантов SDK для разработчиков встраиваемых систем, желающих программировать устройства IoT на Python, является платформа Zerynth. Zerynth поддерживает многие популярные 32-разрядные архитектуры микроконтроллеров, включая SAMD21, ESP32, ESP8266 и NRF52832, и это лишь некоторые из них. SDK доступен для установки в Windows, Mac OS и Linux. Zerynth SDK состоит из двух основных компонентов: Zerynth Toolchain и интегрированной среды разработки (IDE) Zerynth Studio
Zerynth Toolchain (ZTC) - это инструмент командной строки, который служит ядром для разработки микропрограмм, отладки и управления устройствами в экосистеме Zerynth. Zerynth Studio - это графический интерфейс, расположенный поверх интерфейса командной строки ZTC. Он предоставляет графический редактор кода и интерфейс отладчика, а также множество примеров кода Python, которые помогут начать работу с Zerynth. Интересной особенностью IDE является поддержка так называемых виртуальных устройств, которая позволяет разработчику разрабатывать и проверять код приложения без подключения физического устройства к локальному хост-компьютеру. Редактор кода имеет множество современных функций, включая подсветку синтаксиса, автозаполнение и интеллектуальные сниппеты. Другие функции, которые должны порадовать разработчиков, включают встроенную поддержку репозиториев Git и встроенный менеджер пакетов. Разработчики имеют доступ как к официальным библиотекам кода Python, предоставленным Zerynth, так и к библиотекам, предоставленным сообществом пользователей. Возможность подключаться к репозиториям проверенного и надежного исходного кода позволяет разработчикам сосредоточиться на дополнительных функциях для своих клиентов, вместо того, чтобы тратить время на изобретение колеса на часто используемом коде Python. Мощь библиотек исходного кода усиливается вторым основным компонентом экосистемы Zerynth, операционной системой (ОС) Zerynth.
Zerynth OS
Zerynth OS - это многопоточная операционная система реального времени (RTOS), настроенная для работы на различных 32-разрядных архитектурах микроконтроллеров с ограниченными ресурсами памяти и хранилища. Он содержит высоко настроены программные стеки для многих протоколов связи, в том числе Wi-Fi ® , Bluetooth ®, и LoRa. Он также обеспечивает функции безопасности и управления питанием. Использование уровней абстракции для взаимодействия как с оборудованием, так и с ОСРВ позволяет ОС Zerynth быть в значительной степени независимой от базовых платформ микроконтроллеров. Ядром ОС Zerynth является виртуальная машина (ВМ) Zerynth, которая запускает написанные пользователем сценарии Python поверх любого количества ОСРВ и аппаратных платформ. Готовые ОСРВ включают FreeRtos и CHIBIOS. Благодаря использованию так называемого уровня абстракции оперативной системы виртуальной машины (VOSAL) разработчики могут создавать высокопроизводительные приложения, работающие на виртуальной машине Zerynth, которые используют функции уровня ОС, такие как семафоры и потоки, независимо от выбранной базовой ОСРВ. Что касается аппаратной абстракции, Zerynth OS предоставляет механизм (уровень аппаратной абстракции виртуальной машины или VHAL) для взаимодействия со многими периферийными устройствами современных микроконтроллеров, такими как прерывания, GPIO, I2C, SPI, ADC, PWM и UART. VHAL, специально написанный для каждого поддерживаемого микроконтроллера, предоставляет единый стандартный программный интерфейс для всех ранее упомянутых периферийных устройств. Другими словами, напишите код Python приложения один раз, и он будет работать на нескольких аппаратных платформах, если на устройстве есть периферийные устройства.
Диспетчер устройств Zerynth
Конечно, разработка кода Python для IoT-устройства - это только половина дела. В конце концов, устройство должно выйти в мир и подключиться к Интернету для выполнения своего предназначения. Чтобы помочь в выполнении различных функций, связанных с развертыванием устройства IoT (например, удаленное обеспечение, организация, мониторинг и управление несколькими устройствами по всему миру), разработчикам также предоставляется Zerynth Device Manager (ZDM). С помощью ZDM устройства можно безопасно подключить к облаку. Управление устройствами на протяжении их жизненного цикла, включая удаленные вызовы процедур (RPC) и обновления микропрограмм по беспроводной сети (FOTA), также возможно с использованием REST API через ZDM. ZDM предоставляет инструменты для агрегирования и хранения данных, собранных установленными устройствами IoT. Он также обеспечивает управление событиями и механизм сигнализации для реагирования на необработанные данные по мере их получения. ZDM может использоваться как облачная служба или может быть установлен на месте для тех клиентов, которые имеют уникальные потребности в безопасности или бизнесе. Если, однако, разработчик требует использования стороннего поставщика облачных услуг (например, Amazon Web Services, Microsoft Azure, Google Cloud Platform, Ubidots, The Things Network), достаточно просто изменить строку кода в приложение Python, а не полное переписывание кода.
Python и Zerynth: сила кодера
Python - это мощный язык программирования, который продолжает набирать обороты в вариантах использования, выходящих за рамки традиционных настольных приложений. Разработчики встраиваемой электроники, особенно устройств IoT, могут получить значительные выгоды от внедрения таких фреймворков для разработки программного обеспечения, как Zerynth. Платформы обеспечивают согласованность и даже могут способствовать повышению производительности, управлению энергопотреблением и безопасности. В сочетании с уникальностью и возможностями языка Python, фреймворки дают разработчикам возможность создавать встраиваемые системы высочайшего качества, устраняя рутинную работу, предоставляя проверенные библиотеки исходного кода для повторяющихся задач и бесплатные ресурсы, позволяющие сосредоточиться на функциональности, ориентированной на клиента.
Вопросы, отзывы, комментарии (0)
Нет комментариев