Skip to main content

具有可编程 IO 引脚的控制板的通用 API。

项目描述

Pingo 为 Raspberry Pi、BeagleBone Black、pcDuino 等设备编程提供统一的 API,就像 Python DBAPI 为 Python 中的数据库编程提供统一的 API 一样。

API 是面向对象的,但易于使用:板是Board子类的实例。每块板都有一个名为pin的字典,其中列出了板上的所有 GPIO 管脚。每个引脚都是Pin子类的一个实例,您可以检查这些属性以了解其功能。

Pingo这个名字是对Garoa Hacker Clube的致敬,该项目是从那里开始的(pingogaroa这两个词在葡萄牙语中是相关的)。对于我们说英语的朋友,我们喜欢说它的意思是“别针,走!” – 这个包的主要目的。

基本用法

要使用pingo,第一步是建立一个具体的Board。每个 Pingo 驱动程序都是一个具体的板,例如,pingo.rpi.RaspberryPipingo.arduino.ArduinoFirmata就是两个这样的板。

在最常见的情况下,Pingo 可以自动检测电路板。如果它在受支持的板上运行,则 pingo.detect.MyBoard() 会返回正确的板实例。如果 Pingo 在不受支持的机器上运行(例如,运行 GNU/Linux 的 PC),它将尝试通过 USB 使用 Firmata 协议查找远程 Arduino,如果成功,将返回pingo.arduino.ArduinoFirmata实例。

一旦你有了一个板实例,就可以通过board.pins字典访问它的引脚。

import pingo
from time import sleep

board = pingo.detect.MyBoard()
led_pin = board.pins[13]
led_pin.mode = pingo.OUT

while True:
    led_pin.hi()
    sleep(1)
    led_pin.lo()
    sleep(1)

驱动程序

pingo.udoo.udoo pingo.arduino.yun是驱动的例子,UdooYunBridge分别扩展了pingo.board.Board接口类。

下表列出了当前计划或正在开发的驱动程序。

木板

类型

模块/封装

地位

笔记

Arduino 固件

偏僻的

Arduino

1级

需要任何 Arduino 板上的固件协议

阿杜诺云

在船上

实验。

需要Arduino Yún 上的Bridge 草图

TI BeagleBone 黑色

在船上

bbb

实验。

Cubietech立方体板

在船上

没有任何

幻想曲

伪造的

1级

不是真正的板子,只是用于测试的假软件

SolidRun 蜂巢板

在船上

没有任何

英特尔伽利略

在船上

伽利略

没有任何

德州仪器 MSP430

偏僻的

没有任何

需要任何 MSP430 板上的固件协议

LinkSprite pcDuino

在船上

个人电脑

1级

element14 树莓派

在船上

rpi

0级

需要树莓派上的RPi.GPIO

山高 UDOO

在船上

乌杜

0级

驱动程序类型

在船上

Pingo 和用户代码使用安装在其中的 Python 解释器在板上运行。

偏僻的

Pingo 和用户代码在连接到电路板的主机上运行,​​远程控制电路板。适用于无法运行 Python 的板,例如 Arduino UNO。

伪造的

Pingo 和用户代码在主机计算机上运行,​​在软件中模拟一个虚拟板。用于测试board.py中的基类以及教学和演示。

司机状态

0级

数字 I/O:获取/设置数字引脚的高/低状态(不支持 PWM)。

1级

模拟输入:从模拟引脚读取值。

2级

PWM 输出:为具有 PWM 功能的数字引脚设置可变值。

实验

该板已经完成了一些 Python 实验。请参阅实验/目录以获取可能有助于为电路板启动新驱动程序的代码。

没有任何

什么都没做。您有很好的机会通过实验做出贡献和/或开始一个新的驱动程序。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pingo-0.2.0.tar.gz (15.6 kB 查看哈希)

已上传 source