Поставленна задача огранизовать безпроводную передачу данных в системе точка-многоточка. На данный момент есть верхнее ПО которое устанавливается на ПК и он является инициатором связи. Система благополучно работает по RS-232, RS-485, еще одному хитрому интерфейсу типа RS232. Передаваемые посылки не больше 250 байт. Система должна развертываться сходу, без дополнительных напрягов(сервер, и т.д.). Для решения задачи использую модули SIM300D. Вижу как минимум 3 основных варианта решения задачи: 1. Связь по CSD. Самый простой и надежный вариант. Дозвонились, законектились, передаем туда-сюда практически без доработок существующего протокола связи(нужно будет с задержками поигратся, и ввести команду для верхнего ПО, чтобы дольше ждало ответ абонента). Проверил скорость передачи реальную(файл 100кБайт за 108 секунд = 7650бит/с) - это нормально, или я чего-то напутал?
2. Связь по GPRS. Модуль который подключен к ПК конфигурирую как сервер, запрашиваю IP(МТС Украина), потом передаю IP с помощью CSD абоненту, абонент с свою очередь подключается клиентом по этому IP. В принципе немного накручено и не очень быстро, но работает. Начал проверять скорость передачи и у меня возникли вопросы. Немогу передать больше 1 килобайта информации. Пробовал тремя способами: - окончание передачи по ctrl Z; - передача по длинне сообщения; - передача по таймауту(at+cipats). Даже по таймауту у меня не получилось передать больше 1 килобайта. Вообще какая-то ерунда по этому таймауту получается. У кого как работает? Можно передать больше инфы за один раз чем у меня?
3.Связь по GPRS c ПК с постоянным IP. Этот вариант еще не проверял, но у него должны быть преимущества(скорость передачи, все абоненты подключены к своим портам и всегда на связи, и т.д.)
Кто видит какие-то корявые моменты? Как у уважаемых форумчан со скоростью по CSD, с обьемом посылки и скоростью по gprs? Использую внутренний стек TCP/IP и мк ATMEGA162.
|