andrewlekar 0 11 октября, 2012 Опубликовано 11 октября, 2012 · Жалоба 1. Да, используется. Да, израсходуется. 2. Можно использовать RTS/CTS или побить отправляемую информацию на пакеты и не отправлять следующий до доставки предыдущего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitrijStepin 0 11 октября, 2012 Опубликовано 11 октября, 2012 (изменено) · Жалоба 1. Да, используется. Да, израсходуется. Интересно, как можно минимизировать ненужный расход лимита и сохранить быстрое подключение к серверу после того, как он включится? Увеличивать период запроса на подсоединение клиента к серверу до, например, нескольких минут не хотелось бы, т.к. в конечном счете пользователю нужно будет ждать. Может используемый лимит в холостом режиме не такой уж большой, чтобы тут заморачиваться? Допустим, дозвон или смс, чтобы клиент начал процесс подключения к серверу, тоже может быть не совсем практичным. Хотя, как вариант, можно рассматривать. Хотелось бы знать, как обычно люди поступают в этом случае? 2. Можно использовать RTS/CTS или побить отправляемую информацию на пакеты и не отправлять следующий до доставки предыдущего. Ок, тут более-менее понятно. Надо пробовать делать. Изменено 11 октября, 2012 пользователем Electronics Engineer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 11 октября, 2012 Опубликовано 11 октября, 2012 · Жалоба Вопрос 1: Используется ли предоставляемый интернетовский объем данных при неудачных попытках подсоединения? Если клиен будет запрашивать соединение каждые 2-3 секунды, не израсходуется ли быстро лимит данных? Что значит подсоединение? Раз в 2-3 секунды не выйдет. Вопрос 2: Устройство (клиент) должно будет слать на сервер довольно большие объемы данных (предварительно до 2 Мbit). Нужно ли использовать handshake при отсылке данных, т.к. скорость передачи данных по каналу GPRS довольно низкая, handshake не нужен, достаточно получать ответы от модема (SEND OK). а внутренний буфер SIM900 ограничен (что-то вроде 500 байт, если не ошибаюсь)? Побольше вроде, пакет ведь до 1кБ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitrijStepin 0 11 октября, 2012 Опубликовано 11 октября, 2012 · Жалоба Что значит подсоединение? Раз в 2-3 секунды не выйдет. Под попыткой подключения / подсоединения клиента к серверу я понимаю следующую последовательность команд: 1) AT+CREG? 2) AT+CGATT? 3) AT+CSTT="internet.lmt.lv" 4) AT+CIICR 5) AT+CIFSR 6) AT+CIPSTART="TCP","IP address of server","Port number of server" Разумеется, выше перечисленные команды посылаются только после приема соответствующего ответа от SIM900. Если на последнюю команду (6) принимается "STATE: TCP CLOSED" "CONNECT FAIL", то процесс повторяется с отсылки команды (1). Этот весь период занимает меньше 3 секунд, типично 2.5 секунды. Смотрел пакеты данных на осциллографе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gegel 0 11 октября, 2012 Опубликовано 11 октября, 2012 · Жалоба При Вашем подходе расход трафика будет очень большой: модуль практически постоянно будет слать sin-пакеты (они дублируются и сокетом). Как часто планируется включать сервер? Сколько времени в % он будет отключен? Думаю, лучшим решение видится все же инициализация входящим звонком на некоторое количество попыток подключения. Если хотите автоматизировать этот процесс со стороны сервера, тоже установите на нем модем с модулем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 11 октября, 2012 Опубликовано 11 октября, 2012 · Жалоба Под попыткой подключения / подсоединения клиента к серверу я понимаю следующую последовательность команд: 1) AT+CREG? 2) AT+CGATT? 3) AT+CSTT="internet.lmt.lv" 4) AT+CIICR 5) AT+CIFSR 6) AT+CIPSTART="TCP","IP address of server","Port number of server" Разумеется, выше перечисленные команды посылаются только после приема соответствующего ответа от SIM900. Если на последнюю команду (6) принимается "STATE: TCP CLOSED" "CONNECT FAIL", то процесс повторяется с Непонятно зачем зачем apn и регистрацию в GPRS повторять многократно. Если модуль уже зарегистрирован, то дальше достаточно только пытаться соединится по сокету. Этот весь период занимает меньше 3 секунд, типично 2.5 секунды. Смотрел пакеты данных на осциллографе. Что-то как-то быстро у вас получается. PS. Если за траффик беспокоитесь, то может UDP попробовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitrijStepin 0 12 октября, 2012 Опубликовано 12 октября, 2012 · Жалоба При Вашем подходе расход трафика будет очень большой: модуль практически постоянно будет слать sin-пакеты (они дублируются и сокетом). Как часто планируется включать сервер? Сколько времени в % он будет отключен? Думаю, лучшим решение видится все же инициализация входящим звонком на некоторое количество попыток подключения. Если хотите автоматизировать этот процесс со стороны сервера, тоже установите на нем модем с модулем. Сервер планируется включать раз в неделю или еще реже, возможно, даже раз в месяц. Устройство должно работать в автономном режиме, периодически, допустим, с интервалом 1 минута архивировать состояние датчика. Время и состояние датчика будет записываться в FRAM. С объемом памяти 2Мбита данные могут записываться в память без ее переполнения до 1 месяца. Софт на РС должен считывать память до того, как она переполнится. Часто не нужно считывать данные, поэтому активировать программу сервера раз-два в месяц было бы достаточно. С РС также нужно будет устанавливать кое-какие параметры. Модем у РС не хотелось бы ставить, т.к. это лишние затраты. Готовый модем, наверно, стоит около 100-200 евро. Минус этого варианта является то, что нужно оплачивать 2 SIM карты. Хотя, такое решение более правильное, т.к. позволяет автоматизировать процесс. Оптимально с точки зрения цены на обслуживание сделать дозвон или послать смс с телефона оператора. Тут уже человеческий фактор может сказаться, забыть отслать смс и программа не будет работать. Непонятно зачем зачем apn и регистрацию в GPRS повторять многократно. Если модуль уже зарегистрирован, то дальше достаточно только пытаться соединится по сокету. Возможно при повторных запросах первые 2 команды можно и не слать. Насчет 3, 4, 5 команд нужно экспериментировать. Хотя, судя по диаграмме состояний на странице 25, нужно начинать с команды 3 (AT+CSTT="apn"), т.к. после команды AT+CIPSHUT модуль находится в состоянии IP INITIAL. Микроконтроллер отсылает AT+CIPSHUT, когда получает ответ "STATE: TCP CLOSED" "CONNECT FAIL" на команду 6. Что-то как-то быстро у вас получается. Микроконтроллер отсылает следующую команду практически сразу после получения ответа от предыдущей команды. Интервал времени между ответом и новой командой как правило меньше 1мс. Поэтому может и получается максимально быстро на скорости 9600. Хотя baud rate не так критичен, т.к. SIM900 отвечает с довольно большой задержкой. Как я вижу больше 100мс для самых быстрых ответов. PS. Если за траффик беспокоитесь, то может UDP попробовать? UDP использовать не хотел бы, т.к. в этом режиме нет подтверждения того, что отосланные данные приняты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gegel 0 12 октября, 2012 Опубликовано 12 октября, 2012 · Жалоба UDP тут не поможет, т.к. в смысле трафика практически без разницы, что шлется: зондирующий УДП-пакет или sin-пакет инициализации tcp-сессии. При отключенном сервере на них ответ не приходит. При таком интервале работы тем более нет смысла зондировать сервер и единственный выход - входящим звонком. Не совсем понял про модем за 100-200 евро :) Модем - это тот же модуль SIM900 + блок питания + PL2303. На сколько я понимаю, все в 15 евро легко укладывается. Не хотите звонком - активируйте входящим SMS (можно отправлять бесплатно с сайта оператора) или, если сисоп поддерживает, через шлюз email->SMS (в этом случае процесс конекта можно полностью автоматизировать без участия оператора сервера). Кстати, совет: используйте EAT в SIM900: не надо внешнего микроконтроллера, памяти и не надо корячится с установкой соединения через АТ-команды. Только модуль, питание и ваши датчики. Внутри модуля есть флеш для данных, ее должно хватить. Если нет, можно посмотреть в сторону Quectel M12-128: внутри вроде до 9 МБайт памяти, и еще SD пятью проводами можно к модулю подцепить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vka_ 0 12 октября, 2012 Опубликовано 12 октября, 2012 · Жалоба Не совсем понятна Ваша проблема: по существу Вы "изобретаете велосипед" (мое мнение). Модем, который может быть и клиентом, и сервером, и входить в связь через GPRS по звонку о по расписанию уже давно выпускается например здесь: http://www.amrita.ru/index.php?units.php?sec=50 Называется "Барк". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitrijStepin 0 12 октября, 2012 Опубликовано 12 октября, 2012 · Жалоба При таком интервале работы тем более нет смысла зондировать сервер и единственный выход - входящим звонком. Не совсем понял про модем за 100-200 евро :) Модем - это тот же модуль SIM900 + блок питания + PL2303. На сколько я понимаю, все в 15 евро легко укладывается. Не хотите звонком - активируйте входящим SMS (можно отправлять бесплатно с сайта оператора) или, если сисоп поддерживает, через шлюз email->SMS (в этом случае процесс конекта можно полностью автоматизировать без участия оператора сервера). Пока мне нужно в единичном экземпляре. Себестоимость компонентов, плат, корпуса будет стоить около 100 евро для единичного экземпляра. Плюс потраченое время. В таком случае, проще купить готовое изделие, чтобы оно имело товарный вид. Вариант email->SMS тоже буду иметь в виду. Понятно, что постоянно пытаться подключаться к серверу не рекомендуется. Кстати, совет: используйте EAT в SIM900: не надо внешнего микроконтроллера, памяти и не надо корячится с установкой соединения через АТ-команды. Только модуль, питание и ваши датчики. Внутри модуля есть флеш для данных, ее должно хватить. Если нет, можно посмотреть в сторону Quectel M12-128: внутри вроде до 9 МБайт памяти, и еще SD пятью проводами можно к модулю подцепить. Как я понимаю, есть специальный софт для программирования самого SIM900? Конечно, этот вариант нужно рассматривать. Но сейчас я только начал работать с SIM900, поэтому мне легче запрограммировать знакомый AVR или какой-то другой микроконтроллер. А вообще, EAT в SIM900 актуально при более-менее серийном производстве. Не совсем понятна Ваша проблема: по существу Вы "изобретаете велосипед" (мое мнение). Модем, который может быть и клиентом, и сервером, и входить в связь через GPRS по звонку о по расписанию уже давно выпускается например здесь: http://www.amrita.ru/index.php?units.php?sec=50 Называется "Барк". Самого модема недостаточно, т.к. должен быть определенный дополнительный обвес и функционал. Нужно первоначально обработать сигналы с датчика, записать данные в архив с датой и временем и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 12 октября, 2012 Опубликовано 12 октября, 2012 · Жалоба Микроконтроллер отсылает следующую команду практически сразу после получения ответа от предыдущей команды. Интервал времени между ответом и новой командой как правило меньше 1мс. Поэтому может и получается максимально быстро на скорости 9600. Хотя baud rate не так критичен, т.к. SIM900 отвечает с довольно большой задержкой. Как я вижу больше 100мс для самых быстрых ответов. Как-то быстро всё равно - у меня подключение к GPRS занимает до секунд 15, плюс сокет TCP может несколько секунд подключатся (не более 60). UDP использовать не хотел бы, т.к. в этом режиме нет подтверждения того, что отосланные данные приняты. Самому можно сформировать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitrijStepin 0 12 октября, 2012 Опубликовано 12 октября, 2012 (изменено) · Жалоба Как-то быстро всё равно - у меня подключение к GPRS занимает до секунд 15, плюс сокет TCP может несколько секунд подключатся (не более 60). При включении питания, действительно, на одну из команд AT+CREG? или AT+CGATT? (сейчас точно не помню какая) нужный ответ приходит где-то через 7-10 секунд. А уже последующие попытки подключения клиента к серверу занимают в основном до 3 секунд. Еще был момент, который описан где-то в начале темы, т.е. когда клиент пытался подключиться к серверу, IP адрес которого не был виден. Тогда пытался подключиться к РС, который находился в локальной сети. Тогда, действительно, ответ "STATE: TCP CLOSED" "CONNECT FAIL" на команду AT+CIPSTART="TCP","IP address of server","Port number of server" приходил с большой задержкой. Наверно, больше 30 секунд. Сейчас такого нет с белым адресом. P.S. А Вы сами тоже из Риги? Изменено 12 октября, 2012 пользователем Electronics Engineer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 12 октября, 2012 Опубликовано 12 октября, 2012 · Жалоба При включении питания, действительно, на одну из команд AT+CREG? или AT+CGATT? (сейчас точно не помню какая) нужный ответ приходит где-то через 7-10 секунд. А уже последующие попытки подключения клиента к серверу занимают в основном до 3 секунд. У меня такая же картина: gprs подключается за секунд 10-20, сокет тоже подключается в пределах нескольких секунд.Бывает, правда, оператор не даёт подключится (наверное считает что модем не отключался) и тогда дело затягивается, но это не часто. P.S. А Вы сами тоже из Риги? Да, живу в Риге. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitrijStepin 0 15 октября, 2012 Опубликовано 15 октября, 2012 · Жалоба Да, живу в Риге. Если не секрет, какое оборудование делаете на базе SIM900? У меня это было только ознакомление с SIM900. Разобрался с отсылкой / получением смс, voice call, TCP/IP по каналу GPRS. По ссылке можете посмотреть краткое описание демонстрационных проектиков на базе SIM900: http://embeddedsolutio.ucoz.com/index/projects/0-6 Если что, было бы полезно на всякий случай иметь контакт в Риге. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 15 октября, 2012 Опубликовано 15 октября, 2012 · Жалоба Если не секрет, какое оборудование делаете на базе SIM900? Да тоже что и все сейчас - GPS/GLONASS-GSM-GPRS оборудование и тому подобное. Если что, было бы полезно на всякий случай иметь контакт в Риге. Если что - пишите в личку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться