0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样在BeagleBone Black上设置IO Python库

454398 来源:网络整理 作者:网络整理 2019-12-02 11:02 次阅读

概述

BeagleBone Black的独特之处在于它具有许多可在易于使用的针座上使用的针,以及功能强大的小型系统。有2 x 46引脚可用(嗯,不是全部,但是我们稍后会介绍)。

一些可用功能:

7类比引脚

65个数字引脚,电压为3.3V

2x I2C

2x SPI

2x CAN总线

4计时器

4x UART

8x PWM

A/D转换器

非常丰富的功能列表! Adafruit BeagleBone IO Python库不支持所有这些库,但是我们希望在以后的过程中添加更多内容。

下一页将指导您安装库,以及入门的基本用法。 div》

教程仅在当前针对Angstrom,Ubuntu和Debian安装而编写。

在Angstrom上安装

安装Adafruit-BeagleBone-IO-Python(phew!)库非常简单。确保我们首先有一个良好的基础设置。

这里最重要的部分是您使用的是带有3.8内核的Linux发行版。该内核版本对访问GPIO和PWM的方式进行了相当重要的更改。好消息是您的BeagleBone Black预装了正确的内核。它可能不是最新的也是最大的。如果您有多余的时间,那么遵循我们的Angstrom安装指南,并用最新版本的BeagleBone Black刷新并不是一个坏主意。

连接到BeagleBone Black(SSH)

一旦您在BBB上拥有最新版本的Angstrom,就让我们进入系统,以便我们执行命令。获得系统访问权限的最简单方法是使用GateOne SSH。您可以通过在浏览器窗口中键入以下内容来轻松访问GateOne:

下载:文件

复制代码

http://beaglebone.local http://beaglebone.local

页面成功加载后(您应该会看到一个绿色框,上面写着“您的板已连接!”),您可以单击侧边栏中左上方的“ GateOne SSH链接”。然后,单击“ GateOne SSH客户端”链接开始。某些浏览器可能会抱怨证书无效,但仍然可以继续进行操作。

要登录到beaglebone,请在提示符下键入以下内容(假定root用户使用全新的Angstrom安装):

下载:文件

复制代码

Host/IP or SSH URL [localhost]: beaglebone.local

Port [22]: (just hit enter)

User: root

Connecting to ssh://[email protected]:22 Host/IP or SSH URL [localhost]: beaglebone.local

Port [22]: (just hit enter)

User: root

Connecting to ssh://[email protected]:22

设置和安装Adafruit_B的命令BIO 现在,您已经连接到BBB,您将需要从设置日期和时间开始,以便准确。将以下内容复制并粘贴到您的终端中(您可能希望以后在启动时执行此操作):

下载:文件

复制代码

/usr/bin/ntpdate -b -s -u pool.ntp.org /usr/bin/ntpdate -b -s -u pool.ntp.org

这些命令将需要Internet访问。如果遇到错误,请查看FAQ页面以获取解决方案。

下一步,执行以下每一行。将以下内容一一复制并粘贴到终端中,然后按Enter键:

下载:文件

复制代码

opkg update && opkg install python-pip python-setuptools python-smbus

pip install Adafruit_BBIO opkg update && opkg install python-pip python-setuptools python-smbus

pip install Adafruit_BBIO

测试您的安装(可选)您可以选择尝试加载模块之一来选择是否成功安装。从控制台(而不是从python解释器中)执行以下命令,它不应引发任何错误,但返回一行:

下载:文件

复制代码

python -c “import Adafruit_BBIO.GPIO as GPIO; print GPIO”

#you should see this or similar:

python -c “import Adafruit_BBIO.GPIO as GPIO; print GPIO”

#you should see this or similar:

您还可以通过执行“ python”命令进行验证启用解释器并运行以下代码(当您在终端中看到“ 》》》”时,便可以知道您在正确的位置):

下载:文件

复制代码

import Adafruit_BBIO.GPIO as GPIO; print GPIO

#you should see this or similar:

import Adafruit_BBIO.GPIO as GPIO; print GPIO

#you should see this or similar:

手动安装(可选)您还可以通过克隆git存储库来安装Adafruit_BBIO。以下命令也应将其安装:

