10:52 AM |الساعة الآن   
 
العودة ملتقى الموظف الجزائرى  :: 

منتدى التكنولوجيا والاعلام الالى

 :: 

برامج من صنع الاعضاء






أهلا وسهلا بك إلى ملتقى الموظف الجزائرى.
أهلا وسهلا بك زائرنا الكريم، إذا كانت هذه زيارتك الأولى للمنتدى، فيرجى التكرم بزيارة صفحة التعليمـــات، بالضغط هنا.كما يشرفنا أن تقوم بالتسجيل بالضغط هنا إذا رغبت بالمشاركة في المنتدى، أما إذا رغبت بقراءة المواضيع والإطلاع فتفضل بزيارة القسم الذي ترغب أدناه.

الرئيسيةالبوابةبحـثس .و .جدخولالتسجيل
اعلان هام للمسجلين الجدد :بمجرد التسجيل يتم إرسال كود التفعيل إلى حسابك .. أي الإيميل الذي وضعته عند التسجيل بالمنتدى ... إذهب إلى علبة البريد فإذا لم تجده في الرسائل الواردة حاول أن تبحث عنه في صندوق بريد الغير مرغوب فيه SPAM



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


شاطر
 #1  
الخميس 19 ديسمبر 2013, 19:30
 
 
 
انثى
الاقامة : الجزائر
المشاركات : 29
نقاط : 83
تاريخ التسجيل : 17/12/2013
العمل : طالبة
افتراضي برمجة برنامج ارسال رسائل sms من الهاتف بواسطة جهاز الكمبيوتر

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


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



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


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



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


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

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



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

في اول الامر نقوم باستدعاء مكتبة الادخال و الاخراج مع البورت كوم , التي هي جد مهمة في برنامجنا
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




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





هذه صورة كود port_DataReceived




هذه صورة كود ReadResponse


هذه صورة كود 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
الان و بعد اتمام عملنا مع الكلاس الجديدة نقوم بالعوده الى واجهة البرنامج الرئيسية لنقوم باضافة الكود المناسب للزر Connecte
وذلك باستدعاء الدالة 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
و من الوضح في الصوره انه يقوم باستدعاء الدالة ClosePort الموجودة في الكلاس Cls_sms بوسطة الاوبجكت objSMS
والتي تاخذ بارامتر ةاحد و هو المنفذ الذي نعمل عليه لتقوم بغلقه


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


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



اولا نقوم باضافة جهاز جديد
ها هو الجهاز المراد ربطه نظغط عليه و نواصل


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



نلاحظ الان 4 بورتات مفتوحة بين الهاتف و جهاز الكمبيوتر



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



الان نلا حظ من برنامجنا ان البورتات الجديدة اضيفت الى القائمة



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



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

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


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

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







 
الإشارات المرجعية


  
وما من كاتب إلا سيفنى . ويبقي الدهر ما كتبت يداه



تعليمات المشاركة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى

BB code is متاحة
كود [IMG] متاحة
كود HTML متاحة