Блок для GPRS модулей, связь по MQTT

Управление и контроль

Создаем свой блок. Вопросы, помощь знатоков.
Timur14
Рядовой
Сообщения: 4
Зарегистрирован: 25.09.2019{, 05:47}
Репутация: 0
Имя: Тимур

Блок для GPRS модулей, связь по MQTT

#21

Сообщение Timur14 » 27.09.2019{, 15:58}

Не понял вас что надо с скоростью сделать

Отправлено спустя 3 минуты 29 секунд:
Я просто пробовал разные скорости в том числе и 115200 всё одно и тоже

Отправлено спустя 35 секунд:
Попробую конвертёрёр убрать

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок для GPRS модулей, связь по MQTT

#22

Сообщение Sancho » 27.09.2019{, 16:24}

Даже без Ваших блоков он шлёт сначала статусы подключения к сети, а потом к mqtt.
Всё на 115200.
Это типа отладочная инфа.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#23

Сообщение bayeck » 27.09.2019{, 16:53}

Anydy, и по моему когда прошёл коннект к сети, потом к интернету, потом пытается на народмон - не получилось - начинает заново все. зачем ? наверное стоит подолбиться несколько раз на народмон , а не рестартить сразу модем установивший соединение?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок для GPRS модулей, связь по MQTT

#24

Сообщение Sancho » 27.09.2019{, 17:09}

Anydy, Надо подправить код в секции 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);
вообще не понимаю, пока.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Timur14
Рядовой
Сообщения: 4
Зарегистрирован: 25.09.2019{, 05:47}
Репутация: 0
Имя: Тимур

Блок для GPRS модулей, связь по MQTT

#25

Сообщение Timur14 » 27.09.2019{, 18:53}

Все получилось на скорости 115200. Я инфу поудолял со счета лишнюю и теперь он шлёт чисто что мне надо было числа с индексом. Спасибо. Еще вопрос а можно как то сделать чтобы у main блока были внешние входа для пароля логина порта и тп чтобы брокера вбивать не с ПК а например через веб интерфейс есп8266 без Шнуров?

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#26

Сообщение bayeck » 28.09.2019{, 13:13}

и еще . при передергивании или реконекте компорта .модем тоже в любом случае реконектит.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок для GPRS модулей, связь по MQTT

#27

Сообщение Sancho » 28.09.2019{, 14:43}

bayeck писал(а):
28.09.2019{, 13:13}
и еще . при передергивании или реконекте компорта .модем тоже в любом случае реконектит.
Это приходит импульс с микрухи 340 usb на ресет при восстановлении связи. увы.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#28

Сообщение bayeck » 28.09.2019{, 15:42}

не замечал на других проектах. ща проверю.
хм и правда)

Отправлено спустя 7 часов 2 минуты 20 секунд:
интересно а не как нельзя облегчить блок? хавает 60 процентов памяти от нано.

Anydy

Блок для GPRS модулей, связь по MQTT

#29

Сообщение Anydy » 28.09.2019{, 23:21}

bayeck писал(а):
28.09.2019{, 22:44}
интересно а не как нельзя облегчить блок?
Можно, удалите все чем не пользуетесь, первым делом все что касается вывода в сериал....ну а далее библиотеку почикать...
Вообще то это была моя эспериментальная разработка, что нашел в сети то и выложил ....показал пример так сказать....ну а дальше вы сами..

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#30

Сообщение bayeck » 29.09.2019{, 13:32}

Anydy, не хватает мозгов библиотеку чикать) . перейду на мегу)

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#31

Сообщение bayeck » 30.09.2019{, 01:47}

почикал .на 3% уменьшил)

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#32

Сообщение bayeck » 01.10.2019{, 17:39}

странная фигня ,теряет пакеты
с брокера идет
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 секунд:
Anydy, не хрена ни понимаю. не шлет и все. бьеш строку копи пасте с сериала на брокер все норм. а на брокер не приходит.
Вложения
проба исона.flp
(2.55 МБ) 77 скачиваний

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Блок для GPRS модулей, связь по MQTT

#33

Сообщение edyapd » 01.10.2019{, 19:07}

Насколько я понимаю, RTrig делает одиночный импульс. Если во время этого импульса есть что отправить, то отправит, а если он в самом начале программы один раз сработал, так потом никаких посылок и не будет.

Anydy

Блок для GPRS модулей, связь по MQTT

#34

Сообщение Anydy » 01.10.2019{, 19:50}

Тема назыается --
Разработка пользовательских блоков
То есть здесь разработки ..... но никак не готовые блоки.....

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#35

Сообщение bayeck » 02.10.2019{, 21:04}

edyapd писал(а):
01.10.2019{, 19:07}
Насколько я понимаю, RTrig делает одиночный импульс. Если во время этого импульса есть что отправить, то отправит, а если он в самом начале программы один раз сработал, так потом никаких посылок и не будет.
нет. там симетричный мультивибратор стоит стоит.

Отправлено спустя 1 час 36 минут 44 секунды:
Anydy, в общем где косяк вроде понял ,исправить мозгов не хватает , по моему надо char на string переделать в отправке и заработает. по ходу ясоновские скобки не прожевывает. да проверил, string переменную с символом " и { не отправляет.
все отбой мой косяк был не преобразовывал цыфру в стринг.
Последний раз редактировалось bayeck 03.10.2019{, 15:58}, всего редактировалось 1 раз.

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#36

Сообщение bayeck » 03.10.2019{, 15:57}

отбой .это я тупил .криво ясон строку делал

bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15.01.2018{, 00:58}
Репутация: 2
Откуда: истра
Имя: роман

Блок для GPRS модулей, связь по MQTT

#37

Сообщение bayeck » 06.10.2019{, 21:38}

Хз. постоянный реконект и виснет.как логи тягать?

Anydy

Блок для GPRS модулей, связь по MQTT

#38

Сообщение Anydy » 07.10.2019{, 13:11}

bayeck писал(а):
06.10.2019{, 21:38}
Хз. постоянный реконект и виснет.как логи тягать?
На ардуино нет функции дебаггинга, что бы отслеживать ошибки нужно в код после важных действий программы вставлять вывод в сериал порт и смотреть ошибки или зависание МК

igo11
Рядовой
Сообщения: 3
Зарегистрирован: 10.10.2019{, 18:41}
Репутация: 0
Имя: Игорь

Блок для GPRS модулей, связь по MQTT

#39

Сообщение igo11 » 10.10.2019{, 22:49}

Доброго времени! Подскажите пожалуйста... Собрал устройство, показания отправляются, а вот команды с брокера (народный монитор) не приходят. На сайте галочка "управление командами" установлена.На входе блока mqtt_sub - логин/название прибора, на выходе в монитор ничего не идет. Что я делаю не так?
Вложения
1.flp
(934.4 КБ) 83 скачивания

Anydy

Блок для GPRS модулей, связь по MQTT

#40

Сообщение Anydy » 11.10.2019{, 09:05}

Я с народмон на модем не пробовал отправлять команды, проверьте на комп приходят? Например программа MQTTfx для виндоус

Ответить

Вернуться в «Разработка пользовательских блоков»