Главная Новости Продукция Сделай сам Где купить Файлы Siemens TC65 Контакты F.A.Q.

Попал мне в руки GSM-модем Siemens TC65 - очень удобная и полезная вещь оказалась. Основная идея - у модуля есть СОМ-порт, дискретные линии ввода-вывода и аналоговые входы, а в модуль можно загружать самописанное Java-приложение, которое может разговаривать как с модемом, так и с этими линиями ввода-вывода. Устройство законченное - включай и работай. Можно крепить на DIN-рельс, на винты. Питание - 8-30 В.
В Санкт-Петербурге эти модули можно купить в т.ч. здесь. Не рекламы ради, а удобства для.
На этом модеме очень удобно делать системы GSM + GPS позиционирования, автопоиска, слежения за транспортом на автопредприятиях и прочих вещей.

На этой странице выложены самописанные приложения и примеры, распространяемые как freeware. Берите, пользуйтесь, переделывайте как хотите, буду только рад. Если получите за переделанное денежку и захотите поделиться - не возражаю :), номер кошелька для яндекс-денег 4100148624459.

GSM-сигнализация на TC65

GSM-сигнализация на TC65 Для использования GSM-модема Siemens TC65i в качестве охранной сигнализации или автомобильного пейджера нужны только источник питания на напряжение 10-24В, сам модем, датчики (например, герконы на двери) и предлагаемый Java-апплет (исходники - внутри). Описание - здесь.

Обмен данными с удаленными приборами по RS-232 - на TC65

Обмен данными с удаленными приборами на TC65

Очень распространенная задача - связь по радиоканалу с приборами, имеющими интерфейс 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

Обмен данными с удаленными приборами на TC65

По этой же схеме делается локатор для автомобиля. В автомобиль устанавливается GPS-приемник и модем с Java-апплетом. Выход GPS-приемника подключается к СОМ-порту модема. Модем соединяется с компьютером через GPRS и транслирует данные GPS в компьютер, как если бы GPS-приемник был подключен прямо к компьютеру. На компьютере стоит любая навигационная программа, которая показывает положение машины на карте.

GPRS мост на TC65

Если один модем сконфигурировать сервером, а другой - клиентом, можно сделать прозрачный мост через GPRS.
Один из отзывов:
Кстати, в порядке обмена опытом...
Данным пулом из двух модемов сделан GSM удлинитель MODBUS RTU скорость оптимальной оказалась 38400 буфер 1000мс. Период опроса в скаде 3000мс и выше. Ошибок от 10 до 30%, зависит от времени суток.

Конечно же, модем-сервер должен иметь статический IP-адрес, доступный от модема-клиента (либо внешний, либо в виртуальной сети - такая услуга предоставляется, например, Мегафоном в некоторых регионах, и только для корпоративных клиентов)

Программирование Siemens TC65

Столкнулся с программированием GSM-модуля Siemens TC65. Оказалось очень интересно. Проблемы - непросто настроить среду разработки и научиться программировать на Java так, чтобы получалось что-то полезное, да еще и работало. В принципе, все более или менее описано в сименсовской документации на этот модуль, но завелось тоже далеко не сразу. Поэтому решил кое-что выложить, чтобы другим было проще начинать.

  • Конференция на ixbt.com - читать начинающим, там много очевидных, но толковых вещей и мыслей.
  • Описание интерфейсов модуля Siemens TC65, схема подключения.
  • Как настраивать среду разработки для модулей Siemens TC65 - сименсовский документ.(см. дополнения ниже)
  • Как настраивать среду разработки для модулей Siemens TC65 - отдельные слова с разных форумов, которые мне в конечном итоге помогли.
  • Java на Sun.com - Java SDK, необходим для работы Eclipse, ну и, собственно, приложений для модулей Siemens TC65
  • J2ME SDK - необходим для компиляции приложений для модулей Siemens TC65. Бывает, что без него к приложению могут прикомпилироваться не те классы, и ничего не работает (уперся в проблему при переустановке). Возможно, есть более свежий вариант, но с этим все точно работает. (при второй переустановке он не понадобился, зато пришлось поставить 'этот JDK)
  • Eclipse - Среда разработки Java-приложений для Siemens TC65
  • eclipseme.org - Плагин к Eclipse, необходимый для разработки Java-приложений для Siemens TC65. ОЧЕНЬ ВАЖНО внимательно прочитать и выполнить все инструкции по установке и настройке, которые приведены на том же сайте.
  • SMTK core pack - м.б. придется поставить, чтобы встал WTK
  • SMTK 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();
    }
    Чтобы хотя бы миллисекунды с начала работы программы можно было оценивать и сравнивать.
    УЖАС.

    Автозапуск пользовательских апплетов на Siemens TC65

    Конечно, мы хотим, чтобы при подаче питания или перезапуске модема запускалась наша замечательная программа. И это возможно - надо всего лишь выполнить волшебную последовательность команд из подключенного терминала:
    at^scfg="Userware/Autostart/Appname","",a:/myappname.jar
    at^scfg="Userware/Autostart","",1
    at^scfg="Userware/Autostart/Delay","",5
    Все три раза модем должен ответить ОК. Если что-то не так, возможно, в более поздних прошивках формат команды изменился - найдите новый формат и сообщите мне, пожалуйста, я добавлю.

    Но вот незадача: мы хотим залить новую версию апплета, а для этого прицепить модем к компу. Но наш апплет, залитый ранее, запускается при подаче питания и не дает доступа к памяти модема!
    Проблема решается путем запуска утилиты autostart_off и одновременной перезагрузке модема. Утилита успевает сказать модему, чтобы он не маялся дурью, пока он очередной раз не запустил ваш апплет.
    ЧТО ОЧЕНЬ ХАРАКТЕРНО, ВСЁ ЭТО НАПИСАНО В МАНУАЛЕ ПО Java - НО КТО Ж ЕГО ЧИТАЕТ?..