Bibliothèque de modems / communications série gratuite ou application scriptable avec ZMODEM / KERMIT

Ma tâche semble simple en premier: connectez-vous à un terminal via un modem, connectez-vous, envoyez éventuellement d’autres caractères, puis recevez des fichiers via ZMODEM ou KERMIT .. ou envoyez un fichier via ZMODEM ou KERMIT.

Je me suis arraché les cheveux en essayant de faire en sorte que cela fonctionne correctement. La plupart du temps, je suis bloqué sur le protocole ZMODEM. J’ai une implémentation fonctionnelle de XMODEM et YMODEM, qui sont assez simples. Mais ZMODEM est évidemment un peu plus complexe.

Je suis fatigué de faire face à tout cela. Surtout avec les modems en général. Actuellement, je viens d’envoyer une commande ATDT et j’espère que tout se passera bien.

Un programme de terminal facilement scriptable peut également suffire. Actuellement, je regarde le terme de Tera. Cependant, une certaine logique nécessaire peut rendre cette solution moins souhaitable ou temporaire.

Je suis curieux de savoir si quelqu’un connaît une bibliothèque gratuite pour la communication série pour Windows, qui prend en charge les protocoles ZMODEM ou KERMIT.

Idéalement, quelque chose qui puisse examiner les propriétés du modem et obtenir des chaînes d’initialisation et de connexion serait incroyable. J’ai essayé d’utiliser TAPI pour appeler et obtenir un handle vers le port, mais cela n’a jamais fonctionné de manière très fiable.

Je n’ai pas peur d’intégrer différentes approches dans mon propre code!

Ma plate-forme actuelle et préférée est C ++, mais je suis ouvert à tout.

Merci pour toute aide, conseil, suggestions, etc.

sexyz est disponible sous forme de plate-forme croisée * Implémentation du protocole modem. IIRC vous pouvez vous connecter, puis appeler sexyz en passant le descripteur de socket et des informations supplémentaires. Il est disponible dans le cadre de synchronet, mais vous devriez pouvoir l’utiliser séparément.

Pour plus d’informations, voir la programmation de synchronisation sur vertrauen ou dans irc: //vert.synchro.net/#synchronet

sexyz télécharger


En complément, il serait très facile d’implémenter une cale de terminal client dans node.js, puis d’utiliser la méthode child_process.spawn pour utiliser stdio avec sexyz.

sexyz était une excellente référence et sera probablement utile à l’avenir.

Cependant, pour une solution temporaire, rapide et peu coûteuse, j’ai fini par écrire des scripts avec Tara Term. ( http://hp.vector.co.jp/authors/VA002416/teraterm.html ) C’était en fait assez simple et facile – et finalement je peux recommencer à travailler avec la technologie moderne;)

Puisque vous utilisez Windows, vous pouvez simplement passer à une invite de commande et utiliser rasdial pour vous connecter. Une fois connecté, vous pouvez utiliser un script kermit ou le ftp Windows pour déplacer vos fichiers. C’est un kludge mais ça marche pour nous dans ces cas là. Le fabricant de votre modem devrait pouvoir vous indiquer les commandes AT appropriées que vous pouvez append pour l’initialisation et les connexions, ce qui n’est pas la même chose sur tous les modems.

lrzsz est disponible pour unix. Vous pourrez peut-être l’utiliser comme référence ou le porter sur Windows.