為透過基於 AT 命令的裝置存取網際網路而編寫的驅動程式

為透過基於 AT 命令的裝置存取網際網路而編寫的驅動程式

USB 加密狗、GSM IC 使用「AT」命令進行配置並控制其操作。此類命令能夠控制電源、發送簡訊、透過 LTE、GPRS 或 3G 連接到互聯網,甚至重置設備和接聽電話。我還必須提到,控制此類設備的唯一方法是透過“AT”命令。

「AT」命令標準有大約 10 - 15 個通用命令,一些設備還添加了一組命令以允許連接到互聯網。以下是一些可能的此類操作,

  1. 與 SSL 或非 SSL 伺服器建立連線。
  2. 連線處於活動狀態後,將資料傳送到伺服器中的連接埠。
  3. 關閉連線。

我相信(如果我錯了,請糾正我)一個 AT 命令對應於上述任務之一。

我有興趣用 C 語言為 GNU/linux 系統編寫一個驅動程序,它可以透過 AT 命令解釋和滿足 PC 的互聯網需求。該軟體必須讓PC“看到”自己作為“出路”,也許就像乙太網路連接一樣。這就是大多數加密狗軟體所做的。它們通常有兩個高速運行的 COM 連接埠。一個 COM 連接埠由 USB 加密狗預設軟體控制,另一個用於發送/接收資料。

如果有人能向我解釋如何開發「假」乙太網路連接或使電腦「看到」使用此驅動程式軟體的出路,我將不勝感激。驅動程式軟體需要「驅動」GSM IC 或 USB 加密狗來發送/接收資料。因此,這個專案用於教育目的,我對安裝二進位軟體和讓我的加密狗工作不感興趣。

如果有人可以參與與此類似的開源項目,我也將非常感激。

答案1

硬體方面:與 GSM 硬體對話

似乎有幾個人使用「SIM900 GPRS 模組」使用 AT 命令連接到網路伺服器。這是否足夠接近您正在尋找的內容?

編輯:

應用程式端:與正常的、未修改的 Linux 應用程式對話

聽起來您希望 Linux 電腦上的 Firefox 這樣的軟體能夠正常工作,而不需要對 Firefox 應用程式本身進行任何更改,「就好像」PC 插入了連接互聯網的標準乙太網路電纜一樣。

因此,您的軟體需要是一個裝置驅動程序,在應用程式端「看起來像」其他乙太網路或 WiFi 裝置驅動程序,但在硬體端透過 USB 或其他串列連接埠將資料路由到 GSM/GPRS 硬體。

您能否分叉一些標準乙太網路裝置驅動程式或 Wifi 裝置驅動程序,然後用與您的特定 GSM/GPRS 硬體通訊的部分替換與其特定乙太網路卡硬體通訊的部分?

整本書都可以並且已經是關於編寫 Linux 設備驅動程式的;許多Linux裝置驅動程式都是開源軟體:

對於您的特定應用程序,編寫普通的用戶空間程式並設定可能會更容易TUN/TAP虛擬網路核心裝置將封包從 Firefox 和其他應用程式傳送到您的使用者空間程式。

對於有關編寫此類裝置驅動程式的問題,由於這些裝置驅動程式對於所有 Linux 系統(不僅僅是 Ubuntu)都運作相同,因此您可能會在更相關的網站(例如https://unix.stackexchange.com/,https://serverfault.com/,https://softwareengineering.stackexchange.com/,https://networkengineering.stackexchange.com/, ETC。

相關內容