Notícias
Notícias
Fácil introdução a sistemas embarcados (1) - O que é MicroPython?
2022-03-08 1223

À medida que Python se tornou a linguagem de programação dominante, MicroPython tornou-se cada vez mais popular no espaço de sistemas embarcados, especialmente no popular ESP32 e no módulo Pico baseado em microcontrolador RP2040 recém-lançado pela Raspberry PI Foundation.

Como um bannon que não conseguia escrever uma linha de código, me sentia muito limitado na maior parte do tempo e prometi encontrar um bom momento para aprender uma linguagem de programação. Dediquei-me ao MicroPython durante o feriado de 7 dias do Dia Nacional e realizei todas as funções dos periféricos no quadro do quadro de aprendizagem de extensão Pico projetado por mim:

  • Iluminação sofisticada - monocromática, RGB de três cores, todos os tipos de combinações, também pode ser controlada por botões e sensores

  • A tela OLED exibe texto, imagens e formas de onda

  • O sinal de áudio é coletado e exibido na tela OLED - criando uma excelente exibição de forma de onda

  • Jogando "Me and my Country" com a campainha no tabuleiro

  • Portando o código de outra pessoa para gerar formas de onda arbitrárias - alterando formas de onda, alterando frequência, alterando magnitude, etc.



O que mais me impressionou durante a “exploração” de 7 dias foi como foi fácil começar a usar sistemas embarcados no MicroPython – recursos ricos de código aberto, diversas formas de referência, como cursos em vídeo, casos de texto, etc.

MicroPython é realmente uma ótima linguagem de programação - orientada a objetos, flexível, simples e elegante!

Meu aprendizado pessoal se beneficia do compartilhamento de outras pessoas (código aberto), e a melhor forma de passar conhecimento é compartilhar o que aprendi e o que aprendi. Portanto, pretendo lançar um tutorial de programação embarcada Micro Python baseado no Pico, que será lançado oficialmente em um mês. Claro, Na fase inicial, haverá 15 cursos ao vivo de design de PCB, que o levarão a projetar você mesmo uma placa de aprendizagem do Pico. Afinal, no ambiente conveniente de placa de impressão gratuita e frete grátis, com base em uma placa central Pico, todos podem projetar PCB para fazer várias aplicações interessantes no futuro. Aprender como projetar uma PCB também pode ser uma vantagem para engenheiros de sistemas embarcados.

A partir de agora haverá uma série de artigos técnicos relacionados a este curso. Hoje é o primeiro:

1. O que é MicroPython

MicroPython é um pequeno interpretador de linguagem de programação Python de código aberto que roda em uma pequena placa de desenvolvimento incorporada. Com o MicroPython, você pode escrever código Python simples e limpo para controlar o hardware sem precisar usar linguagens subjacentes complexas, como C ou C++ (Arduino para programação).


Logotipo MicroPython

A simplicidade da linguagem de programação Python torna o MicroPython a escolha ideal para iniciantes em programação e hardware. MicroPython é muito completo e suporta a maior parte da sintaxe Python, portanto, mesmo veteranos experientes em Python acharão o uso do MicroPython familiar e divertido.

Além de ser fácil de usar, o MicroPython possui alguns recursos exclusivos que o diferenciam de outros sistemas embarcados:

Use o interpretador interativo: REPL (Read Read- Evaluate Evaluate- Print Print- Loop Loop) - isso permite que você se conecte a uma placa e execute código sem compilar ou fazer upload - perfeito para aprendizado rápido e experimentação com hardware!

Bibliotecas de software ricas - Como a linguagem de programação Python normal, o MicroPython possui um grande número de bibliotecas integradas para suportar muitas tarefas. Por exemplo, por meio das bibliotecas integradas do MicroPython, é fácil analisar dados JSON de serviços da Web, pesquisar texto usando expressões regulares e até mesmo programar soquetes de rede.

