gpt4 book ai didi

python - 在 Armbian 上从 i2c 2 读取 BME680

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:07 25 4
gpt4 key购买 nike

我尝试在 BananaPI + Armbian 5.65 上使用 BME680 传感器,并在同一 i2c 上使用 TSL 2651,但没有成功。(作为引用,非常相同的配置也不适用于 RPi)

传感器单独连接时可以工作,但与 TSL 连接在一起时则不行,同时 TSL 在 BME 后面连接时工作正常。

已连接::板-> BME680-> TSL2561

我可以到达 TSL,所以 BME 是清醒的并且可以到达,因为 TSL 必须通过 BME。

i2cdetect 看到了它们,所以系统方面对我来说看起来没问题

sudo i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

我将 Bosh 驱动程序与此 .c 一起使用 https://github.com/twartzek/bme680-raspberry最初用于 RPI,但 BananaPi M1 在 i2c/pinouts 等方面完全相同。我认为它应该可以工作。当 BME 单独连接时,同样的代码可以工作。

但是连接在一起的界面只是返回

**** BME680 start measurements  ****
user_i2c_write: No such device or address

我怀疑这只是意味着它无法在 i2c-2 (0x77) 上看到设备,但系统可以。

我编辑了 bme680_main.c,所以它使用 BME680_I2C_ADDR_SECONDARY 和 g_i2cFid = open("/dev/i2c-2", O_RDWR);

不太确定如何从这里开始,如果有的话 ;)任何帮助/提示将不胜感激。

谢谢

最佳答案

因此,我尝试将地址从 0x77 更改为 0x76,它按预期工作。不知道为什么,但看起来 SECONDARY 有问题,系统方面看起来没问题,但传感器是不可见的。当传感器物理连接以使用 0x76(SDO 到 GND)并相应更改代码时,它可以工作。

关于python - 在 Armbian 上从 i2c 2 读取 BME680,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56877275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com