اطلاعیه

Collapse
No announcement yet.

GSM و ارتباط آن با AVR

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : GSM و ارتباط آن با AVR

    سلام دوستان
    من میخوام پروژه ای بسازم به شرح زیر اگر لطف کنید راهنمایی کنید ممنون میشم:

    میخوام با ارسال اس ام اس از یک گوشی به گوشی دیگه که گوشی دوم به یک atmega16 وصل شده و میکرو به یک سنسور دما متصل شده.دمای اندازه گیری شده رو واسه گوشی اولی بفرسته.

    مثلا از گوشی اول به گوشی دومی اس ام اس بدم که " read temp " و گوشی دوم یک اس ام اس ارسال کنه که 46 درجه مثلا.

    یک ویدئو از تو یوتیوب پیدا کردم که همین کار رو میکنه.

    اینم شماتیک مدار:


    دوستان لطفا راهنمایی کنن.
    با تشکر.

    http://www.youtube.com/watch?v=YvIPZwCcpeo
    توی همین آدرس برنامه ی مورد نظر رو به زبان c کامل داره.

    دیدگاه


      پاسخ : GSM و ارتباط آن با AVR

      سلام دوستان
      با ATMega8 اس ام اس رو که فرمتش PDU هست از ماژول sim900 میخونم
      حالا میخوام برنامه ای به زبان C رو میکرو بذارم که PDU رو به text تبدیل کنه
      کد C برای تبدیل PDU به Text رو میخوام
      ممنون میشم راهنمایی کنید

      دیدگاه


        پاسخ : GSM و ارتباط آن با AVR

        من تا حالا با فرمت pdu کار نکردم اما موارد مشابه چرا
        می تونی یه فایل pdu رو مثلا با notepad باز کنی ,و انو چک کنی
        اگه نتونستی یکیشو برای من بفرست تا ترتیبشو برات بدم . البته الگوریتم منظورمه ( از c خوشم نمیاد)
        همیشه به یاد خدا باش !

        دیدگاه


          پاسخ : GSM و ارتباط آن با AVR

          کسی می دونه چطوری می شه فهمید که گوشی از چه مدی استفاده می کنه ( text و PDU ) ؟ و این که یک منبع برای آشنایی با مد PDU اگر ممکنه معرفی کنید .

          دیدگاه


            پاسخ : GSM و ارتباط آن با AVR

            سلام
            من وقتی وقفه urxc رو فعال میکنم میکرو هنگ میکنه
            - وقفه های دیگه استفاده نشدن
            - اول urxc رو فعال کردم بعد اینتراپت رو فعال کردم
            www.Askdin.com
            www.BEKco.ir

            دیدگاه


              پاسخ : GSM و ارتباط آن با AVR

              نوشته اصلی توسط حمید نجفی
              سلام به همه دوستان
              خیلی خوشحالم که همه از این تاپیک استقبال کردن

              ببینید همون طور که آقای یار محمدی گفتن انها بعضی هاشون آرگومان دارن و بعضی دستورات ممکن رو همه گوشیها جواب نده ولی رو Nokia خوب جواب میده.
              در جواب دوستمون:
              ببینید قدم به قدم جلو میریم.ما تمام این دیتا رو باید با AVR بفرستیم.95% گوشیها از پرتکل RS232 در ارتباطشون استفاده میکنن و در نقشه خروجی پورت هر گوشی Rx و Tx مشخص شده.البته به این نکته اشاره کنم که دو پایه دیگه RS232 این پورت ها CTS و RTS هست که اینها باید در سطح منطقی یک قرار بگیرن تا گوشی ارسال و دریافت کنه.
              تمام این دستور ها به راحتی به گوشی ارسال میشن از همین طریق

              ببینید در این نوع سیستم از دو قانون پیروی میشه : PDU و Text

              ما برای کارمون باید از مد Text استفده کنیم.برای این کار از دستور زیر استفاده میشه:

              AT+CMGF=1

              این دستور اعلام مد Text به گوشی است.شاید مشکل دوستمون هم همین بوده باشه.
              برای اطلاع از Help هر دستور خود گوشی به شما کمک میکنه.به این صورت که اگر شما دستوری وارد کنید و جلوی اون علامت ?= قرار بدین گوشی اگر از اون پیروی کنه OK بر میگرده اگر نکنه ERROR برمیگرده یا اگر اطلاعاتی در مورد این دستور داشته باشه بر میگردونه

              مثال:

              ?=AT+CMGS

              اگر بخوایم وضعیت دستور مورد نظر رو در حال حاضر ببینیم از علامت ؟ جلوی دستور استفاده میکنیم.مثل مقدار هایی که قبلا قرار داده شده

              مثال:

              ؟AT+CMGF

              این عکسها از سایتی هست که دوستمون معرفی کرده.همونطور که میبینید از RS232 برای ارتباط استفاده شده




              پست بعدی ارسال SMS
              :bye سلام
              از دوتان کسی میدونه پینهای مربوط به شارژ (+ و -) این گوشی کدومه ؟؟ :applause: :applause:
              عجب روزگاریست...! هیچکس به سکوت آدم نمیرسد،همه منتظرند به داد آدم برسند...!

              دیدگاه


                پاسخ : GSM و ارتباط آن با AVR

                نوشته اصلی توسط ardesheer429
                یادم رفت یکم توضیح بدم.
                در قسمت اول برنامه ما منتظر دریافت کاراکتر (,) میشینین و وقتی دریافت شد محل ذخیره اس ام اس مشخص میشه
                تو قسمت دوم هم من طوری در نظر گرفتم که همه ی پیام ها رو داخل پرانتز بفرستم و وقتی اولین پرانتز در یافت شد یعنی پیام داریم.
                اون قسمت آخر هم مربوط به خاموش رو وروشن کردن لامپه
                ممنون میشم اگه اشتباه های منو یاد آوری کنید
                اول اینکه فرمت دریافت sim300 با Sim900 هیچ فرقی نمیکنه
                دوم اینکه:
                دوست عزیز این مدل برنامه نویسی برای پروژه های بزرگتر مناسب نیست اینجا گفتید محل ذخیره شدن SMS را مشخص می کنیم که من نفهمیدم
                درکل بهتر است شما بعد از اینکه دستور خواندن SMS را که به GSM فرستادید جواب مودم را از طریق اینترابت سریال در یک آرایه بریزید
                یه چیزی هم بگم شما حافظه ای را که قرار است بخونید از طریق سریال مشخص نکنید بهتر است از طریق یک while همه حافظه ها را بخوانید و پردازش کنید
                از آنجایی که در این ماژولها اس ام اس ها در حافظه سیم کارت ذخیره میشود و سیم کارتها فقط فکر کنم 16 تا حافظه داشته باشند شما این شکلی بخونید:

                کد:
                [left]
                int Index;
                unsigned char Buff[1..256] ;
                unsigned char SMSIndex=0;
                
                
                while()
                {
                
                printf("AT+CMGR=%d\n\r",SMSIndex);
                delay_ms(1500)//waite for GSM answer
                if(Index>32)//SMS Ready in Buffer 
                {
                 
                if(Buff[0]==')')
                {
                
                // do something
                }
                }
                
                Index=0;//Clear Buffer Index
                SMSIndex++;
                if 9SMSIndex>=16) SMSIndex=0;
                
                }
                
                
                interrupt [USART_RXC] void usart_rx_isr(void)
                {
                char status,data;
                status=UCSRA;
                data=UDR;
                
                
                Buff[Index]=data;
                Index++;
                
                
                
                if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
                  {
                  rx_buffer[rx_wr_index]=data;
                  if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
                  if (++rx_counter == RX_BUFFER_SIZE)
                   {
                   rx_counter=0;
                   rx_buffer_overflow=1;
                   };
                  };
                }
                
                
                
                [/left]

                به نظر مناسب ترین حالت همینه
                gli

                دیدگاه


                  پاسخ : GSM و ارتباط آن با AVR

                  نوشته اصلی توسط m0hammadaghigh
                  من این کدی که شما نوشتید رو انجام دادم، به صورت زیر:
                  کد:
                  printf("AT\n\r");
                  delay_ms(1000);
                  lcd_puts("AT");
                  lcd_gotoxy(0,1);
                  gets(s,4);
                  lcd_puts(s);
                  ;("lcd_puts("end
                  AT اول رو چاپ می کنه ولی اون end آخر رو نشون نمیده، یعنی از خط gets رد نمیشه( اینکار برای چک کردن خط gets بود ).
                  میشه کمک بفرمایید؟
                  دوست عزیز به خاطر اینه که هنوز دستر gets چیزی از سریال نگرفته
                  این میتونه به دلیل زیر باشه :
                  1- شما زمانی که دارید با دستورات lcd کار میکنید مودم جواب داده و دستور gets در زمان مناسب نتونسته از سریال جواب مودم را بگیره
                  2- یا مودم اصلا جواب نداده که این هم میتونه به خاطر بادریتش باشه با فرض اینکه سیگنالهای rx,tx درست وصل شده باشه
                  شما بهتره اول با دستورات lcd کار کن lcd را بنویس بعد دستور مودم را بفرست
                  gli

                  دیدگاه


                    پاسخ : GSM و ارتباط آن با AVR

                    دوستان سلام.
                    من ماژول sim-900 رو خریدم حالا می خوام با pc تستش کنم.
                    اینم عکسش

                    اول اینکه تغذیه ی ماژول 4.2 ولت هست.و پایه netlight رو با ترانزیستور به led وصل کردم .و وقتی سیم کارت و آنتن رو بهش وصل میکنم 6 بار چشمک میزنه بعد 2 ثانیه روشن میمونه و باز همین روال ادامه پیدا میکنه آیا داره درست کار میکنه؟

                    وقتی 3.7 ولت میدم دیگه فقط چشمک میزنه البته با سرعت زیاد تر.

                    در ضمن یه چیز خیلی عجیب . پایه ی آنتن ماژول یه زمین ماژول وصل هست( با اهممتر چک کردم ) ولی در آنتن 2 تا پایش از هم جدا هست. باید اینجوری باشه؟
                    لطفا راهنمایی کنید ممنون

                    دیدگاه


                      پاسخ : GSM و ارتباط آن با AVR

                      نوشته اصلی توسط masterwar_sg
                      دوستان سلام.
                      من ماژول sim-900 رو خریدم حالا می خوام با pc تستش کنم.
                      اینم عکسش

                      اول اینکه تغذیه ی ماژول 4.2 ولت هست.و پایه netlight رو با ترانزیستور به led وصل کردم .و وقتی سیم کارت و آنتن رو بهش وصل میکنم 6 بار چشمک میزنه بعد 2 ثانیه روشن میمونه و باز همین روال ادامه پیدا میکنه آیا داره درست کار میکنه؟

                      وقتی 3.7 ولت میدم دیگه فقط چشمک میزنه البته با سرعت زیاد تر.

                      در ضمن یه چیز خیلی عجیب . پایه ی آنتن ماژول یه زمین ماژول وصل هست( با اهممتر چک کردم ) ولی در آنتن 2 تا پایش از هم جدا هست. باید اینجوری باشه؟
                      لطفا راهنمایی کنید ممنون
                      پست خوبیه.
                      داداش هر قدم رفتی جلو اینجا هم بگو .
                      پست هاتو دنبال میکنم.
                      ممنون

                      دیدگاه


                        پاسخ : GSM و ارتباط آن با AVR

                        سلام
                        یک سوال :question: :question:
                        من این سوال رو تو چند تا تایپیک دیگه مطرح کردم اما جواب درستو حسابی نگرفتم :cry2: :cry2:
                        من تازه دارم sim 900d رو رام میندازم موقعی که 4.5v رو وصل میکنم بدون اینکه دکمه پاور رو بزنم 400 میلی آمپر جریان میکشه و موقعی هم که کلید پاور رو میزنم netlight چشمک نمی زنه و دیتا هم به پورت سریال نمیفرسته :NO:
                        ماژول شما هم همینقدر جریان میکشه ؟؟ :question:
                        راستی تا یادم نرفته بگم منبا تغذیه حدود 900ma هست و از 2 تا خازن 3300 تو خروجی استفاده کردم
                        به نظر شما مشکل کجا میتونه باشه ؟؟
                        عجب روزگاریست...! هیچکس به سکوت آدم نمیرسد،همه منتظرند به داد آدم برسند...!

                        دیدگاه


                          پاسخ : GSM و ارتباط آن با AVR

                          آقا ما gprs , sms , بقیه چیزاشو مث هلو راه انداختیم ولی این تغذیه و اتصالش به میکرو گریمو در آورد :|
                          rx , tx رو مستقیم به میکرو وصل کردم که داشت روی 5 ولت کار میکرد ، یه دونه سیم 900 ناقص شد و سوخت :mrgreen:
                          تغذیه ناجور وصل کردم یکی دیگه سوخت :mrgreen:
                          به یه دونه مگا 8 A که روی 3.3 کار میکرد وصلش کردم خوب کارکرد ولی روی پی سی بی کار نکرد :|
                          بعد به علت رسیت شدن منبع تغذیه مدار این یه ماژول هم سوخت ... :mrgreen:
                          تا حالا شده سه تا...
                          الان اومدم از رو برد بورد خواموشش کنم اشتباهی مثبت و منفی مدار وصل شد به هم و این هم شروع کرد 200 میلی آمپر کشیدن و این هم سوخت ..
                          تا حالا 120 هزار تومن دود کردم رفت هوا .. :|
                          یعنی دارم دیوونه میشم بس sim900 سوزوندم .. به عمرم انقد سر یه ماژول ضرر نکرده بودم :| :angry:
                          ----

                          اولا یه سوال از آقای طراح این sim900 دارم ... دوست عزیزم ... این چه وضعیه؟ ماژولت با 4.2 کار میکنه ... io هاش با 2.85 کار میکنن ... این پایه هاش با این وض نکبت زیر ماژول گذاشتی ... مریضی با این طراحی کردنت؟؟
                          وقتی ماژولت روشن میشه خودش نویز رو خودش میندازه باید خازن خورش کنیم ..
                          فقط روی چهار تا چیز وقفه میدی بقیه چیزا رو بیخیال شدی ...

                          یه ضرب المثل چینیه که میگه هرکی sim 900 نسوزونه مرد نشده :mrgreen: من فک کنم پیرمرد شدم

                          ---

                          آقای سوتی اگه ماژولت داره جریان میکشه و به پاور پ که میدی بهش جواب نمیده پس سوخته ، یکی دیگه برو بخر داداش...

                          ---

                          یه سوال ، من با lm317 میام 5 ولت میسازم بعد با دو تا دیود موازی تغذیه سیم900 رو میسازم ؛ بهم جواب میده ، ایرادی که نداره؟ 1.5 آمپر هم میده رگلاتوره...
                          برای اتصال میکرو به ماژول بیخیال اتصال مستقیم شدم ، اذیتم میکرد ، بگیر نگیر داشت :| اومدم از مکس232 استفاده کردم که که مکس اون وسط میاد سطح 2.8 رو میبره به 5 البته همه پایه های مکس استفاده شدن! این ایرادی نداره؟؟

                          ---

                          در آخر جا داره از مشتری هایی که پروژه قراره براشون ببندم عذر خواهی میکنم چون مجبورم این سیم هایی که سوزوندم رو تلافیش رو رو سر اونا خالی کنم )
                          شوخی کردم مشتری های عزیز ) خودم بی سوادم شما بی گناهید :twisted:
                          ---
                          خدایا دارم از ناراحتی میمیرم بس سوزوندم اینو
                          از این یکی بیشتر از rfm12 حرص خوردم :|



                          دیدگاه


                            پاسخ : GSM و ارتباط آن با AVR

                            دو تا پایه آنتن و گراند با تست اهم بازر به هم وصل هستن ، به خاطر اون سلف تو طبقه توانشه فک کنم!!!

                            دیدگاه


                              پاسخ : GSM و ارتباط آن با AVR

                              :bye

                              #:S
                              حسابی نا امید شدم :cry2: :cry2:
                              عجب روزگاریست...! هیچکس به سکوت آدم نمیرسد،همه منتظرند به داد آدم برسند...!

                              دیدگاه


                                پاسخ : GSM و ارتباط آن با AVR

                                توروخدا یکی به داد من برسه یه مودم tc35i بهم دادن که راه اندازی کنم ولی بلد نیستم یعنی نمیدونم باید کدوم پورتشو به کامپیوتر بدم اگه کسی میدونه کمکم کنه :cry2:

                                دیدگاه

                                لطفا صبر کنید...
                                X