Пятница, 03.05.2024, 22:20
| RSS
Главная | Умный дом - Страница 11 - Форум
Защита, контроль, управление
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат

Наш канал в YouTube
]
Форум » ФОРУМ » Электроника для дома » Умный дом
Умный дом
123ksnДата: Понедельник, 26.05.2014, 18:59 | Сообщение # 101
Группа: Пользователи
Сообщений: 480
Статус: Offline
Цитата Admin ()
правда немного с другим принципом - вести лог по событиям, т.е. фиксировать в файле не все подряд, а, например, выход температуры за установленные пределы
Такой вариант хорош, но мне бывает требуется оценить динамику температуры.
 
AdminДата: Понедельник, 26.05.2014, 23:37 | Сообщение # 102
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Я помимо лога данных как вариант думал ещё сделать вывод графиков для каждого канала, тогда изменение температуры можно было бы отслеживать более наглядно.

Сергей, а почему Вы считаете что способ выборки по событию с привязкой к метке времени не позволит отслеживать процесс в динамике? Допустим в логе или на графике будет указано, что в момент начальной точки отсчета, допустим в 00.00 температура была 20 градусов, а в 00.30 она изменилась на 1 градус и стала 19 градусов (т.е. произошло событие). Следовательно, в интервале времени 00.00 - 00.30 температура не изменялась. Затем температура в 01.00 еще опустилась на один градус и мы снова это зафиксировали.

Итак, получается, что мы писали информацию не непрерывным потоком, а только по событиям (по изменению температуры с разрешающей способностью измерения нашего устройства - т.е.в 1 градус). И тем не менее эти значения позволят построить четкий график динамики изменения температуры. Правда, что он будет иметь не плавную, а несколько ступенчатую (аппроксимированную) форму , т.к в точке события температура измениться на 1 градус. А по другому в пределах разрешающей способности устройства никак и не получится - ведь мы не знаем, как "плавала" температура в "коридоре" этого одного градуса. Хотя, разумеется эмпирическим путем можно предположить, что если в интервале времени 00.00 - 00.30 температура уменьшилась на 1 градус, то это уменьшение было относительно линейным в пределах данного временного интервала.

Единственный минус, что при таком построении общий график получится нелинейным во времени. Но ведь это будет иметь значение только в случае его графического отображения (т.е. при изображения функции), но никак не для анализа динамики этой функции.

Ладно, это пока все только рассуждения, потом посмотрим как лучше это реализовать.
 
123ksnДата: Вторник, 27.05.2014, 07:59 | Сообщение # 103
Группа: Пользователи
Сообщений: 480
Статус: Offline
Описанный  Вами вариант для меня идеален. Просто постом выше под событиями не предполагалось изменение температуры, а тем более на 1 градус. Тогда Вам придется делать настройку "событий температуры", типа (изменение на 1 градус - это не событие) изменение на 3 градуса - это событие. И еще по поводу лога и графика. Используйте, пожалуйста, текстовый формат файла, типа txt или csv.
 
AdminДата: Вторник, 27.05.2014, 19:00 | Сообщение # 104
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата 123ksn ()
Просто постом выше под событиями не предполагалось изменение температуры, а тем более на 1 градус

Изменение температуры на 1 градус (т.е. в пределах разрешающей способности измерителя) считалось событием ещё здесь - http://lock.3dn.ru/news/umnyj_dom_chast_shestaja/2012-10-12-80. Но наверное Вы правы - я в посте выше не совсем корректно объяснил значение этого термина.

Цитата 123ksn ()
Используйте, пожалуйста, текстовый формат файла, типа txt или csv.

Разумеется, файл лога будет в текстовом формате .*(txt)
 
AdminДата: Четверг, 29.05.2014, 07:39 | Сообщение # 105
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Сергей, меня очень интересует вопрос - как Вы будете организовывать "серверную" сторону устройства? Все-таки она у меня "заточена" под "малину" и построена на "движке" WebIOPi. Понятно, что поднять web-сервер можно на любом компьютере, но ведь ещё нужно будет и организовать отправку запросов и прием данных на/с термоконтроллера - или непосредственно через последовательный порт или через преобразователь типа USR-TCP232-24-EN
 


123ksnДата: Четверг, 29.05.2014, 12:03 | Сообщение # 106
Группа: Пользователи
Сообщений: 480
Статус: Offline
Цитата Admin ()
Все-таки она у меня "заточена" под "малину" и построена на "движке" WebIOPi. Понятно, что поднять web-сервер можно на любом компьютере, но ведь ещё нужно будет и организовать отправку запросов и прием данных на/с термоконтроллера - или непосредственно через последовательный порт или через преобразователь типа USR-TCP232-24-EN
Уважаемый Михаил, возможно, я Вас не совсем понимаю. Поэтому не уверен, что мой ответ будет соответствовать Вашему вопросу. Поэтому подумаю "вслух".
1)На сколько я помню, на сей момент управление (настройка) железки осуществляется из браузера по UART с помощью возможностей ЯваСкрипт.
2)Когда железка генерирует трафик с информацией, то передача идет с UART порта. Далее преобразуется (МАХ485) в RS485. У ПК стоит обратный преобразователь rs485-rs232. Потом еще один стандартный преобразователь RS232-USB. Т.е. всё просто и стандартно, так как используется соединение точка-точка.

