Решил добавить в свой "умный дом" датчики температуры и влажности, сначала я решил взять 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.
npm install -g homebridge-bme280
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
Спасибо! Попробую прокинуть