Статья

BME280 в Homekit

Решил добавить в свой "умный дом" датчики температуры и влажности, сначала я решил взять DHT22, но учитывая ценник на него, решил взять BME280 и AM2320.

Первым делом подключим датчики к raspberry, схемы подключения ниже

VIN / VDD ==> 3.3v

GND ==> Ground

SDA ==> SDA

SCL ==> SCL

Теперь необходимо активировать i2c шину на малине.

sudo raspi-config

Переходим в раздел Interfacing Options, нажимаем Enter.

Выбираем i2c, нажимаем Enter.

Хотели бы вы, чтобы интерфейс ARM i2c был включен?

Yes, нажимаем Enter.

Далее редактируем 2 файла.

sudo nano /etc/modules

В него добавим 2 строчки.

i2c-bcm2708; i2c-dev

Выходим из файла crtl x.

Далее нас спросят, будем ли бы сохранять файл вводим Y и нажимаем Enter.

Затем оставляем имя файла не тронутым,и нажимаем Enter.

Далее нужно отредактировать конфигурационный файл загрузки.

sudo nano /boot/config.txt

Добавим следующие строки в конец файла.

dtparam=i2c_arm=on dtparam=i2s=on dtparam=spi=on

Выходим из файла crtl x.

Далее нас спросят, будем ли бы сохранять файл вводим Y и нажимаем Enter.

Затем оставляем имя файла не тронутым,и нажимаем Enter.

Теперь перезагрузим малину следующей командой.

sudo reboot

Установка плагина для Homebridge.

Плагин для BME280:

npm install -g homebridge-bme280

Плагин для AM2320:

npm install -g homebridge-thermometer-am2320

После установки плагина необходимо добавить в файл конфигурации Homebridge следующий настройки.

Для BME280:

"accessories": [ { "accessory": "BME280", "name": "Sensor", "name_temperature": "Температура", "name_humidity": "Влажность", "options": { "i2cBusNo": 1, "i2cAddress": "0x76" } } ]

Для AM2320

"accessories": [ { "accessory": "AM2320", "name": "Sensor", "name_temperature": "Температура", "name_humidity": "Влажность", "options": { "i2cBusNo": 1, "i2cAddress": "0x5c" } } ]

Сохраняем, и перезапускаем Homebridge. Если датчики у вас появились, вы прекрасны :)

Ну и видео версия статьи:


Ты сделал это, мои поздравления, твои мучения прошли не зря. Поздравляю с победой. Спасибо за годный контент.

4 дня боли...

Они прошли не зря.

Отрицательные температуры показывает в Homekit?

Сам лично не проверял,но по сути должен показывать

Не проверим

а если несколько надо? на одну малину?

Зачем несколько на одну малину?собираешься метровые кабели делать для подключения по Gpio?).
Вообще по хорошему надо модуль расширения,с чипом для работы по i2c,не изучал данный вопрос.

Если достаточно двух датчиков, то на втором надо запаять перемычку. Это изменит I2C адрес второго датчика, и можно будет цеплять их на одну шину. Если необходимо больше, то либо брать другие датчики (с другим пулом адресов) либо курить интернет о I2C расширителях 

Доброго дня. Скажите, у кого-нибудь устанавливается npm install -g homebridge-bme280 ?

Если нет, что посоветуете, чтобы отображать показания с BME280?

У меня такая же ерунда: 

pi@raspberrypi:~ $ sudo npm install -g homebridge-bme280 

npm ERR! code 128


npm ERR! Command failed: git clone --mirror -q https://github.com/homespun/hap-nodejs-community-types.git">https://github.com/homespun/ha... /root/.npm/_cacache/tmp/git-clone-f48d86c3/.git 

npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-f48d86c3/.git' 



npm ERR! A complete log of this run can be found in: 

npm ERR! /root/.npm/_logs/2020-02-01T10_24_12_649Z-debug.log

Видимо уже что-то изменилось

Ты как-то решил проблему с подключением датчика к малине?

Нет(( единственный выход садить на esp и пробрасывать в MQTT

Не единственный! Я прилепил датчик на NodeMCU и добавил нативно в хоумкит с помощью https://github.com/HomeKidd/ESP8266-HomeKit-Weather-Station-BME280-Elgato-Eve">https://github.com/HomeKidd/ESP8266-HomeKit-Weather-Station-BME280-Elgato-Eve

Спасибо! Попробую прокинуть


Вернуться назад
Вернуться назад