下载:文件

复制代码

git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git

#set the date and time

/usr/bin/ntpdate -b -s -u pool.ntp.org

#install dependency

opkg update && opkg install python-distutils python-smbus

cd adafruit-beaglebone-io-python

python setup.py install git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git

#set the date and time

/usr/bin/ntpdate -b -s -u pool.ntp.org

#install dependency

opkg update && opkg install python-distutils python-smbus

cd adafruit-beaglebone-io-python

python setup.py install

在Debian和Ubuntu上安装

该库的大部分内容必须是在Debian和Ubuntu中以sudo的身份运行。

安装Adafruit-BeagleBone-IO-Python(phew!)库非常简单。确保我们首先有一个良好的基础设置。

这里最重要的部分是您使用的是带有3.8内核的Linux发行版。此内核版本在访问GPIO,PWM和ADC的方式方面进行了相当重要的更改。

连接到BeagleBone Black(SSH)

让ssh进入系统,以便我们执行命令。打开您喜欢的终端,然后通过SSH进入BeagleBone Black(BBB)。注意,Ubuntu没有预装Avahi-Daemon。这意味着您需要使用IP地址而不是主机名进行连接。

下载:文件

复制代码

ssh [email protected] ssh [email protected]

输入密码(最有可能是“ temppwd”)。现在,您应该可以使用提示输入命令。

用于设置和安装的命令BBIO 现在,您已经连接到BBB,您将需要从设置日期和时间开始,以便准确。将以下内容复制并粘贴到您的终端中(您可能希望以后在启动时执行此操作):

下载:文件

复制代码

sudo ntpdate pool.ntp.org sudo ntpdate pool.ntp.org

下一步安装依赖项:

下载:文件

复制代码

sudo apt-get update

sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y sudo apt-get update

sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y

根据您所安装的Debian或Ubuntu版本,您可能需要dtc的修补版本。

dtc(设备树编译器)的修补版本具有编译覆盖图的功能。 Adafruit_BBIO库为SPI和UART编译了一组覆盖。如果您不使用SPI或UART,则可以跳过升级和修补dtc的步骤。

您可以按照本指南测试dtc。如果您不满意本指南,则仅安装dtc的修补程序版本不会造成任何问题。

您可以在我们的Github存储库中查看叠加层。

您可以找到dtc的修补程序版本。

确定了是否需要dtc的修补版本并安装后,执行命令安装BBIO:

下载:文件

复制代码

sudo pip install Adafruit_BBIO sudo pip install Adafruit_BBIO

测试安装(可选)您可以选择通过简单地尝试测试安装是否成功加载模块之一。从控制台执行以下命令(而不是从python解释器中执行),它不应引发任何错误,而应返回一行:

下载:文件

复制代码

sudo python -c “import Adafruit_BBIO.GPIO as GPIO; print GPIO”

#you should see this or similar:

sudo python -c “import Adafruit_BBIO.GPIO as GPIO; print GPIO”

#you should see this or similar:

您还可以通过执行“ python‘命令启用解释器,并运行以下代码(当您在终端中看到“ 》》》”时,便可以知道您在正确的位置):

下载:文件

复制代码

import Adafruit_BBIO.GPIO as GPIO; print GPIO

#you should see this or similar:

import Adafruit_BBIO.GPIO as GPIO; print GPIO

#you should see this or similar:

手动安装(可选)您也可以通过克隆git存储库来安装BBIO。以下命令也应将其安装:

下载:文件

复制代码

sudo ntpdate pool.ntp.org

sudo apt-get update

sudo apt-get install build-essential python-dev python-pip python-smbus -y

git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git

cd adafruit-beaglebone-io-python

sudo python setup.py install

cd 。.

sudo rm -rf adafruit-beaglebone-io-python sudo ntpdate pool.ntp.org

sudo apt-get update

sudo apt-get install build-essential python-dev python-pip python-smbus -y

git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git

cd adafruit-beaglebone-io-python

sudo python setup.py install

cd 。.

sudo rm -rf adafruit-beaglebone-io-python

使用Adafruit_BBIO库

