طيب انا هكمل الشرح بتاع اول جزء من المشروع احنا كنا وقفنا عند ان احنا خدنا المعلومات من gps وعملنلها فلتر واخترنا البروتكول GPGGA وعملنالو فلتر واخترنا منة معلومة long و luat طيب تعالو نكمل بئة احنا دلوئتى عوزين ناخد المعلومات دى ونحطها فى مسج ونبعتها الى الجزء الثانى من المشرو ع طيب قبل ما نعمل كدة تعالو نتعلم الاول ازاى نخلى الميكروكونترولير يبعت sms هنعمل برنامج صغير كل وظيفتة ان هوا يبعت مسج يعنى هنوصل gsm مع الميكروكنترولير ونخلية يبعت مسج على اى موبيل احنا هنحط رقمة جوة البرنامج وهنشوف احنا هنعمل كدة ازاى طيب اولا يا جماعة احنا محتاجين نعرف شوية معلومات مهمة عن AT-COMMAND ودى هيا للغة الى هنتعامل بيها مع الGSM يعنى احنا هنتكلم مع الGSM بستخدام للغة دى طيب تعالو نتعلمها وحدة وحدة
اولا انا موصل ال gsm مع ال pic ومستخدم uart2 علشان ابعت واستقبل من ال gsm
اولا انا بس حابب اعرف الناس ازاى يتعملو مع الgsm module اولا هوا بيكون عبارة عن
مجوعة اطراف انا بس بهتم ب 4 اطراف وهما
1-tex
2-rex
3-GND
4-vcc
طيب اول امر انا بكتبة ل gsm هوا AT الامر دة يستخدم علشان اتائكد ان التوصيل مع ال gsm صحيح فلو كان التوصيل صحيح gsm هيرد عليا بكلمة ok لو كان فى مشكلة فى التوصيل هيرد بكلمة error وبلتالى انا كدة اتئكدت ان gsm متوصل بطريقة صحيحة وجاهز لستقبال البيانات والاوامر منى
بعد كدة بديلة امر at+cmgf=1 وبعدين enter الامر دة معناة ان انا بجهز الgsm علشان operate in SMS text mode , وبلتالى اقدر اكتب رسائل واقرء رسائل
طيب هنا فى مشكلة هتوجهنى الا وهى ازاى هقدر اكتب كلمة enter جوة الكود واخلى الgsm يفهم ان هيا enter الحل بسيط انا هستخدم الامر دة
(uart2_write(0x0d طبعا انا بلطريقة دى اتحايلت على البرنامج عن طريق ان انا كتبتلو كلة enter بستخدام ascii code الى بيعبر عنها علشان اقدر افهمة ان دة امر enter مش كلمة enter وهكذا بقية الكود ان شاء للة هنستخدم نفس الطريقة الخبيثة دى علشان نضحك علية الهم نكمل
بعد ماكتبت الامر دة لازم ادخل ل gsm حاجة اسمها mesage call center وطبعا كل شركة وليها mesage call center يعنى مثلا احنا فى مصر عندنا ثلاث شركات vodafone,mobinile,eteslat كل وحدة فيهم ليها mesage call center وبلتالى انتا محتاج تعرف mesage call center بتاعت الشريحة الى انتا حطتها فى الgsm طيب ازاى ندخل الرقم دة لجسم دة طبعا عن طريق الامر
"الرقم" =at+csca طيب هنا هتوجهنا بردو مشكلة الا وهى " ازاى هبعتها طبعا زى ما انا قولت الحل هيكون ان انا هبعت ال ascii code المكافئى ليها وهوا هيكون
0x22 وطبعا دة باين فى الكود بعد كدة انا محتاج ادخل رقم الهاتف الى انا عاوز ابعتلة ال sms طيب دة من خلال الامر "الرقم"=at+cmgs ملحوزة بعد كل at command انا محتاج ادوس enter يعنى اكتب 0x0d بعد كدة اكتب محتوى ال sms انا هنا فى الكود كاتب محتوى المسج ahmed mosad وبعدين اخر خطوة ادوس على ctrl+z طبعا كلعادة انا هكتب ال ascii المكافئ الا وهوا
يعنى هكتب (26)uart2_write وبعدين ادوس enter وبكدة المسج ان شاء للة تتبعت انا هنا فى الكود دة عامل شرط ان علشان ابعت المسج لازم ادوس على button
دة هوا code بتاع الجزء دة
http://www.mediafire.com/?15qvyq1eez6lyp8