نمایش نتایج: از 1 به 10 از 107
Like Tree36 لایک

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

Hybrid View

  1. #1
    Member
    تاریخ عضویت
    Jan 2016
    محل سکونت
    ایران
    نوشته ها
    85
    سلام خدمت دوستان و اساتید گرامی

    من این ماژول رو راه اندازی کردم و همه چیزش میزونه at میفرستم ok میده و زنگ میزنم RING مینویسه.

    برای ارسال SMS و دریافت SMS
    توی AT command هایی که توی PDF هست در مورد دریافت و ارسال SMS یه سری کامنت بود که دقیق متوجه نشدم که چه جوری باید ازش استفاده کنم. و از کد های موجود تو انجمن هم کمک گرفتم اما نه میتونم SMS بفرستم و نمیتونم بگیرم و نمیدونم دقیقا چه طوری باید این کار رو انجام بدم.
    دوستان اگه کسیat command های مخصوص ارسال و دریافت SMS رو توضیح بده متشکر میشم.
    فقط میخوام بتونم به زبان انگلیسی پیام بفرستم و پیام دریافت کنم و بخونم.
    ویرایش توسط cjmj : 08-28-2016 در ساعت 11:38 PM

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط cjmj نمایش پست ها
    سلام خدمت دوستان و اساتید گرامی

    من این ماژول رو راه اندازی کردم و همه چیزش میزونه at میفرستم ok میده و زنگ میزنم RING مینویسه.

    برای ارسال SMS و دریافت SMS
    توی AT command هایی که توی PDF هست در مورد دریافت و ارسال SMS یه سری کامنت بود که دقیق متوجه نشدم که چه جوری باید ازش استفاده کنم. و از کد های موجود تو انجمن هم کمک گرفتم اما نه میتونم SMS بفرستم و نمیتونم بگیرم و نمیدونم دقیقا چه طوری باید این کار رو انجام بدم.
    دوستان اگه کسیat command های مخصوص ارسال و دریافت SMS رو توضیح بده متشکر میشم.
    فقط میخوام بتونم به زبان انگلیسی پیام بفرستم و پیام دریافت کنم و بخونم.
    من خودم این کد رو برای ارسال sms استفاده می کنم

    کد:
    #include <SoftwareSerial.h>
    SoftwareSerial SIM900(2, 3);
    #define GSMReset 5
    
    
    void setup() {
      Serial.begin(9600); // for serial monitor
      SIM900.begin(9600); // for GSM shield
      gsmPower();
      gsmConfig();
      ensms();
    }
    
    
    void loop() {
    
    
    }
    //*********************************************************************************
    void gsmConfig() {
      pinMode(GSMReset, OUTPUT);
      sendCommand("AT+CMGF=1\r", 100); // set SMS mode to text
      sendCommand("AT+CNMI=2,2,0,0,0\r", 100);
      sendCommand("AT+CFUN=1", 2000);
      sendCommand("AT+CREG?", 1000);
      Serial.println("The end of Config process");
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    //**********************************************************************************
    void showSms() {
      char incoming_char = 0;
      if (SIM900.available() > 0)
      {
        incoming_char = SIM900.read(); //Get the character from the cellular serial port.
        Serial.print(incoming_char); //Print the incoming character to the terminal.
      }
    }
    //***********************************************************************************
    void smsProcess() {
      char incoming_char = 0;
      if (SIM900.available() > 0)
      {
        incoming_char = SIM900.read();
        if (incoming_char == 'H')
        {
          delay(10);
          Serial.print("horaaaaaaaaaaaaaaaaaaay");
        }
      }
    }
    //***********************************************************************************
    void gsmPower() {
      Serial.println("Turning GSM ON");
      digitalWrite(GSMReset, HIGH);
      delay(10);
      digitalWrite(GSMReset, LOW);
      delay(100);
      digitalWrite(GSMReset, HIGH);
      delay(7000);
      Serial.println("config process...");
    }
    
    
    //**********************************************************************************
    
    
    void sendCommand(String cmd, int t)
    {
      SIM900.println(cmd);
      delay(t);
      readSerial();
    }
    
    
    //**************************************************************************************
    void readSerial() {
      while (SIM900.available())
        Serial.write(SIM900.read());
    }
    
    
    //***********************************************************************************
    void dialNumber(String number) {
      Serial.println("Dialing...");
      sendCommand("ATD" + number + ";", 100);
      Serial.println("End of Dial process");
      delay(2000);
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    //************************************************************************************
    void ensms()
    {
      Serial.println("Sending SMS");
      sendCommand("AT+CSCS=\"IRA\"", 200);
      sendCommand("AT+CMGF=1", 200);
      sendCommand("AT+CSMP=17,167,0,0", 200);
      sendCommand("AT+CMGS=\"09331424592\"", 500);
      sendCommand("Salam\r\n AftabRayaneh !\x1A", 0);
      Serial.println("End of English SMS process");
      delay(2000);
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    //****************************************************************************************
    void farsisms()
    {
      Serial.println("Sending SMS");
      sendCommand("AT+CSCS=\"HEX\"", 100);
      sendCommand("AT+CMGF=1", 100);
      sendCommand("AT+CSMP=17,167,0,8", 100);
      sendCommand("AT+CMGS=\"+09331424592\"", 500);
      sendCommand("0633064406270645060C002006220641062A0627062800200631062706CC062706460647\x1A", 0);
      Serial.println("End of Persian SMS process");
      delay(2000);
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    کافیه شما به جای اون شماره دمویی که من گذاشتم شماره خودتون رو جایگزین کنید.
    لایک کردن

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

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

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

SEO by vBSEO