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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
artkoz
Сообщения: 10
Зарегистрирован: 06 янв 2014, 23:42

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

Сообщение artkoz » 21 янв 2014, 15:42

Так, в порядке интересного обнаруженного эффекта. Если на машину с запущенным x13.server отослать udp пакет (порт 1883) с содержимым

byte[] gwinfo = new byte[] { 0x01, 0x05, 0x02, (byte)'U', (byte)'D', (byte)'P' };

то в моем случае engine.exe и cc.exe начинают друг с другом ссориться за процессор, engine.exe бодро пожирает память, ждал до 1.5гб, потом надоело.

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

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

Сообщение x13dev » 21 янв 2014, 17:02

artkoz писал(а):Так, в порядке интересного обнаруженного эффекта. Если на машину с запущенным x13.server отослать udp пакет (порт 1883) с содержимым

byte[] gwinfo = new byte[] { 0x01, 0x05, 0x02, (byte)'U', (byte)'D', (byte)'P' };

то в моем случае engine.exe и cc.exe начинают друг с другом ссориться за процессор, engine.exe бодро пожирает память, ждал до 1.5гб, потом надоело.
Пофиксил, проверяйте.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

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

Сообщение wanvo » 21 янв 2014, 19:10

Система X13 на распберри, неделю назад все настроил, ЛанНода определялась все пучком.
Сейчас стал подключать новую ноду и удалил из ветки "dev" ту ноду, которая определилась ранее.
Теперь система на Распберри не видит ни новую ноду ни старую. Если запускаю сервис X13 под виндой то видит
и новую ноду и старую.
Попробовал переустановить X13 на распберри, перекачал X13.Home_v0_3.tar.gz ,HttpServer.zip и переписал файлы из них в нужные каталоги.Не помогло.
Как сделать чтобы X13 которая на распберри увидела ноды?

UPD:
Сделал следующие телодвижения
- удалил сервис из rc.local перегрузился
- запустил engine вручную, проверил,ноду не нашло перегрузился
- опять запустил вручную, нашло ноду.
- добавил в rc.local, перегрузился, не нашло ноду.
- опять перегрузил малину и перегрузил ноду - нашло.
где-то посередине этих манипуляций отключил сервис под виндой.

Непонятно как-то все это. Может быть важна последовательность включения модулей?
Последний раз редактировалось wanvo 21 янв 2014, 19:44, всего редактировалось 2 раза.

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

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

Сообщение comparator » 21 янв 2014, 19:40

wanvo писал(а):Теперь система на Распберри не видит ни новую ноду ни старую.
Как сделать чтобы X13 которая на распберри увидела ноды?
Пожалуйста включите отладку, /etc/log/Value=Debug; /etc/MQTTS/verbode=true
и лог мне на мыло либо в студию. Проверьте, что работает только один брокер. Нода цепляется к тому, кто быстрее.

В проект добавлена обработка строк, вернее байтовых массивов, смотреть development ветку.
В качестве подопытного кролика подключен сенсор GE SENSING SAFEAIRE T6603-5 CO2 SENSOR TELAIRE. На выходе сразу содержание CO2 в ppm.
Sensor:
Вложение SensCO2L.JPG больше недоступно
Logram:
SensCO2L.JPG
Sensor CO2
SensCO2L.JPG (56.34 КБ) 8020 просмотров
Последний раз редактировалось comparator 22 янв 2014, 15:51, всего редактировалось 1 раз.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

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

Сообщение wanvo » 21 янв 2014, 22:49

comparator писал(а):Пожалуйста включите отладку, /etc/log/Value=Debug; /etc/MQTTS/verbode=true
и лог мне на мыло либо в студию. Проверьте, что работает только один брокер. Нода цепляется к тому, кто быстрее.
Похоже нода цеплялась к сервису винды. Сейчас снова удалил ноду, но она нашлась. Отладку включил, если будет повтор ненахождения, выложу лог.
Спасибо за разъяснение!
comparator писал(а): В проект добавлена обработка строк, вернее байтовых массивов, смотреть development ветку.
Расскажите пожалуйста подробнее, как обновить X13 из ветки development.
Захожу на ГитХаб в раздел X13.Host, выбираю branch:Development. Далее Dawnload Zip. Скачал зазипованые сорцы. А дальше как? Чем их компиллить?
Или может уже скомпилленные файлы есть?

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

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

Сообщение x13dev » 22 янв 2014, 12:25

wanvo писал(а): Расскажите пожалуйста подробнее, как обновить X13 из ветки development.
Захожу на ГитХаб в раздел X13.Host, выбираю branch:Development. Далее Dawnload Zip. Скачал зазипованые сорцы. А дальше как? Чем их компиллить?
Или может уже скомпилленные файлы есть?
Компилируется Visual Studio 2010/2012. С Микрософта можно скачать бесплатную Express версию.
В течении недели-двух протестируем и выложу в основную ветку и бинарники.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

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

