اطلاعیه

Collapse
No announcement yet.

کنترل رله با پیامک بوسله ماژول SIM900

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کنترل رله با پیامک بوسله ماژول SIM900

    سلام دوستان
    من مدتی پیش تونستم با ماژول SIM900 بوسیله ی پیامک یک رله را قطع و وصل کنم. اما مشکل اینجا بود که هر کسی که رمز را داشت می تونست رله را قطع یا وصل کنه. حالا می خواستم که ابتدا شماره ی شخص پیامک دهنده بررسی شود و اگر اون شماره از قبل در حافظه میکرو ذخیره شده بود بعدا صحت رمز را برای قطع و وصل رله بررسی کند. یه برنامه هم گیر آوردم که چگونگی پیدا کردن شماره ی تلفن از متن پیامک را توضیح داده بود اما وقتی با برنامه خودم ادغامش می کردم جواب نمی داد. اگه کسی می تونه کمکم کنه که دوتا برنامه را ادغام کنم ممنون میشم.زبان برنامه هم بیسیک است.
    اینم لینک برنامه کنترل رله با پیامک:
    https://www.dropbox.com/s/eg9djk0kw2y93ok/SIM900.bas?dl=0
    اینم لینک برنامه کنترل رله با شماره پیام دهنده:
    https://www.dropbox.com/s/3m6196u3h0b8eth/number2.bas?dl=0

    با تشکر

    #2
    پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

    http://www.eca.ir/forum2/index.php?topic=96029.0

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

    دیدگاه


      #3
      پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

      ممنون دوست عزیز
      برنامه اش را نگاه کردم با برنامه ای که خودم دارم فرق داره. می خواستم اگه بشه برنامه خودم را تغییر بدم
      حالا میرم اون برنامه را هم امتحان می کنم.
      بازم ممنون

      اضافه شده در تاریخ :
      کسی نتونست دوتا برنامه را ادغام کنه؟

      دیدگاه


        #4
        پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

        با سلام
        دوست عزیز از نظر من بعیده کسی بخواد بیاد و برای شما این کارو انجام بده، بهتره شما دست به کار شین و هر جا مشکلی بود اون رو مطرح کنین تا این طوری به جواب برسین،
        من با سی این کارو انجام دادم، سادست، اطلاعات بیسیک ندارم که بگم اما اگه بر روی روش انجام بحث دارین می تونم کمکتون کنم
        The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

        دیدگاه


          #5
          پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

          ممنون دوست عزیز
          متاسفانه وقتی خواستیم دوتا برنامه را با هم ادغام کنیم بهمون گیر داد.با همگروهیم تصمیم گرفتیم برنامه را از بیسیک به c تبدیل کنیم.چون شنیدم کار با کدهاش راحت تره. حالا اگه توی برنامه نویسی به زبون c به مشکل بر خوردیم مزاحمتون میشیم.
          ممنون

          اضافه شده در تاریخ :
          سلام دوستان
          من برنامه را بردم به زبان C تا حدود 6 یا 7 بار که بهش پیامک می فرستم درست کار می کنه اما متاسفانه بعد هنگ می کنه و وقتی سیم کارت را از روی ماژول برمی دارم و روی گوشی خودم می ذارم می بینم آخرین پیامی که بهش دادم را نتونسته بخونه و هنوز روی حافظه سیم کارت هست.
          هر کدی را که به ذهنم رسیده تست کردم اما متاسفانه جواب نگرفتم
          لطفا راهنمایی کنید.
          تشکر

          دیدگاه


            #6
            پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

            فکر می کنم برنامه رو بذارین ببینیم خیلی بهتر میشه نظر داد.
            The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

            دیدگاه


              #7
              پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

              سلام دوستان
              اینم برنامه ای که من نوشتم.
              https://www.dropbox.com/s/ywo3luk7npevblh/sim.c?dl=0

              دیدگاه


                #8
                پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

                با سلام
                به نظر من این شرط اشتباست
                کد:
                if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
                  {
                  rx_buffer[rx_wr_index++]=data;
                #if RX_BUFFER_SIZE == 128
                  // special case for receiver buffer size=256
                  if (++rx_counter == 0)
                   {
                #else
                  if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
                  if (++rx_counter == RX_BUFFER_SIZE)
                   {
                   rx_counter=0;
                #endif
                   rx_buffer_overflow=1;
                   }
                  }
                }
                اول یه تجربه، من با دیباگر آرم خیلی کار کردم، 90 % مواقع وقتی برنامه هنگ میکرد و hardfault handler(مربوط به ارم و کیل هست) می داد اشکال این بود که دسترسی به نقاطی از حافظه که نباید اتفاق می افتاد. مثلا ارایه 10 تایی بود و ما 11 امیشو می خوندیم.
                حالا من همون اولم که گفتیم شکم به همین اتفاق بود، حالا بالا رو نگاه کنید، شما طول آرایه تون 128 تاست ولی رو 255 کانترشو صفر میکنین. در حقیقت شرط if رو اشتباه گذاشتین و با کامنت بالاش همخونی نداره.
                نکته دیگه اینکه خوب کد زدین، ولی نیازی به این همه کانتر و ایندکس شاید نبود، می شد ساده ترم بافر usart رو منیج کرد.البته فقط یه پیشنهاد بود و به شخصه از خوندن کدتون ایده گفتم. :applause:
                The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

                دیدگاه


                  #9
                  پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

                  برنامه را نگاه کردم اون که کامنت بود و مقدار اصلی همون 128 است. دقیقا نمی دونم منظورتون چیه. همه مقدارها 128 است.میشه کمی بیشتر توضیح بدید.

                  دیدگاه


                    #10
                    پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

                    ببینید شما در روتین دریافت یک سری دیتا دریافت می کنید میریزین تو بافر ، باید هر موقع بافر پر شد اطلاعات رو یا دیگه توش نریزین یا از اول رو بقیه rewrite کنید . اما در بالا شما با اون if و else ها کاری کردین که این اتفاق نمی افته و خوب overflow میشه بافرتون. یک بار شرط ها رو مرور کنین. در ضمن اینکه متغیر ها unsigned هستند. اون دو تا if وسط اصلا اجرا نمیشن.
                    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

                    دیدگاه


                      #11
                      پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

                      سلام حسام جان
                      درست شد :applause: :applause: :job:
                      دستت درد نکنه. درست گفته بودی از بافرش بود. با کمی تغییرات درست شد.
                      ممنون از وقتی که گذاشتی. :wow: :applause:
                      به امید پروژه های آینده.
                      :bye :bye

                      دیدگاه


                        #12
                        پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

                        سلام دوستان
                        من دوباره برگشتم این بار با مشکلی جدید
                        کسی نمی دونه چطوری می تونم از مقدار شارژ سیم کارت روی ماژول با پیامک مطلع بشم؟
                        ممنون.

                        دیدگاه


                          #13
                          پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

                          با سلام
                          با پیامک که نمیشه، اما می تونید همون طور که تو گوشی این کارو می کنید انجام بدین، ussd بفرستین
                          اینطوری
                          کد:
                          AT+CUSD=1,"your string goes here",15
                          The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

                          دیدگاه


                            #14
                            پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

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

                            دیدگاه


                              #15
                              پاسخ : کنترل رله با پیامک بوسله ماژول SIM900

                              تا اونجا که من کار کردم همچین امکانی نیست، اگه دستور کار نکرد اشتباه فرستادین ، از دستور العمل at command ها استفاده کنید.
                              The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

                              دیدگاه

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