此库对它。在您更新库时,请随时阅读CHANGELOG,以确保它不会破坏您的程序。

将Adafruit_BBIO库与BeagleBone Black(BBB)结合使用非常简单,尤其是如果您熟悉Raspberry Pi的RPi.GPIO库。

首先,您需要导入该库。目前有两个不同的选项可以导入。第一个用于GPIO:

下载:文件

复制代码

import Adafruit_BBIO.GPIO as GPIO import Adafruit_BBIO.GPIO as GPIO

如果要使用PWM,请按以下方式导入:

下载:文件

复制代码

import Adafruit_BBIO.PWM as PWM import Adafruit_BBIO.PWM as PWM

您可以通过引用“键”或名称来访问通道。如果您看一下BeagleBone Black,您会看到每组排针都有一个名称,即P8或P9。然后,您会看到有从1开始的针脚编号,然后转到46。

当您对针脚进行计数时,您并不是沿长度方向走,而是从1开始,然后到2,然后备份到下一个针3,依此类推。下图更好地说明了这一点:

因此,要访问P9的第一个图钉,请使用“ P9_1”。您也可以使用图钉的名称进行访问,即为。但是您不希望这样做,因为P9_1实际上是gnd!您将要查看本指南的最后一页,以查看可以使用哪些引脚。

并非所有引脚都必须可用。 HDMI和eMMC闪存模块默认情况下占用了很多。

I2C仅与Python2兼容。

GPIO

下面是一些使用Adafruit_BBIO.GPIO模块的示例。使用起来非常简单。

您可能需要使用sudo运行此库,尤其是在Ubuntu上。

设置

要将数字引脚设置为输出,请将输出值设置为HIGH,然后在完成后进行清除:

下载:文件

复制代码

import Adafruit_BBIO.GPIO as GPIO

GPIO.setup(“P8_10”, GPIO.OUT)

GPIO.output(“P8_10”, GPIO.HIGH)

GPIO.cleanup() import Adafruit_BBIO.GPIO as GPIO

GPIO.setup(“P8_10”, GPIO.OUT)

GPIO.output(“P8_10”, GPIO.HIGH)

GPIO.cleanup()

您还可以参考引脚名称:

下载:文件

复制代码

GPIO.setup(“GPIO0_26”, GPIO.OUT) GPIO.setup(“GPIO0_26”, GPIO.OUT)

在第一个示例中,您可以看到我们使用“ P8_10”键来指定我们使用哪个引脚想要设置为输出,在第二个示例中使用相同的引脚,但使用的名称为“ GPIO0_26”。

您还可以将引脚设置为输入,如下所示:

下载:文件

复制代码

import Adafruit_BBIO.GPIO as GPIO

GPIO.setup(“P8_14”, GPIO.IN) import Adafruit_BBIO.GPIO as GPIO

GPIO.setup(“P8_14”, GPIO.IN)

完成此操作后,您可以通过几种不同的方式访问输入值。第一种也是最简单的方法是轮询输入,例如在不断检查输入的循环中:

下载:file

复制代码

if GPIO.input(“P8_14”):

print(“HIGH”)

else:

print(“LOW”) if GPIO.input(“P8_14”):

print(“HIGH”)

else:

print(“LOW”)

您也可以等待边缘。这意味着如果值是下降(从3V下降到0V),上升(从0V上升到3V)或两者(即从3V变化)到0V或相反),GPIO库将触发并继续执行您的程序。

wait_for_edge 方法被阻止,并将等待直到发生某些事情:

下载:文件

复制代码

GPIO.wait_for_edge(“P8_14”, GPIO.RISING) GPIO.wait_for_edge(“P8_14”, GPIO.RISING)

另一个非阻塞选项是添加要检测的事件。首先,您要设置要监视的事件,然后可以执行程序将要执行的其他任何操作,然后可以检查是否检测到该事件。

一个简单的示例如下:

下载:文件

复制代码

GPIO.add_event_detect(“P9_12”, GPIO.FALLING)

#your amazing code here

#detect wherever:

if GPIO.event_detected(“P9_12”):

print “event detected!” GPIO.add_event_detect(“P9_12”, GPIO.FALLING)

#your amazing code here

#detect wherever:

if GPIO.event_detected(“P9_12”):

print “event detected!”

我们将继续添加更多示例和功能,因此请经常回来查看!

PWM

下面是一些使用Adafruit_BBIO.PWM模块的示例。使用起来也非常简单!

设置使用PWM的引脚:

下载:文件

复制代码

import Adafruit_BBIO.PWM as PWM

#PWM.start(channel, duty, freq=2000, polarity=0)

PWM.start(“P9_14”, 50)

#optionally, you can set the frequency as well as the polarity from their defaults:

PWM.start(“P9_14”, 50, 1000, 1) import Adafruit_BBIO.PWM as PWM

#PWM.start(channel, duty, freq=2000, polarity=0)

PWM.start(“P9_14”, 50)

#optionally, you can set the frequency as well as the polarity from their defaults:

PWM.start(“P9_14”, 50, 1000, 1)

有效的值是0.0到100.0。 start 方法激活该通道上的pwm。无需使用Adafruit_BBIO.PWM 设置通道。

启动后,您可以设置占空比或频率:

下载:文件

复制代码

PWM.set_duty_cycle(“P9_14”, 25.5)

PWM.set_frequency(“P9_14”, 10) PWM.set_duty_cycle(“P9_14”, 25.5)

PWM.set_frequency(“P9_14”, 10)

您还希望禁用该特定通道,或者在完成后全部清理:

下载:文件

复制代码

PWM.stop(“P9_14”)

PWM.cleanup() PWM.stop(“P9_14”)

PWM.cleanup()

ADC

ADC当前有三种可用方法。 设置,读取 和 read_raw 。您需要确保在阅读之前使用设置,否则将引发错误。

ADC仅在少数几个引脚上可用,如下所示:

下载:文件

复制代码

“AIN4”, “P9_33”

“AIN6”, “P9_35”

“AIN5”, “P9_36”

“AIN2”, “P9_37”

“AIN3”, “P9_38”

“AIN0”, “P9_39”

“AIN1”, “P9_40” “AIN4”, “P9_33”

“AIN6”, “P9_35”

“AIN5”, “P9_36”

“AIN2”, “P9_37”

“AIN3”, “P9_38”

“AIN0”, “P9_39”

“AIN1”, “P9_40”

1.8V是最大电压。 AIN引脚上的电压不要超过1.8V! VDD_ADC(P9_32)提供1.8V。将GNDA_ADC(P9_34)接地。

将设备的3.3V降至所需的1.8V的一种简单方法是使用电阻分压器。从3v模拟信号到地串联两个相同的电阻器(10K至100K),然后在两者之间连接模拟输入引脚。分压器会将0至3.3v的电压均分为0-1.65V,这也为您提供了一些余量。

设置以设置ADC,只需导入模块,然后调用 setup :

下载:文件

复制代码

import Adafruit_BBIO.ADC as ADC

ADC.setup() import Adafruit_BBIO.ADC as ADC

ADC.setup()

然后,要读取P9_40上的模拟值,只需阅读它们:

下载:文件

复制代码

value = ADC.read(“P9_40”) value = ADC.read(“P9_40”)

除键(上方)外,您还可以使用引脚名称进行读取:

下载:文件

复制代码

value = ADC.read(“AIN1”) value = ADC.read(“AIN1”)

ADC驱动程序当前存在错误。您需要读取两次值才能获取最新值。

read 返回的值在0范围内-1.0。您可以通过执行以下操作获取电压:

下载:文件

复制代码

import Adafruit_BBIO.ADC as ADC

ADC.setup()

value = ADC.read(“P9_40”)

voltage = value * 1.8 #1.8V import Adafruit_BBIO.ADC as ADC

ADC.setup()

value = ADC.read(“P9_40”)

voltage = value * 1.8 #1.8V

您还可以使用 read_raw 来获取实际值:

下载:文件

复制代码

import Adafruit_BBIO.ADC as ADC

ADC.setup()

value = ADC.read_raw(“P9_40”) import Adafruit_BBIO.ADC as ADC

ADC.setup()

value = ADC.read_raw(“P9_40”)

I2C

