Бесплатная библиотека модемов и последовательных коммуникаций или приложение с поддержкой сценариев с ZMODEM/KERMIT
Моя задача на первый взгляд проста: набрать номер в терминале через модем, войти в систему, возможно, отправить некоторые другие символы, а затем получить файл (ы) через ZMODEM или KERMIT .. или отправить файл через ZMODEM или KERMIT.
Я рвал на себе волосы, пытаясь заставить это работать правильно. В основном я застрял на протоколе ZMODEM. У меня есть рабочая реализация XMODEM и YMODEM, которые достаточно просты. Но ZMODEM, очевидно, немного сложнее.
Я устал от всего этого. Особенно с модемами в целом. В настоящее время я просто посылаю команду ATDT и надеюсь на лучшее.
Терминальная программа, которая легко скриптируется, может также подойти. В настоящее время я смотрю в Tera Term. Но некоторая необходимая логика при подключении может сделать это менее желательным или временным решением.
Мне любопытно, если кто-нибудь знает о бесплатной библиотеке для последовательной связи для Windows, которая поддерживает протоколы ZMODEM или KERMIT.
В идеале, то, что может посмотреть в свойствах модема и получить инициализацию и строки подключения, было бы удивительно. Я пытался использовать TAPI для дозвона и управления дескриптором порта, но он никогда не работал очень надежно.
Я не боюсь интегрировать различные подходы в мой собственный код!
Моя текущая и предпочтительная платформа - C++, но я открыт для всего.
Спасибо за любую помощь, советы, предложения и т. Д.
4 ответа
sexyz доступен как кроссплатформенная * реализация протокола модема. IIRC вы можете подключиться, затем вызвать sexyz, передав дескриптор сокета и некоторую дополнительную информацию. Он доступен как часть синхронизации, но вы можете использовать его отдельно.
Для получения дополнительной помощи см. Программирование синхронизма на vertrauen или в irc://vert.synchro.net/#synchronet.
В качестве дополнения было бы действительно легко реализовать оболочку терминального клиента в node.js, а затем использовать метод child_process.spawn для использования stdio с sexyz.
sexyz был отличным ориентиром и, вероятно, пригодится в будущем.
Однако для временного решения, и быстрого и недорогого, я закончил писать сценарии с Tara Term. ( http://hp.vector.co.jp/authors/VA002416/teraterm.html) Это было на самом деле довольно просто и легко - и, наконец, я могу вернуться к работе с современными технологиями;)
Поскольку вы используете Windows, вы можете просто выложить в командную строку и использовать rasdial для подключения. После подключения вы можете использовать скрипт Kermit или Windows FTP для перемещения ваших файлов. Это клудж, но в таких случаях он работает для нас. Производитель вашего модема должен быть в состоянии сообщить вам правильные AT-команды, которые вы можете добавить для инициализации и соединений, это не одинаково для всех модемов.
lrzsz доступен для Unix. Возможно, вы сможете использовать его в качестве ссылки или перенести его на Windows.