PDA

View Full Version : کار با مودم با استفاده از دستورات At command



milad_d993
یک شنبه 26 مهر 1394, 23:52 عصر
سلام دوستان<br>میخوام یه نرم افزار منشی تلفنی درست بکنم اما نمیخوام از کامپوننت هایی که رایگان نیستند و کرک باید بشن استفاده بکنم؛ چون مشکلاتی احتمالا به وجود میاد و درست کار نمیکنه.... (مثلا KDtele که آموزشش (http://barnamenevis.org/showthread.php?t=203383) به صورت نصفه نیمه توی همین انجمن بود)

یه مقدار جستجو کردم و فهمیدم که باید از دستوراتی با نام At command استفاده بکنم؛یه آموزش (http://forum.p30world.com/showthread.php?t=380752) هم توی انجمن p30world بود که توی پست اولش نوشته بود با دستورات گوشی سونی اریکسون خدابیامرز تدریس میشه...

حالا میخوام با At command کار کنم ولی اصلا نمیدانم چیه؟؟؟ آیا با همه مودم های داخلی و خارجی سازگار هست؟؟؟؟ اگر که با همه مودم های اکسترنال خوب کار کنه که عالیه....

یه دو 3 تا مثال میخوام که راه بیافتم (البته مثال هر چند کوچک ولی ناقص نباشه که بیایین قسمت اصلی رو بزارین و بگین بخش هایی از کد چون آسان بود نزاشتیم...)


با تشکر....

am_al_59
دوشنبه 27 مهر 1394, 01:56 صبح
با فرض اینکه مودم شما با پورت Serial کار کنه برای فرمان دادن بهش با دستورات At&T باید مراحل زیر رو انجام بدی
اول پورتی که مودم بهش وصله رو باز کنی مثل :

SerialPort sp=new SerialPort("com1");
sp.Open();

بعدش هم دستور رو روی پورت باز شده مینویسی اینطوری

sp.Write(دستور);

پورت سریال چند تا پراپرتی هم داره که مهمترینش baudRate هست که بهتره قبل از اتصال چک کنی که با مشخصات مودمت بخونه برای ست کردن این خصوصیت هم زمان ایجاد آبجکت پورت میتونی عدد اونو مشخص کنی هم بعدش که آبجکت رو ساختی قبل از دستور Open اونو تنظیم کنی

milad_d993
دوشنبه 27 مهر 1394, 09:11 صبح
اگه پورتش usb باشه چی؟؟؟

am_al_59
دوشنبه 27 مهر 1394, 14:23 عصر
usb خیلی فرق داره اصولاً usb پورت نیست و Bus هست
معمولاً روی هر پورت فقط یک دستگاه نصب میشه اما هر usb بسته به نوعش کلی دستگاهو به سیستم متصل میکنه برای همین شما نمیتونی راحت داده هاتو بصورت raw بفرستی و انتظار داشته باشی به دستگاه هدفت برسه
چند تا راه که من استفاده کردم رو میگم
راه اول و راحت ترین راه اینه که از کابل تبدیل استفاده کنی و یو اس بی دستگاهتو به پورت com سیستم متصل کنی محدودیتش اینه که کامپیوتر باید پورت com داشته باشه و معمولاً مادربوردهای جدید این پورتو ندارن
راه دوم استفاده از شبیه سازهای پورت com هست که معمولاً درایور خود دستگاهت این امکانو بهت میده حتی اگر شبیه سازی هم نکنه کار درایور اینه که ارتباط دستگاه رو با سیستم شما بر قرار کنه فقط باید راهنماشو پیداکنی
زمانی که من توی R&D پندآزما بودم برای ترازوهای صنایع پند از ارتباط port com استفاده میکردم چون ترازو خروجی com داشت و اگر دستگاه هم نداشت اونو با کابل مخصوص تبدیل com به usb وصل میکردم و پورت com رو با نرم افزار خودش شبیه سازی میکردم اون زمان قیمت کابلش 8 9 هزار بود و با کابل سی دی درایور مخصوص داشت

یک جور ترازو دیگه هم داشتن که در اصل یک پایانه فروش کامل بود و خروجیش usb بود اما درایور داشت و بردی که خروجی رو تأمین میکرد اسمش اردینیو یا اردیلیو همچین چیزی بود که خود درایور پس از نصب و اتصال به یو اس بی سیستم یک پورت com مجازی بهت میداد البته دیگه روی اون نمیتونستی دستگاه دیگه نصب کنی

خود ویندوز API هم توابع مخصوص کار با دیوایس ها داره و توی اینترنت هم برنامه ارتباط raw با یو اس بی هست اما بیشترش به زبان c هست مثل این
http://libusb.info

ببخشید دیگه من تا همینجا بلد بودم:لبخندساده:

milad_d993
دوشنبه 27 مهر 1394, 18:01 عصر
برای کار با مودم اینترنال چطور؟؟؟ (چون الان ی دونه اینترنال وصله به مادربود)

am_al_59
دوشنبه 27 مهر 1394, 19:14 عصر
منظور شما همون مودم های اینترنال dialup هست دیگه ؟
اگر همینه که من یادمه هرچی از اون مودم ها داشتم همشون یک پورت com مجازی داشتن
برو تو کانفیگ خود مودم جایی که تنظیمات parity bit و stop bit و baudRate هست همونجا یک کلید یا تبی داره که میگه این مودم روی کدوم پورت نصب شده
تو کنترل پنل قسمت مشخصی برای مودم های dialup داره توی همون قسمت حتی کلیدی هم برای تست میزان پشتیبانی مودم از دستورات AT&T داره
الان من ویندوز 10 دارم که اسم قسمت مربوطه هست phone and modem ویندوزهای 7 و 8 هم همینن برای ویندوز ایکس پی هم اسمش توی همین مایه هاست یادمه آیکنش یک تلفن زرده خیلی مشخصه تو کنترل پنل حتماً پیدا میکنی

milad_d993
دوشنبه 27 مهر 1394, 19:27 عصر
منظور شما همون مودم های اینترنال dialup هست دیگه ؟
اگر همینه که من یادمه هرچی از اون مودم ها داشتم همشون یک پورت com مجازی داشتن
برو تو کانفیگ خود مودم جایی که تنظیمات parity bit و stop bit و baudRate هست همونجا یک کلید یا تبی داره که میگه این مودم روی کدوم پورت نصب شده
تو کنترل پنل قسمت مشخصی برای مودم های dialup داره توی همون قسمت حتی کلیدی هم برای تست میزان پشتیبانی مودم از دستورات AT&T داره
الان من ویندوز 10 دارم که اسم قسمت مربوطه هست phone and modem ویندوزهای 7 و 8 هم همینن برای ویندوز ایکس پی هم اسمش توی همین مایه هاست یادمه آیکنش یک تلفن زرده خیلی مشخصه تو کنترل پنل حتماً پیدا میکنی
منظورم همینه :لبخندساده:
توی ایکس پی هم همین phone and modem option داره اول باید درایور رو نصب کنیم؟؟؟؟؟ چون وقتی بازش کردم گفت که یه دونه بساز با گرفتن نام کشور و کد شهری....

میشه یه چند تا عکس از تنظیمات parity bit و stop bit و baudRate بگیرین ببینم از کجا باید پیداش کنم چون من نتونستم پیداش کنم

اگه امکانش هست مرجع دستورات at command برای مودم دایل آپ رو هم بزارین اگه فارسی هم باشه که چه بهتر...

ممنونم چاکرم مخلصم...

am_al_59
دوشنبه 27 مهر 1394, 20:07 عصر
http://www.netfaqs.com/windows/dun/winxp/modem/index.asp
http://www.stenograph.com/HelpDeskDocs/Cat4V8/How%20Can%20I%20Check%20My%20Modem%20In%20Windows% 20XP.htm
http://modemsite.com/56k/xptip.asp

milad_d993
دوشنبه 27 مهر 1394, 22:32 عصر
همینه رئیس جان؟؟؟؟

136136

یعنی مودم به پورت مجازی COM3 وصله؟؟؟

am_al_59
دوشنبه 27 مهر 1394, 22:35 عصر
بله همین صفحه هست
جلوشو ببین نوشته com3

MehdiElexal
سه شنبه 28 مهر 1394, 14:23 عصر
تمام دیوایس های سخت افزاری مخصوصا مودم ها بصورت USB متصل میشن اما تماما COMport , serialport مجازی میسازند تا شما بتونی بوسیه اون اطلاعات رو ارسال کنی,
برای اولین تست هم شما باید دستور AT رو بفرستی و OK رو دریافت کنی در اینصورت هم پورت درست باز شده هم باود ریت و .... صحیح هستند ...
موفق باشید.

am_al_59
سه شنبه 28 مهر 1394, 20:19 عصر
تمام دیوایس های سخت افزاری مخصوصا مودم ها بصورت USB متصل میشن اما تماما COMport , serialport مجازی میسازند تا شما بتونی بوسیه اون اطلاعات رو ارسال کنی,
برای اولین تست هم شما باید دستور AT رو بفرستی و OK رو دریافت کنی در اینصورت هم پورت درست باز شده هم باود ریت و .... صحیح هستند ...
موفق باشید.


استاد جسارتاً جهت اطلاع خودم میپرسم:لبخندساده:
این عبارت
تمام دیوایس های سخت افزاری و مخصوصاً مودم ها بصورت USB متصل میشن اما تماماً serialPort ، comport مجازی میسازند
را میشود واضح تر شرح بدین، فکر میکنم من تا الان اشتباه برداشت کرده بودم:اشتباه:
خواهشمندم من و سایر کاربرانی مثل من که این تاپیک را می خوانند در موارد زیر راهنمایی بفرمایید:تشویق:
1- من یک اسکنر دارم که به یو اس بی وصل میشه اما هر چی گشتم تو device manager پورت com ندیدم چطور به پورت شبیه سازی شدش دسترسی پیداکنم؟
2- با این مودم adsl هم همین مشکلو دارم اینم بصورت usb وصل میشه اما بازهم پورت com ندیدم!
3- من برداشتم این بود که serial port همون com port هست آیا دنبال چیز دیگه ای در device manager باید بگردم یا شما هم منظورتون همین بود وفقط تأکید داشتید تا با دوتا نام به یک چیز اشاره بفرمایید؟
4- آیا اصولاً هاردهایی که بصورت اکسترنال به usb وصل میشن، مودم های adsl که با یو اس بی متصل میشن، پرینترهایی که قبلاً پورتشون و اساس کارشون بجای serial پورت Parallel بوده و الان در مدل های جدید با usb وصل میشن و هزاران هزار دستگاه دیگر جزء تمام دیوایس های سخت افزاری که فرمودین میشن یا در رسته دیگری قرار دارند؟
5- در مورد سرعت انتقال هم یکم توضیح بفرمایید که چطوری با قواعد و اصول ارتباطی com چه واقعی چه مجازی که اطلاعات فقط بطور 0 یا 1 پشت سر هم منتقل میشن، امکان تبادل حجم عظیم داده ها در مدت زمان کم ممکنه؟
6- وقتی قراره تمام دیوایس های سخت افزاری و مخصوصاً مودم ها بصورت USB متصل میشن همشون یک پورت دیگه ای رو شبیه سازی کنن تا بشه باهاش کار کرد و اصولاً به جز اینکه به یک usb میشه چند دستگاه وصل کرد اما به پورت com فقط یک دستگاه، مزیت usb نسبت به پورت های قدیمی چی هست؟
7- آیا همه دیوایس های سخت افزاری و مخصوصاً مودم ها که فرمودین پورت parallel روهم شبیه سازی میکنن یا فقط serialPort ، ComPort رو شبیه سازی میکنن؟

با تشکر و قدردانی از راهنمایی شما