Кто нибудь пробовал управлять через Народный мониторинг используя GPRS ? Отправка происходит через TCP. Пробовал несколько GSM модулей но так и не смог получить команду. В ответ на отправку данных ничего не приходит из ком порта модема кроме "send OK". Режим управления на сайте включен, приходит на телефон уведомление об успешной передаче команды. Отправка на сайт проходит прекрасно, устройство работает больше года. Просматривал все, что приходит с GSM модуля. Модули на sim900.
Ну что - Хелп? Чем управлять? Как управлять? Какую задачу решать? Через Народный мониторинг - это обязательно, потому что по-иному религия не позволят? Что уже есть? Как работает? Что это такое? А так - никто не пробовал "управлять".
Мне не нужно готовое решение и тем более решение вопроса за меня. Не суть чем управлять и как. Вопрос в том, что не могу получить команду управления с "Народного мониторинга", с GSM модуля она не приходит, хотя отправка данных проходит успешно (данные по TCP отправляются и успешно отображаются на сайте) и приходит уведомление о доставке команды. Что и как с ней делать в данный момент не важно. По иному действительно религия не позволяет, и называется она отсутствие знаний и опыта. Устройство базируется на примере GPRS логгера для теплицы. Собственно код отправки данных и попытки получения ответа Код (C++): void tcpRequest() { strcat(tcpBuffer, CLIENT); tcpTemp(); strcat(tcpBuffer, "##"); gprs.send(tcpBuffer); char* buf1; int len1; gprs.recv( buf1, len1); Serial.print("buf: "); Serial.println(buf1); clearTcpBuffer(); } Я правильно понимаю, что вы мне предлагаете заплатить ?
Ни у кого нет хрустального шара, заглянув в который, можно узнать, что за это за "пример для теплицы", и что вы с ним сделали. Если хотите помощи - будьте добры, описывайте свою проблему так, чтобы человек, ничего о ней не знающий, мог что-то понять.
Я привел кусок кода отвечающий за отправку данных. gprs.send(tcpBuffer); данные уходят gprs.recv( buf1, len1); пришедшие данные должны считываться с UARTа модуля. когда то за основу был взят проект http://wiki.amperka.ru/projects:gprslogger
Вы в том скетче, откуда это скопипастили - комментарии читали? Два символа "##"" - это признак окончания запроса к серверу. А сам запрос-то где у вас? Вы посылаете серверу пустой запрос - вот он вам ничего и не отвечает... Думаю, вам надо внимательно почитать на "Народном мониторинге" - как составлять запросы и как получать ответы...
Я привел кусок кода из из рабочей системы. У меня устройство работает больше года на отправку. Проблема в получении команды. Так наверное яснее. float temp = 23.8 жестко забито для теста Код (C++): void tcpTemp() { float temp = 23.8 ; // переменная для символьного представления // значения температуры воздуха char s_temp[8]; // преобразуем число 10 системы исчисления (тип float) // из переменной temp в строковое представление в массив s_temp[] // с учетом знака числа float2str(s_temp, temp); Serial.print("s_temp :"); Serial.println(s_temp); // добавляем к буферу разделительный символ «#» strcat(tcpBuffer, "#"); // добавляем к буферу уникальный серийный номера датчика // получаем его путём добавления к IMEI GPRS-шилда названия датчика strcat(tcpBuffer, IMEI); strcat(tcpBuffer, "T01"); // добавляем к буферу разделительный символ «#» strcat(tcpBuffer, "#"); // добавляем к буферу строку s_temp strcat(tcpBuffer, s_temp); // добавляем к буферу разделительный символ «#» strcat(tcpBuffer, "#"); // добавляем к буферу время актуальности показаний // если показания датчиков передаются немедленно, // то данный параметр передавать не надо strcat(tcpBuffer, " "); // добавляем к буферу разделительный символ «#» strcat(tcpBuffer, "#"); // добавляем к буферу названия датчика strcat(tcpBuffer, "Тест"); strcat(tcpBuffer, "\r\n"); }
Так выглядит полученный сервером запрос от моего рабочего устройства 2017-09-25 17:10:37 83.220.236.248 TCP #86416102651IMEI#ХХХХХХХХ название скрыто #86416102651IMEIT01#13.1# #Улица #86416102651IMEIH01#60.0# #Влажность #86416102651IMEIP01#0.8# #Давление #86416102651IMEIT02#13.5# #Котел #86416102651IMEIT03#13.0# #Отопление #86416102651IMEIT04#14.5# #Помещение #86416102651IMEIP02#764# #Атм. давление #86416102651IMEIS01#1# #Сеть ## на тестовом устройстве убрано все не относящееся к отправке, оставлен один датчик и показания датчика статические запрос тестового устройства: 2017-09-25 23:16:17 83.220.239.3 TCP #01322600718IMEI#Плетениха_тест #01322600718IMEIT01#23.8# #Тест ##