2012-06-22 29 views
11

Tôi có modem USB 3G D-Link DWM-156 mà tôi muốn gửi lệnh AT đến từ ứng dụng của tôi (C# .NET 4.0 chạy trên Windows XP SP3).Làm thế nào để giao tiếp với modem USB 3G?

Sau plug-in và lắp đặt các trình điều khiển modem xuất hiện như thế này:

Trong Device Manager, hai cổng nối tiếp được thêm vào:

  • D-Link HSPADataCard Diagnostics Interface (COM4)
  • D-Link HSPADataCard NMEA Device (COM5)

Trong Control Panel, Điện thoại và Modem Options, một modem mới được thêm vào:

  • D-Link HSPADataCard Proprietary USB Modem (gắn liền với COM19)

CÂU HỎI: Tôi nên sử dụng cổng com nào để gửi lệnh AT và tốc độ nào?


Tôi đã thử cả ba cổng ở các tốc độ khác nhau, nhưng không có may mắn. Để tìm hiểu, sau đó tôi đã cài đặt ứng dụng sniffer miễn phí, hy vọng có thể giám sát thông tin liên lạc với tính khả dụng của D-Link khi nó mở và đóng kết nối internet (hoạt động OK.).

Mở đầu, ứng dụng sniffer hỏi tôi mà cổng để theo dõi và cung cấp cho tôi những cái tên cổng sau để lựa chọn:

  • "Agere Systems HDA Modem",
  • "D-Link HSPADataCard Proprietary USB modem",
  • "COM3",
  • "COM4",
  • "COM5"
  • ... và nhiều hơn, bao gồm "COM19".

Chọn "D-Link ..." tên hoạt động OK, bây giờ tôi có thể xem tất cả các lệnh AT được sử dụng như chúng xảy ra, nhưng tôi không thể xác định mà tại đó tốc độ truyền các cổng được sử dụng. Hơn nữa, không COM4, ​​COM5 hoặc COM19 hoạt động để đánh hơi theo cách này (không có gì dường như xảy ra trên các cổng).

Bây giờ tôi muốn sử dụng các SerialPort lớp trong .NET để mở "D-Link ..." cổng và nói chuyện với các modem USB, nhưng SerialPort lớp đòi hỏi tên cảng đến bắt đầu bằng "COM", nếu không thì một ngoại lệ sẽ bị ném. Nhưng không có cổng COM thông thường nào hoạt động. Và tôi vẫn không biết tốc độ truyền được sử dụng.Tôi khá bối rối và bị nhốt ở đây - tôi có thể làm gì để tìm hiểu điều này?

+0

Hệ thống Agere HDA Modem là COM1 và D-Link HSPADataCard Modem USB độc quyền có khả năng là COM2. Bạn luôn có thể liên hệ với D-Link với những câu hỏi này vì không có khả năng cung cấp cho bạn các giải pháp chính xác trừ khi chúng tôi sở hữu thiết bị ourself. –

+1

+1: Tôi cũng cần phải làm điều gì đó tương tự với ZTE MF190. – menjaraz

Trả lời

7

Ok folks, cảm ơn bạn cho tất cả những suy nghĩ của bạn và đầu vào của bạn. Tôi đã làm một số nghiên cứu thêm, và cuối cùng tôi nhận ra, rằng để làm những gì tôi muốn tôi đã không phải bận tâm với cổng nối tiếp và AT-lệnh ở tất cả. Tất cả những gì cần thiết là thực hiện một số cuộc gọi Windows RAS.

Nếu tôi chỉ có một chút cụ thể hơn trong câu hỏi của tôi về những gì tôi muốn làm với lệnh AT của tôi, bạn chắc chắn sẽ nói với tôi về RAS từ lâu rồi!

Tôi đã tìm thấy một tệp .Net DLL tốt (DotRas) kết thúc tốt đẹp Windows RAS bản địa để sử dụng từ mã được quản lý và có vẻ như chỉ cần thực hiện những gì tôi cần (quay số kết nối modem 3G từ mã). đính kèm).

Cảm ơn bạn một lần nữa vì đã dành thời gian.

+1

+1: Một số đoạn mã làm nó theo cách DotRas được chào đón :-) – menjaraz

+0

u có thể đăng một mã ví dụ gửi lệnh AT bằng cách sử dụng DotRas không? –

+0

DotRas không hiển thị lớp nối tiếp, Answer_42. Sử dụng các lớp .NET SerialPort là đủ. Đối với những gì nó có giá trị 9600 bps có vẻ là một "giả" tốc độ phổ biến cho các modem USB di động. –

Các vấn đề liên quan