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

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

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

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

#41

Сообщение igo11 » 11.10.2019{, 14:02}

На комп сообщения приходят. Нужно только быть подписанным на топик: логин/название у-ва/+ (или #). На компе и так и так работает. В мк пробывал по разному результата нет

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

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

#42

Сообщение bayeck » 12.10.2019{, 11:38}

igo11, для начала упростите скетч от ясонов и прочего(там все не так просто) , во вторых показания раз в пять минут обновляются и отправляются соответственно. в третих попробуйте для начала разные топики вход выход.и к слову, я выкладывал блок для сборки ясон строк)

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

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

#43

Сообщение igo11 » 14.10.2019{, 12:16}

bayeck, я начинал с простого :) Колхозный json с несколькими датчиками сделал уже потом. И как бы оно работает...

Код: Выделить всё

2019-10-12 15:20:08  31.173.80.113  MQTT  ХХХХХХХХХХХХ/sim800/json/{"t_out":25.30,"P":739.19,"H_out":47.30,"t_in":25.00}
2019-10-12 15:12:05  31.173.80.113  MQTT  ХХХХХХХХХХХХ/sim800/json/{"t_out":25.30,"P":739.30,"H_out":46.80,"t_in":25.13}
2019-10-12 15:04:00  31.173.80.113  MQTT  ХХХХХХХХХХХХ/sim800/json/{"t_out":25.30,"P":739.48,"H_out":46.30,"t_in":25.13}
по поводу 5ти минут... в блоке СИМЕТРИЧНОГО генератора мы ставим время импульса, и если я правильно понимаю, есть еще и пауза такой же длительности. Поэтому устанавливая 5мин получаем отправку показаний раз в 10 мин.
За блок json спасибо обязательно попробую.
И как я уже написал выше если я подключаюсь к брокеру через MQTTfx, сообщения на комп приходят.
Попробую еще с названиями топиков поэкспериментировать, но мне кажется не в этом дело

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

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

#44

Сообщение bayeck » 23.12.2019{, 19:27}

не понимаю. не работает.
ответ сервера
2019-12-23 16:21:58: Sending CONNACK to F4:EC:38:F1:23:B9 (0, 0)
2019-12-23 16:22:20: Client F4:EC:38:F1:23:B9 has exceeded timeout, disconnecting.
2019-12-23 16:22:20: Socket error on client F4:EC:38:F1:23:B9, disconnecting.
2019-12-23 16:22:40: New connection from 213.87.163.243 on port 14303.
2019-12-23 16:24:11: Client <unknown> has exceeded timeout, disconnecting.
2019-12-23 16:24:11: Socket error on client <unknown>, disconnecting.
2019-12-23 16:25:49: New connection from 213.87.137.235 on port 14303.
2019-12-23 16:25:49: New client connected from 213.87.137.235 as F4:EC:38:F1:23:B9 (c1, k15, u'hhosjbhl').
2019-12-23 16:25:49: No will message specified.
2019-12-23 16:25:49: Sending CONNACK to F4:EC:38:F1:23:B9 (0, 0)
2019-12-23 16:26:11: Client F4:EC:38:F1:23:B9 has exceeded timeout, disconnecting.
ответ ардуины
Connecting to soldier.cloudmqtt.comInitializing modem...

Waiting for network... OK

Connecting to internet.mts.ru OK

Connecting to soldier.cloudmqtt.comInitializing modem...
Для скачивания вложений Вы должны быть зарегистрированы.

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

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

#45

Сообщение bayeck » 02.02.2020{, 20:52}

Anydy,

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

Аватара пользователя
Anydy
Администратор
Сообщения: 3011
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 243
Имя: Андрей

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

#46

Сообщение Anydy » 02.02.2020{, 21:42}

bayeck, Да мысли есть, но надо проверять....надо собирать стенд с сим800 ...просто я этот блок по быстрому накидал и думал о том чтобы основной функционал запустить, основа заработала, я выложил пример, а дальше сами....попробуйте как Саша написал в посте 24 изменить.....

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

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

#47

Сообщение bayeck » 02.02.2020{, 22:54}

Anydy, сделал как саша писал. вроде получше стало.

Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 626
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

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

#48

Сообщение jonik22sm » 26.02.2020{, 21:00}

что Это за параметр 5я строка и гдэ его брать?
Снимок1.PNG
Для скачивания вложений Вы должны быть зарегистрированы.
Можно сделать ВСЁ. Было бы желание.

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

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

#49

Сообщение bayeck » 26.02.2020{, 22:09}

jonik22sm, любая батва ,от вольного. для понимания кто долбиться в сервер.

Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 626
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

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

#50

Сообщение jonik22sm » 26.02.2020{, 23:00}

Не понял!?
Можно сделать ВСЁ. Было бы желание.

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

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

#51

Сообщение bayeck » 27.02.2020{, 00:14}

jonik22sm, айди устройства.типа мак адреса.

Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 626
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

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

#52

Сообщение jonik22sm » 27.02.2020{, 02:45}

То есть могу писать что угодно!?
Можно сделать ВСЁ. Было бы желание.

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

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

#53

Сообщение bayeck » 05.03.2020{, 11:21}

