Блок для GPRS модулей, связь по MQTT
Блок для GPRS модулей, связь по MQTT
[ref=#aa0000]Anydy[/ref], и по моему когда прошёл коннект к сети, потом к интернету, потом пытается на народмон - не получилось - начинает заново все. зачем ? наверное стоит подолбиться несколько раз на народмон , а не рестартить сразу модем установивший соединение?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок для GPRS модулей, связь по MQTT
[ref=#aa0000]Anydy[/ref], Надо подправить код в секции loop -
там скобки не правильно, из-за которых алгоритм не так, как надо, со временем переконекта...
Сейчас:
А если изменить:
Может и не прав. Но по моему так правильнее.
Вот это -
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);
}
}
Код: Выделить всё
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);
вообще не понимаю, пока.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Блок для GPRS модулей, связь по MQTT
Все получилось на скорости 115200. Я инфу поудолял со счета лишнюю и теперь он шлёт чисто что мне надо было числа с индексом. Спасибо. Еще вопрос а можно как то сделать чтобы у main блока были внешние входа для пароля логина порта и тп чтобы брокера вбивать не с ПК а например через веб интерфейс есп8266 без Шнуров?
Блок для GPRS модулей, связь по MQTT
и еще . при передергивании или реконекте компорта .модем тоже в любом случае реконектит.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок для GPRS модулей, связь по MQTT
Это приходит импульс с микрухи 340 usb на ресет при восстановлении связи. увы.bayeck писал(а): 28 сен 2019, 13:13 и еще . при передергивании или реконекте компорта .модем тоже в любом случае реконектит.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Блок для GPRS модулей, связь по MQTT
не замечал на других проектах. ща проверю.
хм и правда)
Отправлено спустя 7 часов 2 минуты 20 секунд:
интересно а не как нельзя облегчить блок? хавает 60 процентов памяти от нано.
хм и правда)
Отправлено спустя 7 часов 2 минуты 20 секунд:
интересно а не как нельзя облегчить блок? хавает 60 процентов памяти от нано.
Блок для GPRS модулей, связь по MQTT
Можно, удалите все чем не пользуетесь, первым делом все что касается вывода в сериал....ну а далее библиотеку почикать...
Вообще то это была моя эспериментальная разработка, что нашел в сети то и выложил ....показал пример так сказать....ну а дальше вы сами..
Блок для GPRS модулей, связь по MQTT
[ref=#aa0000]Anydy[/ref], не хватает мозгов библиотеку чикать) . перейду на мегу)
Блок для GPRS модулей, связь по MQTT
странная фигня ,теряет пакеты
с брокера идет
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], не хрена ни понимаю. не шлет и все. бьеш строку копи пасте с сериала на брокер все норм. а на брокер не приходит.
с брокера идет
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
Насколько я понимаю, RTrig делает одиночный импульс. Если во время этого импульса есть что отправить, то отправит, а если он в самом начале программы один раз сработал, так потом никаких посылок и не будет.
Блок для GPRS модулей, связь по MQTT
Тема назыается --
Разработка пользовательских блоков
То есть здесь разработки ..... но никак не готовые блоки.....
Разработка пользовательских блоков
То есть здесь разработки ..... но никак не готовые блоки.....
Блок для GPRS модулей, связь по MQTT
нет. там симетричный мультивибратор стоит стоит.edyapd писал(а): 01 окт 2019, 19:07 Насколько я понимаю, RTrig делает одиночный импульс. Если во время этого импульса есть что отправить, то отправит, а если он в самом начале программы один раз сработал, так потом никаких посылок и не будет.
Отправлено спустя 1 час 36 минут 44 секунды:
[ref=#aa0000]Anydy[/ref], в общем где косяк вроде понял ,исправить мозгов не хватает , по моему надо char на string переделать в отправке и заработает. по ходу ясоновские скобки не прожевывает. да проверил, string переменную с символом " и { не отправляет.
все отбой мой косяк был не преобразовывал цыфру в стринг.
Последний раз редактировалось bayeck 03 окт 2019, 15:58, всего редактировалось 1 раз.
Блок для GPRS модулей, связь по MQTT
На ардуино нет функции дебаггинга, что бы отслеживать ошибки нужно в код после важных действий программы вставлять вывод в сериал порт и смотреть ошибки или зависание МК
Блок для GPRS модулей, связь по MQTT
Доброго времени! Подскажите пожалуйста... Собрал устройство, показания отправляются, а вот команды с брокера (народный монитор) не приходят. На сайте галочка "управление командами" установлена.На входе блока mqtt_sub - логин/название прибора, на выходе в монитор ничего не идет. Что я делаю не так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Блок для GPRS модулей, связь по MQTT
Я с народмон на модем не пробовал отправлять команды, проверьте на комп приходят? Например программа MQTTfx для виндоус
Блок для GPRS модулей, связь по MQTT
На комп сообщения приходят. Нужно только быть подписанным на топик: логин/название у-ва/+ (или #). На компе и так и так работает. В мк пробывал по разному результата нет
Блок для GPRS модулей, связь по MQTT
[ref]igo11[/ref], для начала упростите скетч от ясонов и прочего(там все не так просто) , во вторых показания раз в пять минут обновляются и отправляются соответственно. в третих попробуйте для начала разные топики вход выход.и к слову, я выкладывал блок для сборки ясон строк)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя