السلام عليكم اخواني اخواتي


اليوم ان شاء الله عندي فكره عمل برنامج لارسال رسائل قصيرة SMS و لكن بالاستعانه بمودم او هاتف نقال مزود بخدمة ارسال الرسائل القصيرة
في الغالب استعمل هاتفي النقال(Nokia 6500s-1) كمودم لتجريب مثل هذه العمليات



اكثر توضيح لفكرة البرنامج
هو بواسطه هذا البرنامج تستطيع ان تربط هاتفك النقال مع جهاز الكمبيوتر بوسائط الربط المتوفره
bluetooth , cable Data , infrarouge
لتتمكن من ارسال رساله نصية من جهاز الكمبيوتر الي صديقك بواسطة الهاتف اي بالاحرى باستهلاك الرصيد من الهاتف النقا ل
ولكن بشرط ان الهاتف النقال المستعمل او المودم يكون داعم لاومر AT
لان موضوعنا يعتمد على هذه الاوامر لنجاح العملية
الكثير من الهواتف تدعم هذه الاوامر تقريبا اجهزة نوكيا التي تحتوي علي بلوتوث كلها
و السامسونج و السوني اريكسن ......
يمكنك الاطلاع على هذا النوع من الاوامر من هذه الروابط
*************************************
lien 1
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 206ol55ks0
lien 2


************************************************
الفائدة من البرنامج هو اخذ فكره عن عملية ربط الكمبيوتر مع الهاتف النقال و استعمال اوامر AT لاستعمالها في مجالات اخرى ان شاء الله



في البداية نقوم بفتح مشروع جديد ثم نقوم بعد ذلك باضافة فورم فارغ
ثم بعد ذلك نقوم باضافة المكونات التالية الموضحة في الصورة

 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 665644085

ثم ننتقل الي عملية البرمجة (codage)
في البداية سنظيف الكود المسؤول عن تحميل جميع المنافذ (Ports) الموجوده علي الجهاز و الذي سنقوم بادراجه في وقت تحميل الفورم لتكون كل المنافذ جاهزه عند ظهور شاشة البرنامج
هذه صورة الكود في Form_Load

 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 597138750
عند التجريب نلاحظ البورتات الموجودة على الجهاز
ولكن كل بورت منسوب الى جهاز معين , مثلا com 6 لجهاز و com10 لجهاز اخر
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 262210765



اما الان و قبل كل شئ و لكي لا تختلط الامور نقوم باضافة كلاس تحتوي على دوال نحتاجها في اكمال برنامجنا
هذه صورة الكلاس الجديد فارغة

 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 571411950
في اول الامر نقوم باستدعاء مكتبة الادخال و الاخراج مع البورت كوم , التي هي جد مهمة في برنامجنا
using System.IO.Ports;

الان نقوم باضافة الدوال التالية
OpenPort
ClosePort
ExecCommand
port_DataReceived
ReadResponse
sendMsg
الدالة الاولى OpenPort مسؤولة عن فتح المنفذ المختار في combo box
اما الثانية ClosePort فهي لغلقه
و الدالة ExecCommand مسؤولة عن تشغيل اومر AT
و الدالة port_DataReceived فهي لاستقبال البيانات من المنفذ الذي نعمل عليه حاليا
اما الدالة ReadResponse لقراءة هذه البيانات المستقبلة
و الدالة sendMsg فهي مسؤولة عن ارسال الرسالة
بالمناسبة العملية ستكون كالتالي

1 - فتح المنفذ المناسب مع المودم
2 - تشغيل اوامر AT اللازمه منها لتفحص هل المودم يدعم اومر AT ام لا و تبديل فورما الرسالة في المودم او الهاتف
3 - بعد ذلك يتم ارسال الرسالة بتشغيل امر ال AT اللازم لذلك



هذه صورة كود OpenPort





هذه صورة كود ClosePort
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 150913014




هذه صورة كود ExecCommand
دالة تقوم بتشغيل الامر AT المستقبل و بالتحديد الذي سيكون في المتغير command


 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 420999716


هذه صورة كود port_DataReceived




هذه صورة كود ReadResponse
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 284937122


