Контроллер температуры и влажности
|
|
Admin | Дата: Понедельник, 18.04.2016, 21:05 | Сообщение # 71 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Цитата Admin ( ) Ввиду того, что длина ответа у разных контроллеров разная, Ввел в заблуждение. Длина посылки мастером и соответственно, приема запроса каждым контроллером - 8 байт, ответ каждого контроллера - 7 байт (см. рис)
Во всех контроллерах (метеостанции, радиомодуле, 4-х релейном контроллере) реализована функция выхода из прерывания, если задержка между байтами более 5 мс (в Modbus RTU начало нового байта определяется задержкой в 3,5 длины символа). В каждом контроллере приемник настроен на прием 8 байт (от мастера raspberry) и прием 7 байт от "соседнего" слейва вызовет невыход из цикла с последующей перезагрузкой контроллера (программа будет ожидать ещё один - восьмой байт, пока не сработает через сторожевой таймер - примерно через 2 секунды). Поэтому так все и задумывалось - при приеме 8 байт от мастера никаких вопросов не возникает, а при приеме 7 байт от "соседнего" слейва программа просто выйдет из цикла прерывания после задержки 5 мс после 7-го байта.
Теперь рассмотрим три этих контроллера на одной шине. По идее никаких конфликтов быть не должно. Между тем есть проблема - метеостанция начинает постоянно перезагружаться при открытой странице интерфейса радиомодуля. Перезагрузка метеостанции наблюдается и при открытой странице интерфейса 4-х релейного контроллера, но не так часто. А иногда (правда, очень редко) метеостанция перезагружается даже при открытом собственном интерфейсе. Кстати, при работе в автономном режиме (при закрытом браузере) никаких вопросов к метеостанции нет - ещё не наблюдал в этом режиме ни разу ни одной перезагрузки. А вот радиомодуль и 4-х релейный контроллер прекрасно "уживаются" на одной шине.
Из этого следует сделать вывод, что нестабильная работа метеостанции на шине RS485 заключается именно в самой метеостанции, определенные предположения на этот счет есть. В чем конкретно причина - буду разбираться. Увы, получится это уже не раньше следующих выходных
|
|
| |
Zoolu | Дата: Вторник, 19.04.2016, 05:03 | Сообщение # 72 |
Группа: Пользователи
Сообщений: 490
Статус: Offline
| Цитата Admin ( ) А иногда (правда, очень редко) метеостанция перезагружается даже при открытом собственном интерфейсе У меня так иногда кстати бывает с контроллером rs485...
|
|
| |
deniss1900 | Дата: Суббота, 03.12.2016, 07:43 | Сообщение # 73 |
Группа: Пользователи
Сообщений: 546
Статус: Offline
| Подскажите из за чего работает только два канала улица и гостиная (прошивка и вэб из пилотного проекта). Контроллер использую без LCD.
|
|
| |
Admin | Дата: Суббота, 03.12.2016, 08:27 | Сообщение # 74 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Обновите прошивку по ссылке со страницы с содержанием статей по машине
|
|
| |
deniss1900 | Дата: Суббота, 03.12.2016, 09:05 | Сообщение # 75 |
Группа: Пользователи
Сообщений: 546
Статус: Offline
| Тоже самое
|
|
| |
Admin | Дата: Суббота, 03.12.2016, 09:07 | Сообщение # 76 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Ну тогда выкладывайте свои скрипты, будем смотреть
|
|
| |
deniss1900 | Дата: Суббота, 03.12.2016, 09:21 | Сообщение # 77 |
Группа: Пользователи
Сообщений: 546
Статус: Offline
| .
Сообщение отредактировал deniss1900 - Суббота, 03.12.2016, 09:22 |
|
| |
Admin | Дата: Суббота, 03.12.2016, 11:51 | Сообщение # 78 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Что ж у Вас такой древний проект Там ещё обмен по RS485 организован посредством ASCII без использования "питоновской" библиотеки MinimalModbus. Поэтому прошивка с этой страницы, конечно не подойдет. Это ещё "пилотный" проект, поэтому и прошивка для контроллера должна быть соответствующая из того же проекта. А показывает только три датчика потому, что в index.html и прописано выделение из строки только трех датчиков:
Код if (control == 11); // если он равен заданному (11), то value = data; // это прием данных от контроллера
var temp1_1 = value.substr(2, 3); // температура var humid1_1 = value.substr(5, 2); // влажность 1 var temp2_1 = value.substr(7, 3); // температура 2 var humid2_1 = value.substr(10, 2); // влажность 2 var temp3_1 = value.substr(12, 3); // температура 3 var humid3_1 = value.substr(15, 2); // влажность 3
Я бы рекомендовал работать с обновленной версией, описание с подробностями установки см. здесь, у нее значительно больше возможностей. Да и прошивка метеостанции работает стабильно.
А если желания переходить на новую версию нет, то дописывайте в файле index.html процедуры "разбора" строки для остальных датчиков. Прошивку МК в этом случае нужно использовать из "пилотного" проекта
|
|
| |
deniss1900 | Дата: Воскресенье, 04.12.2016, 06:07 | Сообщение # 79 |
Группа: Пользователи
Сообщений: 546
Статус: Offline
| А можно получить html странички с обновленной версией что чтобы полностью имидж не качать.
|
|
| |
Admin | Дата: Воскресенье, 04.12.2016, 07:18 | Сообщение # 80 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Можно, тем более я писал выше, что хочу обновить эти папки, т.к нашёл в них пару ошибок. Постараюсь это сделать в ближайшее время. Но дело в том, что если Вы просто скопируете их, то у Вас ничего не заработает, потому что нужно устанавливать библиотеки Minimalmodbus и AdarfuitDHT (ну эту необязательно, она нужна что бы подключить датчики DHT прямо к портам GPIO). А в образе все эти библиотеки уже предустановленные.
|
|
| |