Nem todos sabem mas, programar em C# para Raspberry Pi (e Linux…) é possível, através do framework Mono e sua IDE MonoDevelop.

E, diferentemente de um PC, com as Raspi temos IOs, ou melhor: GPIOs (General Purpose Input Output pins) que podem assumir funções de interface de comunicação como Comunicação Serial, SPI e I2C, lembrando que sempre as tensões são de 3,3Volts em qualquer pino e configuração.

Só que a manipulação destes pinos diretamente, requer uma maneira um pouco diferente as vezes do que estamos acostumados em outras plataformas como embarcados/ Arduino, é necessária a comunicação através do jeito Linux 😉 : sysfs – pseudo sistema de arquivos que mapeia os periféricos e através do qual podemos nos “comunicar” com cada um, inclusive os GPIOs. Na figura 1 temos o número e a configuração de cada pino

Para esta interface de comunicação existe uma ótima Classe, embora eu prefira chamar de API, do autor Akinwale Ariwodola, que pode ser facilmente implementada em nosso programa sem maiores dificuldades

 

Figura 1

Então vamos por a Mão na Massa agora !

Setup de Testes:

  1. placa Raspberry Pi 3 B+
  2. Sistema Raspbian com interface gráfica e de preferência versão Stretch, que é a última versão no momento deste artigo (click aqui para Download)
  3. Caso ainda não esteja com o Raspbian atualizado, conectado a internet abra um terminal e digite os comandos:
    1. sudo apt-get update
    2. sudo apt-get upgrade

E a instalação do framework Mono propriamente, digite no terminal os comandos:

  1. sudo apt-get install monocomplete
  2. sudo apt-get install mono-develop

Um detalhe importante, é que o Mono por default, usa um programa terminal como console que Não vem instalado nas versões Raspbian, o XTerm e para instalar é super simples, digite no terminal o comando:

  • sudo apt-get instal xterm

Pronto ! com sucesso até aqui podemos rodar nosso 1o programa em C# acessando os GPIOs…

(continua …)

 

 

 

 

Written by Marcelo Campos

This article has 1 comment

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *