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

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

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

Сообщение 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, сообщения на комп приходят.
Попробую еще с названиями топиков поэкспериментировать, но мне кажется не в этом дело
bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15 янв 2018, 00:58
Откуда: истра
Имя: роман

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

Сообщение 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...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15 янв 2018, 00:58
Откуда: истра
Имя: роман

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

Сообщение bayeck »

[ref=#aa0000]Anydy[/ref],

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

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

Сообщение Anydy »

[ref]bayeck[/ref], Да мысли есть, но надо проверять....надо собирать стенд с сим800 ...просто я этот блок по быстрому накидал и думал о том чтобы основной функционал запустить, основа заработала, я выложил пример, а дальше сами....попробуйте как Саша написал в посте 24 изменить.....
bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15 янв 2018, 00:58
Откуда: истра
Имя: роман

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

Сообщение bayeck »

[ref=#aa0000]Anydy[/ref], сделал как саша писал. вроде получше стало.
Аватара пользователя
jonik22sm
Капитан
Сообщения: 744
Зарегистрирован: 20 ноя 2015, 11:28
Откуда: Краснодар
Имя: Евгений
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение jonik22sm »

что Это за параметр 5я строка и гдэ его брать?
Снимок1.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Можно сделать ВСЁ. Было бы желание.
bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15 янв 2018, 00:58
Откуда: истра
Имя: роман

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

Сообщение bayeck »

[ref=#404040]jonik22sm[/ref], любая батва ,от вольного. для понимания кто долбиться в сервер.
Аватара пользователя
jonik22sm
Капитан
Сообщения: 744
Зарегистрирован: 20 ноя 2015, 11:28
Откуда: Краснодар
Имя: Евгений
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение jonik22sm »

Не понял!?
Можно сделать ВСЁ. Было бы желание.
bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15 янв 2018, 00:58
Откуда: истра
Имя: роман

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

Сообщение bayeck »

[ref=#404040]jonik22sm[/ref], айди устройства.типа мак адреса.
Аватара пользователя
jonik22sm
Капитан
Сообщения: 744
Зарегистрирован: 20 ноя 2015, 11:28
Откуда: Краснодар
Имя: Евгений
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение jonik22sm »

То есть могу писать что угодно!?
Можно сделать ВСЁ. Было бы желание.
bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15 янв 2018, 00:58
Откуда: истра
Имя: роман

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

Сообщение bayeck »

[ref=#404040]jonik22sm[/ref], вроде да.
Аватара пользователя
jonik22sm
Капитан
Сообщения: 744
Зарегистрирован: 20 ноя 2015, 11:28
Откуда: Краснодар
Имя: Евгений
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение jonik22sm »

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

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

Сообщение Anydy »

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

Отправлено спустя 51 секунду:
надеюсь сами найдете библиотеку в сети?
bayeck
Сержант
Сообщения: 140
Зарегистрирован: 15 янв 2018, 00:58
Откуда: истра
Имя: роман

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

Сообщение bayeck »

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

08,05 исправлено еще пару косяков.блок обновлен.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Rovki
Полковник
Сообщения: 4904
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение Rovki »

Попробовал блок от Андрея ,но с есп8266 - не хочет работать (связь с сайтом, брокером) , вот скрины команд контроллера
[spoiler]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

[/spoiler]
А вот ответы сим800 -
[spoiler]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
[/spoiler]
Подозреваю на команду AT+CIPSTART=1,"TCP","avsprog.ru",0 почему то нет номера порта
Электронщик до мозга костей и не только
Anydy

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

Сообщение Anydy »

[ref=#ff8000]Rovki[/ref], да .....есть проблема.....не подключается.....разбираюсь где проблемка....
Аватара пользователя
Rovki
Полковник
Сообщения: 4904
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение Rovki »

Anydy писал(а): 08 май 2020, 20:59 [ref=#ff8000]Rovki[/ref], да .....есть проблема.....не подключается.....разбираюсь где проблемка....
Я все логи снял , уже полегче

Отправлено спустя 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

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

Сообщение Anydy »

не сработало......где то в другом проблема.....
Вот скетч попробуй залить просто из ардуино IDE - все работает!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Rovki
Полковник
Сообщения: 4904
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение Rovki »

Залил на есп8266- скорость софт порта поставил 9600 , на gpio 4,5 - не работает
Электронщик до мозга костей и не только
Anydy

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

Сообщение Anydy »

Толя, а как ты хотел? чтобы за минуту сделать? Нет, это не реально.... я вот когда форум переносил - думал что за пару дней сделаю.....в итоге два месяца - потому что правишь код, заливаешь - не работает ...повторяешь с другими параметрами ....и так миллион раз! здесь так же....

Отправлено спустя 2 минуты 27 секунд:
я залил на есп8266 - залилось......щас буду проверять соединение с сервером.....
Ответить

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

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

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