Воскресенье, 04.12.2016, 01:50
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа
Логин:
Пароль:

Меню

Авторские проекты

Авторский блог

Raspberry Pi

Каталог схем

Полезная информация

Обратная связь

Каталог сайтов

Форум

Канал YouTube


Сузуки Клуб Россия

Календарь
«  Май 2016  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Наш опрос
Как Вы узнали об этом сайте?
Всего ответов: 510

Ссылки




Яндекс.Метрика







.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Raspberry Pi для домашней автоматизации. Программное обеспечение

Raspberry Pi для домашней автоматизации. Программное обеспечение


Разработка кросс-платы для системы домашней автоматизации была вызвана стремлением упорядочить разрозненные элементы централизованного сегмента в единое целое и в тоже время сделать его и отдельным устройством, и «ядром» всей системы. Кроме того, это связано и с идеологией построения самой системы – для небольших объектов вполне может быть достаточно только централизованного сегмента, а для больших объектов система дополнительно «усиливается» распределенным сегментом – т.е. сетью удаленных контроллеров, подключаемых по шине RS485 или по радиоканалу.

К сожалению,  судя по отзывам (а точнее по их отсутствию на форуме), идея создания кросс-платы не нашла поддержки. Непонятно почему, ведь такой принцип построения является вполне логичным. В качестве аналога похожей кросс-платы можно привести пример модуля расширения UniPi для Raspberry Pi, предназначенный как раз для использования в домашней автоматизации.

Размещенные на сайте ранее материалы позволяют в полной степени «вдохнуть жизнь» в кросс-плату, но для полной реализации её возможностей сейчас разрабатывается полнофункциональное программное обеспечение. Наряду с наработками, о которых уже рассказывалось, так же предусматривается возможность создания пользователем несложных сценариев через интерфейс конфигурирования системы – т.е. без вмешательства во внутренние программные коды исполняемых скриптов и алгоритмов.

На текущий момент на базе кросс-платы реализованы следующие функции:

  • управление 8 релейными выходами;
  • контроль 8 дискретных входов;
  • шина 1-wire для подключения датчиков температуры DS18B20;
  • шина I2C для подключения датчика давления и температуры BMP085;
  • два входа для подключения датчиков температуры и влажности DHT22;
  • возможность реализации на реле №1 и №2 двух независимых термостатов по командам датчиков температуры (с точностью до десятых долей градуса как в области положительных, так и отрицательных температур);
  • возможность реализации на реле №3 и №4 двух независимых суточных таймеров (шаг установки – 1 минута);
  • возможность реализации на реле №5 измерителя освещенности (люксметра);
  • возможность реализации на реле №7 и №8 двух независимых каналов управления по изменению состояния входов №7 и №8;
  • отправку сообщений на е-mail при замыкании/размыкании любого из дискретных входов;
  • построение графиков изменений во времени параметров, получаемых от датчиков;
  • ведение журналов (ретроспективы) событий на входах и выходах по времени и с «конкретизацией» причин событий, а так же возможность удаленного просмотра и очистки журналов;
  • самостоятельное конфигурирование пользователем системы через web-интерфейс (создание описанных выше сценариев) непосредственно в процессе работы без перезагрузки сервера.

В принципе, для небольшого объема автоматизации указанных функций вполне достаточно. Однако, возможности системы можно значительно расширить с помощью контроллеров, подключаемых по шине RS485 (это так называемый распределенный сегмент системы). Используя эти контроллеры можно организовать дополнительный сбор показаний температуры и влажности с датчиков DHT11 и DHT22, беспроводное управление кондиционером и освещением, состояние беспроводных датчиков, управление дополнительными нагрузками и контроль дополнительных дискретных входов. Всю необходимую информацию для самостоятельной сборки данных контроллеров, а так же их описание, вы можете найти здесь.

Как можно заметить, по сравнению с предыдущей версией, на текущий момент система домашней автоматизации получила много дополнительных функций. Например, возможность организации охранной и аварийно-предупредительной сигнализации с оповещением на e-mail (соответственно, после получения e-mail можно настроить сообщение об этом на SMS – многие сотовые операторы поддерживают такую функцию). Термостаты, таймеры и люксметр позволят реализовать сценарии управления нагрузками по температуре, по установленному времени и по освещенности.

Далее рассмотрим web-интерфейс. Отмечу, что все web-страницы самомасштабируемые - т.е. автоматически подстраиваются под размер окна браузера. На главной странице предусмотрены три дополнительные вкладки - «Метеостанция», «Радиоуправление» и «Выходы и входы GPIO» с кнопками их развертывания и свертывания. Это позволяет оперативно переключаться между вкладками и в тоже время не загромождать страницу лишней информацией. По умолчанию при открытии web-интерфейса все вкладки свернуты. Периодически изменяющие цвет полоски (красный/зеленый) показывают, что идет обмен данными по шине RS485 Raspberry Pi с метеостанцией и радиомодулем. (рис.1)

 

Raspberry Pi
 
Рис.1

 

На первой вкладке «Метеостанция» выводится информация собственно с самой метеостанции (1 датчик DHT22 и 5 датчиков DHT11), температура и загрузка процессора Raspberry Pi, атмосферное давление (датчик BMP085), показания с двух дополнительных датчиков DHT22, а так же показания с датчика освещенности TSL2561 (рис.2)

 

Meteo station Raspberry Pi
 
Рис.2

 

На второй вкладке «Радиоуправление» отображается интерфейс управления освещением (4 канала), управления кондиционером (режим охлаждения и режим обогрева в диапазоне +20… +24 °С), состояние радиодатчиков тревоги с кнопкой сброса сигнала тревоги, а так же состояние радиодатчиков положения окон и дверей (рис.3)

 

Radio station Raspberry Pi
 
Рис.3

 

Третья вкладка «Выходы и входы GPIO» отображает мнемосхему выходов (реле) и входов GPIO. Кнопки управления выходами являются одновременно и элементами сигнализации состояния выходов – включенное состояние реле отображается красным цветом, отключенное – зеленым.

Кроме того, на этой вкладке указывается информация о «привязке» релейных выходов и дискретных входов к выбранным сценариям – работе по таймеру, термостату или люксметру с указанием диапазонов времени, температуры и освещенности, отправку e-mail при замыкании/размыкании входа и т.д. Если рядом с входом или выходом такая информация отсутствует, это говорит о том, что управление и контроль могут выполняться пользователем только через web-интерфейс. Данные температуры для работы термостатов берутся с двух дополнительных датчиков DS18B20, люксметра – с датчика TSL2561, текущее время – с часов DS1307 (рис.4)

 

GPIO Raspberry Pi
 
Рис.4

 

 Так же на этой вкладке размещены две кнопки для просмотра журналов событий (ретроспективы) по выходам и входам GPIO. В журналах отображается время изменения состояния того или иного входа/выхода и причина, по которой данное событие произошло. Например, если реле сработало от команды термостата, то в журнале выходов будет указано, при какой точно температуре произошло это срабатывание. Аналогично при срабатывании реле от таймера, люксметра или изменения состояния входа будет зафиксирована причина. Если причина в журнале не указана, значит, управление реле было инициировано пользователем через web-интерфейс (рис.5):

 

Logs Raspberry Pi
 
Рис.5

 

Четырехканальные контроллеры вынесены на отдельную страницу «Контроллеры», так как таких контроллеров может быть несколько штук. Посредством таких контроллеров через RS485 можно управлять четырьмя релейными выходами, контролировать состояние четырех дискретных входов и получать данные температуры и влажности от датчика DHT22 (рис.6):

 

Controller Raspberry Pi
 
Рис.6

 

На странице «Графики» отображаются графики изменения во времени показаний различных датчиков (рис.7). С принципами формирования и визуализации графиков можно в этой статье – Построение графиков.

 

Graphs Raspberry Pi
 
Рис.6

 

Страница «Конфигурация» предназначена для настройки системы – на ней пользователь может самостоятельно «привязать» к определенным реле термостаты, таймеры, установить температуру и время включения и отключения реле, настроить отправку сообщений на e-mail, очистить журналы событий по входам и выходам (рис.8):

 

Config Raspberry Pi
 
Рис.8

 

Установка и настройка ПО для системы домашней автоматизации (из образа):

1. Отформатировать SD карту (емкостью не менее 4 Гб) в программе SDFormatter. При форматировании в разделе «Option»указать тип формата «Quick» и формат сборки «On».

2. На отформатированную карту с помощью программы Win32DiskImage или imageUSB установить образ системы домашней автоматизации.

3. С помощью программы IPScan определить IP адрес Raspberry Pi в локальной сети (например, 192.168.1.11)

4. Выполнить вход на Raspberry Pi по адресу: ваш IP:8000 (логин – webiopi, пароль - raspberry). Логин и пароль затем можно будет изменить.

5. В данном интерфейсе уже есть возможность управления 8-мю выходами и контроль 8-ми входов, реализованных непосредственно на портах GPIO Raspberry Pi. Для реализации остальных функций необходимо подключить дополнительные датчики и устройства (см. п.6…п.8)

6. Подключить к Raspberry Pi датчики DS18B20BMP085, TSL2561, DHT22.

7. Запустить программу Putty и настроить доступ к Raspberry Pi – ваш IP, порт – 22, имя пользователя – pi, пароль – raspberry. Открыть файл конфигурации webIOPi:

sudo nano /etc/webiopi/config

Раскомментировать в разделе «Scripts» скриты script_gpio.py и script_sensor.py, а в разделе «Devices» устройства tmp0, tmp1, bmp, light0. Обратите внимание, что для датчиков tmp (DS18B20)  необходимо указать их серийные номера.

8. Подключить в порт USB Raspberry Pi адаптер USB/RS485, а к нему, в свою очередь контроллеры, работающие по шине RS485 (метеостанция, радиомодуль)

9. Открыть файл конфигурации webIOPi:

sudo nano /etc/webiopi/config

Раскомментировать в разделе «Scripts» скрипт script_modbus.py, а в разделе «Devices» устройство serial0

10. Выполнить настройку отправки e-mail при срабатывании входов. Для этого открыть в тестовом редакторе скрипт script_gpio и изменить его в разделе «Макросы e-mail»следующим образом:

  • значение mail_from – адрес, с которого будут отправляться сообщения
  • значение  mail_to – адрес, на который будут приходить сообщения
  • значение mail_text – текст отправляемого письма
  • значение mail_subj – тема отправляемого письма
  • значение attach_file – путь к прикрепляемому к письму файлу (при необходимости)
  • значение smtp_server – адрес smtp сервера
  • значение smtp_port – порт smtp сервера
  • значение smtp_user – smtp отправителя (адрес)
  • значение smtp_pwd   – пароль отправителя

Более подробно о настройке скрипта отправки e-mail и формировании SMS оповещений можно почитать здесь.

11. Выполнить перезагрузку WebIOPi:

sudo /etc/init.d/webiopi restart

12. В пункте меню «Конфигурация» web-интерфейса выполнить требуемые для пользователя установки, очистить журналы событий, очистить данные графиков. Система домашней автоматизации готова к работе.




 

Содержание всех статей по Raspberry Pi

Образ SD карты

Прошивки микроконтроллеров  с RS485

 




Категория: | Просмотров: 3196 | Добавил: Admin | Теги: | Рейтинг: 5.0/12 |
Всего комментариев: 0






T2M © 2016
Сайт управляется системой uCoz