K A S R A (27-03-08), nader_2021 (06-12-12)
فرمان های AT :
در سال 1981، شرکت هیز(Hayes) مودم های هوشمندی(Hayes Smartmodem) را طراحی کرد که کابر می توانست با فرمان هایی موسوم به Hayes Command Set، به تنظیم مودم بپردازد؛ بلندی صدای بلنگوی مودم را تعیین کند، فرکانس صدای زنگ مودم را تغییر دهد، از مودم به عنوان تلفن استفاده کند و ... . بعد ها این فرمان ها به " فرمان های AT " معروف شدند(AT Command). زیرا در اول تمامی این فرمان ها حروف AT(بر گرفته شده از کلمه ی ATTENTION به معنای توجه) وجود دارد تا مودم در وضعیت پذیرش فرمان قرار گیرد.
امروزه بسیاری از مودم ها فرمان های AT را پوشش می دهند. کاربرد این فرمان ها وسیع تر شده و امروزه بیشتر تلفن های همراه نیز، می توانند با فرمان های AT تنظیم گردند.
ما در موضوع می خواهیم در مورد ارسال فرمان های AT به تلفن همراه و مودم، توسط ویژوال بیسیک دات نت بحث کنیم.
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
K A S R A (27-03-08), nader_2021 (06-12-12)
زمانی که مودم به رایانه وصل می گردد یک پورت COM برای آن در نظر گرفته می شود.
* برای متوجه شدن پورت COM مودم، می توانیم با تایپ " devmgmt.mcs " در Run وارد Device Manager ویندوز اکس پی شویم. زیرشاخه ی Modems را باز می کنیم و روی مودم مورد نظر دابل کلیک می کنیم تا پنجره ی Modem Properties باز شود (اگر شما یک مودم داشته باشد، فقط یک زیر شاخه در قسمت Modems خواهید داشت.) . در پنجره ی باز شده به زبانه ی مودم رفته و روبه روی عبارت Port، شماره ی پورت COM را می یابیم. مثلا: COM3 .
برنامه ی Hyper Terminal را از منوی Start اجرا می کنیم: All Programs>Accessories>Communications>Hyper Terminal
در پنجره ی New Connection، در قسمت Name، نام ارتباط جدید را می نویسیم. مثلا : mymodem . سپس روی OK کلیک می کنیم.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
سپس در پنجره ی Connect To، در قسمت Connect using، پورت COM مربوط به مودم(یا تلفن همراه) را بر می گزینیم. که طبق مثال COM3 بود. سپس روی OK کلیک می کنیم.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
در پنجره ی COM Properties روی دکمه ی Restore Defaults کلیک کرده و سپس OK را کلیک می کنیم. هم اکنون به مودم وصل شده ایم و می توانیم فرمان های خود را تایپ کنیم.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
به عنوان مثال با تایپ دستور " ATI4 " و زدن Enter ، مدل مودم را دریافت می کنیم.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
* برای متوجه شدن پورت COM گوشی همراه، ابتدا گوشی را با USB به رایانه وصل می کنیم. حالت ارتباط را " حالت تلفن " قرار می دهیم(Phone Mode). سپس وارد Device Manager ویندوز می شویم. به زیرشاخه ی Ports(COM & LPT می رویم. برای اغلب گوشی ها از جمله سونی اریکسون، دو پورت با نام گوشی باز می شود که یکی از آن ها پورت Device Management و دیگری OBEX Interface است. پورتی که برای ما اهمیت دارد پورت Device Management است و شماره ی پورت COM آن در داخل پرانتز بعد از نام پورت قرار دارد.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
* برای برقراری از طریق دندان آبی(Bluetooth)، باید از ارتباط Bluetooth Serial Port استفاده کرد که در این نوع ارتباط شماره ی پورت COM را، خودتان تعیین می کنید. لازم به ذکر است که این نوع ارتباط بر روی برخی از گوشی ها از جمله Nokia 6600 برای اجرای فرمان های AT مناسب نیست. زیرا در بیشتر موارد گوشی و برنامه ی Hyper Terminal هنگ می کند.
# فایل راه انداز(Driver) پورت Device Management گوشی Sony Ericsson W810 : این فایل را دانلود کرده، آن را از حالت فشرده خارج کرده و محتویاتش را در مسیر زیر کپی کنید:
%windir%\SYSTEM32\DRIVERS
آخرین ویرایش توسط ravegoat در تاریخ 27-03-08 انجام شده است
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
K A S R A (27-03-08), nader_2021 (06-12-12)
در ویژوال بیسیک دات نت، برای برقراری ارتباط با پورت های COM از کامپوننت( برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید Component) Serial Port استفاده می کنیم. مهم ترین خاصیت این کامپوننت، PortName است. PortName نام پورت COM است که کامپوننت سریال پورت باید به آن وصل شود.
کد نویسی قدم به قدم:
در رویداد کلیک Button1 کد نویسی را انجام می دهیم.
Button1_Click
پورت کام SerialPort1 برابر COM3 می گردد.
SerialPort1.PortName = "COM3"
SerialPort1 به COM3 وصل می شود.
SerialPort1.Open()
SerialPort1 به COM3 دستور ATI4 را می فرستد و در ادامه Chr(13) که معادل کلید Enter است را ارسال می کند.
SerialPort1.WriteLine("ATI4" + Chr(13)
پایان رویداد Click.
End Sub
در رویداد DataReceived سریال پورت 1 ، کد نویسی را ادامه می دهیم. این رویداد زمانی اتفاق می افتد که SerialPort از طرف پورت COM که درPortName برایش تعریف شده داده ای را دریافت کند .
SerialPort1_DataReceived
در هنگامی که داده ای دریافت شد، این داده با MessageBox نمایش داده می شود. با توجه به این که در رویداد بالا(کلیک) دستور ATI4 فرستاده شده است، شما مدل مودمتان را دریافت می کنید.
MsgBox(SerialPort1.ReadExisting)
پایان رویداد DataReceived.
End Sub
به همین سادگی!برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
K A S R A (27-03-08)
در زیر لینک سه برنامه ی رایگان قرار داده شده که با استفاده از AT Command کار می کنند.
PDU Spy
برنامه ای برای ارسال و دریافت پیام کوتاه از طریق رایانه. این برنامه با اجرای AT Command در گوشی شما، پیام کوتاه های موجود در تلفن همرایتان را خوانده و می تواند پیام کوتاه ارسال کند.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اطلاعات بیشتر به زبان انگلیسی
TMobileManager 1.0.0.0 Beta
برنامه ای همراه با سورس وی-بی دات نت برای به دست آوردن اطلاعات گوشی شما. برای اجرای این برنامه نیاز به نصب 2.NET Framework 2 بر روی ویندوز دارید.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اطلاعات بیشتر به زبان انگلیسی
TModemManager 1.0.0.0 Beta
برنامه ای همراه با سورس وی-بی دات نت برای مدیرت هر چه بهتر مودمتان. برای اجرای این برنامه نیاز به نصب .NET Framework 2 بر روی ویندوز دارید.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اطلاعات بیشتر به زبان انگلیسی
یک مرجع خوب: در این فایل RAR، کلیه ی فرمان های AT گوشی W810، معروف ترین فرمان های AT نوکیا و زیمنس ، فرمان های ارسال و خواندن پیام کوتاه در فرمت PDU همراه با مبدل کامل و توضیح (البته به زبان انگلیسی) موجود است.
#: این فایل را با نام MZAT.rar در قسمت فایل ها ی پیوست شده ی پست " ارسال فرمان با استفاده از برنامه ی Hyper Terminal " دانلود کنید.
هر گونه سوال یا انتقادی هم که در این رابطه داشته باشید تو این پست مطرح کنید ! تا اونجایی که بدونم جواب می دم.برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
آخرین ویرایش توسط ravegoat در تاریخ 26-08-08 انجام شده است
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
K A S R A (27-03-08)
سلام ... کارت خیلی خیلی عالی بود . برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
فقط 2 تا سوال دارم :
1 - فایل Driver برای هر گوشی فرق می کنه ؟
مثلا برای K770 سونی اریکسون باید درایور مخصوص به خودشو قرار داد درسته ؟
2 - بعد از این که گوشی به Port Com وصل شد به جز کار Data Transfer چه کارای دیگه ای میشه کرد ؟
خواهشا در مورد بقیه فرمانهای AT هم توضیح بده ...
thanx
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
Friends Will keep you Dry
سلام دوست عزیز!!!
قابلی نداشت!!!
در مورد سوال اولت، معمولا برای هر گوشی یک درایور خاص وجود داره. من دقیقا نمی دونم که میشه از درایور یه مدل گوشی برای مدل دیگه استفاده کرد یا نه؟. فکر کنم درایور گوشی های D750 و K750 یکی باشه. ولی در مورد W810 و K770 نمی دونم!!! اگر چیزی گیر آوردم بهت می گم.
در مورد سوال دومت، می دونم که برای گوشی های سونی اریکسون امکانات SYNC، ارسال و دریافت پیامک، مدیریت شماره های سیم کارت و گوشی، استفاده از دوربین گوشی به عنوان WebCam ،مدیریت تنظیمات کل گوشی و ... وجود داره. یعنی اگه گوشیتو با USB یا BT به رایانه وصل کنی، می تونی توسط برنامه های خاصی یا توسط AT Command کارایی که گفتمو انجام بدی.
در مورد درخواستت:
*اگه گوشیتو به رایانه وصل کنی و با Hyper Terminal دستور *AT رو به گوشیت بدی کلیه فرمان های AT مخصوص گوشیتو دریافت می کنی.
البته باید بگم که هر فرمانی پارامتر های خاص خودشو داره مثلا اگر بخوای Alarm گوشی رو با AT متوجه بشی باید از دستوره ?AT+CALA استفاده کنی، دستور AT*ELIB برای وسایل Pair شده ی مربوط به دندون آبی و دستور ?=AT*EKEY برای گرفتن کلید های صفحه کلید گوشی هستش.
دیدی؛ تو اولی از پارامتر ؟ ، تو دومی اصلا پارامتر به کار نبردم و تو سومی از پارامتر =؟ استفاده کردم.
اگه فرمان خاصی رو می خوای، بگو که برات بذارم. اگه بخوام همشونو بذارم خیلی زیاد میشه. چون فرمان های هر شرکتی ( و حتی برخی از مدل های یک مارک) با هم فرق می کنه و بعضی از فرمان ها هم تا دلت بخواد پارامتر دارندبرای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اگر بد توضیح دادم یا سوال دیگه ای داشتی بهم بگو؛ در خدمتم!برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
آخرین ویرایش توسط ravegoat در تاریخ 28-03-08 انجام شده است
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
K A S R A (31-03-08)
دست شما درد کنه .. اگر میشه یه مرجع کاملی درباره فرمان های At گوشی های نوکیا و ... معرفی کنید ممنون میشم ( مخصوصا فرمان های ارسال و دریافت Sms )
___________________________________________My Resume/CV
Mobin Ranjbar
Programmer / App Developer / Software Engineer / Scrum Master / Student
My System Config Validation
___________________________________________
با سلام!
فرمان های AT مربوط به ارسال و خوندن پیامک برای گوشی های مختلف یکسانه.
*برای دریافت و ارسال پیامک دو نوع فرمت وجود داره:
1-PDU : پیامک باید به صورت کد شده (کد هگزادسیمال) ارسال شه. همچنین پیامک به صورت کد شده دریافت می شه.
2-Text Mode : پیامک بدون هیچ نوع عمل کدینگ (Coding) ارسال و دریافت می شه.
گوشی های نوکیا معمولا هر دو فرمت را پوشش می دند. ولی بیشتر گوشی های سونی اریکسون فقط از فرمت PDU پشتیبانی می کنند.
برای اینکه متوجه شیم که گوشیمون چه فرمت هایی رو پشتیبانی می کنه از فرمان زیر استفاده می کنیم:
?=AT+CMGF
اگر جواب فرمان OK یا 0 بود، گوشیمون فقط PDU رو پوشش می ده.
اگر جواب فرمان (0-1) بود، گوشیمون هر دو فرمتو پوشش می ده.
اگر گوشیمون هر دو فرمتو پشتیبانی می کرد فرمان زیر رو وارد می کنیم :
AT+CMGF=1
*برای ارسال پیامک با گوشی هایی که هر دو فرمت رو پوشش می دند فرمان زیر رو وارد می کنیم:
"شماره ی موبایل کسی که می خوایم پیام رو برایش ارسال کنیم"=AT+CMGS
بعد Enter را می زنیم.
بعدشم روبه روی علامت < ، متن پیام را تایپ می کنیم. در آخر برای ارسال پیام کلید های Ctrl + Z یا Esc رو می زنیم. اگر در جواب OK اومد، یعنی پیام ارسال شده.
مثال:
"AT+CMGS="09110001101
Enter
> Hi ! Happy New YEAR!!!
Ctrl + Z
*برای ارسال پیامک با گوشی هایی که فقط فرمت PDU رو پوشش می دند فایل MZAT.rar که تو این تاپیک پیوست شده رو دانلود کنید. تو این فایل PDU Coding وجود داره و نحوه ی ارسال پیامک شرح داده شده.
برای خوندن پیامک، ابتدا باید تعیین کنیم که پیامک های ذخیره شده درون سیم کارت خونده شند یا پیامک ذخیره شده توی حافظه ی گوشی. به طور پیش فرض پیامک های ذخیره شده روی سیم کارت خونده می شند.
با وارد کردن فرمان زیر:
?AT+CPMS
داریم:
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
در گوشی سونی اریکسون برای انتخاب حافظه ی تلفن به عنوان حافظه ی پیش فرض خوندن پیامک، از دستور زیر استفاده می کنیم:
"AT+CPMS="ME","SM
در سایر گوشی ها هم می تونیم از دستوره ?=AT+CPMS استفاده کنیم تا ببینیم که چه فرمان هایی رو میشه داد (این دستور معادل Help فرمانه.).
بعد از انتخاب حافظه دستور زیر رو وارد می کنیم:
"شماره ی ردیف پیامک"=AT+CMGR
*مثال:
AT+CMGR=10
بیشتر گوشی ها دارای 200 حافظه برای پیامک اند. پس اگر حافظه ی گوشی، حافظه ی پیش فرض باشه، دهمین پیامک از 200 تا، به نمایش درمیاد. اگر گوشی فقط PDU رو پوشش بده، پیامک به صورت کد شده به نمایش درمیاد.
البته می تونید از برنامه ی PDUSpy برای دریافت، ارسال و DeCoding پیامک برای هر گوشی استفاده کنید.
اینم لیست کل فرمان های AT که توسط شرکت WaveCom نوشته شده:
دانلود
662 کیلوبایت فرمت PDF
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
K A S R A (31-03-08), M A H R A D (30-03-08), nader_2021 (06-12-12)
دستت درد نکنه ravegoat جان ... فقط یه چند تا سوال داشتم ... اولی اینکه اگر بخوایم در VB.NET از کامپوننت SerialPort این دستورات ارسال و دریافت پیامک رو استفاده کنیم چطوری میشه ؟ ( منظورم اینه که تکلیف کلید های ctrl+Z و یا ESC ای که باید بزنیم تا ارسال بشه چی میشه ) .. دومین سوالم اینه که من وقتی گوشی خودم رو ( NOKIA 3110 Classic ) با پورت USB به سیستم وصل میکنم و برنامه HyperTerminal رو به این پورت وصل میکنم نه تنها هیچ فرمانی ارسال نمیکنه حتی برنامه هنگ هم میکنه ( من این مشکلو با برنامه PDUSpy هم داشتم . وقتی پورت گوشی رو انتخاب میکردک و کلید Read رو میزدم برنامه هنگ میکرد ) البته من روی دستگاه مودم خودم این فرمان هارو امتحان کردم با HyperTerminal کارم میکنه ولی با گوشی نه ..علتش چیه ؟
___________________________________________My Resume/CV
Mobin Ranjbar
Programmer / App Developer / Software Engineer / Scrum Master / Student
My System Config Validation
___________________________________________
با سلام!!!
قابلی نداشت.
در مورد سوال اول
من پیشنهاد می کنم که کلید Esc رو ارسال کن. همون طور که برای Enter از Chr(13) استفاده می کنیم برای Esc هم از Chr(27) استفاده می کنیم:
((SerialPort1.Writeline("Your Message Body" + Chr(27
امیدوارم مشکلت حل شده باشه
در مورد سوال دوم
فکر می کنم پورت Com اشتباه باشه. پورتای دیگه که مربوط به گوشیه رو امتحان کن.
اگر چیزه دیگه ای فهمیدم بهت می گم.
باز اگر سوال داشتید در خدمتم برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks