Страница 94 из 97
Re: [Модуль] MQTT (mqtt)
Добавлено: Вт июн 06, 2023 2:13 am
prmres
GaiverX писал(а): Вс май 14, 2023 4:12 am
Какой именно цикл?
Вот как выглядит в модуле....
И вот как выглядит в MQTTX....
для феншуйного порядка имена на клиентах всё-таки должны быть разные (mqttx - один клиент, majordomo - другой клиент)
Re: [Модуль] MQTT (mqtt)
Добавлено: Вт июн 06, 2023 10:42 am
andrey040670
prmres писал(а): Вт июн 06, 2023 2:07 am
andrey040670 писал(а): Вс май 14, 2023 10:12 am
Если хотите собирать все топики, то укажите путь с слешем впереди: /#
посмотрел у себя - без слеша, данные обновляются (все топики что шлют ESP-шки)
поставил слеш, подождал несколько минут (стало offline и потом снова online) но данные обновляться перестали (с датчиков идут каждые 5 сек)
нова убрал слеш, снова подождал - даные пошли
не нужен там слеш
Проверил и у себя. Работает так и так, без разницы. 4 esp'шки шлют данные. Просто раньше были проблемы с слэшем, сейчас видать исправлено, может в моските дело, корче, надо пробывать с / и без.
У меня проработало с слэшем 6 лет без проблем.
Re: [Модуль] MQTT (mqtt)
Добавлено: Вт июн 06, 2023 4:01 pm
prmres
andrey040670 писал(а): Вт июн 06, 2023 10:42 am
Проверил и у себя. Работает так и так, без разницы. 4 esp'шки шлют данные. Просто раньше были проблемы с слэшем, сейчас видать исправлено, может в моските дело, корче, надо пробывать с / и без.
У меня проработало с слэшем 6 лет без проблем.
странно
у меня со слешем не работает
ладно, может вечером на досуге поковыряюсь и чего наковыряю ...
Re: [Модуль] MQTT (mqtt)
Добавлено: Вс июн 25, 2023 1:37 pm
ramsesturi
Всем доброго времени суток!
Уважаемы, подскажите, вопрос уже всплывал, но ответа я не встретил - есть ограничение в размере MQTT-пакета? У меня MD отправляет пакеты вплоть до 4кБ (может и больше, это то что реально использовал), а вот на прием больше 127 символов не пролазит (в MQTT Explorer пакеты видно, а в модуле MQTT MD их нет). Может кто сталкивался, подскажите. Заранее благодарен.
-----------добавлено спустя ххх минут)))-------------
Наверное сам отвечу на свой вопрос:
function prepareQueueTable()
{
//SQLExec ("DROP TABLE IF EXISTS `mqtt_queue`;");
$sqlQuery = "CREATE TABLE IF NOT EXISTS `mqtt_queue`
(`ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`PATH` VARCHAR(255) NOT NULL,
`VALUE` VARCHAR(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE = MEMORY DEFAULT CHARSET=utf8;";
SQLExec($sqlQuery);
}
Re: [Модуль] MQTT (mqtt)
Добавлено: Вс июн 25, 2023 11:17 pm
xor
ramsesturi писал(а): Вс июн 25, 2023 1:37 pm
Всем доброго времени суток!
Уважаемы, подскажите, вопрос уже всплывал, но ответа я не встретил - есть ограничение в размере MQTT-пакета? У меня MD отправляет пакеты вплоть до 4кБ (может и больше, это то что реально использовал), а вот на прием больше 127 символов не пролазит (в MQTT Explorer пакеты видно, а в модуле MQTT MD их нет). Может кто сталкивался, подскажите. Заранее благодарен.
-----------добавлено спустя ххх минут)))-------------
Наверное сам отвечу на свой вопрос:
function prepareQueueTable()
{
//SQLExec ("DROP TABLE IF EXISTS `mqtt_queue`;");
$sqlQuery = "CREATE TABLE IF NOT EXISTS `mqtt_queue`
(`ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`PATH` VARCHAR(255) NOT NULL,
`VALUE` VARCHAR(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE = MEMORY DEFAULT CHARSET=utf8;";
SQLExec($sqlQuery);
}
а вы не используйте очередь тогда, там new connection есть. хотя это, вроде, только на запись(или вам это и надо) ну, у меня по дефолту стоит как раз new connection и таблицы mqtt_queue вообще нету. а в табл. mqtt поле value varchar(1024)
Re: [Модуль] MQTT (mqtt)
Добавлено: Вс июн 25, 2023 11:38 pm
xor
ramsesturi писал(а): Вс июн 25, 2023 1:37 pm
Всем доброго времени суток!
Уважаемы, подскажите, вопрос уже всплывал, но ответа я не встретил - есть ограничение в размере MQTT-пакета? У меня MD отправляет пакеты вплоть до 4кБ (может и больше, это то что реально использовал), а вот на прием больше 127 символов не пролазит (в MQTT Explorer пакеты видно, а в модуле MQTT MD их нет). Может кто сталкивался, подскажите. Заранее благодарен.
-----------добавлено спустя ххх минут)))-------------
Наверное сам отвечу на свой вопрос:
function prepareQueueTable()
{
//SQLExec ("DROP TABLE IF EXISTS `mqtt_queue`;");
$sqlQuery = "CREATE TABLE IF NOT EXISTS `mqtt_queue`
(`ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`PATH` VARCHAR(255) NOT NULL,
`VALUE` VARCHAR(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE = MEMORY DEFAULT CHARSET=utf8;";
SQLExec($sqlQuery);
}
prepareQueueTable() существует, но вызовов её я не нашёл)
Вы не используйте очередь тогда, там new connection есть. хотя это, вроде, только на запись. ну, у меня по дефолту стоит как раз new connection и таблицы mqtt_queue вообще нету. а в табл. mqtt, куда валятся данные, поле value varchar(1024)
Re: [Модуль] MQTT (mqtt)
Добавлено: Пн июн 26, 2023 8:18 am
ramsesturi
@xor
Спасибо большое. Попробую. Хотя 1024 тоже "не спасут отца русской демократии" ))) Я принимаю пакет от автономного логера, а там максимальный размер 4К, так что в скуле придется поле править.
Еще раз спасибо!
Re: [Модуль] MQTT (mqtt)
Добавлено: Пн июн 26, 2023 9:00 am
ramsesturi
Не проконало (( Придется копать глубжее!
Re: [Модуль] MQTT (mqtt)
Добавлено: Пн июн 26, 2023 4:45 pm
xor
ramsesturi писал(а): Пн июн 26, 2023 9:00 am
Не проконало (( Придется копать глубжее!
у меня приходят короткие боевые топики, но тоже постараюсь проверить на чём-то большом. 127 байт - ни в какие ворота, да(
Re: [Модуль] MQTT (mqtt)
Добавлено: Пн июн 26, 2023 5:39 pm
xor
ramsesturi писал(а): Пн июн 26, 2023 9:00 am
Не проконало (( Придется копать глубжее!
подтверждаю - 255 символов - предел (у меня сообщение режется, если сильно больше - вообще пропадает)
upd. это при просмотре)
1000 знаков пишется в свойство из москита
Код: Выделить всё
$s="О книге 'Лекарь. Книга вторая'
Многим кажется, что маг в нашем мире был бы всемогущим. Но и у него могут быть свои слабые стороны. Так что и маг-попаданец вполне может стать мишенью для врагов. Именно это случилось с главным героем книги Андрея Первухина 'Лекарь. Книга вторая'.
Андрей в своём магическом мире был архимагом. Император приговорил его с коллегами по магическому цеху к смерти. Однако благодаря одному ритуалу он сумел перенестись в наш мир. Здесь он сумел занять достойное место благодаря своей магии. Да, вся его сила вместе с магической книгой осталась по ту сторону портала, но остатка магического Дара бывшему архимагу хватило, чтобы в нашем мире стать выдающимся целителем.
";
echo '<pre>';
echo $s;
echo mb_strlen($s);
echo "<br>--------------------------------------------------<br>";
//publish
include_once(DIR_MODULES . 'mqtt/mqtt.class.php');
$mqtt = new mqtt();
$rezult = $mqtt->mqttPublish("tele/test/SENSOR", $s, 0, 0);
sleep(10);
//read from mqtt and save in linked prop
echo gg('mqtt.value');
echo mb_strlen(gg('mqtt.value'));
вот вывод - тут больше 255 - символов 699
Код: Выделить всё
О книге 'Лекарь. Книга вторая'
Многим кажется, что маг в нашем мире был бы всемогущим. Но и у него могут быть свои слабые стороны. Так что и маг-попаданец вполне может стать мишенью для врагов. Именно это случилось с главным героем книги Андрея Первухина 'Лекарь. Книга вторая'.
Андрей в своём магическом мире был архимагом. Император приговорил его с коллегами по магическому цеху к смерти. Однако благодаря одному ритуалу он сумел перенестись в наш мир. Здесь он сумел занять достойное место благодаря своей магии. Да, вся его сила вместе с магической книгой осталась по ту сторону портала, но остатка магического Дара бывшему архимагу хватило, чтобы в нашем мире стать выдающимся целителем.
699
--------------------------------------------------
О книге 'Лекарь. Книга вторая'
Многим кажется, что маг в нашем мире был бы всемогущим. Но и у него могут быть свои слабые стороны. Так что и маг-попаданец вполне может стать мишенью для врагов. Именно это случилось с главным героем книги Андрея Первухина 'Лекарь. Книга вторая'.
Андрей в своём магическом мире был архимагом. Император приговорил его с коллегами по магическому цеху к смерти. Однако благодаря одному ритуалу он сумел перенестись в наш мир. Здесь он сумел занять достойное место благодаря своей магии. Да, вся его сила вместе с магической книгой осталась по ту сторону портала, но остатка магического Дара бывшему архимагу хватило, чтобы в нашем мире стать выдающимся целителем.
699