web-dev-qa-db-fra.com

Pilotes écrits sur Access internet via AT Périphériques basés sur les commandes

Clés USB, les circuits intégrés GSM utilisent des commandes "AT" pour la configuration ainsi que pour contrôler leur fonctionnement. Ces commandes permettent de contrôler l’alimentation, d’envoyer des SMS, de se connecter à Internet via LTE, GPRS ou 3G et même de réinitialiser les appareils et de prendre des appels. Je dois également mentionner que le seul moyen de contrôler de tels dispositifs consiste à utiliser les commandes "AT".

Les commandes standard "AT" ont environ 10 à 15 commandes universelles et certains appareils ont un ensemble de commandes ajouté pour permettre les connexions à Internet. Voici quelques actions possibles,

  1. Établir une connexion avec des serveurs SSL ou non SSL.
  2. Envoi de données à un port du serveur une fois la connexion établie.
  3. fermeture des connexions.

Je crois (corrigez-moi si je me trompe) qu'une commande AT correspond à l'une des tâches ci-dessus.

Je suis intéressé par l’écriture d’un pilote en C pour système GNU/Linux qui puisse interpréter et servir les besoins Internet des PC via les commandes AT. Ce logiciel doit laisser le PC "se voir" comme un "moyen de sortie", peut-être comme une connexion Ethernet. C'est ce que font la plupart des logiciels de dongle. Ils ont généralement deux ports COM fonctionnant à grande vitesse. Un port COM est contrôlé par le logiciel par défaut des clés USB et l'autre est utilisé pour envoyer/recevoir des données.

J'apprécierais que quelqu'un puisse m'expliquer comment je peux développer une "fausse" connexion Ethernet ou faire en sorte que le PC "voie" un moyen de sortir en utilisant ce logiciel pilote. Le logiciel du pilote devra "piloter" le GSM IC ou un dongle USB pour envoyer/recevoir des données. Ce projet à des fins éducatives, par conséquent, je ne suis pas intéressé par l’installation d’un logiciel binaire et le fonctionnement de mon dongle.

J'apprécierais aussi beaucoup si quelqu'un peut s'identifier à un projet open source similaire à celui-ci.

4
Denis

côté matériel: parler au matériel GSM

Plusieurs personnes semblent utiliser un "module GPRS SIM900" pour se connecter aux serveurs Web à l'aide des commandes AT. Est-ce assez proche de ce que vous recherchez?

MODIFIER:

côté application: conversation avec des applications Linux normales et non modifiées

Il semble que vous souhaitiez qu'un logiciel tel que Firefox sur votre ordinateur Linux fonctionne normalement, sans aucune modification de l'application Firefox elle-même, "comme si" le PC était branché à un câble Ethernet standard vers Internet.

Ainsi, votre logiciel doit être un pilote de périphérique qui "ressemble" à d'autres pilotes de périphériques Ethernet ou WiFi côté application, mais côté matériel achemine les données via un port USB ou un autre port série vers le matériel GSM/GPRS.

Pourriez-vous créer un pilote de périphérique Ethernet ou Wi-Fi standard, puis remplacer la section qui communique avec le matériel de la carte Ethernet spécifique, avec une section qui communique avec votre matériel GSM/GPRS spécifique?

Des livres entiers pourraient être et ont été écrits sur l’écriture de pilotes de périphériques Linux; et de nombreux pilotes de périphériques Linux sont des logiciels open source:

Pour votre application particulière, il peut être plus facile pour vous d'écrire un programme d'espace utilisateur normal et de configurer TUN/TAP périphériques de noyau de réseau virtuel pour livrer des paquets de Firefox et d'autres applications à votre espace utilisateur. programme.

Si vous avez des questions sur l'écriture de tels pilotes de périphérique, ces derniers fonctionnent de la même manière sur tous les systèmes Linux (pas uniquement Ubuntu). Vous obtiendrez ainsi une meilleure réponse sur des sites plus pertinents, tels que https://unix.stackexchange.com / , https://serverfault.com/ , https://softwareengineering.stackexchange.com/ , https: //networkengineering.stackexchange .com / , etc.

2
David Cary