Страница 3 из 7

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

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

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

Добавлено: 12.10.2019{, 11:38}
bayeck
igo11, для начала упростите скетч от ясонов и прочего(там все не так просто) , во вторых показания раз в пять минут обновляются и отправляются соответственно. в третих попробуйте для начала разные топики вход выход.и к слову, я выкладывал блок для сборки ясон строк)

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

Добавлено: 14.10.2019{, 12:16}
igo11
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, сообщения на комп приходят.
Попробую еще с названиями топиков поэкспериментировать, но мне кажется не в этом дело

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

Добавлено: 23.12.2019{, 19:27}
bayeck
не понимаю. не работает.
ответ сервера
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...

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

Добавлено: 02.02.2020{, 20:52}
bayeck
Anydy,

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

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

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

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

Добавлено: 02.02.2020{, 22:54}
bayeck
Anydy, сделал как саша писал. вроде получше стало.

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

Добавлено: 26.02.2020{, 21:00}
jonik22sm
что Это за параметр 5я строка и гдэ его брать?
Снимок1.PNG

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

Добавлено: 26.02.2020{, 22:09}
bayeck
jonik22sm, любая батва ,от вольного. для понимания кто долбиться в сервер.

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

Добавлено: 26.02.2020{, 23:00}
jonik22sm
Не понял!?

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

Добавлено: 27.02.2020{, 00:14}
bayeck
jonik22sm, айди устройства.типа мак адреса.

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

Добавлено: 27.02.2020{, 02:45}
jonik22sm
То есть могу писать что угодно!?

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

Добавлено: 05.03.2020{, 11:21}
bayeck
jonik22sm, вроде да.

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

Добавлено: 26.04.2020{, 18:32}
jonik22sm
На ATMEGA2560 выдаёт шибки компиляции нет библиотеки avrvdt.h

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

Добавлено: 26.04.2020{, 21:06}
Anydy
так закиньте библиотеку ...это сторожевой пёсик....можно в скетче отключить его если не нужен...

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

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

Добавлено: 29.04.2020{, 23:45}
bayeck
немного переделанная версия блока, переделан на сериал 3 , вырезан вацдок,добавлен резет контролера при не установке связи(иначе некоректно работает с сим 800с и повисает иногда в хлам)

08,05 исправлено еще пару косяков.блок обновлен.

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

Добавлено: 08.05.2020{, 17:56}
Rovki
Попробовал блок от Андрея ,но с есп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 почему то нет номера порта

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

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

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

Добавлено: 08.05.2020{, 22:30}
Rovki
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)
как то так

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

Добавлено: 09.05.2020{, 12:20}
Anydy
не сработало......где то в другом проблема.....
Вот скетч попробуй залить просто из ардуино IDE - все работает!