Сообщение wanvo » 23 янв 2014, 15:15

Подскажите пожалуйста в чем может быть дело.

Основная система установлена на распберрипи, в том числе HTTP сервер.
При создании переменных в ветке "export" СС они не отображаются на веб морде.
То есть я захожу удаленно на адрес 192.168.1.102:8080(адрес расберрипи) и вижу только вкладку, соответсвующую "header" в ветке "export" а значения переменных и график не вижу.
Может надо на расберри что-то доустановить? Например PHP или что-то еще?

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

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

Сообщение comparator » 23 янв 2014, 15:46

wanvo писал(а):Основная система установлена на распберрипи, в том числе HTTP сервер.
При создании переменных в ветке "export" СС они не отображаются на веб морде.
То есть я захожу удаленно на адрес 192.168.1.102:8080(адрес расберрипи) и вижу только вкладку, соответсвующую "header" в ветке "export" а значения переменных и график не вижу.
Может надо на расберри что-то доустановить?
нет, ничего доустанавливать не надо, встроенный HTTP сервер довольно неторопливый, и порой надо просто подождать. Как вариант доустановить nginx, и всю статику отдавать через него, на демосайте так и сделано, как доберусь до дома могу выложить свой конфиг nginix'a.
Проверьте так-же пути. В настройках элементов все пути даны относительно самого сервера. А в export относительно папки htdocs
Таким образом на лограме путь должен быть ../htdocs/sample.csv, а в export просто sample.csv.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

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

Сообщение wanvo » 23 янв 2014, 16:20

К сожалению ничего не получилось. Причем кнопки, чекбоксы, эдитбоксы добавляются без проблем и видны, а вот переменные, которые сам создаю в ветку добавляются а на страничке не видны.
Может действительно попробовать nginx? Если не сложно, по приезду домой выложите пожалуйста свои настройки nginx`а!

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

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

Сообщение comparator » 23 янв 2014, 16:44

wanvo писал(а):а вот переменные, которые сам создаю в ветку добавляются а на страничке не видны.
А можно подробнее, что за переменные, bool var, long var, double var, string, проверены, проблем не вижу, правда не на малине, но на дебиане.
wanvo писал(а):Может действительно попробовать nginx? Если не сложно, по приезду домой выложите пожалуйста свои настройки nginx`а!
nginx ускоряет отдачу статики, с переменными он не работает.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

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

Сообщение wanvo » 23 янв 2014, 17:07

Я пробовал добавлять long. Сейчас попробую остальные и отпишу.
UPD
Проверил. Из всех переменных отображаются button chekbox url range color(виден как едитбокс почему-то, даже можно буквы ввести в него) и сам header.
Остальные переменные при добавлении не отображаются и не меняют общую картину странички.
comparator писал(а): А можно подробнее, что за переменные, bool var, long var, double var, string, проверены, проблем не вижу, правда не на малине, но на дебиане.
Возможно, я что-то не так делаю. Вот только как понять что именно не так?

straga
Сообщения: 51
Зарегистрирован: 02 фев 2013, 22:27

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

Сообщение straga » 23 янв 2014, 18:10

wanvo

На rasppbery - если запустить в ручную engine.exe. а на виде cc.eхе, то надо появится быстра. А вот если запустит в виде сервиса, то нужно ждать - пару минут - и тогда все появляется. Заменил у себя такое недавно.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

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

Сообщение wanvo » 23 янв 2014, 18:33

straga писал(а): На rasppbery - если запустить в ручную engine.exe. а на виде cc.eхе, то надо появится быстра. А вот если запустит в виде сервиса, то нужно ждать - пару минут - и тогда все появляется. Заменил у себя такое недавно.
Так дело в том, что жду очень долго, но некоторые элементы появляются сразу, а некоторые не появляются совсем. Не появляются совсем все переменные, которые "var" и график. А появляются визуальные элементы web не зависящие от изменяемых данных. Такие как чекбокс, ползунок, выбор цвета(в опере виден нормально) и т.д.

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

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

Сообщение x13dev » 23 янв 2014, 19:01

wanvo писал(а):К сожалению ничего не получилось. Причем кнопки, чекбоксы, эдитбоксы добавляются без проблем и видны, а вот переменные, которые сам создаю в ветку добавляются а на страничке не видны.
Формирование страницы происходит на стороне браузера. Возможно шаблоны слетели, мне отсюда не видно.
Надо смотреть в отладчике создались ли элементы и как выглядят.
У меня так:

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

