| 

 
Попал мне в руки GSM-модем Siemens TC65 - очень удобная и полезная вещь оказалась.  
Основная идея - у модуля есть СОМ-порт, дискретные линии ввода-вывода и аналоговые входы, 
а в модуль можно загружать самописанное Java-приложение, которое может разговаривать как 
с модемом, так и с этими линиями ввода-вывода. Устройство законченное - включай и работай. 
Можно крепить на DIN-рельс, на винты. Питание - 8-30 В.В Санкт-Петербурге эти модули можно купить 
 в т.ч. здесь. 
Не рекламы ради, а удобства для.
 На этом модеме очень удобно делать системы GSM + GPS позиционирования, автопоиска, 
слежения за транспортом на автопредприятиях и прочих вещей.
 
На этой странице выложены самописанные приложения и примеры, распространяемые как freeware. 
Берите, пользуйтесь, переделывайте как хотите, буду только рад. Если получите за переделанное 
денежку и захотите поделиться - не возражаю :), номер кошелька для яндекс-денег 4100148624459.
 
|  Для использования GSM-модема Siemens TC65i в качестве охранной сигнализации или автомобильного пейджера 
нужны только источник питания на напряжение 10-24В, сам модем, датчики (например, герконы на двери) 
и предлагаемый Java-апплет (исходники - внутри). Описание - 
здесь. |  
|   Очень распространенная задача - связь по радиоканалу с приборами, имеющими интерфейс RS-232 или RS-485, по протоколу Modbus/RTU 
или проприетарным протоколам. 
Все кому не лень с удовольствием наживаются на ее решении. Между тем она решается совершенно бесплатно 
с помощью предлагаемого апплета для модема и одной или двух бесплатных программ, разработанных нашим соотечественником,
которые можно взять здесь 
(нужно взять релиз программы  com2tcp 
и, если вам нужно одновременно установить канал связи с несколькими приборами либо не хочется делать нуль-модем, com0com). Исходники апплета - в том же архиве. 
Текущая версия описания - здесь. Настройка - через меню подключенного на 115200-8-n-1-none терминала.
 В канале связи GPRS могут быть значительные задержки (500-1500 мс), поэтому не все готовые программы опроса 
будут работать через этот канал. Например, ранее (до появления билда 101218) не удалось добиться устойчивого опроса счетчиков НПФ 
"Логика" - работает через раз и в пустой сети. Но работает.
 Новая версия апплета (билд 101218) поддерживает Modbus/RTU путем буферизации пакетов запросов на стороне модема и 
последующей отправки в СОМ-порт одним пакетом без перерывов. Задержка для буферизации регулируемая. Длина передаваемого 
пакета (глубина буфера) - 256 байт. Пробуйте, у кого запустится. Поиграв с задержками, теоретически можно добиться устойчивого 
опроса приборов учета "Логика" и других (ВКТ-7, например).
 В билде 101227 добавлена аналогичная задержка на обратную отсылку. Как оказалось, она помогает 
бороться с фрагментацией TCP-пакетов и тоже косвенно стабилизирует работу Modbus. Спасибо Андрею, который замучал-таки меня и 
заставил довести прогу до ума! Его ВКТ-7 после этого начал опрашиваться родной (весьма кривой) программой.
 Те, кому не надо, могут отключить буферизацию через меню, тогда байты приходят без задержек, и время прихода каждого байта
 определяется задержкой канала связи.
 Билд 120523 умеет работать TCP сервером, т.е. устройство, подключённое к нему, можно опрашивать по IP-адресу без постоянного поддержания соединения.
 Как всегда, возможны глюки (известные - вылечены) - жду отзывов.
 
 
Скачать апплет rs2gprs (последняя версия, 120826)Скачать руководство к rs2gprs
 Скачать исходный код rs2gprs (последняя версия, 120826)
 
 Предыдущие версии:
 Билд 120523 и исходники
 Билд 101227
 Билд 101219
 
 |  
|   
По этой же схеме делается локатор для автомобиля. В автомобиль устанавливается GPS-приемник и модем с Java-апплетом. 
Выход GPS-приемника подключается к СОМ-порту модема. Модем соединяется с компьютером через GPRS и транслирует данные 
GPS в компьютер, как если бы GPS-приемник был подключен прямо к компьютеру. На компьютере стоит любая навигационная 
программа, которая показывает положение машины на карте.
 |  
|   
Если один модем сконфигурировать сервером, а другой - клиентом, можно сделать прозрачный мост через GPRS. Один из отзывов:
 Кстати, в порядке обмена опытом...
 Данным пулом из двух модемов сделан GSM удлинитель MODBUS RTU скорость оптимальной оказалась 38400 буфер 1000мс. Период опроса в скаде 3000мс и выше. Ошибок от 10 до 30%, зависит от времени суток.
 Конечно же, модем-сервер должен иметь статический IP-адрес, доступный от модема-клиента 
