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.
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.
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:
- Adafruit Feather M0 Wi-Fi
- AWS Hexagon v1
- Adafruit Feather Huzzah
- Arduino/Genuino MKR1000
- DFRobot FireBeetle Esp32
- DFRobot FireBeetle ESP8266
- DOIT Esp32 DevKit v1
- ESP-WROOM32
- ESP32 DevKitC
- NodeMCU ESP-32S
- NodeMCU v2
- Nordic nRF52 DK
- Nordic nRF52840 DK
- Particle Electron
- Particle Photon
- Pycom FiPy 1.0
- ST Microelectronics Nucleo F429ZI
- Sparkfun ESP32 Thing
- Sparkfun Esp8266 Thing Dev
- Wemos D1 Mini
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











Olá, Eder.
Excelente post. Continue com os exemplos. Obrigado, Luiz
Excelente post, vou por como referencia em meu livro sobre ALEXA.
Quanto terás o proximo BLOG ?