هذه صورة كود sendMsg
AT لتحقق من ان الهاتف داعم لاوامر AT اذا كان نعم سيرجع في المتغير recievedData القيمة OK
اما اذا كان العكس فيسيرجع ERROR و لا يكمل العملية
اما الامر AT+CMGF = 1 فهو لتغير نمط الكتابة في الهاتف الى text و يجد نمط اخر يعمل على الكود ASCII
اما الامر AT+CMGS = "+PhoneNo+" i فهو لارسال الرسالة النصية
و كما تلاحضون في الصورة يوجد امر بعد ذلك Message + char.ConvertFromUtf32(26)i فهو امر تاكيد على الارسال
لان 32 في جدول ASCII هي Entrer
و بذلك يتم ارسال الرسالة
اذا نجحة العملية فالدالة سترجع القيمة true اما اذا كان هناك خلل فسوف ترجع false
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 217135428
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 101
الان و بعد اتمام عملنا مع الكلاس الجديدة نقوم بالعوده الى واجهة البرنامج الرئيسية لنقوم باضافة الكود المناسب للزر Connecte
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 805305975
وذلك باستدعاء الدالة OpenPort الموجودة في الكلاس Cls_sms بوسطة الاوبجكت objSMS
و كما لاحظنا في الدالة OpenPort انها تحتاج 5 برمترات
port, p_uBaudeRate, p_uDataBits, p_uReadTimeout, p_uWriteTimeout
port المنفذ الذي يربط المودم مع الجهاز
p_uBaudeRate سرعة المنفذ في نقل البياتات
p_uDataBits سعة البيانات التي يتم نقلها في المرة الواحدة
p_uReadTimeout مدة الزمنية للقراءة بالميلي سوجند
p_uWriteTimeout مدة الزمنية للكتابة بالميلي سوجند


كود زر Disconnecte
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 462504967
و من الوضح في الصوره انه يقوم باستدعاء الدالة ClosePort الموجودة في الكلاس Cls_sms بوسطة الاوبجكت objSMS
والتي تاخذ بارامتر ةاحد و هو المنفذ الذي نعمل عليه لتقوم بغلقه


و الان مع كود زر Envoyer
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 264524571
و من الوضح ايضا انه يقوم باستدعاء الدالة sendMsg الموجودة في الكلاس Cls_sms بوسطة الاوبجكت objSMS
التي تاخذ 3 برمترات
المنفذ Port
textBox1.text و هو رقم الهاتف الذي سيستقبل الرسالة
textBox2.text و هي الرسالة التي سنقوم بارسالها


لتجريب البرنامج يجب اولا ان نوصل جهاز الكمبيوتر مع المودم
انا في مثالي استخدمت وسيلة الربط bluetooth
لاحضوا الصور



اولا نقوم باضافة جهاز جديد
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 240848528
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر Mod124au5
ها هو الجهاز المراد ربطه نظغط عليه و نواصل
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 236296620


تاتي هذه النافذة تطلب منا ادخال هذا الرقم السري على الهاتف ليتم تاكيد الربط ثم نواصل
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 566964723



نلاحظ الان 4 بورتات مفتوحة بين الهاتف و جهاز الكمبيوتر
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 831985561



و لكن عند الدخول في خصائص البلوتوث نلاحظ انه هناك 2 Sortant و 2 Entrant و لكن البور الشغال في برنامجنا هو واحد
من بورتات Sortant لذلك يجب تجربتهما للاثنين
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 316803335



الان نلا حظ من برنامجنا ان البورتات الجديدة اضيفت الى القائمة
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 940060966



الان في مثالنا البورت 18 هو البورت الخاص بربط الهاتف مع الجهاز
و كما ترون لقد اخترته و ضغطت على connecte
ملاحظة : للتأكد ان البورت هو الشغال هو عند الضغط على connecte سيظهر على الهاتف انه تم الاتصال مع الكمبيوتر
او في بعض الاحيان يطلب منك على الهاتف طلب التاكيد على الاتصال
و هذا مثال عن ارسال رسالة
بقي فقط الظغط على الزر Envoyer
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 246915474



و الان لاحظو في الاسفل في الستاتو بار عن نجاح عملية ارسال الرسالة
و المستقبل سيستقبل الرسالة برقم الشريحة الموضوعة على المودم او الهاتف المربوط مع الكمبيوتر
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر 631367339

==================================
البرنامج مازال يحتوي على اخطاء عديدة , ممكن بتجريبكم للبرنامج نكتشفها ان شاء الله
==================================
تحميل الكود سورس مرفوع في اكثر من سرفر
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر I1lwwtsef91ny9zizulieu7
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر Download10ol6an3

 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر Mydownloadicon1ty0
 برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر Lov111
اخواني اخواتي و الله تعبت مع هذا البرنامج و الموضوع ايضا حيث استغرقت في كتابته 7 ساعات
لذا ارجو منكم كلمة شكر تثلج صدري
و تحفزني لتقديدم الجديد ان شاء الله

شكرا و السلام عليكم