схема подключения:
—> VIN - контакт 3,3 вольта (1-я ножка) на CON3
—> GND - контакт GND (6-я ножка) на CON3
—> SDA - контакт SDA (3-я ножка) на CON3
—> SLC - контакт SCL (5-я ножка) на CON3
Смотрю какие есть устройства I2C
root@bananapi ~ # ls -l /dev/i2c* crw------- 1 root root 89, 0 Янв 1 2010 /dev/i2c-0 crw------- 1 root root 89, 1 Янв 1 2010 /dev/i2c-1 crw------- 1 root root 89, 2 Янв 1 2010 /dev/i2c-2 crw------- 1 root root 89, 3 Янв 1 2010 /dev/i2c-3 crw------- 1 root root 89, 4 Янв 1 2010 /dev/i2c-4
Устанавливаю i2c-tools
root@bananapi ~ # apt-get install i2c-tools
Ищу устройство с адресом 0х76, это и будет BME280.
root@bananapi ~ # i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@bananapi ~ # i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@bananapi ~ # i2cdetect -y 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 77
Устанавливаю скачиваю скрипт на Python для работы с датчиком.
wget -O bme280.py http://bit.ly/bme280py
Редактирую файл bme280.py. Заменяю bus = smbus.SMBus(1) на bus = smbus.SMBus(2). Для получения давления в мм. ртутного столба, заменяю return temperature/100.0,pressure/100.0,humidity на return temperature/100.0,pressure/133.3224,humidity
Проверяю
/usr/local/src # python bme280.py Chip ID : 96 Version : 0 Temperature : 22.23 C Pressure : 735.863401711 mm Humidity : 47.6733253481 %
Датчик выдаёт пять значений: Chip ID, Version, температура (Temperature), давление (Pressure), влажность (Humidity)
В папке /usr/local/bin создаю ссылку на файл
cd /usr/local/bin ln -s /usr/local/src/bme280.py bme280
А файл bme280.py делаю исполняемым.
Ссылки:
http://www.raspberrypi-spy.co.uk/2016/07/using-bme280-i2c-temperature-pressure-sensor-in-python
https://github.com/rm-hull/bme280
https://github.com/adafruit/Adafruit_Python_BME280
http://www.instructables.com/id/Connect-Your-RaspberryPI-to-the-BME280-Temperature/?ALLSTEPS