(либо внешний, либо в виртуальной сети - такая услуга предоставляется, например, 
Мегафоном в некоторых регионах, и только для корпоративных клиентов)
 
 |  | Столкнулся с программированием GSM-модуля Siemens TC65. Оказалось очень интересно. 
Проблемы - непросто настроить среду разработки и научиться программировать на Java так, 
чтобы получалось что-то полезное, да еще и работало. В принципе, все более или менее 
описано в сименсовской документации на этот модуль, но завелось тоже далеко не сразу. 
Поэтому решил кое-что выложить, чтобы другим было проще начинать. 
 
 
Конференция  на ixbt.com - читать начинающим, там много очевидных, но толковых вещей и мыслей.Описание интерфейсов модуля Siemens TC65, схема подключения.Как настраивать среду разработки для модулей Siemens TC65 - сименсовский документ.(см. дополнения ниже)Как настраивать среду разработки для модулей Siemens TC65 - отдельные слова с разных форумов, которые мне в конечном итоге помогли.Java на Sun.com - Java SDK, необходим для работы Eclipse, ну и, собственно, приложений для модулей Siemens TC65J2ME SDK - необходим для компиляции приложений для модулей Siemens TC65. Бывает, что без него к приложению могут прикомпилироваться не те классы, и ничего не работает (уперся в проблему при переустановке). Возможно, есть более свежий вариант, но с этим все точно работает. (при второй переустановке он не понадобился, зато пришлось поставить 'этот JDK)Eclipse - Среда разработки Java-приложений для Siemens TC65eclipseme.org - Плагин к Eclipse, необходимый для разработки Java-приложений для Siemens TC65. ОЧЕНЬ ВАЖНО внимательно прочитать и выполнить все инструкции по установке и настройке, которые приведены на том же сайте.SMTK core pack - м.б. придется поставить, чтобы встал WTKSMTK core pack 3.0.06 - тоже не помешает. Если разрабатывать приложения не только для ТС65, то некоторые эмуляторы не цепляются к более старому SMTK. А некоторые - наоборот, к более новому. В общем, придется пробовать.WTK для TC65 - классы, встроенные в ТС65, и их описание в HTML, а также некоторые полезные утилиты. Говорят, это есть на сидюке, который должен идти вместе с модемом, но ко мне пришел только модем без всякого софта. Софт пришлось искать в инете, а мир - не без добрых людей. Самое приятное и несколько неожиданное, что добрые люди нашлись среди америкосов! (эту штуку для ТС65 нужно ставить обязательно)WTK R3 для TC65 - то же самое, но релиз R3 - более свежий. Документация по WTK развернута именно оттуда, чтобы было удобнее искать. TC65 Software Development Kit - интегрируется в Eclipse, и без него проекты строятся, но не запускаются. Там уже есть Module Exchange Suite.Module Exchange Suite для TC65 (отдельно) - софтина, которая видна из ОС как дисковод, но отображает содержимое файловой системы модуля и позволяет заливать туда написанные вами программы. Модуль должен быть подключен через СОМ-порт.AT-команды для TC65Учимся писать для TC65 почти с нуля - неплохой survival guide для начинающих (тут локальная копия)Мое тестовое приложение для Siemens TC65 и исходный текст на Java - проект для IDE Eclipse (положить в каталог workspace, созданный при установке Eclipse). Пример программы показывает, как посылать SMS по-русски, управлять входами и выходами модуля (GPIO), работать с COM-портом Siemens TC65.Еще один пример программирования для Siemens TC65. Показывает, как получать ответы на USSD-запросы (например, запрос баланса) с помощью ATCommandListener.Как передать из Siemens TC65 на веб-сайт какие-то минимальные данные (например, координаты GPS), или получить что-то с сайта.Веб-сервер на TC65. Пример слушающего сокета, одно- и многопоточный сервер. Заодно решена проблема exception: Network idle timeout (надо добавить timeout в строку-аргумент Connector при создании сокета) и exception: The address is already in use (нужно подождать минуту после закрытия сокета перед его повторным открытием).Как организовать прозрачное соединение по CSD.Как работать с потоками.Прошивка версии 3 для TC65, взятая отсюда.
эмулятор для С75 эмулятор для S55 Еще один (сторонний) пример софтины, получающей и отображающей информацию с модема Русский форум Сименса, на котором есть остатки вопросов по их модулям.  Всё меняется, и Siemens превратился в Cinterion. К сожалению, дурацкая система поддержки пользователей 
не претерпела изменений, и документацию по изделиям всё так же хрен где найдешь, равно как и CMTK. Но вот 
хотя бы кое-что:
 Весь 2010 год здесь были линки на блог кульного француза, у которого лежали образы CD из комплекта Cinterion и Siemens. К глубочайшему прискорбию, ему написали уроды из синтериона и попросили убрать эти сидюки. Типа, мы не хотим давать информацию нашим конкурентам. Бедняга, как человек законопослушный и по самое некуда 
напуганный копирастами, убрал эти полезнейшие софты. А жаль.
 Поскольку я уже опытный и пытался получить эти файлы что от сименса, что от синтериона (естественно, хрен они мне показали, а не файлы), как и обещал, выкладываю эти образы у себя. Хоть я и уважаю синтерион и его странные желания, но если бы они адекватно реагировали на запросы информации... сами виноваты, в общем. 
Более того, если они вынудят меня тоже убрать файлы, я всё равно приложу все усилия, чтобы они остались доступными для общества. Или в крайнем случае мы как-нибудь поддержим "незаконных азиатских конкурентов", как они написали.
 Качайте и распространяйте знание!
 Отдельное замечание для синтерионов:
 К великому сожалению, в России бизнес ведется через жопу и не благодаря, а вопреки. Поэтому ваше понятие business-to-business здесь просто не работает. Если там еще можно что-то нормально и легально получить, то здесь... Так что извините. Или сделайте нормальное представительство, которое будет нормально снабжать людей 
документацией и железом по первому требованию, а не жевать сопли и посылать всех, кому надо менее 1000 модемов в год.
 
 
SMTK R3 - Siemens Mobile Tool Kit R3.CMTK - Cinterion Mobile Tool Kit. Здесь много примеров по програмированию основных фич модема TC65, например, работа с FTP через AT-команды или синхронизация часов модема с сервисом time (порт 37). Вклад испаноговорящего чувака, спасибо ему.
 В 2010 году решил написать программку для Siemens TC65, и вдруг оказалось, что ее
никакими силами не удается запустить на модеме. Что-то не срастается, а что - так 
и не понял. В результате удалось срастить, поставив древний Eclipse 3.2 и Siemens 
WTK вручную. Чтобы в следующий раз (и другим людям) было проще, решил заархивировать 
то, что у меня стоит, и выложить. Теоретически (если разархивировать в то же место) 
все должно заработать без установки.
 Eclipse 3.2, сконфигурированный для создания апплетов 
для Siemens TC65, и сам Siemens WTK (133 091 616 байт)
 Архив надо развернуть в корневой каталог диска Н:. Если такого диска нет, можно 
попытаться поправить конфиг-файлы, но вероятность успеха - не 100%. Под Windows 7 всё это 
тоже не работает, как под вистой - не знаю. Поэтому юзайте ХР или 2000SP4... Да, кому-то 
неудобно - но что делать?
 Вариант решения проблемы - спасибо Олегу:
 сделал на диске директорию disk_h,
 потом в командной строке выполнил subst h: c:\disk_h,
 появился виртуальный диск H:
 После установки надо запустить H:\eclipse\eclipse.exe. Там уже будут несколько проектов 
из представленных на этом сайте.
 Для корректной работы надо поставить JDK с сайта java.com. У меня он стоит в C:\Java\jdk1.6.0_20 
и все пути прописаны туда. Если что-то не работает - попробуйте использовать именно этот 
путь.
 Успехов!
 
 
 В некоторых случаях команда at^scfg="Userware/Autostart/Appname","",a:/modem_test.jar  хоть
и возвращает ОК, но автозапуск работать не будет (руками запускается отлично). Уберите из имени файла 
подчёркивание, а лучше приведите его к старому доброму ДОСовскому формату 8.3, и всё станет хорошо.
 
 
Упёрся в глюк модема. При использовании типа long (например, для обработки результата работы функции 
System.currentTimeMillis() ) модем перестает разговаривать через СОМ-порт и, похоже, вообще вешается.
Обходной маневр - public int millisNow()
 {
 return (int)System.currentTimeMillis();
 }
 Чтобы хотя бы миллисекунды с начала работы программы можно было оценивать и сравнивать.
 УЖАС.
 
 Конечно, мы хотим, чтобы при подаче питания или перезапуске модема запускалась наша замечательная программа. 
И это возможно - надо всего лишь выполнить волшебную последовательность команд из подключенного терминала:at^scfg="Userware/Autostart/Appname","",a:/myappname.jar
 at^scfg="Userware/Autostart","",1
 at^scfg="Userware/Autostart/Delay","",5
 Все три раза модем должен ответить ОК. Если что-то не так, возможно, в более поздних прошивках формат команды
изменился - найдите новый формат и сообщите мне, пожалуйста, я добавлю.
 
Но вот незадача: мы хотим залить новую версию апплета, а для этого прицепить модем к компу. Но наш апплет, 
залитый ранее, запускается при подаче питания и не дает доступа к памяти модема!Проблема решается путем запуска утилиты autostart_off и одновременной перезагрузке модема.
Утилита успевает сказать модему, чтобы он не маялся дурью, пока он очередной раз не запустил ваш апплет.
 ЧТО ОЧЕНЬ ХАРАКТЕРНО, ВСЁ ЭТО НАПИСАНО В МАНУАЛЕ ПО Java - НО КТО Ж ЕГО ЧИТАЕТ?..
 |  |