Adafruit_I2C.py模块现在作为顶级模块包含在Adafruit_BBIO库中。这意味着许多为Raspberry Pi构建的流行Python库现在可以在BeagleBone Black上运行,如果它们使用的是I2C,例如BMP085传感器库。

要使用该模块,就像导入它一样简单。 ,并设置I2C地址,并设置总线(默认为I2C-1):

下载:文件

复制代码

from Adafruit_I2C import Adafruit_I2C

i2c = Adafruit_I2C(0x77) from Adafruit_I2C import Adafruit_I2C

i2c = Adafruit_I2C(0x77)

I2C需要从发行版的程序包管理器(opkg或apt-get)中安装python程序包“ python-smbus”,以使其正常运行。它已包含在Adafruit_BBIO安装说明中。到目前为止,python-smbus仅与Python2兼容。

默认情况下启用的I2C SCL和SDA引脚如下:

下载:文件

复制代码

P9_19: I2C2, SCL

P9_20: I2C2, SDA P9_19: I2C2, SCL

P9_20: I2C2, SDA

探针连接设备的I2C总线:

下载:文件

复制代码

i2cdetect -y -r 0

i2cdetect -y -r 1 i2cdetect -y -r 0

i2cdetect -y -r 1

I2C模块的最新pydoc:

下载:文件

复制代码

class Adafruit_I2C

| Methods defined here:

|

| __init__(self, address, busnum=-1, debug=False)

|

| errMsg(self)

|

| readList(self, reg, length)

| Read a list of bytes from the I2C device

|

| readS16(self, reg)

| Reads a signed 16-bit value from the I2C device

|

| readS16Rev(self, reg)

| Reads a signed 16-bit value from the I2C device with rev byte order

|

| readS8(self, reg)

| Reads a signed byte from the I2C device

|

| readU16(self, reg)

| Reads an unsigned 16-bit value from the I2C device

|

| readU16Rev(self, reg)

| Reads an unsigned 16-bit value from the I2C device with rev byte order

|

| readU8(self, reg)

| Read an unsigned byte from the I2C device

|

| reverseByteOrder(self, data)

| Reverses the byte order of an int (16-bit) or long (32-bit) value

|

| write16(self, reg, value)

| Writes a 16-bit value to the specified register/address pair

|

| write8(self, reg, value)

| Writes an 8-bit value to the specified register/address

|

| writeList(self, reg, list)

| Writes an array of bytes using I2C format class Adafruit_I2C

| Methods defined here:

|

| __init__(self, address, busnum=-1, debug=False)

|

| errMsg(self)

|

| readList(self, reg, length)

| Read a list of bytes from the I2C device

|

| readS16(self, reg)

| Reads a signed 16-bit value from the I2C device

|

| readS16Rev(self, reg)

| Reads a signed 16-bit value from the I2C device with rev byte order

|

| readS8(self, reg)

| Reads a signed byte from the I2C device

|

| readU16(self, reg)

| Reads an unsigned 16-bit value from the I2C device

|

| readU16Rev(self, reg)

| Reads an unsigned 16-bit value from the I2C device with rev byte order

|

| readU8(self, reg)

| Read an unsigned byte from the I2C device

|

| reverseByteOrder(self, data)

| Reverses the byte order of an int (16-bit) or long (32-bit) value

|

| write16(self, reg, value)

| Writes a 16-bit value to the specified register/address pair

|

| write8(self, reg, value)

| Writes an 8-bit value to the specified register/address

|

| writeList(self, reg, list)

| Writes an array of bytes using I2C format

SPI

SPI包含在Adafruit_BBIO库中。以下是有关如何使用它的基础知识。

您可以导入SPI模块:

下载:文件

复制代码

from Adafruit_BBIO.SPI import SPI from Adafruit_BBIO.SPI import SPI

导入后,您将要初始化总线和设备:

下载:文件

复制代码

spi = SPI(0,0) spi = SPI(0,0)

BeagleBone Black(BBB)包括SPI0和SPI1。 SPI1当前默认情况下不可用,因为HDMI接口使用的是其中一个引脚。

注意:如果不禁用HDMI接口,则无法在BeagleBone Black上使用SPI1。

