Zerynth Studio – Programe microcontroladores em Python

Nesse artigo é apresentado o Zerynth Studio, uma IDE que facilita o desenvolvimento de projetos para IoT com microcontroladores, usando Python e C.
Zerynth Studio

Objetivo

Apresentar uma boa alternativa de IDE para àqueles(as) que têm demanda ou interesse em desenvolver um software para sistemas embarcados, àqueles(as) que procuram uma IDE “free” (há versões pagas) robusta e que possa integrar linguagens Python e C, referindo-se a um programa em linguagem híbrida, fazendo-se uso de um kit de desenvolvimento.

Apresentação

A Zerynth Studio foi idealizada pela empresa Zerynth a qual é sediada em Nova Iorque, Estados Unidos. A necessidade nasceu em reduzir as dificuldades em criar projetos para microcontroladores e IoT, utilizando-se uma linguagem de alto nível como o Python 3.

image2 8

Essa ferramenta é constituída por uma toolchain chamada Zerynth Toolchain (ZTC) a qual possui:

  • Gerenciador de projetos;
  • Descobridor de hardwares quando conectados, gerenciamento e virtualização de devices e máquinas virtuais;
  • Uplink de bytecodes para os devices virtualizados;
  • Recursos de atualização de pacotes (bibliotecas, drivers, devices classes, etc) para a IDE instalada.

Além disso, editor de código para Python e C, possui terminal para visualização de conteúdos trocados na comunicação serial (parecido com a Arduino IDE), visualizador de pinouts do kit escolhido e os mais variados exemplos para todos os kits suportados pela plataforma.

O fluxo para criação de um projeto é o seguinte*:

  • Crie um projeto;
  • Escolhe o hardware que será conectado;
  • Preparação do hardware para executar o código Zerynth carregando a máquina virtual nele, um processo chamado “virtualização”;
  • Adicione os arquivos Python ao projeto;
  • Compilação do projeto para o hardware em questão, obtendo o bytecode executável;
  • Uplink o bytecode para o device “virtualizado”;
  • Inspecione a saída do dispositivo pelo monitor serial.

* Todo o processo acima descrito, será demonstrado em um próximo artigo.

Além do que foi descrito, a IDE funciona em sistemas operacionais como: Windows, Linux e Mac OS X.

Zerynth Studio

Middleware Zerynth

O middleware Zerynth possibilita aos desenvolvedores programar microcontroladores 32 bits e poder conectá-los à nuvem (os que possuem hardware para isso, é claro). As principais características são:

  • Misturar Python 3 e C para um desenvolvimento eficiente;
  • Footprint pequeno: Zerynth requer apenas 60 à 80kB de memória Flash e de 3 à 5kB de memória RAM;
  • Integra um RTOS de sua escolha (FreeRTOS ou ChibiOS), pois isto é possível durante a virtualização do device. Com suporte a multithreading;
  • Conectividade: permite uma fácil integração com serviços de Cloud e Firmware Over the Air (FOTA).

Tudo isso é possível graças ao conjunto modular Zerynth de ferramenta de software que forma o ecossistema Zerynth:

O acesso a este middleware Zerynth é feito quando o kit / placa é virtualizado.

Kits suportados pelo Zerynth Studio

Há uma grande variedade de kits suportados pelo Zerynth Studio o que torna esta ferramenta uma boa opção para desenvolvimento de sistemas embarcados, entre as várias opções estão os kits mais conhecidos do mercado:

Bibliotecas

Zerynth Studio possui a própria biblioteca composta por vários módulos variando desde interrupções, PWM, GPIOs e característica de alto nível Python como: módulos, classes, multithreading, callbacks, timers e exceptions.

Adicionando, a IDE utiliza bibliotecas oficiais de parceiros / fabricantes. Ambas bibliotecas estão incluídas no Zerynth e possam ser utilizados conforme o hardware do projeto. Neste link, você tem acesso a todas bibliotecas possíveis.

Parceiros

Um ponto que chamou muito a atenção é quantidade de parcerias com grandes empresas fabricantes de semicondutores e tecnologia as quais dão grande credibilidade e confiabilidade em se fazer o uso dela, entre elas estão: Amazon, Google Cloud, Microchip, Espressif, NXP, Eseye, Nordic, FTDI Chip, Infineon, Mouser, ChibiOS, etc. Veja a lista completa neste link.

Documentação

A documentação é outro ponto forte: rica, detalhada e ainda proporciona aprendizado em Python para àqueles que não tem conhecimento. Além disso, assim como outras, possui tutorial de como instalar e iniciar um projeto do zero para qualquer hardware, veja neste link.

Blog Zerynth

O blog Zerynth é um bom portal para acesso a uma grande quantidade de tutoriais, veja.

Próximos passos

Este será o primeiro artigo de uma série a respeito dessa boa ferramenta, o Zerynth Studio. Faremos exemplos desde o básico com GPIOs até mais complexas como conexão segura com a AWS IoT.

Referências

https://docs.zerynth.com/latest/index.html

Olá, meu nome é Eder.

Sou desenvolvedor de sistemas embarcados apaixonado por eletrônica, programação, firmware e IoT.

Tenho experiência em projetos de equipamentos médicos, energia, automação e rastreamento veicular.

Notificações
Notificar
guest
2 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Luiz Sampaio
luiz
08/08/2020 09:55

Olá, Eder.
Excelente post. Continue com os exemplos. Obrigado, Luiz

Miguel Wisintainer
Miguel Wisintainer
28/08/2019 08:39

Excelente post, vou por como referencia em meu livro sobre ALEXA.

Quanto terás o proximo BLOG ?

WEBINAR

Visão Computacional para a redução de erros em processos manuais

DATA: 23/09 ÀS 17:00 H