понедельник, 21 ноября 2016 г.

Умный дом просто как никогда (часть 4 "женим" RPI nFR24 Add-on и Raspberry PI)

И так, в первых трех частях, мы настроили наши платы для дальнейших эксперементов.

Пришло время увидеть результаты.

Для начала подключим антенну (входит в комплект). Аккуратно защелкним U.FL коннектор на модуле. 


Теперь, подключим Raspberry Pi 2 Model B к Raspberry PI nFR24 Add-on.



Питание можно подключить двумя способами (используется micro USB кабель).

1. Подключить непосредственно к самой Raspberry Pi 2 Mode



2. Подключить к плате Raspberry PI nFR24 Add-on (надпись PWR).




Антенну можно закрепить прямо сверху нашего контроллера просунув пазы антенны на плате (см. картинку).


Теперь подключаем Ethernet и подаем питание, ждем загрузки и идем далее...





Нам надо настроить встроенный RTC (часы реального времени), они нужны нам для того, что бы ваша система могла работать автономно в случае пропадания Интернет. (на Raspberry PI nFR24 Add-on RTC получает питание от ионистора и сможет сохранять в памяти дату и время в течении 10-15 дней).

Запускаем PuTTY клиент.



Жмем кнопку Open и ждем консольного окна...



Набираем в консоле
login pi
password (ваш новый пароль)

далее 
sudo su
raspi-config

Увидим вот такое меню:



Нам нужен 9 пункт меню Advanced Options
Заходим и выбираем пункт A7 I2C




Выбираем, что хотим использовать I2C в нашем проекте (<Yes>)




Жмем <Ok>

Перегружаем RPI

reboot

После перезагрузки, снова запускаем  PuTTY клиент.

Логинимся и набираем в консоле 

sudo su

Нам надо установить дополнительную утилиту для определения подключения нашего RTC по I2C


sudo apt-get install python-smbus i2c-tools



По завершении установки видим следующее:



Ok, теперь проверим на каком прерывании висит наш RTC

Наберем команду

sudo i2cdetect -y 1



Отлично, смотрим, если видим такую картинку, то RTC у нас висит на ID # 68

Пропишим наш RTC в автозагрузку

Запускаем Midnight Commander

sudo su
mc

Переходим в директорию /boot/
находим файл config.txt 



нажимаем F4 и в самом конце файла пишем следующие строчки
dtoverlay=i2c-rtc,ds1307



сохраняем F2 и перезагружаем систему

reboot

Уже осталось немного... Снова логинимся и проверяем наши установки. 
Наберем команду 

sudo i2cdetect -y 1

Теперь в табличке вместо ID # 68 мы должны увидеть UU




Далее нам надо отключить "поддельный Hwclock" и включить "реальный". Для этого наберем две команды

sudo apt-get -y remove fake-hwclock
sudo update-rc.d -f fake-hwclock remove



И в самом конце, запустим Midnight Commander и пропишем сценарий синхронизации.
Перейдем в директорию /lib/udev/ и откроем файл hwclock-set



Закоментируем знаком (#) следующие строки:

#if [ -e /run/systemd/system ] ; then
# exit 0
#fi



сохраним F2

Осталось синхронизировать PRI с RTC. При первом подключении RTC имеет не правильное время и это можно проверить следующей командой:

sudo hwclock -D -r



Затем наберем команду синхронизации

sudo hwclock -w  (записать время в RTC, достаточно сделать один раз, в дальнейшем синхронизация будет делаться автоматически при обновление времени RPI через интернет)
date (проверим реальное время)
sudo hwclock -r    (прочитать время с RTC)



С часами закончили!

Теперь переходим на наш контроллер, в строке браузера набираем
https://192.168.0.19:8443/

Логинимся и переходим на вкладку Resources > Gateways



Жмем кнопку Add gateway и заполняем поля следующим образом

Поле Port name (правильно пишем вот так)

/dev/ttyAMA0

Сохраняем (Save) и на странице Gateways detail проверяем статус соединения;



Если статус такой , то все ОК. Иначе прочтите внимательно предыдущие части.

Умный дом просто как никогда (часть 2 настройка Контроллера)
Умный дом просто как никогда (часть 3 настройка Raspberry PI nFR24 Add-on)

В этой части, пока все. Далее в следующих частях, будем настраивать наши датчики.


3 комментария:

  1. Олег, такой вариант точно будет работать на Raspberry PI 3 ?
    Похоже нормальной работе мешает Bluetooth

    ОтветитьУдалить
  2. Настройки производились на RPI 2
    на RPI 3 надо порт подключать в таком виде /dev/ttyS0

    ОтветитьУдалить
  3. Получилось запуститься следующим образом:
    1) добавил в /boot/config.txt
    dtoverlay=pi3-disable-bt

    2) запустил
    sudo systemctl disable hciuart
    и перезагрузился

    3) изменил в /boot/config.txt
    enable_uart=0
    на
    enable_uart=1
    и перезагрузился

    3) далее конектился на
    /dev/ttyAMA0

    ОтветитьУдалить