jonik22sm, вроде да.

Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 626
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

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

#54

Сообщение jonik22sm » 26.04.2020{, 18:32}

На ATMEGA2560 выдаёт шибки компиляции нет библиотеки avrvdt.h
Можно сделать ВСЁ. Было бы желание.

Аватара пользователя
Anydy
Администратор
Сообщения: 3011
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 243
Имя: Андрей

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

#55

Сообщение Anydy » 26.04.2020{, 21:06}

так закиньте библиотеку ...это сторожевой пёсик....можно в скетче отключить его если не нужен...

Отправлено спустя 51 секунду:
надеюсь сами найдете библиотеку в сети?

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

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

#56

Сообщение bayeck » 29.04.2020{, 23:45}

немного переделанная версия блока, переделан на сериал 3 , вырезан вацдок,добавлен резет контролера при не установке связи(иначе некоректно работает с сим 800с и повисает иногда в хлам)

08,05 исправлено еще пару косяков.блок обновлен.
Для скачивания вложений Вы должны быть зарегистрированы.

Аватара пользователя
Rovki
Полковник
Сообщения: 3960
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 176
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#57

Сообщение Rovki » 08.05.2020{, 17:56}

Попробовал блок от Андрея ,но с есп8266 - не хочет работать (связь с сайтом, брокером) , вот скрины команд контроллера
СпойлерПоказать
AT+SAPBR=1,1
AT+SAPBR=2,1
AT+CGATT=1
AT+CIPMUX=1
AT+CIPQSEND=1
AT+CIPRXGET=1
AT+CSTT="internet","",""
AT+CIICR
AT+CIFSR;E0
AT+CDNSCFG="8.8.8.8","8.8.4.4"
AT+CIPRXGET=4,1
AT+CIPSTATUS=1
AT+CIPCLOSE=1,1
AT+CIPSSL=0
AT+CIPSTART=1,"TCP","avsprog.ru",0
AT+CIPSHUT
AT+CGATT=0
AT+SAPBR=3,1,"Contype","GPRS"
AT+SAPBR=3,1,"APN","internet"
AT+CGDCONT=1,"IP","internet"
AT+CGACT=1,1
А вот ответы сим800 -
СпойлерПоказать
OK

OK

10.244.8.131

OK

OK

+CIPRXGET: 4,1,0

OK

+CIPSTATUS: 1,,"","","","INITIAL"

OK

ERROR

ERROR

ERROR

SHUT OK

+SAPBR 1: DEACT

OK

OK

OK

OK
Подозреваю на команду AT+CIPSTART=1,"TCP","avsprog.ru",0 почему то нет номера порта
Электронщик до мозга костей и не только

Аватара пользователя
Anydy
Администратор
Сообщения: 3011
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 243
Имя: Андрей

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

#58

Сообщение Anydy » 08.05.2020{, 20:59}

Rovki, да .....есть проблема.....не подключается.....разбираюсь где проблемка....

Аватара пользователя
Rovki
Полковник
Сообщения: 3960
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 176
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#59

Сообщение Rovki » 08.05.2020{, 22:30}

Anydy писал(а):
08.05.2020{, 20:59}
Rovki, да .....есть проблема.....не подключается.....разбираюсь где проблемка....
Я все логи снял , уже полегче

Отправлено спустя 11 часов 51 минуту 45 секунд:
Если убрать из последовательности АТ команд ,что выдает контроллер (привел последовательность выше) две команды-
AT+CIPCLOSE=1,1
AT+CIPSSL=0
и исправить порт в следующей команде AT+CIPSTART=1,"TCP","avsprog.ru",1883 ,то все команды отрабатываются без ошибок . Команды подавал в ручную, через терминал
Значит где то в блоке закралась ошибка :smile37:

Отправлено спустя 38 минут 28 секунд:
Кажется нашел ,Андрей -
в главном блоке нет обьявления переменной port
long lastReconnectAttempt= 0;
bool En_75656550_1;
String msg_75656550_1;
String outTopic_75656550_1;
String NameTopic_92863670_1;
String OutData_92863670_1;
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;
bool _trgrt1 = 0;
bool _trgrt1I = 0;
bool _trgrt2 = 0;
bool _trgrt2I = 0;
bool _count1I = 0;
int _count1_Value = 0;
bool _trgs1 = 0;
bool _trgrt3 = 0;
bool _trgrt3I = 0;
просто значение порта вставляется как константа
mqtt.setServer("tailor.cloudmqtt.com", 13340);
и библиотека не понимает такой конструкции - порт должен задаваться как переменная и тогда библиотека правильно отработает


#endif
sendAT(GF("+CIPSTART="), mux, ',', GF("\"TCP"), GF("\",\""), host,
GF("\","), port);
public:
virtual int connect(const char* host, uint16_t port, int timeout_s)
как то так
Электронщик до мозга костей и не только

Аватара пользователя
Anydy
Администратор
Сообщения: 3011
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 243
Имя: Андрей

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

#60

Сообщение Anydy » 09.05.2020{, 12:20}

не сработало......где то в другом проблема.....
Вот скетч попробуй залить просто из ардуино IDE - все работает!
Для скачивания вложений Вы должны быть зарегистрированы.

Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость