Подскажите плиз где копать ... настроил по примеру работу mqtt в majordomo все сначала работало замечательно отображались на графике температура и влажность и освещенность ... через дня 4 попробовал опять запустить все ... в majordomo состояния датчиков не меняются ошибок вроди никаких не видно в x-ray подскажите где еще смотреть.
В кратце о системе которую я собираю ... ядро это banana-pi m3 (8 ядер 1.8ГГц 2Гбайт оперативы) к ней через сеть LAN подключается 5 ардуино ... 4 это комплекты из датчиков и кнопок для включения реле ... 5-я это сам узел реле на ардуино мега ...
покачто у меня собрана одна ардуина с датчиками и кнопкой и ардуина с реле ... так вот кнопка отрабатывает нормально те mosquito пашет стабильно те реле включается и отключается через mqtt
а вот с мажородомо не все окей ... он вродибы подключается но данные в графике и странице статуса не обновляются.
majordomo не обновляет данные от mqtt
Модератор: immortal
- Konstantin 2
- Сообщения: 27
- Зарегистрирован: Ср авг 23, 2017 4:46 pm
- Откуда: Новосибирск(Краснообск)
- Благодарил (а): 1 раз
- Поблагодарили: 0
- Konstantin 2
- Сообщения: 27
- Зарегистрирован: Ср авг 23, 2017 4:46 pm
- Откуда: Новосибирск(Краснообск)
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: majordomo не обновляет данные от mqtt
Также еще одна проблемка проявляется происходит отключение тредов ... они рестартуют через некоторое время но почему завершаются не понятно ... причем при выключении тредов до их перезапуска отображается темная сцена на главной и там кнопки и закладки какието устаревшие которы я удалял из темы ...
- Konstantin 2
- Сообщения: 27
- Зарегистрирован: Ср авг 23, 2017 4:46 pm
- Откуда: Новосибирск(Краснообск)
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: majordomo не обновляет данные от mqtt
Нашел в инете такое предложение весь сырбор из-за вот этой функции:
function procmsg($topic, $msg) {
//$url = BASE_URL . '/ajax/mqtt.html?op=process&topic='.urlencode($topic)."&msg=".urlencode($msg);
//getURLBackground($url);
if (!isset($topic) || !isset($msg)) return false;
echo date("Y-m-d H:i:s") . " Topic:{$topic} $msg\n";
if (function_exists('callAPI')) {
callAPI('/api/module/mqtt','GET',array('topic'=>$topic,'msg'=>$msg));
} else {
global $mqtt;
$mqtt->processMessage($topic, $msg);
}
}
Если закоментить кусок кода где вызывается "callAPI" те чтобы всегда вызывался
global $mqtt;
$mqtt->processMessage($topic, $msg);
то сообщения приходят но тамже было написано мнение что в вызове callAPI чтото еще выполняется поэтому такой подход неправильный.
function procmsg($topic, $msg) {
//$url = BASE_URL . '/ajax/mqtt.html?op=process&topic='.urlencode($topic)."&msg=".urlencode($msg);
//getURLBackground($url);
if (!isset($topic) || !isset($msg)) return false;
echo date("Y-m-d H:i:s") . " Topic:{$topic} $msg\n";
if (function_exists('callAPI')) {
callAPI('/api/module/mqtt','GET',array('topic'=>$topic,'msg'=>$msg));
} else {
global $mqtt;
$mqtt->processMessage($topic, $msg);
}
}
Если закоментить кусок кода где вызывается "callAPI" те чтобы всегда вызывался
global $mqtt;
$mqtt->processMessage($topic, $msg);
то сообщения приходят но тамже было написано мнение что в вызове callAPI чтото еще выполняется поэтому такой подход неправильный.