صفحه 7 از 11 نخستنخست ... 56789 ... آخرینآخرین
نمایش نتایج: از 61 به 70 از 107
Like Tree36 لایک

موضوع: کد دریافت و ارسال sms بوسیله sim800L

  1. #61
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    یه عکس آپلود کنید از صفحه سریال مانیتور خود. با تشکر.

    وقتی اس ام اس دریافت کنید تو سریال مانیتور خوانا نمی باشد ولی اگر at را ارسال کنید باید جواب ok را خوانا دریافت کنید
    میتونه از وجود نویز در اطراف برد بورد شما باشه...

    نقل قول نوشته اصلی توسط mohammad pc نمایش پست ها
    با سلام
    دوستان توی سریال مانیتور من حروف ناخوانا خیلی زیاده ایراد کار از کجا هست؟
    مثلن وقتی اس ام اس و دریافت میکنم قسمتی از اون رو توی سریال مینویسه اما بقیه اش به صورت حروف ناخوانا میاد
    این حروف حتی توی جواب at کامندها هم دیده میشه
    اگر کسی کمک کنه خیلی ممنون میشم

    (بادریت روی 115200 هست روی هرکدوم از بادریت های دیگه که میذارم فقط حروف ناخوانا نمایش میده اما توی بادریت 115200 هم زیاد از اینا هست)
    درود بر کسانی که دعا دارند و ادعا ندارند
    نیایش دارند و نمایش ندارند
    حیا دارند و ریا ندارند
    رسم دارند و اسم ندارند…

  2. #62
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    29
    جواب اوکی و at کامند ها بعضی مواقع خوانا و بعضی مواقع ناخوانا هست اما جواب اس ام اس....
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Serial.jpg
مشاهده: 298
حجم: 51.6 کیلو بایت

    این رو هم اضافه کنم که من از کدی که دوست عزیزمون magmagmary و سینای عزیز گذاشتن نتونستم جواب بگیرم و از کدی که در http://www.2150692.ru/faq/46-sim800l-arduino این صفحه بود تونستم جواب بگیرم (که این کد توش پایه ی ریست تعریف نشده)
    باز هم ممنون
    ویرایش توسط mohammad pc : 04-15-2016 در ساعت 02:05 PM

  3. #63
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    تو کد شما از دستور ارسال اس ام اس استفاده شده :

    void sms(String text, String phone) {
    Serial.println("SMS send started");
    mySerial.println("AT+CMGS=\"" + phone + "\"");
    delay(1000);
    mySerial.print(text);
    delay(300);
    mySerial.print((char)26);
    delay(300);
    Serial.println("SMS send finish");
    delay(3000);
    }

    شما اس ام اس فارسی نمی تونید ارسال کنید دقت داشته باشید.
    کل برنامه را بزارید ببینم چه تغییرات ی بهش دادید؟!
    یه اس ام اس هم فکر کنم دریافتی دارید.



    نقل قول نوشته اصلی توسط mohammad pc نمایش پست ها
    جواب اوکی و at کامند ها بعضی مواقع خوانا و بعضی مواقع ناخوانا هست اما جواب اس ام اس....
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Serial.jpg
مشاهده: 298
حجم: 51.6 کیلو بایت

    این رو هم اضافه کنم که من از کدی که دوست عزیزمون magmagmary و سینای عزیز گذاشتن نتونستم جواب بگیرم و از کدی که در Подключение GSM модуля SIM800L к Arduino - 2150692.ru این صفحه بود تونستم جواب بگیرم (که این کد توش پایه ی ریست تعریف نشده)
    باز هم ممنون
    درود بر کسانی که دعا دارند و ادعا ندارند
    نیایش دارند و نمایش ندارند
    حیا دارند و ریا ندارند
    رسم دارند و اسم ندارند…

  4. #64
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    29
    نقل قول نوشته اصلی توسط tanha71 نمایش پست ها
    تو کد شما از دستور ارسال اس ام اس استفاده شده :

    void sms(String text, String phone) {
    Serial.println("SMS send started");
    mySerial.println("AT+CMGS=\"" + phone + "\"");
    delay(1000);
    mySerial.print(text);
    delay(300);
    mySerial.print((char)26);
    delay(300);
    Serial.println("SMS send finish");
    delay(3000);
    }

    شما اس ام اس فارسی نمی تونید ارسال کنید دقت داشته باشید.
    کل برنامه را بزارید ببینم چه تغییرات ی بهش دادید؟!
    یه اس ام اس هم فکر کنم دریافتی دارید.


    من توی ارسال پیام هیچ مشکلی ندارم پیام کاملن درست ارسال میشه
    بله همونی که زیرش خط قرمز کشیدم اس ام اس دریافتی هست
    من سه تا کلید میکروسوییچ گذاشتم که که با فشار دادن هر کلید،پین های 8 یا 9 یا 10 مساوی 1 میشن و مثلن اس ام اس ارسال میشه یا تماس میگیره(برای تست)

    این هم کدی که من ازش استفاده میکنم

    کد:
    #include <SoftwareSerial.h>
    
    SoftwareSerial mySerial(2, 3); // RX, TX
    void setup() {
       
    
      Serial.begin(9600);  //Скорость порта для связи Arduino с компьютером
      Serial.println("Goodnight moon!");
      mySerial.begin(115200);  //Скорость порта для связи Arduino с GSM модулем
      mySerial.println("AT");
      pinMode(8, INPUT);
      pinMode(9, INPUT);
      pinMode(10, INPUT);
    //-----------------------------------------------------------
    
    
    
    mySerial.write("AT+CMGF=1\r"); //set GSM to text mode
    delay(1500);
    
    mySerial.write("AT+CPMS=\"SM\"\r"); //Preferred SMS Message Storage
    delay(1000);
    
    mySerial.write("AT+CMGR=1\n\r"); //list the first message from SIM Memory
    
    /*while(1)
    {
    if(mySerial.available())
    {
    Serial.write(mySerial.read()); 
    }
    }*/
    
    
    
    
    //-------------------------------------------------------
    
    
    
    }
    
    void loop() {
      
      if (mySerial.available())
        Serial.write(mySerial.read());
      if (Serial.available())
        mySerial.write(Serial.read());
        if(digitalRead(8) == 1){
          sendCommand("AT+CMGF=1", 30);
          sendCommand("At+CSCS=\"GSM\"", 30);
          sendCommand("AT+CMGS=\"09350000000\"", 500);
          sendCommand("Message for test", 10);
        mySerial.write((char)26);
        delay(1000);}
    
        if(digitalRead(9) == 1){
          sendCommand("AT+CMGF=1", 30);
          sendCommand("At+CSCS=\"GSM\"", 30);
          sendCommand("ATD09350000000;", 10);
          delay(1000);}
    
          if(digitalRead(10) == 1){
            sendCommand("AT+CMGF=1", 30);
          sendCommand("At+CSCS=\"GSM\"", 30);
          sendCommand("ATH", 10);
          delay(1000);
        }
    }
    
    void sms(String text, String phone) {
      Serial.println("SMS send started");
      mySerial.println("AT+CMGS=\"" + phone + "\"");
      delay(1000);
      mySerial.print(text);
      delay(300);
      mySerial.print((char)26);
      delay(300);
      Serial.println("SMS send finish");
      delay(3000);
    }
    
    void sendCommand(String cmd, int t)
    {
      mySerial.println(cmd);
      delay(t);
      readSerial();
    }
    
    void readSerial() {
      while (mySerial.available())
        Serial.write(mySerial.read());
    
    }
    باز هم ممنون و متشکر
    ویرایش توسط mohammad pc : 09-30-2024 در ساعت 05:39 AM
    لایک کردن

  5. #65
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mohammad pc نمایش پست ها
    با سلام
    من تونستم روی بادریت 115200 جواب OK بگیرم اما نمیتونم تماس بگیرم یا اس ام اس بدم
    زنگ هم که میزنه به سیمکارت زنگ میخوره ولی روی سریال فقط مینویسه Ringing
    میشه راهنمایی کنید که چطور میتونم تماس بگیرم یا اس ام اس بفرستم؟ ممنون

    سلام از کدهای صفحه قبل من استفاده کن

    کد رو آپلود کن و پین های softwareserial رو هم رعایت کن

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

  6. #66
    مدیر ویژه
    تاریخ عضویت
    Mar 2014
    نوشته ها
    586
    یه سوالی

    آیا اگر یک برد سخت افزار و درایور مطمئن و مجزا برای تست SIM800L باشه.استقبال میشه ؟

  7. #67
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    24
    نقل قول نوشته اصلی توسط mohammad pc نمایش پست ها
    با سلام
    دوستان توی سریال مانیتور من حروف ناخوانا خیلی زیاده ایراد کار از کجا هست؟
    مثلن وقتی اس ام اس و دریافت میکنم قسمتی از اون رو توی سریال مینویسه اما بقیه اش به صورت حروف ناخوانا میاد
    این حروف حتی توی جواب at کامندها هم دیده میشه
    اگر کسی کمک کنه خیلی ممنون میشم

    (بادریت روی 115200 هست روی هرکدوم از بادریت های دیگه که میذارم فقط حروف ناخوانا نمایش میده اما توی بادریت 115200 هم زیاد از اینا هست)
    با دستور at+ipr=9600 سرعت انتقال داده رو کم کن درست میشه احتمالا نویز میشنه رو خط دیتا سرعت و کم کنی بهتر میشه
    لایک کردن

  8. #68
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    24
    دوستان من میخام یه sms دریافت کنم و محتویاتشو توی یه متغیر save کنم هرچی نگاه کردم لیست AT command ها رو متوجه نشدم شاید خوب نگاه نکردم از دوستان کسی میتونه کمک کنه؟

  9. #69
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    29
    من هم دقیقا دنبال راهی میگردم که متن اس ام اس و توی یه مقدار رشته ذخیره کنم
    فکر میکنم باید سریال و بخونیم و هروقت اس ام اس اومد کامند at+cmgr=1 و بفرسته و و بعدش متن پیام و بخونه
    اما با این روش توی خواندن سریال مشکل دارم کسی کمک کنه خیلی ممنون میشم

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

    کد:
    String readString;
    
    void setup() {
      Serial.begin(9600);
    }
    
    void loop() {
      while (Serial.available()) {
        delay(3);  
        char c = Serial.read();
        readString += c; 
      }
      if (readString.length() >0) {
        if (readString == "example") {
          //do somethings
        }
       
        readString="";
      } 
    }

  10. #70
    Senior Member
    تاریخ عضویت
    Dec 2013
    محل سکونت
    ایران - شیراز
    نوشته ها
    220
    String Buffer;
    String number;
    String text;

    if (Serial.available()) {
    Buffer = Serial.readString();

    if (Buffer.indexOf("+CMT") != -1){
    Buffer.replace("+CMT: \"+98", "");
    number = Buffer.substring(2, 12);
    text = Buffer.substring(41, 51);
    }
    }

صفحه 7 از 11 نخستنخست ... 56789 ... آخرینآخرین

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO