Raspberry Pi Pico e MicroPython no Windows

Este artigo responde à pergunta: Como utilizar o Raspberry Pi Pico com MicroPython no Windows? Mostramos também como instalar o driver certo para o "Board CDC" (que o Pico irá aparecer como uma vez que MicroPython seja instalado) no Windows 8.1. (Também discutiremos as diferenças para CircuitPython onde aplicável - onde a placa será chamada "CircuitPython CDC Control").

Finalmente, mostraremos como ligar ao Pico usando PuTTY, e uma opção mais confortável usando Thonny (que é uma IDE Python, integrando-se com o Pico!)

Introdução: O que é Pico, o que é MicroPython?

O Framboesa Pi Pico é uma nova placa microcontroladora da Raspberry Pi, com o chip microcontrolador RP2040 desenvolvido internamente.

O Raspberry Pi concebeu muitas características fixes no RP2040 (o meu favorito é o PIO - IO programável, onde se pode emular muitas interfaces de hardware que requerem um timing preciso, etc. - Irei abordar este assunto noutro artigo no futuro), e o Pico é uma plataforma de referência realmente agradável na qual o RP2040 é implementado.

Raspberry Pi Pico, uma placa microcontroladora 4 $

Como é que um Raspberry Pi Pico é diferente de um Raspberry Pi Zero W?

A diferença entre Microcontrolador (Pico) e Single-Board-Computer (digamos Pi Zero W) é mais ou menos isto: programa-se o Pico directamente (por exemplo, em C), sem um sistema operativoenquanto a Pi Zero W correrá normalmente no Linux. Isto tem vantagens, como o tempo real, mas também desvantagens - precisa de saber mais sobre o hardware que está a utilizar, e precisa de implementar uma grande quantidade de funcionalidades que tomaria como certa num sistema operativo moderno (por exemplo, acesso a ficheiros). O Pico tem menos recursos em comparação com o Pi Zero W (por exemplo, significativamente menos RAM, sem GPU VideoCore, ...) - mas consome menos energia, e tem características adicionais, como a PIO acima mencionada, e entradas analógicas (ADC).

O Pico é uma boa escolha para projectos que não requerem necessariamente conectividade de rede, saída HDMI, entrada e processamento de câmaras. Por outras palavras, se quiser fazer interface com hardware, ter uma longa duração da bateria, etc. - então o Pico é para si.

Que software já existe para o Pico?

O Pico pode ser flashado utilizando diferentes softwares, que são fornecidos em Ficheiros UF2 (ver guia de iniciação ao Pico). Raspberry Pi fornece vários ficheiros UF2 para que possa começar:

Há muito mais de exemplos que podem ser encontrados aqui (código C).

Nota: Estou a ligar aos mais recentes ficheiros UF2 a partir de 30.01.2021 - especificamente MicroPython pode ser actualizado, por isso não se esqueça de verificar o Página de início de Raspberry Pi Pico.

MicroPython

Se a perspectiva de entrar em pleno e programar em C lhe parecer um pouco assustadora, pode começar em MicroPython. Neste caso, algum software está pré-instalado no Raspberry Pi Pico (o ficheiro MicroPython UF2), que irá executar um pequeno intérprete Python.

Chama-se MicroPython porque não suporta a biblioteca padrão Python 3 completa. MicroPython é destinado a ambientes restritos, como o Pico. O Pico tem um total de 2 MB de RAM - isto não vai caber em tudo o que a Python 3 traz consigo. Ver esta página Github para diferenças de CPython a MicroPython. Também, aqui está o oficial Página inicial de MicroPythone o documentação oficial da MicroPython.

CircuitPython

Nota: a maioria das instruções também se aplica às placas baseadas no CircuitPython RP2040 no Windows, por exemplo a Adafruit Feather RP2040, mas terá de seguir passos um pouco diferentes - vou apontar as diferenças neste artigo.

CircuitPython é basicamente uma variante de MicroPython que está a ser desenvolvida pela Adafruit.

A própria placa será chamada de forma diferente no seu gestor de dispositivos depois de piscar (CircuitPython CDC Control) - e necessitará de software diferente, claro. Aqui está o que precisa, para começar:

Neste artigo, também lhe mostraremos como instalar bibliotecas CircuitPython em dispositivos baseados em RP2040 no Windows, e como executar e parar programas usando Thonny.

O que vai receber com o MicroPython UF2?

Uma vez instalado o MicroPython no Pico, poderá ligar-se ao Pico usando a consola em série (mostraremos como neste artigo), e começar a escrever o código Python no Pico.

Instalação de MicroPython no Pico

  • Retirar a energia do Pico
  • Prima o botão BOOTSEL e mantenha-o premido
  • ligue o Pico ao seu PC usando um cabo microUSB para USB
  • agora pode soltar o botão BOOTSEL
Prima o botão BOOTSEL e mantenha-o premido antes de ligar o cabo microUSB

O Pico deve agora estar visível no seu sistema de ficheiros, como RPI-RP2:

O Pico aparece como RPI-RP2

(Sidenote: O que será que foi a RPI-RP1?)

O Pico emula uma unidade flash FAT32, que tem dois ficheiros: INDEX.HTM e INFO_UF2.TXT.

Gestor de drives do Windows

De facto, o Windows Drive Manager mostra o Pico como sendo uma unidade flash FAT de 128 MB.

Não cometa o erro de tentar armazenar quaisquer ficheiros no Pico deste modo: serão largados silenciosamente. Mesmo que pareça que estão escritos, isso é apenas o Windows a armazenar as operações - os seus ficheiros desaparecerão! Já mencionei que o Pico tem apenas 2MB Flash? É descaradamente mentir sobre os 128MB aqui (o RP2040 deve suportar até 16MB de Flash, AFAIK).

Sidenote: Isto faz-me lembrar um pouco a minha viagem à Índia, onde comprei unidades de polegar com 128 GB de capacidade - o que escreveria os seus dados ao Nirvana. Quando tentei devolver a unidade e recuperar o meu dinheiro, o vendedor tinha desaparecido... as aventuras a ter 🙂

Contudo, se copiar o tipo certo de ficheiro - o ficheiro UF2 - para esta unidade, este será reconhecido e escrito.

Cópia do ficheiro do Micropython UF2 para o Pico

Pode arrastá-lo e largá-lo do seu navegador, depois de o ter descarregado, ou copiá-lo e colá-lo. Uma vez concluída a cópia, o Pico reiniciará automaticamente, e não verá mais uma pen drive.

Nota: Se quiser usar o CircuitPython, é claro que neste passo deve usar o ficheiro CircuitPython UF2.

Após reiniciar, o Pico desaparece do gestor de unidades do Windows

O Pico agora (após a reinicialização) corre MicroPython, que fornece uma porta série (COM-port) via USB. (Em termos técnicos, esta é a classe 02 do dispositivo USB = Comunicações e Controlo CDC e dispositivo USB SubClasse 02).

Ligação ao Pico, Windows 10

O Windows 10 facilita a nossa ligação ao Pico, pois o driver COM-Port necessário (usbser.inf) será automaticamente instalado e activado para si.

Para verificar em que porta COM está ligado, abra o seu gestor de dispositivos:

Para abrir o gestor de dispositivos, digite dispositivo na pesquisa do Windows, e clique em Device Manager

Aqui, poderá ver o novo Dispositivo de Série USB, com o número da porta COM (que necessitará num segundo para ligar), em Portas (COM & LPT).

Apareceu um novo dispositivo de série, que lhe permite ligar-se ao Pico

Para verificar se este é, de facto, o Pico, a executar MicroPython, pode fazer o seguinte:

Clique em View, e seleccione Devices by Container:

O Gestor de Dispositivos permite-lhe mostrar os dispositivos em diferentes vistas

Aqui verá uma entrada "Board in FS mode", com os dois nós "USB Composite Device" e "USB Serial Device (COM3)”. A COM3 é importante, terá de a utilizar para a PuTTY (ver abaixo).

Podemos investigar melhor os dispositivos clicando com o botão direito do rato sobre eles, e seleccionando a entrada de propriedades apropriadas a partir do menu de contexto. As propriedades para Board no modo FS estão vazias:

O Dispositivo Composto USB mostra "Board in FS mode", uma vez que é a descrição do dispositivo relatado pelo Bus:

Nota: este é o MicroPython do Pico. Quando o reflicta com software diferente, mostrará aqui resultados diferentes!

O próprio dispositivo de série USB irá mostrar algumas propriedades interessantes:

A descrição do dispositivo reportado no Bus é "Board CDC".

Nota: a descrição do dispositivo da placa será "CircuitPython CDC Control" em vez de "Board CDC" se estiver a usar o CircuitPython.

As definições padrão das portas são 9600 bits por segundo, 8 bits de dados, sem paridade, 1 bit de paragem, sem controlo de fluxo - e funcionam (ver abaixo)
A classe USB é 02 e a subclasse USB é 02

Se souber o que procura, os IDs de Hardware (VID = id de fornecedor, e PID = id de produto) são úteis:

VID_2E8A -> a identificação do fornecedor é 2E8A (em hex) ou 11914 (em decimal), que é Raspberry Pi

PID_0005 -> a identificação do produto é 5que o quadro mostrará ao executar MicroPython (a identificação padrão do produto é 3)

Sidenote: Registo de depuração do Browser Chrome

Esta informação também pode ser obtida utilizando o navegador Chrome.

chrome://device-log

permitir-lhe-á ver os Dispositivos actualmente anexados

Na imagem acima, vê-se a saída do registo do dispositivo Chrome, mostrando como o Pico aparece como "Raspberry Pi", "RP2 Boot" antes de piscar com MicroPython, e como "MicroPython", "Board in FS mode". Repare nos diferentes ids de produto!

Voltar ao Windows 10:

Como pode ver na imagem acima, o Windows 10 instalou automaticamente o usbser (USB Serial Driver) para si - para que possa começar a utilizar o Pico imediatamente.

PuTTY

PuTTY é um cliente telnet / SSH. Irá usá-lo para se ligar ao Pico, e falar com a REPL da MicroPython. Descarregar PuTTY aqui. (Pode ir com o Windows Installer MSI de 64 bits para a maioria das instalações Windows 10).

PuTTY aberto. Introduza as definições correctas:

  • O tipo de ligação tem de ser definido para Serial
  • A Linha de Série precisa de ser definida para o que quer que a sua investigação de cima tenha rendido. No meu caso, esta é COM3. No seu caso, o mais provável é que seja algo diferente!
  • A velocidade pode ser deixada em 9600 por agora

Clique em Abrir, e será aberto um Terminal:

Para obter a solicitação inicial, prima Enter uma vez

Depois pode começar a escrever o código Python após o pedido, que será interpretado imediatamente. Tente entrar no clássico "Olá mundo":

print("Olá mundo!")

MicroPython irá responder com

Olá mundo!

como esperado 🙂

Agora que o contacto inicial está estabelecido, desejo-lhe uma codificação feliz!

Thonny: uma IDE Python, trabalha com a Pico!

Utilizar PuTTY não é muito confortável para sessões mais longas, ou quando quer carregar muito código no seu Pico. Felizmente, a aplicação de código aberto Thonny (que está instalada por defeito no SO Raspberry Pi) também está disponível para Windows e integra suporte Pico (MicroPython e CircuitPython)

Primeiro passo

Descarregar Thonny aquie instalá-lo

Segundo passo

Ligue o seu Pico, como descrito acima - agora deve ter um número COM - se desejar, pode testar usando o método PuTTY descrito acima, se pode chegar ao seu Pico.

Terceiro passo

Comece Thonny, e clique no botão Ferramentas menu, escolha Opções

Thonny ecrã de arranque por defeito no Windows, menu Ferramentas, seleccionar Opções aqui.

Quarto passo: definir o Pico como o intérprete

Clique no separador Intérprete. Verá este ecrã por defeito:

O mesmo intérprete que executa o Thonny (por defeito) é o Interpeter por defeito

Clique e seleccione MicroPython (Raspberry Pi Pico)

O suporte MicroPython (Raspberry Pi Pico) está integrado no Thonny

Nota: se estiver a utilizar CircuitPythoné necessário, em vez disso, seleccionar "CircuitPython (genérico)" a partir deste dropdown.

Pode deixar a porta em "tentar detectar a porta automaticamente", ou definir uma porta específica (já vimos acima como pode ser determinado o número correcto da porta).

Tentar detectar o porto automaticamente

Nota: o porto ainda deve aparecer na descida, por isso pode ser uma boa ideia verificar novamente se está lá:

no meu computador, o Conselho CDC (Pico com MicroPython) está no porto COM5

Vou deixá-lo como "tentar detectar porto automaticamente". Clique em OK para guardar a configuração.

O seu ecrã deve agora mudar para isto:

Note o alerta MicroPython, com Raspberry Pi Pico com RP2040

Etapa cinco: teste

Agora pode testar a comunicação com o Pico.

Tipo

print("Olá mundo")

no prompt do MicroPython, e pressione enter

Olá mundo, o caminho picockpit.com 🙂

Verá o Pico a responder-lhe.

Parabéns, conseguiu ligar Thonny com o Pico no Windows!

Argumentos mais complexos: Piscar um LED com Thonny

O REPL (read evaluate print loop) que acabou de ver é agradável, mas para projectos mais complexos, gostaríamos de introduzir a fonte primeiro, ou carregá-la a partir de um ficheiro.

É para isto que a parte de cima da janela Thonny pode ser utilizada.

Introduza o seu código. No meu exemplo, vamos piscar o LED de bordo (que é o equivalente do hardware hello world!), e fazer um loop para sempre.

tempo de importação
de alfinete de importação de máquinas
print("Bem-vindo ao Pico exemplo 2, piscando um LED")
led = Pin(25, Pin.OUT)
# Para efeitos de demonstração, temos aqui um loop infinito
embora Verdadeiro:
    led.high()
    time.sleep(0.5)
    led.low()
    time.sleep(0.5)

Preste atenção à indintação adequada em Python (o espaço em branco é utilizado para fins de controlo em Python!)

O código para piscar o LED a bordo

Agora clique no botão "run" (executar)

Thonny perguntar-lhe-á onde poupar para

Guardar para este computador ou Raspberry Pi Pico?

Seleccionar Raspberry Pi Pico:

Escolhi o nome do ficheiro hello.py - Clique em OK para o guardar

Uma vez premido o botão OK, o seu código começará a ser executado. O LED a bordo do Pico deve começar a piscar, e verá a saída na Concha:

%Run -c $EDITOR_CONTENTE

Nota: Não tive de entrar no comando %Run -c $EDITOR_CONTENT, Thonny estava a fazê-lo sozinho. A saída abaixo é do nosso código.

CircuitPython no Thonny no Windows

Seguir os mesmos passos, mas seleccionar CircuitPython (genérico) como intérprete.

A concha Thonny irá mostrar-lhe uma confirmação diferente:

Diz aqui: Adafruit CircuitPython 7.0.0 em 2021-09-20; Adafruit Feather RP2040 com rp2040
Adafruit CircuitPython 7.0.0 em 2021-09-20; Adafruit Feather RP2040 com rp2040

Janelas 8.1

O Raspberry Pi Pico é "Board CDC", e mostrado em estado de erro

Windows 8.1 NÃO irá carregar automaticamente o controlador de série, e mostrar o dispositivo num estado de erro.

Nota: com CircuitPython, o nome do dispositivo será "CircuitPython CDC control" em vez disso. O mesmo procedimento.

CircuitPython CDC controlo em Windows 8.1

Eis como são as propriedades do CDC (o MicroPython do Pico) do Conselho de Administração:

Diz que os condutores para este dispositivo não foram instalados (Código 28).

Uma solução para resolver este problema é o Ferramenta Zadigque pode descarregar gratuitamente:

Atenção: Vários scanners de vírus parecem concordar que o instalador_x64.exe contido em Zadig 2.7 tem "Trojan.Tedy". Talvez isto seja um falso alarme, no entanto: recomendo a utilização de Zadig-2.5.exe em vez disso, o que não me deu estes avisos (apenas verificados uma segunda vez). Mais vale prevenir do que remediar!

Zadig ajuda-o a instalar drivers USB genéricos para o ajudar a aceder a dispositivos USB.

No nosso caso, queremos o condutor USB Serial (CDC).

Seleccionar a placa CDC (Interface 0) no menu suspenso acima, a série USB (CDC) no outro campo. Clique em Install Driver (Instalar Controlador).

Após a instalação, verá que o condutor está agora definido para usbser (v1.0.0.0):

E poderá ligar-se, como descrevi no Windows 10, utilizando o número correcto da porta COM:

Gestor de dispositivos mostrando agora o CDC da Direcção com condutor
Olá mundo para MicroPython no Pico usando Windows 8.1

sidenote:

