我想在python中编写一个脚本,用beaglebone black进行数据采集.但是,当我读到数值时,我只会发出噪音.
我有一个电路设置为输入一个信号(我运行的是一个.1-10 Hz 12v方波脉冲),电压调节器将电压限制在5v,分压器将其降低到安全电压(~1v) )用于BBB上的模拟引脚.
电路:

然后使用python脚本我想将值记录到一个数组中,并在程序完成后绘制它们.
在ipython shell中:
In [1]: import Adafruit_BBIO.ADC as adc
In [2]: import time
In [3]: AIN0 = "P9_39"
In [4]: T = 0.1 # or some other value
In [5]: adc.setup()
In [6]: a = []
In [7]: while True:
a.append(adc.read(AIN0)*1800) # pin value times 1.8 ref voltage
time.sleep(T)
Run Code Online (Sandbox Code Playgroud)
运行一段时间后,我崩溃了脚本并写入a要写入scp我桌面的文件.但是当我绘制它时,它只是噪音.我已经连接到AIN0地面和地面之间的o范围,波形就是我所期待的.我也设置了一个这样的电位器:

我可以通过python读取正确的值.所以,我认为必须要做一个连续采样,这会产生问题.
我正在尝试为beaglebone制作程序让我控制gpio引脚.我试图使用sprintf()但不接受输入,因为我知道.
我必须在beaglebone中重写几个文件
gpio导出激活引脚gpio gpio $ pin /方向引脚模式输入/输出gpio gpio $ pin/value引脚值1/0
家伙.. !! 只需要一个想法如何实现我的目标.
我是c ++的新手.任何信息或评论我会感谢你们的时间.
/ etc/network/interfaces中的设置似乎对我的BeagleBone黑色版本C没有任何影响.我想将我的beaglebone black的以太网IP地址设置为静态IP,就像我对运行Debian的所有其他物联网设备所做的那样.我像以前一样编辑了/ etc/network/interfaces,但是我没有看到ifconfig的任何变化.这是在重新启动网络并重新启动beaglebone之后.我有点搜索,并在搜索后发布到beaglebone论坛,我仍然没有解决方案.我注意到接口中有一条注释行,表示设置是通过init脚本设置的,但这是我丢失的地方.我对Debian有一定的了解,但我并没有明显地剥去足够的层数.我通过以太网连接器连接我的beaglebone黑色.WIFI是我将要解决的野兽.
我设置我的路由器根据MAC ID保留一个特定的IP,但我想知道我在这里缺少什么.
iface usb0 inet static
address 192.168.0.103
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
iface eth0 inet static
address 192.168.0.102
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
Run Code Online (Sandbox Code Playgroud) 我知道如何在python中使用datetime获取当前系统日期和时间.有没有办法使用python语言在同一网络中获取另一个系统的日期和时间?我google了很多,但没有找到任何有用的东西.基本上,我使用beaglebone black(使用usb以太网连接与主机)来实现流量管理系统.使用datetime,程序返回beaglebone的时间.相反,我想要主机系统的时间.我怎样才能做到这一点 ?
我目前遇到了Beaglebone黑色的GPIO引脚问题。
我正在寻找一种从C中的GPIO引脚p8_4读取值的正确方法。如果我正确理解的话,我尝试使用一个库,该库从引入设备树之前一直使用一种不支持的旧方法。
我试图找到解决问题的其他方法,但似乎找不到。有没有人能让我在C的正确轨道上前进?
我想将tcpdump添加到yocto build中
我发现,我需要补充meta-networking到bblayers.conf.meta-networking是分开的meta-openembedded
以下是我遵循的步骤:
meta-openembedded:git clone git@github.com:openembedded/meta-openembedded.gitjethro分支并确认meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb存在meta-networking及其依赖包bblayers.confBBLAYERS
/home/linux/work/yocto/poky/meta-openembedded/meta-oe \
/home/linux/work/yocto/poky/meta-openembedded/meta-networking \
/home/linux/work/yocto/poky/meta-openembedded/meta-python \
Run Code Online (Sandbox Code Playgroud)
启动BBB(Beaglebone black)后,我仍然无法看到tcpdump二进制文件.我很确定我错过了一些东西.我是yocto的新手.任何指导都会非常有帮助.
我有一张带有标准 Beaglebone Debian 映像的 SD 卡。我也有构建 u-boot的MLO和u-boot.img文件。我想在 SD 卡上安装新的 u-boot,然后将修改后的映像闪存到 Beaglebone Black 上的 MMC。
我可以很好地从 SD 卡闪存板载 MMC。我还可以通过串行连接到电路板并在 u-boot 中停止。
我不知道如何做的是将新的u-boot正确写入SD卡。我尝试了几件事:
这些elinux 指令用于擦除 SD 卡并创建新的可引导分区。我实际上并没有尝试这个,因为我想将新的 u-boot 安装到现有映像中。
$ echo -e "o\nn\np\n1\n\n+64M\na\n1\nt\nc\nw\n" | sudo fdisk /dev/MYDISK ; sudo fdisk /dev/MYDISK -l
$ sudo mount /dev/MYDISK /mnt
$ sudo cp MLO /mnt
$ sudo cp u-boot.img /mnt
$ sudo sync
$ sudo umount /mnt
Run Code Online (Sandbox Code Playgroud)这些digikey 指令是同一事物的不同版本。我尝试以这种方式编写 MLO 和 u-boot.img,而无需擦除磁盘,但该板仍然使用原始 u-boot 而不是新的引导。
$ sudo …Run Code Online (Sandbox Code Playgroud)我使用内核 linux-ti-staging-4.14 和自定义设备树为我的 BBB 构建了 yocto 发行版 (rocko)。由于我需要将一个旧项目从 Debian 移植到 Yocto,因此我还需要在内核中启用 UIO 功能,这也可以正常工作。
现在我还需要为 UIO PRUSS 创建一个附加的设备树覆盖。我使用此处的 dts 文件并通过 bbappend 扩展了内核配方:
inherit kernel-devicetree
FILESEXTRAPATHS_prepend := "${THISDIR}/files/dts:${THISDIR}/files/beaglebone:"
# Make custom kernel with PRU enabled
SRC_URI += " \
file://bbb-pru-minimal.dts;subdir=git/arch/${ARCH}/boot/dts \
file://AM335X-PRU-UIO-00A0-overlay.dts;subdir=git/arch/${ARCH}/boot/dts/overlays \
file://0001-add-UIO-dtbo.patch \
file://defconfig \
"
KERNEL_DEVICETREE = " \
AM335X-PRU-UIO-00A0.dtbo \
bbb-pru-minimal.dtb \
"
Run Code Online (Sandbox Code Playgroud)
上面列出的补丁文件包含:
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 7949c213a434..fe2513074893 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -610,6 +610,7 @@ dtb-$(CONFIG_SOC_TI81XX) += \
dm8168-evm.dtb \
dra62x-j5eco-evm.dtb
dtb-$(CONFIG_SOC_AM33XX) …Run Code Online (Sandbox Code Playgroud) 我无法启用UART.关于如何从更新uEnv.txt文件到更新内核启用和解决问题,我已经经历了许多不同的方向.我得出的结论是,使用与指令不同的内核可能是一个问题,但我不确定?我不太了解Beaglebone,我还在学习.每当我尝试使用Python测试UART并输入以下内容时:
导入Adafruit_BBIO.UART作为UART
UART.setup( "UART1")
我收到错误:文件"stdin",第1行,在模块中
RuntimeError:无法导出UART通道.
我也开始担心我根本没有capemgr.当我运行命令时:
ls sys/devices
我没有列出capemgr.
我正在使用最新的Debian Image:Jessie Debian 8.3(2016-01-24)
我正在运行的内核版本是4.1.17-ti-rt-r46.
我的DTC版本是1.4.1-g1e75ebc9
我真的很感激任何帮助.我几天来一直在努力解决这个问题.谢谢!
关于如何在较新版本的内核上为PWM配置Beaglebone的信息很少。我遵循了BeagleBone Black(v4.14)上的PWM 指令来与PWM芯片接口,但是现在我需要弄清楚每个芯片所连接的引脚。
基于BeagleBone Black文档中的Cape Cape Expansion Headers图像,我知道:
EHRPWM0A = P9_22EHRPWM0B = P9_21EHRPWM1A = P9_14EHRPWM1B = P9_16EHRPWM2A = P8_19EHRPWM2B = P8_13ECAP0 = P9_42当我运行ls -lh /sys/class/pwm以查看可用的PWM接口时,我看到:
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip0 -> ../../devices/platform/ocp/48300000.epwmss/48300100.ecap/pwm/pwmchip0
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip1 -> ../../devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip3 -> ../../devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip3
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip5 …Run Code Online (Sandbox Code Playgroud) beagleboneblack ×10
beagleboard ×2
debian ×2
python ×2
yocto ×2
bitbake ×1
c ×1
c++ ×1
device ×1
device-tree ×1
gpio ×1
linux-kernel ×1
networking ×1
pwm ×1
recipe ×1
tcpdump ×1
tree ×1
u-boot ×1
uart ×1