Умный дом по радиоканалу

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 02 май 2013, 16:10

Первый час работы нового клиент/сервера на Raspberry PI(ArchLinux).
используются модули: MQTT Client, MQTT-S Gateway, PLC
Основной сервер с базой данных запущен на "нормальном" компьютере

Занимает до 25 МБ в памяти, средняя нагрузка на процессор 0,6-4%
X13SRV_PI.PNG
IMG_0584L.JPG
Последний раз редактировалось comparator 17 май 2013, 18:31, всего редактировалось 1 раз.

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 10 май 2013, 14:04

У нас долгожданное обновление. Доступна версия 0.3 beta 1.

Новые фичи:
  • Распределённая система
  • Модульная структура
  • MQTTS модуль поддерживает работу по UDP
  • Модуль перефирии XBee
Совместимость:
- MQTTS firmware начиная с версии 2.4.3 (development)

Файл Engine.exe включает следуюшие модули:
  • Broker
  • Client
  • PLC
Файлы Engine.exe и MQTTS.dll совместимы с Mono v.2

Для построения распределённой системы необходимо:
  • брокер с модулями: Broker, PLC, Persistent storage
  • клиент с модулями: Client, PLC и например MQTTS
клиент настраивается в файле ../data/engine.xst следуюшим образом:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<root head="/local/cfg">
 <item name="Broker">
   <item name="enable" value="false" saved="True" type="System.Boolean" />
 </item>
 <item name="Client">
   <item name="_password" value="пароль" saved="True" type="System.String" />
   <item name="_URL" value="адрес брокера" saved="True" type="System.String" />
   <item name="_username" value="имя пользователя" saved="True" type="System.String" />
   <item name="enable" value="true" saved="True" type="System.Boolean" />
 </item>
 <item name="PLC">
   <item name="enable" value="true" saved="True" type="System.Boolean" />
 </item>
</root>
Чтобы узнать пароль пользователя root, необходимо подключатся к брокеру на локальном компьютере.

Путь /etc/Broker/security/users/root

AlexTroy
Сообщения: 32
Зарегистрирован: 04 дек 2012, 00:54

Re: Умный дом по радиоканалу.

Сообщение AlexTroy » 11 май 2013, 01:55

Очень интересна работа MQTTS по UDP.
Скажите, планируется написание мануала по настройке?

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 11 май 2013, 11:15

AlexTroy писал(а):Очень интересна работа MQTTS по UDP.
Скажите, планируется написание мануала по настройке?
Да планируется.
Собственно для MQTT-S никакой настройки не требуется, по умолчанию ядро подключает все найденные модули.
MQTT-S Клиенты так же не требуют настройки, просто включил и работает.
Если планируется использовать несколько LAN модулей, то необходимо каждому задать собственный MAC, доступно через CC.
Последний раз редактировалось comparator 11 май 2013, 11:31, всего редактировалось 1 раз.

x13dev
Сообщения: 396
Зарегистрирован: 22 окт 2012, 11:40
Откуда: Бавария

Re: Умный дом по радиоканалу.

Сообщение x13dev » 11 май 2013, 11:27

comparator писал(а):
AlexTroy писал(а):Очень интересна работа MQTTS по UDP.
Скажите, планируется написание мануала по настройке?
Да планируется.
Собственно для MQTT-S никакой настройки не требуется, по умолчанию ядро подключает все найденные модули.
Клиенты так же не требуют настройки, просто включил и работает.
Если планируется использовать несколько LAN модулей, то необходимо каждому задать собственный MAC, доступно через CC.
Добавлю.

Пока непонятно какие темы нужно освещать.
Нам требуется помощь: что непонятно? какие возникают вопросы? что можно улучшить?

Вообщем задавайте вопросы, будем делать ЧаВо.

AlexTroy
Сообщения: 32
Зарегистрирован: 04 дек 2012, 00:54

Re: Умный дом по радиоканалу.

Сообщение AlexTroy » 11 май 2013, 22:29

В основном интересует получение доступа к данным и управление извне, т.к. использую систему Majordomo, сам к в php не силен, но буду разбираться. Расскажите про инфо панель у Вас на главной странице. Планируется интерфейс мониторинга-управления?
Завтра попробую новую версию.

x13dev
Сообщения: 396
Зарегистрирован: 22 окт 2012, 11:40
Откуда: Бавария

Re: Умный дом по радиоканалу.

Сообщение x13dev » 12 май 2013, 11:50