有四种/dev/spidev *总线和设备组合可用。通过执行以下代码可以使用它们:

下载:文件

复制代码

#import the library

from Adafruit_BBIO.SPI import SPI

#Only need to execute one of the following lines:

#spi = SPI(bus, device) #/dev/spidev.

spi = SPI(0,0) #/dev/spidev1.0

spi = SPI(0,1) #/dev/spidev1.1

spi = SPI(1,0) #/dev/spidev2.0

spi = SPI(1,1) #/dev/spidev2.1 #import the library

from Adafruit_BBIO.SPI import SPI

#Only need to execute one of the following lines:

#spi = SPI(bus, device) #/dev/spidev.

spi = SPI(0,0) #/dev/spidev1.0

spi = SPI(0,1) #/dev/spidev1.1

spi = SPI(1,0) #/dev/spidev2.0

spi = SPI(1,1) #/dev/spidev2.1

如果要禁用HDMI访问SPI1,可以将以下内容添加到BBB的小FAT分区中的uEnv.txt文件中:

下载:文件

复制代码

mkdir /mnt/boot

mount /dev/mmcblk0p1 /mnt/boot

nano /mnt/boot/uEnv.txt

#change contents of uEnv.txt to the following:

optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN mkdir /mnt/boot

mount /dev/mmcblk0p1 /mnt/boot

nano /mnt/boot/uEnv.txt

#change contents of uEnv.txt to the following:

optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

用于SPI0和SPI1的引脚

《表类=“ editor-table”》 PORT CS0 DO DI SCLK SPI0 P9_17 P9_21 P9_18 P9_22 SPI1 P9_28 P9_29 P9_30 P9_31

UART

Adafruit IO Python库将方便地导出UART设备树覆盖。扩展头中有五个串行端口(UART3仅具有一个方向,TX),而一个端口(UART0)具有专用头,这些扩展头在Python程序中不可用。

设置要设置和导出UART,您可以执行以下操作:

下载:文件

复制代码

import Adafruit_BBIO.UART as UART

UART.setup(“UART1”) import Adafruit_BBIO.UART as UART

UART.setup(“UART1”)

就是这样!

此外,还有一个 cleanup()方法可以使用,但由于内核中的错误导致在卸载设备树覆盖时导致内核崩溃,该方法目前无法使用。我们会在工作时进行更新。一种解决方法是使UART保持启用状态,或者重新启动BeagleBone Black。

UART的引脚表

UARTRXTXCTSRTS设备

UART1P9_26P9_24P9_20P9_19/dev/ttyO1

UART2P9_22P9_21

/dev/ttyO2

UART3

P9_42P8_36P8_34/dev/ttyO3

UART4P9_11P9_13P8_35P8_33/dev/ttyO4

UART5P8_38P8_37P8_31P8_32/dev/ttyO5

将UART与Python结合使用,您可以使用pyserial mod python中的ule,但是您首先需要使用pip安装它。如果尚未安装pip,则可以按照本教程安装页面上的说明进行操作。

SSH进入BeagleBone Black,并执行以下命令:

下载:文件

复制代码

pip install pyserial pip install pyserial

下面是一个非常简单的python程序,这是一个很好的起点。将其保存到文件中,然后使用“ python file_name.py”

执行该文件:文件

复制代码

import Adafruit_BBIO.UART as UART

import serial

UART.setup(“UART1”)

ser = serial.Serial(port = “/dev/ttyO1”, baudrate=9600)

ser.close()

ser.open()

if ser.isOpen():

print “Serial is open!”

ser.write(“Hello World!”)

ser.close()

# Eventually, you’ll want to clean up, but leave this commented for now,

# as it doesn‘t work yet

#UART.cleanup() import Adafruit_BBIO.UART as UART

import serial

UART.setup(“UART1”)

ser = serial.Serial(port = “/dev/ttyO1”, baudrate=9600)

ser.close()

ser.open()

if ser.isOpen():

print “Serial is open!”

ser.write(“Hello World!”)

ser.close()

# Eventually, you’ll want to clean up, but leave this commented for now,

# as it doesn‘t work yet

#UART.cleanup()

测试和使用UART ,您可以轻松测试一切正常,而无需编写任何代码,也无需安装任何其他依赖项即可开始使用。

下一步,您将需要将两条线连接到UART引脚。我们将要穿越UART1和UART2的RX/TX。第一线应从P9_24连接到P9_22。第二根线应从P9_26连接到P9_21。

接下来,使用Adafruit IO库在python解释器中导出UART1和UART2:

下载:文件

复制代码

[email protected]:~# python

Python 2.7.3 (default, May 29 2013, 21:25:00)

[GCC 4.7.3 20130205 (prerelease)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

》》》 import Adafruit_BBIO.UART as UART

》》》 UART.setup(“UART1”)

》》》 UART.setup(“UART2”)

》》》 exit() [email protected]:~# python

Python 2.7.3 (default, May 29 2013, 21:25:00)

[GCC 4.7.3 20130205 (prerelease)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

》》》 import Adafruit_BBIO.UART as UART

》》》 UART.setup(“UART1”)

》》》 UART.setup(“UART2”)

》》》 exit()

完成后,执行以下命令以启动minicom(使用您选择的终端使用两个单独的ssh会话,我的在OS X中由选项卡分隔):

下载:文件

复制代码

#first terminal window:

minicom -b 9600 -D /dev/ttyO1

#second terminal window:

minicom -b 9600 -D /dev/ttyO2 #first terminal window:

minicom -b 9600 -D /dev/ttyO1

#second terminal window:

minicom -b 9600 -D /dev/ttyO2

打开minicom后应该看起来像这样:

class =“ fa fa-search-plus”》

查看另一个终端,您应该会看到类似以下内容:

您可以通过按Ctrl-A,然后按Z,然后按X,然后在对话框中按Enter键退出minicom。

Pin详细信息

更多详细信息即将发布!下图来自BeagleBone Black系统参考手册。

下表可用于查找GND和VDD引脚:

除非您不介意禁用这些功能,否则请完全避免使用eMMC和HDMI(LCD)引脚。

在BeagleBone启动过程中应避免使用Boot Configuration(启动配置)引脚。

常见问题解答

使用opkg安装或执行ntpupdate设置时间时出现错误。如何解决?

您需要按顺序连接到BeagleBone Black。安装IO Python库。确保您可以访问互联网。您可以尝试:以ping adafruit.com为例,或者如果您正在使用HDMI输出并拥有台式机,请打开浏览器并测试Internet。

首先,确保将以太网连接到交换机或路由器。或者,如果您已使用我们的指南之一设置了wifi,请确保其正常工作。

接下来,您可以尝试通过添加DNS名称服务器来解决此问题。只需使用以下命令即可:

下载:文件

复制代码

echo nameserver 8.8.8.8 》 /etc/resolv.conf echo nameserver 8.8.8.8 》 /etc/resolv.conf

Adafruit BBIO python内核的来源在哪里?

检查! -》 http://github.com/adafruit/adafruit-beaglebone-io-python

Adafruit BBIO库是否支持Python 3?

已关闭。一切都准备就绪,但是我们大多数都需要人们对其进行测试,并将任何错误(带有修复程序都很好!)提交到GitHub存储库。

《我class =“ fa fa-question-circle-o”》

改进图书馆的一些想法,我该怎么做?

源代码位于GitHub上。请随代码一起提交拉取请求以及支持它的测试。

如果有任何错误,也请在那里提交它们。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
  • BeagleBone
    +关注

    关注

    4

    文章

    26

    浏览量

    65642
收藏 人收藏

    评论

    相关推荐

    EtherCAT IO的接线方法和流程是怎样的?

    EtherCAT IO的接线方法和流程是怎样的? EtherCAT是一种用于实时以太网通信的开放式通信协议,具有低延迟和高带宽的优势。 EtherCAT IO是EtherCAT网络中连接到IO
    的头像 发表于 02-02 16:57 483次阅读

    PSoc4控制GPIO时,怎样才能用modustoolBox为GPIO设置驱动模式?

    PSoc4 控制 GPIO 时,我想为 GPIO 设置驱动模式。 PSoC Creator 中,可以 “元器件目录” 中选择并放
    发表于 01-22 07:29

    python怎么设置循环次数

    Python中,可以使用循环语句来重复执行一段代码多次。要设置循环次数,可以使用循环的计数器来控制循环的执行次数。以下是几种常用的设置循环次数的方法: 使用range()函数: range()函数
    的头像 发表于 11-23 15:50 1914次阅读

    pycharm中python interpreter怎么设置

    在PyCharm中设置Python解释器非常简单,只需按照以下步骤操作: 打开PyCharm,并打开你的项目。 在菜单栏中选择"File"(文件),然后选择"Settings"(设置
    的头像 发表于 11-22 11:08 1113次阅读

    Black:自动格式化代码的神器

    代码规范啊! 没事,现在有Black这个神器,我们可以在终端中输入一句命令就自动格式化代码!而且对于初学者来说,用Black来学习代码规范也是一个非常不错的选择。 1.准备 开始之前,你要确保Python和pip已经成功安装在电
    的头像 发表于 11-02 14:51 702次阅读
    <b class='flag-5'>Black</b>:自动格式化代码的神器

    cad怎样设置多线线宽?cad怎样让所有的线都在一个平面?

    cad怎样设置多线线宽?cad怎样让所有的线都在一个平面?cad如何把所有线串联起来? CAD是一种广泛使用的计算机辅助设计软件,广泛用于建筑、工程、制造、机械、动画等领域。在使用CAD软件时,我们
    的头像 发表于 10-19 16:53 3632次阅读

    请问M0516IO电平状态在哪有描述?能否设置

    M0516 IO电平状态在哪有描述?能否设置
    发表于 08-25 07:42

    Beaglebone黑色MIDI/Wav播放器开源分享

    电子发烧友网站提供《Beaglebone黑色MIDI/Wav播放器开源分享.zip》资料免费下载
    发表于 07-13 09:18 0次下载
    <b class='flag-5'>Beaglebone</b>黑色MIDI/Wav播放器开源分享

    BeagleBone Black Wireless、MotorCape和线性执行器

    电子发烧友网站提供《BeagleBone Black Wireless、MotorCape和线性执行器.zip》资料免费下载
    发表于 07-05 10:34 0次下载
    <b class='flag-5'>BeagleBone</b> <b class='flag-5'>Black</b> Wireless、MotorCape和线性执行器

    使用Beaglebone和BluPants进行编码

    电子发烧友网站提供《使用Beaglebone和BluPants进行编码.zip》资料免费下载
    发表于 07-05 09:20 0次下载
    使用<b class='flag-5'>Beaglebone</b>和BluPants进行编码

    BeagleBone LED音频光谱仪

    电子发烧友网站提供《BeagleBone LED音频光谱仪.zip》资料免费下载
    发表于 06-20 11:22 0次下载
    <b class='flag-5'>BeagleBone</b> LED音频光谱仪

    用于将数据从Google表单自动发布到Adafruit IOPython脚本

    电子发烧友网站提供《用于将数据从Google表单自动发布到Adafruit IOPython脚本.zip》资料免费下载
    发表于 06-16 15:47 0次下载
    用于将数据从Google表单自动发布到Adafruit <b class='flag-5'>IO</b>的<b class='flag-5'>Python</b>脚本

    Beaglebone智能圣诞花环开源分享

    电子发烧友网站提供《Beaglebone智能圣诞花环开源分享.zip》资料免费下载
    发表于 06-16 10:26 0次下载
    <b class='flag-5'>Beaglebone</b>智能圣诞花环开源分享

    编译草图python选项错误怎么处理?

    到 influxdb,但无法编译和上传任何草图。我不断收到 python 选项错误。 python 执行 man 之后,我可以确认错误“-I”不是一个选项。看起来正确的选项是“-i
    发表于 06-02 06:37

    有Pico-iTX外形规格NXP® i.MX8M 系列 (ND108T) 的手册和Python吗?

    我为树莓编译了一个 python 脚本来管理带中断的 GPIO。 我必须在 NXP i.MX8M 测试相同的功能。有 Pico-iTX 外形规格 NXP® i.MX8M 系列 (ND108T) 的手册和 Python
    发表于 05-22 08:39