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

موضوع: مشکل در راه اندازی sim800l

Hybrid View

  1. #1
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    شما خودت دوتا کد اماده و مجزا واسه ارسال و دریافت دارید به من بدید تست کنم ؟ من خودم انواع کدها رو تست کردم ولی جواب نگرفتم . سیم800 رو جدا راه اندازی میکنم درسته زنگ میخوره . زنگ میزنه . دستورات رو میشناسه. ولی اس نمیده. حتی به اردوینو هم که وصل میشه دیگه تماس نمیگیره .زنگم میزنه یا اشغاله یا یه بوق میخوره و سریع قط میشه
    همونکدی که من تو یکی از پست ها گذاشتم خودم رو سیم 800 تست کردم . یقین دارم جواب میده اگه سخت افزارت رو رعایت کرده باشی
    لایک کردن

  2. #2
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    همونکدی که من تو یکی از پست ها گذاشتم خودم رو سیم 800 تست کردم . یقین دارم جواب میده اگه سخت افزارت رو رعایت کرده باشی
    میشه اینجا کپی کنید کد رو ؟ سخت افزارم درسته . حتی من قبلا یه کد نوشتم سنسور pir با gsm واسه زنگ زدن. جواب میداد . یعنی حرکت که دیده میشد تماس میگرفت . الان تست میکنم تماسم نمیگیره.با اردوینو... ولی خود ماژول رو با مبدل وصل میکنم با ATD تماس میگیره ! کلا سیم800 قاطیه خیلی. اینو اغلب بچه ها هم میگن درسته ؟

  3. #3
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    میشه اینجا کپی کنید کد رو ؟ سخت افزارم درسته . حتی من قبلا یه کد نوشتم سنسور pir با gsm واسه زنگ زدن. جواب میداد . یعنی حرکت که دیده میشد تماس میگرفت . الان تست میکنم تماسم نمیگیره.با اردوینو... ولی خود ماژول رو با مبدل وصل میکنم با ATD تماس میگیره ! کلا سیم800 قاطیه خیلی. اینو اغلب بچه ها هم میگن درسته ؟
    بسیار هم ماژول خوبیه
    کد:
    #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();
    }
    
    
    
    
    void loop() {
      commandDetect();
      smsProcess();
    }
    //*********************************************************************************
    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");
    }
    //*******************************************************************************************
    void commandDetect() {
      if (Serial.available() > 0)
      {
        char data = Serial.read();
        switch (data)
        {
          case 'd' : dialNumber("09331424592");
            break;
    
    
    
    
          case 'e' : ensms();
            break;
    
    
    
    
          case 'f' : farsisms();
            break;
        }
      }
    }
    لایک کردن

  4. #4
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    بسیار هم ماژول خوبیه
    کد:
    #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();
    }
    
    
    
    
    void loop() {
      commandDetect();
      smsProcess();
    }
    //*********************************************************************************
    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");
    }
    //*******************************************************************************************
    void commandDetect() {
      if (Serial.available() > 0)
      {
        char data = Serial.read();
        switch (data)
        {
          case 'd' : dialNumber("09331424592");
            break;
    
    
    
    
          case 'e' : ensms();
            break;
    
    
    
    
          case 'f' : farsisms();
            break;
        }
      }
    }
    این کده که خیلی پیچیده و قاطیه هیچی ازش نمیفهمم میشه یه کد ساده بدید که مثلا وقتی یه پایه ورودی فعال شد یه اس سند کنه یا اگه اس بهش سند شد پایه 13 رو ال ای دیشو روشن کنه !؟ یه کدی که خودتون تست کرده باشید که ببینم اگر واسه من جواب نداد بگردم ببینم عیب کارم کجاس . اخه تو بحث سخت افزارش خیلی حساسیت نشون دادم حتی واسه خود ماژول یه کاهنده قابل تنظیم گرفتم گذاشتم و دقیقا 4ولت رو براش تنظیم کردم زمینشم با اردوینو یکی کردم و... فقط یه تیکه کد ساده واسه فعال کردن یه پایه یا برعکسش بهم بدید تا خودم برم رووش کار کنم ببینم عیب کارم کجاس. ممنونم

  5. #5
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    این کده که خیلی پیچیده و قاطیه هیچی ازش نمیفهمم میشه یه کد ساده بدید که مثلا وقتی یه پایه ورودی فعال شد یه اس سند کنه یا اگه اس بهش سند شد پایه 13 رو ال ای دیشو روشن کنه !؟ یه کدی که خودتون تست کرده باشید که ببینم اگر واسه من جواب نداد بگردم ببینم عیب کارم کجاس . اخه تو بحث سخت افزارش خیلی حساسیت نشون دادم حتی واسه خود ماژول یه کاهنده قابل تنظیم گرفتم گذاشتم و دقیقا 4ولت رو براش تنظیم کردم زمینشم با اردوینو یکی کردم و... فقط یه تیکه کد ساده واسه فعال کردن یه پایه یا برعکسش بهم بدید تا خودم برم رووش کار کنم ببینم عیب کارم کجاس. ممنونم

    شما باید از قسمت های مختلف این کد برای هدفی که دارید استفاده کنید.
    پروژه مطابق چیزی که شما بخواید ندارم متاسفانه
    شما الان با کجای این کد مشکل دارید؟
    لازمه یه جاهای کد شماره مورد نظرتون رو وارد کنید.
    توتابع زنگ زدن :
    کد:
      sendCommand("ATD" + number + ";", 100);
    یکی اینجا باید شماره خودتو به جای number وارد کنی
    یکی هم تو تابع های ارسال اس ام اس به جای شماره دمو شماره خودتو وارد کنی
    لایک کردن

  6. #6
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    شما باید از قسمت های مختلف این کد برای هدفی که دارید استفاده کنید.
    پروژه مطابق چیزی که شما بخواید ندارم متاسفانه
    شما الان با کجای این کد مشکل دارید؟
    لازمه یه جاهای کد شماره مورد نظرتون رو وارد کنید.
    توتابع زنگ زدن :
    کد:
      sendCommand("ATD" + number + ";", 100);
    یکی اینجا باید شماره خودتو به جای number وارد کنی
    یکی هم تو تابع های ارسال اس ام اس به جای شماره دمو شماره خودتو وارد کنی
    الان من این کد نوشتم ولی جواب نمیده اشکالش کجاس ؟
    #include <SoftwareSerial.h>

    SoftwareSerial mySerial(9, 10); //tx gsm = 9 rx arduino , rx gsm = 10 tx arduino
    int pir = 3;
    void setup()
    {
    mySerial.begin(9600);
    Serial.begin(9600);
    delay(1000);
    pinMode(pir, INPUT);

    }
    void loop()
    {
    Serial.println("start");
    int a = digitalRead(pir);
    if ( a == 1)
    {
    Serial.println("motion");
    mySerial.println("AT+CMGF=1");
    delay(1000);
    mySerial.println("AT+CMGS=\"+98...\"\r");
    delay(1000);
    mySerial.println("Motion Alarm");
    delay(100);
    mySerial.println((char)26);
    delay(10000);
    mySerial.println("ATD09...;\r");
    delay(15000);
    mySerial.println("ATH\r");
    }
    else
    mySerial.println("AT+CMGD=1,2");
    delay(1000);
    }

  7. #7
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    الان من این کد نوشتم ولی جواب نمیده اشکالش کجاس ؟
    #include <SoftwareSerial.h>

    SoftwareSerial mySerial(9, 10); //tx gsm = 9 rx arduino , rx gsm = 10 tx arduino
    int pir = 3;
    void setup()e
    mySerial.println("AT+CMGD=1,2");
    delay(1000);
    }
    میتونستی از کد من برای ارسال sms استفاده کنی.
    این کد رو تست کن:
    کد:
    #include <SoftwareSerial.h>
    
    
    SoftwareSerial mySerial(9, 10); //tx gsm = 9 rx arduino , rx gsm = 10 tx arduino
    int pir = 3;
    void setup()
    {
      mySerial.begin(9600);
      Serial.begin(9600);
      delay(1000);
      pinMode(pir, INPUT);
      gsmConfig() ;
      Serial.println("start");
    }
    void loop()
    {
    
    
      int a = digitalRead(pir);
      if ( a == 1)
      {
        Serial.println("motion");
        ensms();
      }
      else {
        mySerial.println("AT+CMGD=1,2\r");
        delay(1000);
      }
    }
    void gsmConfig() {
      mySerial.println("AT+CMGF=1\r"); // set SMS mode to text
      delay(100);
      mySerial.println("AT+CNMI=2,2,0,0,0\r");
      delay(100);
      mySerial.println("AT+CFUN=1");
      delay(2000);
      mySerial.println("AT+CREG?");
      delay(1000);
    }
    
    
    void ensms()
    {
      mySerial.println("AT+CSCS=\"IRA\"");
      delay(200);
      mySerial.println("AT+CMGF=1");
      delay(200);
      mySerial.println("AT+CSMP=17,167,0,0");
      delay(200);
      mySerial.println("AT+CMGS=\"09...\"");
      delay(500);
      mySerial.println("Motion Alarm\x1A");
      delay(2000);
    }
    یادت باشه شمارش رو وارد کنی
    فقط این که توی این کد میس کالی که می خواستی رو نمیزنه
    اس ام اس میزنه
    تست کن
    لایک کردن

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

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

SEO by vBSEO