AlexTroy писал(а):Планируется интерфейс мониторинга-управления?
Да, но нужен WEB frontend разработчик. Хочется сделать редактор экранов в CC и отдавать это по HTTP.
AlexTroy писал(а):В основном интересует получение доступа к данным и управление извне, т.к. использую систему Majordomo, сам к в php не силен, но буду разбираться.
Пример для php уже выкладывали, так-же могу сделать обработка GET/POST запросов по HTTP. Но что делать потом с этим богатством, представляю пока слабо.
AlexTroy писал(а):Расскажите про инфо панель у Вас на главной странице.
Это делалось для себя, исходники в проекте viewwpf.
Вот пример конфигурационного файла

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<root head="/local/cfg">
  <item name="Holidays">
    <!--name=<yyMMddc[yyMMdd]> c=1 - выходной, 2 - каникулы, 4 - напоминание -->
    <item name="1305011130503" type="System.String" value="Праздник Весны и Труда"/>
    <item name="1305091130510" type="System.String" value="День Победы"/>
    <item name="1306121" type="System.String" value="День России"/>

    <item name="1306202130831" type="System.String" value="Каникулы"/>
    
    <item name="1306124" type="System.String" value="ДР Александра Сергеевича"/>
  </item>
  <item name="Transport">
    <!--name=название маршрута -->
    <!--value=сколько идти до остановки -->
    <item name="5 Киевская" type="System.Int64" value="7">
      <!--name=<HHmmw[HHmm]> w= битовый флаг 1-понедельник-четверг, 2-пятница, 4-суббота, 8-воскресенье -->
      <!--value=интервал -->
      <item name="03201" type="System.Int64" value="0" />
      <item name="0439F2339" type="System.Int64" value="20" />
    </item>
    <item name="5 Парк культуры" type="System.Int64" value="9">
      <item name="0429F2329" type="System.Int64" value="20" />
    </item>
    <item name="2 Красногвардейская" type="System.Int64" value="7">
      <item name="0424F2344" type="System.Int64" value="20" />
    </item>
    <item name="2 Речной вокзал" type="System.Int64" value="9">
      <item name="0434F2334" type="System.Int64" value="20" />
    </item>
  </item>
  <item name="Client">
    <item name="_password" value=" " type="System.String" />
    <item name="_URL" value="адрес брокера" type="System.String" />
    <item name="_username" value="user" type="System.String" />
    <item name="enable" value="true" type="System.Boolean" />
  </item>
</root>
Погоду берёт с gismeteo.ru

AlexTroy
Сообщения: 32
Зарегистрирован: 04 дек 2012, 00:54

Re: Умный дом по радиоканалу.

Сообщение AlexTroy » 12 май 2013, 14:41

x13dev писал(а): так-же могу сделать обработка GET/POST запросов по HTTP. Но что делать потом с этим богатством, представляю пока слабо.
Вот это то что нужно, с php конечно тоже хочется разобраться, но тут прийдется просить авторов об интеграции, а с запросами многие смогут самостоятельно подключить как к Majordomo так и другим системам.

Перепрошил модули, запускаю и получаю такую картину. Подскажите что не так.
Вложения
x13.JPG
x13.JPG (71.9 КБ) 13118 просмотров

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 13 май 2013, 11:57

AlexTroy писал(а):Перепрошил модули, запускаю и получаю такую картину. Подскажите что не так.
Забыли поменять кнопочку для устройств. :oops:
Скачайте пожалуйста новую версию. Experimetal версия не совместима со Stable.
Поменялись соглашения в нумерации переменных. Поэтому новая версия программы не распознаёт типы старых устройств.
Надеюсь далее обойдется без таких глобальных перемен.

Найден глюк в Гейте, просьба немного подождать.
Глюк Исправлен, Версия стабильна.

AlexTroy
Сообщения: 32
Зарегистрирован: 04 дек 2012, 00:54

Re: Умный дом по радиоканалу.

Сообщение AlexTroy » 14 май 2013, 01:22

Да, теперь работает! Спасибо.
x13dev Хотелось бы обработку GET/POST запросов по HTTP, для себя вижу пока единственный возможный вариант внешнего управления.

x13dev
Сообщения: 396
Зарегистрирован: 22 окт 2012, 11:40
Откуда: Бавария

Re: Умный дом по радиоканалу.

Сообщение x13dev » 14 май 2013, 09:04

AlexTroy писал(а):Да, теперь работает! Спасибо.
x13dev Хотелось бы обработку GET/POST запросов по HTTP, для себя вижу пока единственный возможный вариант внешнего управления.
В версии 0.3 все баги найдём и можно будет следующей заниматься.

Есть представление как это должно быть? В MQTT клиент может подписаться на переменные и они сами приходят.
Поскольку в HTTP нет такого механизма, нужны идеи.

Boris
Сообщения: 150
Зарегистрирован: 06 июн 2011, 17:35

Re: Умный дом по радиоканалу.

Сообщение Boris » 14 май 2013, 10:37

Такая реализация не подойдет? https://github.com/jobytaffey/mqtt-http-server

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 14 май 2013, 17:16

dimonix писал(а):при сборке Node/Gateway в студии 6.1 возникает ошибка :
Error 1 local frame unavailable (naked function?) P:\AVR\AtmelStudio\X13.devices\Wireless\Source\MAIN.c строка 139
Компилятору не нравится, что функция main объявлена как "naked", то есть обработку входа и выхода :shock: выполняет сама.
Что позволяло сэкономить десяток байт флэша и пару слов в стеке.

чтобы избавится от этой ошибки, необходимо закомментировать строчку:
//int main(void) __attribute__((naked)); // !! For Atmel AVR Studio 6.1

Подправлено в следующих версиях.

Итого из открытых вопросов остается только статья про подключение I2C устройств. Будет на Wiki.

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 17 май 2013, 17:16

По просьбам трудящихся, вернули в проект поддержку HTTP сервера.
бинарники доступны на http://X13Home.org

Реализация скоммунизжена у Toby Jaffey
Пример находится в ./htdocs/index.html

pubsub.register{} - Регистрация обработчиков
pubsub.subscribe - Подписка на переменные
pubsub.publish - Отправка переменных

Импортируйте лограму htTest.xst - распаковать htTest.zip.
при включении чекбокса на страничке, увеличивается счетчик

Если порт 80 занят другой программой его можно изменить в файле data/engine.xst
+:80 -> +:Ваш порт.

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<root head="/local/cfg">
  <item name="HttpServer">
    <item name="_url" value="http://+:8080/" type="System.String" />
    <item name="enable" value="true" saved="True" type="System.Boolean" />
  </item>
</root>
Вложения
htTest.zip
Sample HTTP Logram
(632 байт) 410 скачиваний

AlexTroy
Сообщения: 32
Зарегистрирован: 04 дек 2012, 00:54

Re: Умный дом по радиоканалу.

Сообщение AlexTroy » 17 май 2013, 23:31

Вот это здорово! :D
Проверил, отлично работает, теперь есть над чем работать в выходные.

AlexTroy
Сообщения: 32
Зарегистрирован: 04 дек 2012, 00:54

Re: Умный дом по радиоканалу.

Сообщение AlexTroy » 19 май 2013, 21:09

Заметил странность. Прошивка последняя под Panstamp. Софт с http и без. Не могу переименовать гейт, появляется старое имя, а новое недоступно. Также при интенсивном опросе (аналоговый вход) переодически ошибка неизвестный пакет инода size mistmach. После 2-5 минут работы статус connected и ноды и гейта, а связи нет, нода мигает передачей а гейт принимает. После нескольких минут происходит переподплючение ноды и гейта и связь возобновляется, иногде нет, только перезапуск.
Раньше так интенсивно не использовал, это может быть железная проблема?
Вложения
130519.zip
Лог
(1.71 КБ) 401 скачивание
x13.JPG
x13.JPG (106.8 КБ) 12029 просмотров

x13dev
Сообщения: 396
Зарегистрирован: 22 окт 2012, 11:40
Откуда: Бавария

Re: Умный дом по радиоканалу.

Сообщение x13dev » 20 май 2013, 12:31

Копаюсь дальше в Web программировании, оказывается можно делать так:

Код: Выделить всё

  <script type="text/javascript" src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>

  <select id="slider" data-role="slider" data-pub="/var/bool">
    <option value=false>Off </option>
    <option value=true>On </option>
  </select>

    $(window).load(function () {
      $('select[data-role="slider"]').bind("change", function (event, ui) {
        pubsub.publish(event.target.dataset.pub, event.target.value);
      });
      startStreaming();
    });
путь до переменной задаётся в data-pub

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 20 май 2013, 17:28

AlexTroy писал(а):Заметил странность. Прошивка последняя под Panstamp. Софт с http и без. Не могу переименовать гейт, появляется старое имя, а новое недоступно. Также при интенсивном опросе (аналоговый вход) переодически ошибка неизвестный пакет инода size mistmach. После 2-5 минут работы статус connected и ноды и гейта, а связи нет, нода мигает передачей а гейт принимает. После нескольких минут происходит переподплючение ноды и гейта и связь возобновляется, иногде нет, только перезапуск.
Раньше так интенсивно не использовал, это может быть железная проблема?
Возможно проблема в том, что я забыл при портировании добавить в свойства проекта для panSTamp USE_RTC_OSC = 1, использовать внешний низкочастотный кварц.
Что не критично для ноды, но не для гейта, так как частота встроенного генератора плавает очень сильно. Из за этого уходит скорость порта и возможны вышеописанные проблемы. Со свежей прошивкой гейт + 2 ноды вот уже более 2х часов раз в секунду счелкают без сбоев.

AlexTroy
Сообщения: 32
Зарегистрирован: 04 дек 2012, 00:54

Re: Умный дом по радиоканалу.

Сообщение AlexTroy » 20 май 2013, 20:48

У меня кварцы на 8 Мгц установлены, нормальные Geyer. И странно почему гейт не переименовывается. У меня только 2 платки, попробую местами поменять.

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу.

Сообщение comparator » 20 май 2013, 22:55

AlexTroy писал(а):У меня кварцы на 8 Мгц установлены, нормальные Geyer. И странно почему гейт не переименовывается. У меня только 2 платки, попробую местами поменять.
Тогда данный ключ не нужен,
Включи пожалуйста детальный лог для MQTTSa /etc/MQTTS/verbose - поставить крыжик в Value
и скинь лог на comparator@gmx.de
Интересуют именно проблемы с переименованием и плохими пакетами.
Воспроизвести у себя данную проблему я не могу. Всё работает уже длительное время.

p.s. похоже данный глюк с переименованием есть, коллега X13Dev подтвердил, будем разбираться, но лог от тебя тоже не помешает

Ответить