2011-11-07 250 views
0

我在搜索如何發送和接收SMS,並且我已經搜索了很多從如何在Linux上執行操作開始。我發現的所有東西都是libudev。我很喜歡C/C++,所以我希望它適合我。但是我不確定libdev是否能夠連接到電話/調制解調器並允許我發送命令,所以我儘管會問這裏: libudev + AT命令是一個不錯的選擇嗎?如果是的話,我會欣賞教程如何發送命令到USB調制解調器/電話。這是C/C++,當然 感謝Libudev和AT命令

回答

1

首先我想澄清一些事情:

  • libudev是一個C庫,提供接口udev
  • udev是Linux中的設備管理器。它負責管理/dev中的所有設備文件節點。
  • 的udev可用於例如查詢或監控設備
  • libudev(或udev的)無關與調制解調器,本身

所以,回到你的問題。您可以使用libudev以編程方式在其他設備中找到調制解調器。在這種情況下,udev可能爲該設備創建了類似/dev/ttyUSB0的內容。您還可以使用udevadm命令行工具查詢設備。

當您有合適的設備時,通過串行接口向您的調制解調器發送命令只是寫入該設備文件的問題。網絡充滿了這樣的例子:

+0

重大活動。我剛剛開始檢查幾個小時。讓我讀鏈接 –

2

幾年前,我寫了一個簡單的程序,發送和使用linux下的串口接收短信。 我不得不格式化PDU消息,然後使用標準AT命令通過串口發送它。 我用了一個名爲PDUSPY的有用軟件:http://www.nobbi.com/pduspy.html 你可以在google找到很多搜索「PDU SMS格式」的信息。 我不相信你需要像libudev這樣的額外的庫來訪問你的端口。 你爲什麼不嘗試玩minicom來測試你的AT命令串口?

您可以在命令行中列出製作「dmesg | grep -i tty」的可用串行端口。

祝你好運。

+0

我使用筆記本電腦,並沒有串口。調制解調器將連接到USB端口,或者我誤解了您的答案中的某些內容? –

+0

可能是你的USB調制解調器,它被映射爲開發目錄中的一個tty設備。嘗試使用「dmesg | grep -i tty」來檢查是否可以看到名爲「/ dev/ttyUSB」或類似設備。然後用該設備打開一個minicom並嘗試一個簡單的「AT」來驗證調制解調器是否響應。在Linux中,這些設備「總是」像串行接口一樣進行管理。 –

+0

[0.000000] console [tty0] enabled [24.413671]藍牙:初始化RFCOMM TTY層 [22805.832156] cdc_acm 2-6:1.1:ttyACM0:USB ACM設備 –