نمایش نتایج 1 تا 7 از 7

نام تاپیک: چطوری پورت مودم های سیستم را پیدا کنم؟

  1. #1

    چطوری پورت مودم های سیستم را پیدا کنم؟

    با سلام

    چطوری می تونم تو لیست device manager بگردم و پورت مودم های موجود را پیدا کنم؟؟
    مثلا: COM2

    ممنون

  2. #2

    نقل قول: چطوری پورت مودم های سیستم را پیدا کنم؟


    System.IO.Ports.SerialPort sp = new System.IO.Ports.SerialPort();

    for (int i = 1; i < 10; i++)
    {
    try
    {
    sp.PortName = "COM" + i;
    sp.Open();
    sp.Write("AT\r");
    System.Threading.Thread.Sleep(200);
    if (sp.ReadExisting().ToUpper().Contains("OK"))
    comboBox1.Items.Add(sp.PortName);

    sp.Close();
    }
    catch
    {

    }
    }
    sp.Close();

  3. #3

    نقل قول: چطوری پورت مودم های سیستم را پیدا کنم؟

    واقعا ممنون
    عالی بود
    عالیی

    ی سوال دیگه
    چطوری می تونم اسم device اون پورت رو هم داشته باشم؟؟
    آخرین ویرایش به وسیله scorpion_sincity : پنج شنبه 05 خرداد 1390 در 13:44 عصر

  4. #4

    نقل قول: چطوری پورت مودم های سیستم را پیدا کنم؟

    در مورد AT Command سرچ بزن و دستوری که برای پیدا کردن مدل Device بکار میره رو پیدا کن.
    (فکر کنم ATI4 برای پیدا کردن مدل استفاده میشد)

  5. #5

    نقل قول: چطوری پورت مودم های سیستم را پیدا کنم؟

    نقل قول نوشته شده توسط Open-Source مشاهده تاپیک
    در مورد AT Command سرچ بزن و دستوری که برای پیدا کردن مدل Device بکار میره رو پیدا کن.
    (فکر کنم ATI4 برای پیدا کردن مدل استفاده میشد)
    ATI4 رو کجا بنویسم؟؟
    چطوری؟؟؟

  6. #6

    نقل قول: چطوری پورت مودم های سیستم را پیدا کنم؟

    نقل قول نوشته شده توسط scorpion_sincity مشاهده تاپیک
    ATI4 رو کجا بنویسم؟؟
    چطوری؟؟؟
    AT+CGMI برای گرفتن نام كارخانه سازنده دستگاه

    موفق باشی
    آخرین ویرایش به وسیله omn!a2 : پنج شنبه 05 خرداد 1390 در 16:17 عصر

  7. #7

    نقل قول: چطوری پورت مودم های سیستم را پیدا کنم؟

    یه کلاس ساده نوشتم برای کا با مودم باستفاده از ATCommand که این کارها رو میکنه:
    1.پرت همه مودم های فعال رو بر میگردونه
    2.یه شماره پرت میگیره و مدل مودم رو بر میگردونه
    3.شماره گیری - توقف شماره گیری - redial
    4.یه تابع که دستوارت AT رو اجرا میکنه.

    اینم از این کلاس:

    /*
    *
    * http://open-source.blogfa.com
    *
    */
    using System;
    using System.Collections.Generic;
    using System.Text;
    /////
    using System.IO.Ports;
    using System.Threading;
    using System.Collections;

    namespace Tele
    {
    class AmirOpenSourceModemClass
    {
    private SerialPort serialPort = new SerialPort();

    //************************************************** ******************************** لیست همه مودم ها
    /// <summary>
    /// Return List Of Modems With AT Command Support in ArrayList DataType
    /// </summary>
    /// <returns></returns>
    public ArrayList List_Of_Modem_Port()
    {
    Array comPorts = SerialPort.GetPortNames();//Get Active Ports
    ArrayList modemPorts = new ArrayList();
    SerialPort sp = new SerialPort();

    foreach (string portName in comPorts)
    {
    try
    {
    if (sp.IsOpen) sp.Close();
    sp.PortName = portName;
    sp.Open();
    sp.Write("AT\r\n");
    Thread.Sleep(200);
    if (sp.ReadExisting().ToUpper().Contains("OK"))
    modemPorts.Add(sp.PortName);
    }
    catch { }
    }

    return modemPorts;
    }

    //************************************************** ******************************** گرفتن نام پرت و برگرداندن مدل مودم
    /// <summary>
    /// Get PortName And Return Device Model
    /// </summary>
    /// <param name="portName"></param>
    /// <returns></returns>
    public string Get_ModemName_By_PortName(string portName)
    {
    SerialPort sp = new SerialPort();
    string result = "";

    sp.PortName = portName;

    if (!sp.IsOpen)
    sp.Open();

    sp.Write("ATI4" + "\r\n");
    Thread.Sleep(200);

    result = sp.ReadLine();//Command
    result = sp.ReadLine();//Empty Line
    result = sp.ReadLine();//Model
    //result = sp.ReadExisting();
    sp.Close();
    return result;
    }

    //************************************************** ******************************** گرفتن یک شماره
    /// <summary>
    /// Get an Number And Dial It and Return True or False
    /// </summary>
    /// <param name="number"></param>
    /// <returns></returns>
    public void Dial_A_Number(string number, string portName)
    {
    if (serialPort.IsOpen) serialPort.Close();
    serialPort.PortName = portName;

    serialPort.Open();


    serialPort.Write("ATDT" + number + "\r\n");
    Thread.Sleep(200);
    }

    //************************************************** ******************************** کنسل کردن شماره گیری
    /// <summary>
    /// Cancel Dialing
    /// </summary>
    /// <param name="portName"></param>
    public void Cancel_Dial(string portName)
    {
    if (serialPort.PortName == portName && serialPort.IsOpen)
    {
    serialPort.Write("ATH" + "\r\n");
    Thread.Sleep(200);
    }
    else
    {
    if (serialPort.IsOpen) serialPort.Close();
    }
    }

    //************************************************** ******************************** گرفتن مجدد آخرین شماره
    /// <summary>
    /// Redial Last Number And If Redial Is Success Return True Else Return False
    /// </summary>
    /// <param name="portName"></param>
    /// <returns></returns>
    public bool Redial_Last_Number(string portName)
    {
    bool bl = false;

    if (serialPort.PortName == portName && serialPort.IsOpen)
    {
    serialPort.Write("ATDL" + "\r\n");
    Thread.Sleep(200);
    if (serialPort.ReadExisting().ToUpper().Contains("ATD T"))
    bl = true;
    }

    return bl;
    }

    //************************************************** ******************************** اجرای یک ATCommand
    /// <summary>
    /// Get an ATCommand And Run It and Return ATCommand Result
    /// </summary>
    /// <param name="atCommand"></param>
    /// <param name="portName"></param>
    /// <returns></returns>
    public string Run_An_ATCommand(string atCommand, string portName)
    {
    string result = "";

    if (serialPort.PortName == portName && serialPort.IsOpen)
    {
    serialPort.Write(atCommand + "\r\n");
    Thread.Sleep(200);
    }
    else
    {
    if (serialPort.IsOpen) serialPort.Close();
    serialPort.PortName = portName;

    serialPort.Open();


    serialPort.Write(atCommand + "\r\n");
    Thread.Sleep(200);
    }
    result = serialPort.ReadExisting();

    return result;
    }
    //************************************************** ********************************

    }
    }



    اینم یه Sample

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •