|
Понедельник, 25.11.2024, 07:16 | | RSS |
|
Защита, контроль, управление |
|
Умный дом
|
|
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-интерфейсу нескольких пользователей возможны сбои связи с термоконтроллером. Ну это вполне нормально, такие системы и не должны предусматривать одновременную работу разных пользователей, ведь одновременно несколько человек автомобилем тоже не управляют
Тестовая страница будет доступна (с перерывами в работе) ориентировочно 1-2 недели
|
|
| |
123ksn | Дата: Воскресенье, 01.06.2014, 09:54 | Сообщение # 110 |
Группа: Пользователи
Сообщений: 480
Статус: Offline
| В четверг ночью пытался сделать плату, но уснул и вот что получилось
Сообщение отредактировал 123ksn - Воскресенье, 01.06.2014, 09:54 |
|
| |
T2M © 2024 | Сайт управляется системой uCoz |
| |
|