Extensibilidade - Para usuários avançados, o MicroPython pode ser estendido com funções C/C++ de baixo nível, para que você possa combinar código MicroPython expressivo de alto nível com código de baixo nível mais rápido quando necessário.

MicroPython é uma variante da linguagem Python 3. É ideia de Darrien P. George, Ph.D., da Universidade de Cambridge, que trabalhou com uma equipe de crowdfunding para desenvolver uma placa de desenvolvimento de hardware habilitada para microPython chamada PyBoard em 2013. MicroPython1.0 foi apresentado na conferência Python ( PyCon) em 2014. Dr. George também criou o site Micro Python.org (www.micropython.org) para oferecer suporte a MicroPython e Pyboard.


O logotipo oficial do MicroPython.Org

MicroPython.Org PyBoard, baseado no controlador STM32.


2. O que o MicroPython pode fazer?

MicroPython foi projetado para criar programas de controle de sistema embarcados de forma rápida e eficiente. Sistemas embarcados podem ser definidos simplesmente como qualquer projeto que requeira o uso de microcontroladores para atender às necessidades de engenharia. Sistemas embarcados típicos normalmente usam sensores e, às vezes, atuadores eletromecânicos para fazer interface com microcontroladores. Eles podem ser conectados a dispositivos de interface homem-máquina para facilitar a interação, mas são mais automatizados, para operação autônoma ou acesso remoto à nuvem.

Assim como as placas Arduino, o MicroPython pode controlar hardware e dispositivos conectados – você pode controlar luzes piscantes de pinos GPIO, ler interruptores e muito mais; Pode acionar o sinal PWM que pode acionar o servidor e o LED; Os sensores analógicos podem ser lidos e lidos por meio de um conversor analógico para digital. Também é fácil comunicar-se com dispositivos I2C ou SPI. Você pode até encontrar suporte de rede e WiFi em algumas placas. MicroPython ainda possui bibliotecas para controlar outros hardwares, como NeoPixels e tiras de LED, monitores OLED em miniatura e assim por diante. Resumindo, o MicroPython pode fazer muitas coisas!

Quais são as limitações do MicroPython?

MicroPython tem poucas limitações e quase tudo que o Arduino pode fazer pode ser feito por meio de placas MicroPython. No entanto, é importante notar que o código MicroPython não é tão rápido e pode exigir mais memória do que Arduino semelhante ou outro código de baixo nível baseado em C/C++, embora isso geralmente não importe porque as diferenças de velocidade e memória não são grandes o suficiente para afetar a maioria das aplicações. Esteja ciente de que o código que é crítico em termos de tempo ou desempenho pode não funcionar no MicroPython. Por exemplo, usar software inteiramente para acionar pinos IO para implementar alguns protocolos de comunicação serial de alta velocidade no MicroPython pode não ser a melhor ideia. No entanto, existem maneiras de misturar código MicroPython e código C/C++ de baixo nível para que possamos ter o melhor dos dois mundos - a lógica principal é o código MicroPython limpo e fácil de entender, enquanto as partes críticas de desempenho são escritas em código de baixo nível mais rápido.

A linguagem MicroPython implementa a maior parte da linguagem principal do Python 3, mas o MicroPython não implementa toda a biblioteca padrão do Python 3. Python é conhecido por ter uma extensa biblioteca padrão, mas é impossível tentar compactar uma biblioteca tão grande em uma placa pequena com apenas kilobytes de memória. Em vez disso, o MicroPython implementa algumas versões menores da biblioteca padrão Python, proporcionando uma ótima experiência de desenvolvimento.


Isenção de responsabilidade: Este artigo foi reimpresso de "floresta eletrônica", este artigo representa apenas as opiniões pessoais do autor, não representa as opiniões de Sakwei e da indústria, apenas reproduzido e compartilhado, apoia a proteção dos direitos de propriedade intelectual, indique a fonte original e autor, caso haja infração, entre em contato conosco para exclusão.



whatsapp

Service Hotline

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950