<div id="content">
  <div style="margin-top: 40px;" class="">
    <var class="nav_var" data-sub="/export/Status/os_vcc" data-format="{0:0.00} V">2.85 V</var>
  </div>
</div>

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

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

Сообщение comparator » 23 янв 2014, 22:18

Моя конфигурация для nginx'a

в файле "/etc/nginx/nginx.conf"
после установки найти и удалить, или просто закомментировать строчку include /etc/nginx/sites-enabled/*;
после/вместо добавить include /home/mqtt/data/x13_nginx.conf;

сам файл "/home/mqtt/data/x13_nginx.conf"

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

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
                proxy_pass      http://localhost:8080;
        }

        location ~ \.(gif|jpg|png|ico|js|css|html|htm)$ {
                expires 7d; 
                root /home/mqtt/htdocs;
        }

        location ~ \.(csv)$ {
                root /home/mqtt/htdocs;
                add_header Cache-Control "no-store, no-cache";
        }
}

2 wanwo,
Поверено на малине + wheezy, все в норме, можно как-то базу и лог получить ? Такое воспроизвести не получается.

Еще кое-что, доступен пакет mono-3.2.7, подробнее смотреть: http://sourceforge.net/projects/homegen ... ono-armhf/
Проверен на wheezy, работает нормально, предыдущие пакеты необходимо удалить, или проще поставить систему заново.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

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

Сообщение wanvo » 24 янв 2014, 10:04

comparator, спасибо за конфиги и за участие!

Учитывая все вышесказанное, мне приходит мысль, что мой случай - скорее исключение из правил, связанное с каким-то сбоем и "кривостью" установки чего-то.
А по таким единичным случаям совершенно не хочется отвлекать вас от других более важных и нужных дел, причем наверное нужных больше другим, чем вам самим.
Поэтому я сначала попробую снести, а затем с нуля установить всё и вся и опять проверить систему. Если уж и тогда ошибка повториться - включу дебаг лог и вышлю вам все свои файлы.
О результатах отпишу.

artkoz
Сообщения: 10
Зарегистрирован: 06 янв 2014, 23:42

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

Сообщение artkoz » 24 янв 2014, 11:49

comparator писал(а): Файл XST нужен только для описания устройства. Запускается и без него, будет фиолетовая иконка без меню. Но входы выходы можно добавлять в ручную.
А есть какое-то описание форматов, предопределенных TopicID и прочего? Или только вылавливать все из кода?

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

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

Сообщение comparator » 24 янв 2014, 13:03

artkoz писал(а):
comparator писал(а): Файл XST нужен только для описания устройства. Запускается и без него, будет фиолетовая иконка без меню. Но входы выходы можно добавлять в ручную.
А есть какое-то описание форматов, предопределенных TopicID и прочего? Или только вылавливать все из кода?
Собственно все типы данных собраны в одном файле "ObjDict.h"
Объекты описываются следующим образом.

Первый символ - где находится объект, енум eObjPlace.
Чтобы понять систему достаточно 3х:
objAin = 'A', // Analogue Input
objDin = 'I', // Digital Input
objDout = 'O', // Digital Output

Второй символ - конфигурация, енум eObjTyp.
Например для цифровых портов основные это:
objPinPNP = 'p', // Pin PNP
objPinNPN = 'n', // Pin NPN ( Input - PullUp)
С третьего символа номер порта, или конфигурации.
для цифровых портов конфигурация следующая.
0-7 биты порта A
8-15 биты порта B
и так далее.

Например:
In24 - Цифровой вход NPN то есть на выходе 1 когда порт посажен на землю плюс подтяжка на питание. На физическом порту: PD0
Op19 - Цифровой выход неинвертированный на физическом порту PC3
Ai2 - Аналоговый вход с диапазоном входного напряжения 0-1.1В с портом подключенным к 2 входу коммутатора - физический порт PC2

Предопределённые TopicID используются в системных целях и в данном файле не указываются. Для информации енум eObjList.
Из этого списка интересен только тип устройства. Для RFBee, это будет GWBE01 для гейта, описывается в файле "HWconfigRFBee.h" определения OD_DEV_TYP_х, или NDBE01 для ноды. Собственно их и надо подставить в 4 строке файла.XST

Тип устройства состоит из 6 символов
первые 2 символа - тип ноды, сейчас есть 'LN' - Сетевая нода, 'ND' - Нода на радиоканале, 'GW' гейт с серийного порта на радиоканал, 'DM' - устройство без радиоинтерфейса на серийном порту.
следующие 2 символа - Аппаратная конфигурация:
'PS' - panSTamp, 'JN' - JeeNode, 'UP' - Наше решение, 'BE' - RFBee, и так далее,
последние 2 символа - аппаратная версия.

artkoz
Сообщения: 10
Зарегистрирован: 06 янв 2014, 23:42

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

Сообщение artkoz » 24 янв 2014, 13:34

comparator писал(а):Собственно все типы данных собраны в одном файле "ObjDict.h"
Объекты описываются следующим образом.

Да, там нашел. Вообще немножко не то интересно (возможно хочу странного).

Сейчас изучаю сервер сам десктопный, на предмет заставить воспринять устройство. Ваша прошивка слишком много флеша занимает в мелком STM8, плюс (то ли компилятор такой, то ли лыжи не едут) не совсем уверен, что нормально работает. Поэтому сейчас озадачился реализовать минимально возможное взаимодействие класса соединиться с сервером, предьявить ему одну свою переменную и попробовать подписаться на изменения - здесь то и возникают затыки, возможно из-за не совсем нормального понимания логики протокола.

Шлюзом прикинулся, передал CONNECT. Сервер воспринял, получил в контрольке ноду. Меню - недоступно, кроме добавления полей bool/double/long. При попытке публикации своего топика - неизвестен тип. По коду сервера накопал, что передав /dev/123/_B к примеру, получу распознавание типа. Но - такая переменная появляется только в Entry's, название остается содержать _B и панель не отображает в дереве ничего, а при добавлении руками - появляется.
Пробовал как в прошивке после CONNACK передавать предопределенный топик FFC0 (_declarer) с данными как у шлюза - тоже ноль реакции.

При попытке подписаться на добавленое вручную - ошибка, не найден топик. А как тогда объявлять какие-то данные на сервере?


Импортировал из спортивного интереса xst файл из исходников в свое "устройство", появились входа/выхода. Не понимаю логики создания лограммы для изменения состояния пина - связываешь с какой-то переменной, изменяешь ее, получаешь в логе
09:39:48.73[W] /var/test.SetValue(8zX11=1, ) - Строка не распознана как действительное логическое значение.

Что вообще в описании выхода это 8zX11?

Начинаю потихоньку отчаиваться :) Как-то связь своих датчиков с majordomo далась намного проще, но там, как по мне, несколько неудобно логику писать для реакций на события.

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

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

Сообщение x13dev » 24 янв 2014, 14:24

artkoz писал(а): Сейчас изучаю сервер сам десктопный, на предмет заставить воспринять устройство. Ваша прошивка слишком много флеша занимает в мелком STM8, плюс (то ли компилятор такой, то ли лыжи не едут) не совсем уверен, что нормально работает. Поэтому сейчас озадачился реализовать минимально возможное взаимодействие класса соединиться с сервером, предьявить ему одну свою переменную и попробовать подписаться на изменения - здесь то и возникают затыки, возможно из-за не совсем нормального понимания логики протокола.
Там вроде всё просто
connect-connack
subscribe(на "#" - это значит на всё для конкретного устройства) - suback
register-regack для всех переменных
и теперь publish-puback в любом направлении
artkoz писал(а): Шлюзом прикинулся, передал CONNECT. Сервер воспринял, получил в контрольке ноду. Меню - недоступно, кроме добавления полей bool/double/long. При попытке публикации своего топика - неизвестен тип. По коду сервера накопал, что передав /dev/123/_B к примеру, получу распознавание типа. Но - такая переменная появляется только в Entry's, название остается содержать _B и панель не отображает в дереве ничего, а при добавлении руками - появляется.
Пробовал как в прошивке после CONNACK передавать предопределенный топик FFC0 (_declarer) с данными как у шлюза - тоже ноль реакции.
переменные с подчёркиванием показываются в дереве если /etc/CC/DSView/_advancedView=true
artkoz писал(а): При попытке подписаться на добавленое вручную - ошибка, не найден топик. А как тогда объявлять какие-то данные на сервере?

Импортировал из спортивного интереса xst файл из исходников в свое "устройство", появились входа/выхода. Не понимаю логики создания лограммы для изменения состояния пина - связываешь с какой-то переменной, изменяешь ее, получаешь в логе
09:39:48.73[W] /var/test.SetValue(8zX11=1, ) - Строка не распознана как действительное логическое значение.
Поподробнее, если можно.
artkoz писал(а):
Что вообще в описании выхода это 8zX11?
http://ab-log.ru/forum/viewtopic.php?f= ... 005#p10005
artkoz писал(а): Начинаю потихоньку отчаиваться :) Как-то связь своих датчиков с majordomo далась намного проще, но там, как по мне, несколько неудобно логику писать для реакций на события.
Если где-то убавилось - значит в других местах прибавилось. (программистская мудрость про сложность) :geek:

Ответить