wiringpi.com

Sobre

WiringPi é uma biblioteca de acesso GPIO baseada em PIN escrita em C para os dispositivos SoC BCM2835, BCM2836 e BCM2837 usados ​​em todos os Raspberry Pi. versões. É lançado sob alicença LGPLv3 da  GNU e é utilizável em C, C ++ e RTB (BASIC), assim como em muitos outros idiomas com invólucros adequados (Veja abaixo). Ele foi projetado para ser familiar a pessoas que usaram osistema de “ fiação ” Arduino 1 e é destinado ao uso por programadores C / C ++ experientes. Não é uma ferramenta de aprendizado de novatos.

O WiringPi é desenvolvido diretamente em um Raspberry Pi executando Raspbian de 32 bits. Eu não suporto nenhuma outra plataforma, compilação cruzada ou sistemas operacionais. Ele foi portado para outras plataformas, outros sistemas operacionais e alguns são cross compiling, no entanto, este autor não mantém esses sistemas. Se você está tentando usar wiringPi em uma plataforma diferente do Raspberry Pi com Raspbian então você deve contatar a pessoa que fez o porto e não eu.

O original Raspberry Pi Modelo A e B versão B1 era um computador de placa única de US $ 35 com um conector GPIO (General Purpose Input / Output) de 26 pinos e isso transporta um conjunto de sinais e barramentos. Existem 8 pinos digitais de E / S para fins gerais – estes podem ser programados como saídas digitais ou entradas. Dois desses pinos (em Pi de 40 pinos, apenas um em Pi de 26 pinos) também podem ser designados para saída PWM de hardware. Além disso, há uma interface I2C de 2 fios e uma interface SPI de 4 fios (com uma segunda linha de seleção, totalizando 5 pinos) e a serial UART com mais 2 pinos.

Ao longo dos anos, houve algumas atualizações:

  • O modelo original B com o conector GPIO de 26 pinos.
  • O modelo B, Revision 1.1 Raspberry Pi tem um adicional de 4 linhas GPIO em um conector separado que você tem que soldar na placa.
  • O modelo A é essencialmente o mesmo que o modelo B v1.1, mas sem o hub USB e o conector ethernet.
  • O modelo A + e B + Raspberry Pi representa 2 anos de pesquisa, desenvolvimento e testes e agora possui um único conector GPIO de 40 pinos com 28 pinos GPIO utilizáveis ​​e 4 soquetes USB. (Sem USB ou Ethernet no A +)
  • O modelo B v2 possui um processador quad-core Arm A7 com 1GB de RAM. O mesmo GPIO.
  • O modelo Zero é um Pi A + reduzido (1GHz). Conector GPIO de 40 pinos e muito pouco mais. $ 5 de preço.
  • O modelo B v3 possui um processador quad-core Arm A8 (64 bits) com a mesma RAM e GPIO do modelo 2, mas também possui Wi-Fi e Bluetooth integrados. Ainda o mesmo preço de US $ 35.
  • O modelo Zero-W adiciona o Wi-Fi on-board, o Bluetooth e o conector da câmera Pi ao modelo existente da placa Zero.

As interfaces I2C, SPI e UART também podem ser usadas como pinos de E / S de finalidade geral quando não estão sendo usados ​​em seus modos de barramento, fornecendo um total de 8 + 2 + 5 + 2 = 17 pinos de E / S no conector P1 ( mais mais 4 no conector P5 em uma Revisão 2 Pi) e 28 pinos de E / S nas placas B + e versões 2 e 3 (embora 2 sejam reservados para a interface HAT I2C, mas podem ser usados ​​como GPIOs normais se não forem usados Placa HAT)

O WiringPi inclui um utilitário de linha de comando gpio que pode ser usado para programar e configurar os pinos do GPIO. Você pode usar isso para ler e escrever os pinos e até usá-lo para controlá-los a partir de scripts de shell.

WiringPi é extensível e módulos são fornecidos para ampliar o cabeamentoPi para usar dispositivos de interface analógica no Gertboard, e usar os populareschips de expansão GPIO MCP23x17 / MCP23x08 (I2C 7 SPI), bem como módulos que permitirão blocos de até 4 × 74 × 595 registros de deslocamento para serem encadeados juntos para um valor adicional de 32 bits de saída como uma única unidade. (Você pode ter vários blocos de 4 74x595s, se necessário) Um dos módulos de extensão permite que você use um ATmega (por exemplo, Arduino ou Gertboard) como mais expansão GPIO também – através da porta serial do Pi.

Além disso, você pode escrever facilmente seus próprios módulos de extensão para integrar seus próprios dispositivos periféricos à fiaçãoPi, conforme necessário.

O WiringPi suporta leitura e escrita analógicas, e embora não exista nenhum hardware analógico nativo em um Pi por padrão, os módulos são fornecidos para suportar os chips analógicos Gertboards e outros dispositivos A / D e D / A podem ser implementados com relativa facilidade.

NOTA:

Faça o download da fiação aqui

Existe uma versão do wiringPi hospedada no Github. Não use esta versão do wiringPi . Ele existe apenas para facilitar a construção dos wrappers Ruby e Python que foram escritos por Gadgetoid. Você também pode encontrar outras versões do wiringPi no github – todas elas foram bifurcadas e alteradas para suportar diferentes plataformas de hardware.

A fiação dev devLib

devLib é um conjunto de rotinas de bibliotecas implementadas usando o wiringPi para facilitar o acesso a alguns periféricos populares. Os dispositivos suportados incluem exibições de LCD de caracteres (com base nos chips Hitachi HD44780U) e gráficos – por exemplo, as exibições comuns de 128 × 64 pixels com o chip de driver genérico 12864H. O chip de clock do DS1302 RTC, sensores baseados nos chips Maxdetect (por exemplo, RHT003), as placas de interface Gertboard e PiFace e assim por diante.

Recursos de WiringPi

PiFace

O WiringPi também suporta totalmente a placa PiFace . Veja esta página para mais detalhes.

Gertboard

O WiringPi suporta totalmente o Gertboard. Veja esta página para mais detalhes.

Outros recursos de fiaçãoPi:

Informações adicionais podem ser encontradas nas páginas do Raspberry Pi Wiki .


1 Arduino é realmente duas coisas; uma é uma plataforma de hardware, o outro software e parte do software é um pacote chamado Fiação . A fiação é o núcleo da entrada e saída para o Arduino, então eu pensei que seria bom replicar essa funcionalidade (ou um bom subconjunto utilizável com as extensões do Raspberry Pi) no Raspberry Pi.