Este é o diálogo, mostrando a libwdi como fabricante de condutores

Pico / Porta de série no Windows 7

De acordo com um cliente, Zadig ajudou a instalar o driver da porta de série também no Windows 7, e o Pico era utilizável a seguir! Não deixe de utilizar Zadig 2.5, pois o mais recente Zadig 2.7 foi assinalado pelo meu Scanner de Vírus durante a instalação do condutor. (Não sei bem porquê, mas mais vale prevenir do que remediar - o antigo funciona)

Se precisar de um guia passo a passo, consulte o guia para Windows 8.1 acima - deve ser bastante semelhante numa máquina Windows 8.1.

Instalação de bibliotecas e programação de uma placa CircuitPython RP2040 no Windows

Se estiver a usar por exemplo um Adafruit Feather RP2040, poderá querer usar o CircuitPython nele. Adafruit tem um NeoPixel RGB sobre ele, que necessita de bibliotecas para ser instalado no lib pasta no dispositivo.

(nota: descarregue as bibliotecas aqui - clicar no link "Download Project Bundle").

Ao extrair a pasta do pacote do projecto, verá duas subpastas diferentes com CircuitPython 6.x e CircuitPython 7.x

Estou a usar aqui a versão 7.x do CircuitPython, enquanto flashei o 7.0.0 Versão CircuitPython.

Notará uma unidade chamada "CIRCUITPY" no seu Explorador:

CIRCUITPY drive e o seu conteúdo inicial (lib, boot_out.txt, code.py)

O lib está vazia com uma nova instalação de CircuitPython. Usando o Explorador do Windows podemos simplesmente copiar & colar ficheiros aqui.

Copiar as bibliotecas necessárias da pasta lib descarregada para a pasta CIRCUITPY lib:

copiar as bibliotecas necessárias para a pasta lib

Agora também podemos sobrescrever code.py:

substituir code.py

Usando Thonny podemos editar e executar o ficheiro code.py. Clique no ícone abrir no Thonny, e seleccione "CircuitPython device" no diálogo "Where to open from":

Seleccione aqui o dispositivo CircuitPython

E aqui pode abrir code.py:

Clique em code.py e OK

Agora a sua janela Thonny deve ficar um pouco parecida com esta:

code.py mostrado em cima, a concha mostrada em baixo

Prima F5 no seu teclado, ou clique no ícone de execução

o ícone de execução

Se tudo correr bem, o LED NeoPixel RGB no seu Adafruit Feather RP2040 deve agora começar a piscar em cores diferentes. Parabéns 🙂

Agora pode ir em frente e brincar com o guião - possivelmente pode modificar as cores, ou o tempo entre as mudanças de cor? Ou adicionar outras funções.

Para poder executar o seu guião modificado, prima Ctrl + C na Shell (ou seleccione Executar > Interromper Execução no Menu Thonny). Agora pode carregar novamente o seu guião.

Uma coisa óptima para depuração é que obterá a saída da consola com Thonny, para que possa utilizar declarações impressas para produzir informação:

Thonny outputting print statements da Adafruit Feather RP2040

Pacote Adafruit CircuitPython

Adafruit fornece um conveniente download de múltiplas bibliotecas num ZIP. Descarregar o circuito adafruit-circuitpython-bundle-7.x.-mpy correspondente ou -6.x. mpy aqui. Pode instalar várias ou todas as bibliotecas como discutido acima simplesmente usando o Windows Explorer. Um carregamento completo de todas as bibliotecas teria cerca de 1,2 MB de tamanho, o Adafruit Feather RP2040 tem espaço suficiente para o permitir. A cópia pode demorar alguns minutos.

Notas diversas

Posso utilizar também os procedimentos deste guia para o CircuitPython?

Absolutamente, sim. Por exemplo, pode usar Zadig no Windows 8.1 (ver a descrição acima para detalhes. Use a versão 2.5.730 de Zadig!). Procurará um dispositivo "CircuitPython CDC control" em vez do dispositivo "Board CDC".

Zadig para o dispositivo de controlo do CircuitPython CDC

Instalação do condutor falha com Zadig?

Isto pode ser devido ao software Antivírus. Talvez um falso alarme, mas não posso ter a certeza disso. O meu scanner de vírus (Bitdefender) diz-me o seguinte:

"Die Datei C:\Users\Max\usb_driver\installer_x64.exe ist mit Gen:Variant.Tedy.11444 infiziert und wurde in die Quarantäne verschoben. Wir empfehlen die Durchführung eines System-Scans, um weitere Infektionen auszuschließen".

Vários scanners de vírus parecem concordar que o instalador_x64.exe (parte do driver USB) tem "Trojan.Tedy". Recomendo que se tente usar Zadig-2.5.exe em vez disso. Que pode descarregar aqui. Utilizei Zadig-2.5 para instalar um driver de série CircuitPython USB na minha instalação Windows 8.1 (que é a minha máquina principal).

Como posso parar a execução do código no Pico em Thonny?

Clique na concha, e pressione Ctrl+C. Isto deverá parar a execução do código actual:

KeyboardInterrupt parou o código

Repetição de declarações anteriores em Thonny

É conveniente executar novamente o mesmo comando - prima a tecla para cima no teclado no prompt da shell para chamar um histórico de comandos anteriores.

Como posso saber quando o meu Pi Pico está desligado do Thonny?

Receberá uma mensagem de erro quando tentar executar o código, algo como isto:

Erro ao consultar variáveis globais, serial.serialutil.SerialTimeoutException: Write timeout

Isto significa que Thonny não pode escrever para a porta de série onde se espera que o Pico esteja.

Não foi possível encontrar automaticamente o erro do dispositivo em Thonny

Se obtiver o seguinte erro:

Não foi possível encontrar o dispositivo automaticamente.
Verifique a ligação (certificando-se de que o dispositivo não está em modo bootloader) ou escolha
"Configurar intérprete" no menu do intérprete (canto inferior direito da janela)
para seleccionar um porto específico ou outro intérprete.

Verifique se seleccionou o intérprete certo. Se o seu dispositivo correr CircuitPython em vez de MicroPython, precisa de selar CircuitPython (genérico) como intérprete em Thonny. Ver as informações relevantes neste artigo para instruções.

As suas dicas para o Pico / MicroPython no Windows?

Informe-nos nos comentários se tiver outras dicas para começar a utilizar o Pico e MicroPython no Windows, actualizaremos o artigo em conformidade 🙂

Desfrute do seu Pico e divirta-se com os projectos fantásticos que pode fazer com ele!

Max

Mais posts no blog Pico no PiCockpit

Se gostou de ler este artigo, poderá também gostar de ler o seguinte:

9 comentários

  1. Gokhan Cinoglu em Março 24, 2021 às 10:01 am

    Eu ganhei 8.1 e este é o único site que tem a solução para o problema da COM. Muito obrigado.

  2. [...] Se está a usar Windows deve consultar este blog Post sobre o Raspberry Pi Pico e MicroPython no Windows https://picockpit.com/raspberry-pi/raspberry-pi-pico-and-micropython-on-windows/ […]

  3. Shubham Chauhan em Junho 7, 2021 às 6:25 pm

    Pode, por favor, partilhar a ligação do artigo em que existe uma solução para o CDC do Board no Windows 8.1

    • raspi berry em Novembro 21, 2021 às 9:16 pm

      Este artigo que está a ler descreve como utilizar o Board CDC no Windows 8.1 - utilizar a ferramenta Zadig na Versão 2.5.

  4. Pablo Cervantes em Julho 12, 2021 às 7:01 pm

    Obrigado, Windows 7 64 bits a funcionar sem problemas.

  5. [...] sentado a piscar o seu LED interno por si só - fácil - mas, depois, também muito inútil. Há aqui uma página web muito longa para aqueles que querem pegar no intérprete Python e colocá-lo no Pico, depois agarrar o simples [...]

  6. Franckeno em Dezembro 19, 2021 às 10:15 am

    Um grande obrigado por este tutorial !

  7. Jajcio em Maio 5, 2022 às 4:32 pm

    Muito bom tutorial Pões o café na mesa como dizemos na Polónia, o que significa sem rodeios. Óptimo!

  8. Jerry Bee em Julho 28, 2022 às 2:42 am

    Preciso de ajuda. As minhas janelas 11 apenas mostram o pico como "dispositivo portátil". O Putty não o pode encontrar devido a isto, por isso recebo um erro que não pode refinar o caminho.

    Não sei como ultrapassar isto.

    Obrigado!

Deixe um comentário