من که بالاخره بعد از گذشت این همه مدت نفهمیدم چی شد.ولی نتونستم از 6630 و گوشی های مثل اون رو کاری کنم بشه اس ام اس خوند
موافق نیستم
موافقم
من که بالاخره بعد از گذشت این همه مدت نفهمیدم چی شد.ولی نتونستم از 6630 و گوشی های مثل اون رو کاری کنم بشه اس ام اس خوند
باسلام
دوست عزیز
نکته:تلفن های همراه SMS های دریافتی را در سه قسمت از گوشی می توانند ذخیره نمایند که این محل از طریق تنظیمات گوشیها قابل تغییر است.
SMS ها یا در SIM Card ذخیره می شوند یا در Phone Memory و یا در Memory Card
این نکته قابل توجه است که هنگامی می توانید SMS ها را در برنامه دریافت و مشاهده نمائید که SMS ها بر روی SIM Card ذخیره شوند که متاسفانه گوشیهایی از قبیل 6630 امکان ذخیره بر روی Sim Card را ندارند . یا در Phone Memory و یا در Memory Card ذخیره می شود.
امیدوارم متون جواب شما را داده باشد.
سلام
بنا به مواردی که خوندم چند نکته که را برای دوستان ذکر می کنم
1 . گوشی ها که ساپورت میشن (مواردی که من می دونم)
Falcom: Twist, Swift, Samba 55, Samba 75
Nokia: N30, N32, 6100, 6210, 6220, 6310, 6310i, 6820(Bluetooth), 8910 , 6610i
Siemens: TC35, TC35i, MC35, MC35i, MC45, MC55, MC75, A65, AC75, AC45, C35
SIMCOM: SIM100S, SIM100T
Sony Ericsson: T310, T610, T630, T68, T68i, K500, K700
Teltonika: T-ModemUSB, T-ModemCOM
Wavecom: Fastrack M1206B, Fastrack M1306B, Integra
2 . در مورد پورت com و usb در این مورد هیچ فرقی با هم ندارن برای اینکه با اتصال موبایل با پورت usb به سیستم اونو پورت com می شناسه.
3 . در مورد GSM Modem هم اگر از AT های استاندارد استفاده کنید بدون هیچ تغییری و یا یه تغییر جزئی با سورس فعلی تون سازگاره
4 . گوشی های سری n هم ظاهره به دلیل داشتن دیواره آتش داخلی امکان ارسال ممکن نیست (احتمالا)
با سلام خدمت دوستان
من همه پست های قبلی رو خوندم و خیلی مفید بود اما نمی دونم با چه دستوری در دلفی میشه command ها رو روی پورت سریال مربوطه نوشت و با چه دستوری میشه اونها رو از روی پورت سریال خوند البته در دلفی
و خواهش می کنم این بحث رو ادامه بدین
You never know what you can do until you try
با تشکر از شما آقای MZjahromi
راستش من از این ایده شما خیلی خوشم اومد ، من کل پست های قبلی رو با دقت مطالعه کردم و از شما و دوستان دیگه دو تا خواهش داشتم
اول اینکه : این بحث رو ادامه بدین تا به یه نتیجه ای برسیم.
دوم اینکه : پیشنهاد من اینه که با پورت USB کار کنیم هر چند من خیلی سرچ کردم ولی چیزی پیدا نکردم.
در ضمن چند وقت پیش من یه مهندس الکترونیک دیدم که این کار رو کرده بود و یه dll درست کرده بود که این کار رو با استفاده از پورت USB انجام می داد و به قیمت خیلی گرونی هم اون dll رو می فروخت ، من خیلی اطلاعات ندارم ولی هر کاری از دستم بر بیاد انجام میدم و سعی می کنم نحوه ارتباط با پورت USB رو در دلفی پیدا کنم.
خوب همین الان هم داریم از پورت USB استفاده میکنیم!
فرقی نمیکنه گوشی با کابل سریال وصل بشه به کامپوتر یا USB
الان که همه گوشی ها USB هستند و سریال خیلی وقته که منقرض شده !!!
اگه گوشیتون USB هست,گوشیتون رو به سیستم وصل کنید میبینید که
سیستم اینرو به عنوان یه مودم میشناسه Device manager رو نگاه کنید !
و یه پورت سریال مجازی بهش اختصاص داده سهما فقط کافییه
با همون پورت سریال کار کنی دستورات رو به همون پورت بفرستی .
قبلا توضیح دادم جستجو کنید .
شما اصلا لازم نیست با خود USB کار کنی و لازم هم نیست !
موفق باشید
با سلام به همه دوستان خواستم ببینم برای ارسال sms بصورت pdu اگه کسی اطلاع خاصی داره راهنمایی کنه.
با تشکر
سلام, من با توجه به مطالب بالا به نظرم اومد افراد با ارسال SMS از طریق گوشی های N (خیلی ازشون بدم میاد !) مشکل دارن. و با اینکه One Second هم وقت آزاد ندارم . اما چون خودم با این مشکل برخورد کردم دیدم که خیلی خوشحال میشم اگه در این مورد بتونم یه کمی دوستان رو راهنمایی کنم.
جناب 42li42li هم که اظهار نمودن احتمالا دیواره آتش داخلی داره !
نه دوست عزیز - علت چیز دیگریست :
من یه نرم افزار واسه یک صنف خاص نوشتم - نسخه دوم برنامه رو فروخته بودم و برای نصب رفتم خوشحال و خندان .... که با گوشی N73 برخورد کردم و برنامه حسابی حالم رو گرفت !! خلاصه به صورت فنی پیچوندم طرف رو! و گوشی بنده خدا رو قرض گرفتم و گوشی خودم رو موقتا بهش دادم و پس از رسیدن به منزل بالاخره مشکل رو با 30 دقیقه تلاش حل کردم! شرح مشکل :
ما به دو روش میتونیم SMS ارسال کنیم که اولی سریعتره و بهتره از اون استفاده بشه :
1- ابتدا پیام رو در حافظه گوشی می نویسیم(CMGW) و سپس با دستور CMMS اون رو از حافظه ارسال می کنیم. من هم از این روش استفاده کرده بودم که جواب نداد روی گوشی مذکور.
2- در این روش مستقیما کد PDU رو با دستور CMGS به پورت میفرستیم و به این صورت بود که مشکل من حل شد ! برنامه خدا رو شکر از اون به بعد با همه جور گوشی داره کار میکنه !
ابتدا چک میکنیم که گوشی از دستور CMGW پشتیبانی میکنه یا نه و سپس با یکی از روشهای بالا ارسال رو انجام میدیم .
در ضمن گوشی N73 از بسیاری دستورات استاندارد پشتیبانی نمیکرد ! مثلا CMGR یا CMGL
که احتمالا به خاطر همون موردیه که جناب Vahid.Shatery لطف کردن و توضیح دادن.
این نکته هم بگم که این یارو نوکیا ! دو پروتکل Nokia MBus , Nokia FBus رو جهت ارتباط با گوشی های نوکیاییییی پشتیبانی میکنه که میشه با استفاده از اونا به امکانات گوشی دسترسی داشت.
باعرض سلام و خسته نباشید
موضوع و بحث خوبی رو داشته اید حیف که من دیر در جریان این تحقیق قرار گرفتم.
تمام مطالب رو خوندم فقط اون لینک فایل dll رو نتونستم بردارم لطفا دوباره فایل رو upload کنید با تشکر
ممنون از مطلب مفیدتون . لطفا ادامه بدید.
آقا اگه امکان دار در مورد GPRS یکمی توضیح بدین و بگین چتور میشه اطلاعات مکانی را در یک دیتابیس ذخیره کرد
از اطلاعاتی که در اختیارمون می گذارید ممنونم.
سلام دوستان.
من با چند تا گوشی مختلف از جمله p990 و nokia 3230 سعی کردم کار هایی رو که آقای mzjahromi گفت انجام بدم.دستورات at+cbc و at+cgmi هم اجرا شد.اما هنگام زدن دستور AT+CMGS= با خطا مواجه می شم .اگه میشه کمکم کنید.
با سلام و تشکر فراوان از آقای mzjahromi
من کل مطالب رو دنبال کردم تا بالاخره روش ارسال با فرمنت pDU رو یادبگیرم ولی متاسفانه به آخر مطالب رسیدم و مشکلم حل نشد
می تونم ازتون خواهش کنم روش این کار رو برام میل بزنین
با تشکر
Daymi.eram@gmail.com
برای ارسال یک متن با محتویات "hellohello" باید کارهای زیر رو انجام بدید
1: ارسال دستور AT+CMGF=0 به گوشی/مودم. این دستور گوشی رو به مد PDU میبره
2: ارسال AT+CSMS=0 به گوشی. این دستور مشخص میکنه که آیا گوشی دستور رو ساپورت میکنه یا نه
3: AT+CMGS=23 که در آن 23 تعداد واحدهای دو کاراکتری است
4:>0011000B916407281553F80000AA0AE8329BFD4697D9EC3 7<ctrl-z> که محتویات پیام به شرح زیر است
001100 همیشه بصورت ثابت
0B طول شماره تلفن
91 فرمت بین المللی شماره تلفن
6407281553F8 شماره تلفن مقصد (این شماره بیانگر 46708251358 است که یک F به منظور زوج شدن تعداد شماره ها اضافه شده است)
00 مشخص کننده پروتکل ارسال( مقدار ثابت)
00 مشخص کننده نحوه ارسال (7 بیتی یا...)
AA مدت زمان اعتبار پیام
0A طول پیام
E8329BFD4697D9EC37 متن پیام به صورت کاراکترهای 7 بیتی قرار گرفته در کنار هم
بنابراین نتیجه چیزی که باید ارسال بشه به این شکل هست
AT+CMGF=0 //Set PDU mode AT+CSMS=0 //Check if modem supports SMS commands
AT+CMGS=23 //Send message, 23 octets (excluding the two initial zeros)
>0011000B916407281553F80000AA0AE8329BFD4697D9EC37< ctrl-z>
You never know what you can do until you try
سلام دوستان تا اونجایی که من میدونم بهتره از 2 تا روش زیر استفاده کنید
1- استفاده از gsm modem
2- استفاده از کامپوننت مناسب
برای اینها جناب آقای خزاما زحمت کشیدن و یه کامپوننت آماده کرده اند
www.khazama.com که من در همین پست براتون ضمیمه میکنم
واسه کار با SMS هم خودم یه کامپوننت توپ دارم که براتون میزارمش اینجا
ضمنا یه لیست کامل از دستورات AT هم براتون ضمیمه میکنم تا مشلتون 100% حل بشه
برای نصب کامپوننت GSM Modem کافی فایل ocx رو تو شاخه system32 ویندوز کپی کنید و سپس در run تایپ کنید regsvr32 gsm_modem.ocx و فایلهای dll رو هم فقط کپی کنید
فایل gsmmodem_tlb.pas رو تو شاخه lib خود دلفی کپی کنید و سپس در دلفی از منوی tools گزینه install component رو انتخاب کرده و فایل gsmmodem_tlb.pas رو انتخاب کنید بعد از compile و install فکر کنم کامپوننت اضافه شده تو پالت system یا activex افزوده بشه
برای نصب کامپوننت SMS هم فقط کافی فایلها رو تمام تو شاخه lib دلفی کپی کنید و بعد فایل Msg.dpk رو اجرا کنید یا اینکه دو تا فایل uSMSMessaging.pas و uText2pdu.pas رو به روش بالا نصب کنید
لیست دستورات AT هم که توضیح نداره : برای اینکه بفهمید مودموتون اون قابلیت رو پشتیبانی میکنه یا نه کافی تو یه ترمینال مثل hyper terminal دستورات رو تایپ کنید تا ببینید اون قابلیت پشتیبانی میشه یا نه و با تغییر شماره های گفته شده تو خودش اون رو فعال یا غیر فعال کنید
سلام خسته نباشید آقای mzjahromi
ممنون از راهنتماییتون
ولی با این توضیحات من نمی تونم بازم SMS ارسال کنم چون نمی دونم اعدادی که نوشتین رو چه جوری بدست آوردین
می شه توضیح بدین؟
ممنون
منتظرم
ببینید اون اعداد به این شکل ایجاد میشه(منظورم متن خود اس ام اس باشه چون بقیه واضح است.
فرض کنید میخواهید AB رو به عنوان اس ام اس بفرستید. همه میدونیم که کد A عدد 65 یا 1000001 هست و کد B عدد 66 یا 1000010 هست. این کد ها رو به صورت 7 بیتی درشون میاریم که اتفاقا این دو کد خودشون 7 بیتی هستند و نیازی به اضافه کردن صفر به سمت چپشون نیست. حالا اینا رو کنار هم قرار میدهیم که میشن 10000011000010 اگر رشته تون ادامه دار باشه همینطوری اینها رو کنار هم قرار میدیم در نهایت باید تعداد ارقام بر 8 بخش پذیر باشه در غیر اینطورت بهش 0 اضافه میکنید تا تعدادشون بر 8 بخش پذیر بشه.
حالا هر 8 تائی از اینها کنار هم میشن یک بایت و اونا رو به صورت مبنای ده در میارید که برای مثال فوق میشن0010000011000010
20C2
البته باید روش کار رو خودتون در بیارید این نحوه تبدیل متن به اون اعداد PDU بود.
اگر هم سختی کار رو نمیخواهید تحمل کنید میتونید از کامپوننتهای آماده که دوستان زحمتشو کشیدن استفاده کنید.
اگر باز مشکلی داشتید بپرسید.
You never know what you can do until you try
سلام خسته نباشید ممنون
ولی برنامه رو خودم باید بنویسم چون کامپوننت ها یی که دوستان نوشتن با برنامه های Windows هست ولی من الگوریتم رو بفمم واسه PLC و میکرو
من کدی که صفحه ی قبل گفته بودین رو دادم ولی خطای زیر رو می ده
+CMS Error :304
می دونین دلیلش چیه؟
کد خطا رو تا حالا برخورد نکردم
ولی یه چیزائی همیشه مشکل ساز میشه
EnterHaye انتهائی
و کدهای میانی مثل Ctrl+Z
اینا رو تو Hyperterminal تست میکنید؟
You never know what you can do until you try
ممنون
درست شد
مشکل وارد نکرد کد ایران یعنی 98 بود
ولی این دستور sms رو تو گوشی ذخیره می کنه ولی ارسال نمی کنه
چه جوری ارسال کنم؟
مطمئن هستید که از CMGS استفاده میکنید؟
CMGW پیام رو تو حافظه مینویسه نه CMGS.
CMGS پیام رو مستقیما میفرسته
و CMSS پیام رو از حافظه میفرسته
You never know what you can do until you try
بله
خیلی خیلی ممنون
درست شد
می فرسته
ببخشید اگه بخواهیم چندتا SMS رو پشت سر هم در قالب یک SMS بفرستیم باید چه کاری انجام بدیم؟ و از چه دستوری استفاده کنیم؟
ممنون می شم
سورسی هست به زبان ساده vb در دات نت که به طور کامل وظیفه Decode و Encode کردن PDU رو انجام میده بدون هیچ خطایی در کار کرد.ببخشید اگه بخواهیم چندتا SMS رو پشت سر هم در قالب یک SMS بفرستیم باید چه کاری انجام بدیم؟ و از چه دستوری استفاده کنیم؟
توی این سورس اگر متن پیام شما از 160 کاراکتر Asc یا 70 کاراکتر UTF بیشتر بشه میاد 2 یا 3 part کد بهت میده که شما باید هر پارت رو جدا گانه در قالب یک sms مجزا بفرستی البته در پارتهای 1 به بعد سرایند کد pdu در جاهایی تغییر میکنه که کارش اینه که به BTS میگه این sms ادامه sms قبلی بوده البته این سرآیند برای پارت 2 و 3 و 4 و 5 متفاوت هست که ترتیب رعایت بشه.
اگر بخواد راجع به این نوع فرمت و چگونگی ایجاد آن از ریشه بحث بشه کاری بس طاقت فرساست که در قالب یک پست نمیگنجه چون بحث عمیقی داره ولی با مطالعه کامل سورس میتونید با کلیات این نوع فرمت آشنا بشید.
موفق باشید
سلام با تشکر از دوستان
شماره ی موبایل ما با ذکر کد ایران 12 رقم می شود و نیاز به F ندارد
ولی مشکل اینجا بود که دقت نکرده بودم تعداد شماره ها 12 می شود باید کد 0B به 0C تغییر کند وچون 11 رقم درنظر گرفته و این شماره موجود نبود SMS در گوشی ذخیره می شد.
ممنون از لطفتون منتظر دستور برای ارسال چند SMS هستم
راستی شما می دونین Index که به SMS اختصاص می ده بر چه اساس هست من که هر چه سعی کردم نفهمیدم
ممنون
من می خوام با جاوا به پورت com4 وصل بشم و دستورات AT رو اجرا کنم . کسی می تونه کمکم کنه؟ من نسخه ویندوز package commapi رو از اینترنت گرفتم اما نتونستم باهاش کار کنم .فکر کنم علتش این باشه که اصل این package برای unix و linux هست.
کسی می تونه کمکم کنه؟؟؟
سلام
واسه مشکل من کسی راه حلی پیدا نکرد بدجوری گیرم :(
من می خام ببینم که آیا SMS جدید دارم یا نه .اما متاسفانه زمانی که می خوام SMS های جدید رو ببینم.فقط یک بار دیده میشن.راهی وجود داره که unread باقی بمونه؟؟
یه سواله دیگه هم دارم =< ایا میشه هنگامی که گوشی زنگ می زنه گوشی بر داشت و یک فایل صوتی رو براش پخش کرد؟؟
من یک سامسونگ e250 دارم که وقتی از طریق Hyper terminal به آن وصل می شم( از پورت com شناسایی شده )نمی تونم هیچ دستوری را وارد کنم کسی می دونه چه مشکلی داره ؟ وقتی هم که برنامه فرستادن sms را اجرا می کنم فقط نشان می ده که connect شده و ارسال نداره
اول باید زمانی گوشی رو به کامپیوتر وصل می کنی رو phone mode باشی .اگه این طوری هست تنظیمات hyper terminal رو چک کن که طبق چیزی باشه که قبلا گفته شده.بعد پورت رو چک کن که متمئن شی که گوشی رو همون پورت هست.بعد دستور AT رو باید بتونی تو hyper terminal بزنی.اگه زدی و ok داد بدون که درست وصل شدی.
سلام به همه برنامه نویسان
کسی از دوستان ابزاری برای تبدیل متن فارسی به PDU داره؟
سلام من می خواستم بدانم در دلفی چگونه باید دستورات at را نوشت؟
آگر نمونهای را کسی دارد برایم بفرستد یا در این جا بنویسد ممنون می شوم نیاز فوری دارم!!!
H_mohamadi63@yahoo.com