3)Проблема, очевидно, появляется когда хочется организовать сеть из железок на базе интерфейса RS485. Нужен еще софт как на стороне железки так и на стороне ПК что бы "исключить" коллизии и знать с кем "общаешься". Поскольку речь идет о софте на стороне ПК, то, естесственно, возникает вопрос об используемой операционной системе. Я так понимаю, что Вас смущает, что у Вас некая версия Linux, а у меня (у других) некая версия WINDOWS. Но на сколько я знаю, ЯваСкрипт или Апачи кроссплатформенны. Поэтому смущает Ваша фраза ""заточена" под "малину"". Другое дело преобразователь USR-TCP232-24-EN (RS485-TCP/IP). Его у меня (и у многих других)нет. Думаю, что решение по вопросу преобразователя Вам придется принимать самостоятельно. Для тех, кто идет за Вами "след в след", думаю проще купить этот преобразователь. К таким же относятся и те для кого нужна сеть и "дальнобойность". Я же сам по себе. Пытаюсь любую информацию адаптировать под себя. Поэтому делайте как Вы считаете нужным для Вас и для большинства посетителей Вашего сайта.
4)Если говорить обо мне, то на сей момент для меня проще работать через COM port. Но уже завтра эта ситуация может измениться. Всётаки стандартность, "сетевитость" и "дальнобойность" очень соблазнительные и перспективные характеристики.
5)И еще. Думаю, что все RS485-TCP/IP-подобные преобразователи умеют работать через виртуальный СОМ-порт. Поэтому софт желательно писать под СОМ-порт и тогда ни у кого проблем быть не должно какой бы преобразователь человек не купил, так как в комплекте должен быть драйвер для виртуального СОМ-порта.
P.S. Всё сказанное - IMHO.


Сообщение отредактировал 123ksn - Четверг, 29.05.2014, 12:10
 
AdminДата: Четверг, 29.05.2014, 12:50 | Сообщение # 107
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата 123ksn ()
Поэтому софт желательно писать под СОМ-порт и тогда ни у кого проблем быть не должно какой бы преобразователь человек не купил, так как в комплекте должен быть драйвер для виртуального СОМ-порта.

Связь работает следующим образом. Web-страница сервера формирует через UART (RS232/RS485) запрос, состостоящий из 16 байт. В принципе, такой запрос может формировать все что угодно - например, не Web-сервер, а скажем ещё один (центральный) микроконтроллер. Взаимодействие между устройствами идет чисто на уровне RS485.

Поэтому, самым главным условием при использовании сервера являетя организовать взаимодействие Web-страницы с последовательным портом (UART). У меня это сделано посредством готового программного продукта (фреймворка) WebIOPi, заточенного под "малину". Ну а кто использует другие аппаратные средства, придется решать самостоятельно, как организовать отправку/прием данных из Web формы в последовательный порт.

Формат передаваемого кадра (16-ти битного запроса) и формат принимаего кадра (данные с термоконтроллера), разумеется, я выложу и объясню назначение кадого байта.
 
123ksnДата: Четверг, 29.05.2014, 13:41 | Сообщение # 108
Группа: Пользователи
Сообщений: 480
Статус: Offline
Цитата Admin ()
У меня это сделано посредством готового программного продукта (фреймворка) WebIOPi, заточенного под "малину".
Сейчас ссылку дать не могу, но видел решения на Яве для "дружбы" браузера с СОМ-портом.
 
AdminДата: Суббота, 31.05.2014, 18:22 | Сообщение # 109
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Выложил описание второй версии термоконтроллера

Прошивку микроконтроллера и web-интерфейс пока не выкладывал. Но зато у всех желающих есть возможность протестировать новую версию "напрямую". Для это нужно перейти по ссылке raspberrytest.dlinkddns.com, ввести логин webiopi, пароль raspberry и вы получите доступ к web-интерфейсу. Датчик 18В20 подключен только к первому каналу термоконтроллера

Разумеется данная страница доступна не всегда, а только когда у меня включено устройство. Кроме того, при одновременном обращении к web-интерфейсу нескольких пользователей возможны сбои связи с термоконтроллером. Ну это вполне нормально, такие системы и не должны предусматривать одновременную работу разных пользователей, ведь одновременно несколько человек автомобилем тоже не управляют smile

Тестовая страница будет доступна (с перерывами в работе) ориентировочно 1-2 недели
 
123ksnДата: Воскресенье, 01.06.2014, 09:54 | Сообщение # 110
Группа: Пользователи
Сообщений: 480
Статус: Offline
В четверг ночью пытался сделать плату, но уснул и вот что получилось
Прикрепления: 2836847.jpg (27.9 Kb)


Сообщение отредактировал 123ksn - Воскресенье, 01.06.2014, 09:54
 
Форум » ФОРУМ » Электроника для дома » Умный дом
Поиск:



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