Treiber für den Internetzugang über AT-Befehlsgeräte geschrieben

Treiber für den Internetzugang über AT-Befehlsgeräte geschrieben

USB-Dongles und GSM-ICs verwenden „AT“-Befehle zur Konfiguration und zur Steuerung ihres Betriebs. Mit solchen Befehlen können Sie die Stromversorgung steuern, SMS senden, über LTE, GPRS oder 3G eine Verbindung zum Internet herstellen und sogar die Geräte zurücksetzen und Anrufe entgegennehmen. Ich muss auch erwähnen, dass solche Geräte nur über „AT“-Befehle gesteuert werden können.

Der Befehlsstandard „AT“ umfasst etwa 10 bis 15 universelle Befehle und einige Geräte verfügen über einen zusätzlichen Befehlssatz, um Verbindungen zum Internet zu ermöglichen. Im Folgenden sind einige dieser möglichen Aktionen aufgeführt.

  1. Herstellen einer Verbindung zu SSL- oder Nicht-SSL-Servern.
  2. Senden von Daten an einen Port im Server, sobald die Verbindung aktiv ist.
  3. Verbindungen schließen.

Ich glaube (korrigieren Sie mich, wenn ich falsch liege), dass ein AT-Befehl einer der oben genannten Aufgaben entspricht.

Ich bin daran interessiert, einen Treiber in C für ein GNU/Linux-System zu schreiben, der die Internetanforderungen von PCs über AT-Befehle interpretieren und bedienen kann. Diese Software muss dafür sorgen, dass der PC sich selbst als „Ausgang“ „sieht“, beispielsweise wie eine Ethernet-Verbindung. Das ist, was die meisten Dongle-Softwares tun. Sie haben normalerweise zwei COM-Ports, die mit hoher Geschwindigkeit laufen. Ein COM-Port wird von der Standardsoftware des USB-Dongles gesteuert und der andere wird zum Senden/Empfangen von Daten verwendet.

Ich wäre dankbar, wenn mir jemand erklären könnte, wie ich mithilfe dieser Treibersoftware eine „gefälschte“ Ethernet-Verbindung herstellen oder dem PC einen Ausweg „sehen“ kann. Die Treibersoftware muss den GSM-IC oder einen USB-Dongle „ansteuern“, um Daten zu senden/empfangen. Dieses Projekt dient Bildungszwecken, daher bin ich nicht daran interessiert, eine Binärsoftware zu installieren und meinen Dongle zum Laufen zu bringen.

Ich würde es auch sehr schätzen, wenn jemand ein ähnliches Open-Source-Projekt kennt.

Antwort1

Hardwareseite: Kommunikation mit GSM-Hardware

Es scheint, als würden mehrere Leute ein „SIM900 GPRS-Modul“ verwenden, um sich mit AT-Befehlen mit Webservern zu verbinden. Ist das nah genug an dem, was Sie suchen?

BEARBEITEN:

Anwendungsseite: Kommunikation mit normalen, unveränderten Linux-Anwendungen

Es hört sich so an, als ob Sie möchten, dass Software wie Firefox auf Ihrem Linux-Computer normal funktioniert, ohne dass Änderungen an der Firefox-Anwendung selbst vorgenommen werden müssen, „als ob“ der PC über ein Standard-Ethernet-Kabel mit dem Internet verbunden wäre.

Ihre Software muss also ein Gerätetreiber sein, der auf der Anwendungsseite „wie“ andere Ethernet- oder WiFi-Gerätetreiber aussieht, auf der Hardwareseite jedoch Daten über einen USB- oder anderen seriellen Anschluss an die GSM/GPRS-Hardware weiterleitet.

Könnten Sie einen Standard-Ethernet- oder WLAN-Gerätetreiber abspalten und dann den Abschnitt, der mit der jeweiligen spezifischen Ethernet-Kartenhardware kommuniziert, durch einen Abschnitt ersetzen, der mit Ihrer spezifischen GSM/GPRS-Hardware kommuniziert?

Man könnte ganze Bücher über das Schreiben von Linux-Gerätetreibern schreiben (und das wurde auch schon getan). Viele Linux-Gerätetreiber sind Open-Source-Software:

Für Ihre spezielle Anwendung ist es möglicherweise einfacher, ein normales User-Space-Programm zu schreiben und einzurichtenTUN/TAPvirtuelle Netzwerk-Kernelgeräte, um Pakete von Firefox und anderen Anwendungen an Ihr User-Space-Programm zu übermitteln.

Bei Fragen zum Schreiben solcher Gerätetreiber erhalten Sie möglicherweise eine bessere Antwort auf relevanteren Websites wie:https://unix.stackexchange.com/,https://serverfault.com/,https://softwareengineering.stackexchange.com/,https://networkengineering.stackexchange.com/, usw.

verwandte Informationen