Страница 2 из 7
Блок для GPRS модулей, связь по MQTT
Добавлено: 27 сен 2019, 16:53
bayeck
[ref=#aa0000]Anydy[/ref], и по моему когда прошёл коннект к сети, потом к интернету, потом пытается на народмон - не получилось - начинает заново все. зачем ? наверное стоит подолбиться несколько раз на народмон , а не рестартить сразу модем установивший соединение?
Блок для GPRS модулей, связь по MQTT
Добавлено: 27 сен 2019, 17:09
Sancho
[ref=#aa0000]Anydy[/ref], Надо подправить код в секции loop -
там скобки не правильно, из-за которых алгоритм не так, как надо, со временем переконекта...
Сейчас:
Код: Выделить всё
if (mqtt.connected()) {
mqtt.loop();
}
else {
// Reconnect every 10 seconds
unsigned long t = millis();
if (t - lastReconnectAttempt > 10000L) {
lastReconnectAttempt = t;
}
if (mqttConnect()) {
lastReconnectAttempt = 0;
}
else if (!modem.gprsConnect(apn, user, pass)) {
while (true);
}
}
А если изменить:
Код: Выделить всё
if (mqtt.connected()) {
mqtt.loop();
}
else {
// Reconnect every 10 seconds
unsigned long t = millis();
if (t - lastReconnectAttempt > 10000L) {
lastReconnectAttempt = t;
if (mqttConnect()) {
lastReconnectAttempt = 0;
}
}
else if (!modem.gprsConnect(apn, user, pass)) {
while (true);
}
}
Может и не прав. Но по моему так правильнее.
Вот это -
else if (!modem.gprsConnect(apn, user, pass)) {
while (true);
вообще не понимаю, пока.
Блок для GPRS модулей, связь по MQTT
Добавлено: 27 сен 2019, 18:53
Timur14
Все получилось на скорости 115200. Я инфу поудолял со счета лишнюю и теперь он шлёт чисто что мне надо было числа с индексом. Спасибо. Еще вопрос а можно как то сделать чтобы у main блока были внешние входа для пароля логина порта и тп чтобы брокера вбивать не с ПК а например через веб интерфейс есп8266 без Шнуров?
Блок для GPRS модулей, связь по MQTT
Добавлено: 28 сен 2019, 13:13
bayeck
и еще . при передергивании или реконекте компорта .модем тоже в любом случае реконектит.
Блок для GPRS модулей, связь по MQTT
Добавлено: 28 сен 2019, 14:43
Sancho
bayeck писал(а): 28 сен 2019, 13:13
и еще . при передергивании или реконекте компорта .модем тоже в любом случае реконектит.
Это приходит импульс с микрухи 340 usb на ресет при восстановлении связи. увы.
Блок для GPRS модулей, связь по MQTT
Добавлено: 28 сен 2019, 22:44
bayeck
не замечал на других проектах. ща проверю.
хм и правда)
Отправлено спустя 7 часов 2 минуты 20 секунд:
интересно а не как нельзя облегчить блок? хавает 60 процентов памяти от нано.
Блок для GPRS модулей, связь по MQTT
Добавлено: 28 сен 2019, 23:21
Anydy
bayeck писал(а): 28 сен 2019, 22:44
интересно а не как нельзя облегчить блок?
Можно, удалите все чем не пользуетесь, первым делом все что касается вывода в сериал....ну а далее библиотеку почикать...
Вообще то это была моя эспериментальная разработка, что нашел в сети то и выложил ....показал пример так сказать....ну а дальше вы сами..
Блок для GPRS модулей, связь по MQTT
Добавлено: 29 сен 2019, 13:32
bayeck
[ref=#aa0000]Anydy[/ref], не хватает мозгов библиотеку чикать) . перейду на мегу)
Блок для GPRS модулей, связь по MQTT
Добавлено: 30 сен 2019, 01:47
bayeck
почикал .на 3% уменьшил)
Блок для GPRS модулей, связь по MQTT
Добавлено: 01 окт 2019, 18:26
bayeck
странная фигня ,теряет пакеты
с брокера идет
2 {"1":"27","2":"27","3":"28","4":"25","5":"00
2 {"1":"27","2":"27","3":"28","4":"23","5":"0","6":"0","7":"0","8":"
GsmClient/init GsmClient started
2 {"1":"27","2":"27","3":"28","4":"23","5":"00
2 {"1":"27","2":"27","3":"28","4":"24","5":"0","6":"0","7":"0","8":"
Отправлено спустя 46 минут 50 секунд:
[ref=#aa0000]Anydy[/ref], не хрена ни понимаю. не шлет и все. бьеш строку копи пасте с сериала на брокер все норм. а на брокер не приходит.
Блок для GPRS модулей, связь по MQTT
Добавлено: 01 окт 2019, 19:07
edyapd
Насколько я понимаю, RTrig делает одиночный импульс. Если во время этого импульса есть что отправить, то отправит, а если он в самом начале программы один раз сработал, так потом никаких посылок и не будет.
Блок для GPRS модулей, связь по MQTT
Добавлено: 01 окт 2019, 19:50
Anydy
Тема назыается --
Разработка пользовательских блоков
То есть здесь разработки ..... но никак не готовые блоки.....
Блок для GPRS модулей, связь по MQTT
Добавлено: 02 окт 2019, 22:41
bayeck
edyapd писал(а): 01 окт 2019, 19:07
Насколько я понимаю, RTrig делает одиночный импульс. Если во время этого импульса есть что отправить, то отправит, а если он в самом начале программы один раз сработал, так потом никаких посылок и не будет.
нет. там симетричный мультивибратор стоит стоит.
Отправлено спустя 1 час 36 минут 44 секунды:
[ref=#aa0000]Anydy[/ref], в общем где косяк вроде понял ,исправить мозгов не хватает , по моему надо char на string переделать в отправке и заработает. по ходу ясоновские скобки не прожевывает. да проверил, string переменную с символом " и { не отправляет.
все отбой мой косяк был не преобразовывал цыфру в стринг.
Блок для GPRS модулей, связь по MQTT
Добавлено: 03 окт 2019, 15:57
bayeck
отбой .это я тупил .криво ясон строку делал
Блок для GPRS модулей, связь по MQTT
Добавлено: 06 окт 2019, 21:38
bayeck
Хз. постоянный реконект и виснет.как логи тягать?
Блок для GPRS модулей, связь по MQTT
Добавлено: 07 окт 2019, 13:11
Anydy
bayeck писал(а): 06 окт 2019, 21:38
Хз. постоянный реконект и виснет.как логи тягать?
На ардуино нет функции дебаггинга, что бы отслеживать ошибки нужно в код после важных действий программы вставлять вывод в сериал порт и смотреть ошибки или зависание МК
Блок для GPRS модулей, связь по MQTT
Добавлено: 10 окт 2019, 22:49
igo11
Доброго времени! Подскажите пожалуйста... Собрал устройство, показания отправляются, а вот команды с брокера (народный монитор) не приходят. На сайте галочка "управление командами" установлена.На входе блока mqtt_sub - логин/название прибора, на выходе в монитор ничего не идет. Что я делаю не так?
Блок для GPRS модулей, связь по MQTT
Добавлено: 11 окт 2019, 09:05
Anydy
Я с народмон на модем не пробовал отправлять команды, проверьте на комп приходят? Например программа MQTTfx для виндоус
Блок для GPRS модулей, связь по MQTT
Добавлено: 11 окт 2019, 14:02
igo11
На комп сообщения приходят. Нужно только быть подписанным на топик: логин/название у-ва/+ (или #). На компе и так и так работает. В мк пробывал по разному результата нет
Блок для GPRS модулей, связь по MQTT
Добавлено: 12 окт 2019, 11:38
bayeck
[ref]igo11[/ref], для начала упростите скетч от ясонов и прочего(там все не так просто) , во вторых показания раз в пять минут обновляются и отправляются соответственно. в третих попробуйте для начала разные топики вход выход.и к слову, я выкладывал блок для сборки ясон строк)