قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 10-10-2013, 01:16 PM المشاركة 1   
افتراضي GSM ومشروع حمايه من السرقه Twitter FaceBook Google+



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

وسنتعلم كيف طريقة كتاب الاوامر داخل الكود البرمجي بلغة المايكروسي لأرسال
رساله تحتوي على معلومات معينه ولكن قبل ذلك لتأكد من ان عملية التوصيل
هذه الصورة التي توضح ربط الموديول بالمايكروكنترولر .... لاحظ وجود الليدات التي تعمل وميض عند عملية
الارسال والاستقبال ... لتأكد ان الامر وصل الى الموديول بشكل صحيح بالتالي يبقى دور الموديول ودور شركه الاتصال الذي ينتمي لها ال SIM
http://img02.arabsh.com/uploads/imag...424b6df60c.png

والان دعنا ندخل الى هذه الاومر الخاصه بالموديول ....
قبل الدخول الى الاوامر .... لابد من النتويه ان بعد كل أمر يجب ارسال ضغطة الزر ENTER الى الموديول يتأكيد على
وصول الامر .... ويتم ذلك من خلال ارسال رقم الاسكي كود الخاص بهذا الزر وهو الرقم 13
أولا الامر AT >>
هذا الامر يقوم المايكروكنترولر بارساله الى الموديل لتأكد من ان عملية الاتصال صحيحه وسليمه 100 % ...... حيث
عند ارسال هذه الكلمه ) AT ( الى الموديول يجب على الموديول الرد على المايكروكنترولر بكلمة OK اذا كان الاتصال
سليم فيفهم المايكروكنترلر ان الاتصال سليم وان الموديول جاهز لأستقبال الاوامر

هذا هو كود
[[10]CODE]Char output;
void main(){
UART1_Init(9600);
Delay_ms(100);
UART1_Write_Text("AT");
UART1_Write(13);
UART1_Read_Text(output, 'OK', 10);[/CODE]
حيث تم وضع مودم على بمعدل ارسال 9600 وبعدها أنتظار 100 ملي ثانيه لغرض أستقرار مودم
ثم أرسال كلمه "AT" بعدها ارسال كلمه ENTER باسكي كود
ثم أنتظار لحين قراءه كلمه OK بنهايه النص وخزن البيانات في مصفوفه OUTPUT
**********************************************
الامر الثاني وهو AT+CMGF=1 (Control Massage Format)
وهنا لأرسال رساله من الموديول الى أي هاتف لابد من ضبط الموديول بأن صيغة الرساله هي TEXT وهذه الجمله
تقوم بهذا العمل أي نرسل الجمله كما هي ونرسل بعدا الرقم 13 كما في الاسطر التاليه ... وبالتأكيد ينتظر
المايكروكنترولر الى ان يصل له الرد من الموديول بأنه فهم هذه الكلمه
كود:
UART1_Write_Text("AT+CMGF=1");
UART1_Write(13);
UART1_Read_Text(output, 'OK', 10);
************************************************** *****
الامر الثالث وهو : "الرقم المراد ارسال الرسالة له"رقم "=AT+CMGS
هنا سيتم كتابه رقم المراد ارسال الرساله له
ملاحظه لابد من ارسال هذا رمز " مع رقم لذا سيتم ارسال مايكافئه في اسكي كود هو 0X22
كود:
UART1_Write_Text("AT+CMGS=");
UART1_Write(0x22);
UART1_Write_Text("4435536486468");
UART1_Write(0x22);
UART1_Write(13);
هنا اننا ارسلنا الامر AT+CMGS= ومن ثم ارسلنا الاسكي الخاص بالقوس الاول ومن ثم الرقم
ويجب ان يكون الرقم مزود بالرمز الدولي ومن ثم ارسلنا القوس الثاني ومن ثم ارسلنا رقم الاسكي لل ENTER بالتالي
اصيحت الرساله كامله لدينا لما يلي
AT+CMFS="4435536486468"
فيفهمها الموديول .... والان بقي لدينا أخيرا ارسال نص الرساله المراد ارسالها ويتم ذلك بأرسال الرساله مباشره أي
كما يلي :
UART1_Write_Text("Hello");
وهنا نكون ارسلنا الكلمه Hello الى الرقم 4435536486468 وهو رقم عشوائي فقط لتوضيح الفكره

وهذا كود كامل
كود:
void main(){
UART1_Init(9600);
Delay_ms(100);
UART1_Write_Text("AT");
UART1_Write(13);
UART1_Read_Text(output, 'OK', 10);
UART1_Write_Text("AT+CMGF=1");
UART1_Write(13);
UART1_Read_Text(output, 'OK', 10);
UART1_Write_Text("AT+CMGS=");
UART1_Write(0x22);
UART1_Write_Text("4435536486468");
UART1_Write(0x22);
UART1_Write(13);
UART1_Write_Text("Hello");

اعلانات

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 10-10-2013, 01:35 PM المشاركة 2   
افتراضي


أخواني انا لاأعرف بالحقيقه هل أستطيع أرسال رساله الى أكثر من رقم أم لا
ولكنني كتبت هذا كود ولكن هل هو صحيح ام لا ارجوا بيان رايكم وشكرا
كود:
char my_number[9];
char number1[]="123456789";
char number2[]="123123456";
char x=0;
void message();
void main(){
trisb.f0=1; // RB0 is input
Portb.f0=0;
uart1_init(9600);
while(1){
         for(x=0;x<9;x++)  my_number[x]=number1[x];
         message();
         for(x=0;x<9;x++)  my_number[x]=number2[x];
         message();
        }
}
void message()
{
if(Portb.f0==1){
                Delay_ms(100);
                uart1_write_text("at");
                UART1_Write(13);
                Delay_ms(200);
                UART1_Write_Text("AT+CMGF=1");
                UART1_Write(13);
                Delay_ms(200);
                UART1_Write_Text("AT+CMGS=");
                UART1_Write(0x22);
                UART1_Write_Text(my_number);
                UART1_Write(0x22);
                UART1_Write(13);
                UART1_Write_Text("there are someone in your home");
                }
}
اخواني كرام
انتم تعرفون ان قطعه GSM تستخدم نظام UART الان ارسلت معلومات الى اي هاتف لغرض تنبيه ولكن أريد الان ارسل معلومات من شريحه الهاتف الى GSM وبتالي اتحكم بدائره ولكن كيف يتم ذلك هذا سؤالي
ولديه سؤال أخر انتم تعرفون بانه أفضل وسيله الاتصال ولمسافات بعيده هي أستخدام GSM ولكن أتسائل هل يوجد بديل لــ GSM

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 10-10-2013, 04:09 PM المشاركة 3   
افتراضي


هذا شرح فيديو


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 11-10-2013, 05:48 AM المشاركة 4   
افتراضي


سلام عليكم
لايوجد أستجابه ..... لربما لم يعجب موضوع أحد
ننقاش مشروع حمايه من السرقه وبأستخدام GSM
يعتمد مشروع على حساس
1- حساس حركه Ultrasonic Sensor
2- حساس يستخدم اشعه تحت حمراء هنا نستخدم ليد يرسل أشعه تحت حمراء واخر مستقبل لهذه الاشعه فيوضعان على مسار واحد فأذا تم قطع ضوء دل على ان هناك جسم قريب عندها سيقوم بأرسال رساله لك
http://img02.arabsh.com/uploads/imag...42486cf603.png

المستقبل هو عباره عن Photo Transistor والمرسل هو عبارة عن ضوء لكن هذا الضوء لا يرى بالعين الطبيعيه
لاحظ توصيل هذه القطع مع مقاومتين للحماية من التيار العالي لان مقوامة الليد الداخليه هي صغيره جدا تصل الى صفر
وبتطبيق مصدر جهد على طرفي الليد سيكون التيار عالي جداً .... وقيمة المقاومه عادتاً 333 أوم
http://img02.arabsh.com/uploads/imag...42486cf602.png
صوره اعلاه هي هاردوير
ملاحظه ليد مرسل ومستقبل على محور واحد اي يضعان متقابلان لبعضهما البعض
أولا لابد أن أهيئ الطرف RB0 على انه مدخل
ثانيا نضبط السرعه مودم 9600
وعندما يحدث هناك قطع
الكود
كود:
Void main() {
TRICB.f0=1; // RB0 is input
Portb=0;

UART1_Init(9600);
(Delay_ms(100;
While(1){
If(Portb.f0==0){
(Delay_ms(100;
UART1_Write_Text("AT");
UART1_Write(13);
Delay_ms(200);
UART1_Write_Text("AT+CMGF=1");
UART1_Write(13);
Delay_ms(200);
UART1_Write_Text("AT+CMGS=");
UART1_Write(0x22);
UART1_Write_Text("4435536486468");
UART1_Write(13);
UART1_Write_Text("there are someone in your home");}}}
يمكننا مسح الجمله التاليه UART1_Read_Text(output, 'OK', 10);
من البرنامج واستبدالها بتأخير زمني بسيط مثل نصف ثانيه مثلا .... وذلك اذا كنت متأكد بأن الاتصال مع الموديول هو
صحيح 100 % .... أي ان هذه الجمله فقط لتأكد من أن الاتصال صحيح وان الموديول قد فهم الامر بشكل صحيح ...
ولكن في بعض المشاريع تكون يكون البرنامج ضخم جدا بالتالي نحن بحاجه لأستغلال حجم ذاكرة البرنامج في البيك
فيمكنك مسحها نهائيا فهي لا تؤثر
لذا تم الاستبدال هذا الامر بزمن تاخيري قدره 200 ملي ثانيه
الان
هل اريد ان ارسل له رساله الى gsm ليأمر مايكرو بامر ما ماهي الاوامر الاستقبال في gsm اي كيف اخذ بيانات من قطعه gsm
****************************************
نريد أستبدال ليد ضوئي بحساس كاشف اللهب فهل أحد يعرف معادلته
flame detector


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 11-10-2013 الساعة 06:01 AM

امل ميمو
:: مهندس متميز ::
تاريخ التسجيل: Mar 2007
المشاركات: 473
نشاط [ امل ميمو ]
قوة السمعة:0
قديم 11-10-2013, 09:30 AM المشاركة 5   
افتراضي


اخي موضوعك ممتاز ولاكننا ننتظر المزيد ولا نريد مقاطعتك ويكفى وجودك الرائع في المنتدى الرائع


امل ميمو
:: مهندس متميز ::
تاريخ التسجيل: Mar 2007
المشاركات: 473
نشاط [ امل ميمو ]
قوة السمعة:0
قديم 11-10-2013, 09:51 AM المشاركة 6   
افتراضي


يوجد بديل اخي الكريم للgsm وهوللتحكم في الاجهزة فتح وقفل عن طريق Dual-tone multi-frequency وفكرتها انها تاخذ ترددالتون الخاص بالرقم المطغوط وتحوله الى High OR Low وبعدها الى ريلى او Solid State Relays اوممكن تعرض منها ارقام على -segment display7


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 11-10-2013, 12:17 PM المشاركة 7   
افتراضي


اخي موضوعك ممتاز ولاكننا ننتظر المزيد ولا نريد مقاطعتك ويكفى وجودك الرائع في المنتدى الرائع
اخي كريم
شكرا على ردك وضعت موضوع للفائده للجميع وعلاوه على ذلك نريد زياده الفهم من خلال نقاشاتكم
لديه سؤال الى الاخوه
اذا ارسلت بيانات يعني ارسل رساله الى قطعه GSM ماهي الاوامر التي تستخدم في استقبال البيانات من هذه القطعه


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 11-10-2013, 12:19 PM المشاركة 8   
افتراضي


يوجد بديل اخي الكريم للgsm وهوللتحكم في الاجهزة فتح وقفل عن طريق Dual-tone multi-frequency وفكرتها انها تاخذ ترددالتون الخاص بالرقم المطغوط وتحوله الى High OR Low وبعدها الى ريلى او Solid State Relays اوممكن تعرض منها ارقام على -segment display7
هل لديك معلومات حول هذا موضوع يعني كيف تحصل على كود من ترددات التي يتم توليدها
وشكرا جزيلا

إضافة رد

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

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 08:40 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025