صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 11 به 18 از 18
Like Tree2 لایک

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

  1. #11
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    اساسی ترین نکته این که من آقا نیستم بخدا

    از این تابع استفاده کنید تا هر چی به عنوان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.
      }
    }
    لایک کردن

  2. #12
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    3
    نقل قول نوشته اصلی توسط sinanisco@yahoo.com نمایش پست ها
    اقا که شما باشید , ما هر کاری کردیم نتونستیم از ماژول جوابی دریافت کنیم . نمی تونم کد دریافت اس ر و اینطوری راه اندازی کنم . زنگ میزنه , اس میده ولی هیچ چیزی تو سریال نمینویسه.
    می خوام اس دریافت کنم ازش , چیکار کنم؟
    سلام من این برنامه رو استفاده کردم و نتیجه هم گرفتم.
    باهاش میتونید یک LED رو کنترل کنید. اگه LED ON رو بهش SMS کنید LED روشن میشه و اگه LED OFF رو ارسال کنید LED خاموش میشه:

    [RIGHT][LEFT]#include <gprs.h>
    #include <softwareserial.h>

    #define TIMEOUT 5000
    #define LED_PIN 13

    bool ledStatus;
    GPRS gprs;

    void setup() {
    Serial.begin(9600);
    pinMode(LED_PIN, OUTPUT);
    while (!Serial);

    Serial.println("Starting SIM800 SMS Command Processor");
    gprs.preInit();
    delay(1000);

    while (0 != gprs.init()) {
    delay(1000);
    Serial.print("init error\r\n");
    }

    //Set SMS mode to ASCII
    if (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1\r\n", "OK", TIMEOUT)) {
    ERROR("ERROR:CNMI");
    return;
    }

    //Start listening to New SMS Message Indications
    if (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0\r\n" , "OK", TIMEOUT)) {
    ERROR("ERROR:CNMI");
    return;
    }

    Serial.println("Init success");
    }

    //Variable to hold last line of serial output from SIM800
    char currentLine[500] = "";
    int currentLineIndex = 0;

    //Boolean to be set to true if message notificaion was found and next
    //line of serial output is the actual SMS message content
    bool nextLineIsMessage = false;

    void loop() {
    //Write current status to LED pin
    digitalWrite(LED_PIN, ledStatus);

    //If there is serial output from SIM800
    if (gprs.serialSIM800.available()) {
    char lastCharRead = gprs.serialSIM800.read();
    //Read each character from serial output until \r or \n is reached (which denotes end of line)
    if (lastCharRead == '\r' || lastCharRead == '\n') {
    String lastLine = String(currentLine);

    //If last line read +CMT, New SMS Message Indications was received.
    //Hence, next line is the message content.
    if (lastLine.startsWith("+CMT:")) {

    Serial.println(lastLine);
    nextLineIsMessage = true;

    } else if (lastLine.length() > 0) {

    if (nextLineIsMessage) {
    lastLine.toUpperCase();
    Serial.println(lastLine);
    //Read message content and set status according to SMS content
    if (lastLine.indexOf("LED ON") >= 0) {
    ledStatus = 1;
    } else if (lastLine.indexOf("LED OFF") >= 0) {
    ledStatus = 0;


    nextLineIsMessage = false;
    }

    }

    //Clear char array for next line of read
    for ( int i = 0; i < sizeof(currentLine); ++i ) {
    currentLine[i] = (char)0;
    }
    currentLineIndex = 0;
    } else {
    currentLine[currentLineIndex++] = lastCharRead;
    }
    }
    }

    آدرس کتابخونه اش هم :
    https://github.com/Seeed-Studio/Seeeduino_GPRS
    اگه مشکلی داشتید با ID زیر تماس بگیرید:
    https://telegram.me/ArduinoKaraneJavan
    موفق باشید.

  3. #13
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    3
    کد:
    #include <gprs.h>
    #include <softwareserial.h>
    
    #define TIMEOUT    5000
    #define LED_PIN    13
    
    bool ledStatus;
    GPRS gprs;
    
    void setup() {
      Serial.begin(9600);
      pinMode(LED_PIN, OUTPUT);
      while (!Serial);
    
      Serial.println("Starting SIM800 SMS Command Processor");
      gprs.preInit();
      delay(1000);
    
      while (0 != gprs.init()) {
        delay(1000);
        Serial.print("init error\r\n");
      }
    
      //Set SMS mode to ASCII
      if (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1\r\n", "OK", TIMEOUT)) {
        ERROR("ERROR:CNMI");
        return;
      }
    
      //Start listening to New SMS Message Indications
      if (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0\r\n", "OK", TIMEOUT)) {
        ERROR("ERROR:CNMI");
        return;
      }
    
      Serial.println("Init success");
    }
    
    //Variable to hold last line of serial output from SIM800
    char currentLine[500] = "";
    int currentLineIndex = 0;
    
    //Boolean to be set to true if message notificaion was found and next
    //line of serial output is the actual SMS message content
    bool nextLineIsMessage = false;
    
    void loop() {
      //Write current status to LED pin
      digitalWrite(LED_PIN, ledStatus);
    
      //If there is serial output from SIM800
      if (gprs.serialSIM800.available()) {
        char lastCharRead = gprs.serialSIM800.read();
        //Read each character from serial output until \r or \n is reached (which denotes end of line)
        if (lastCharRead == '\r' || lastCharRead == '\n') {
          String lastLine = String(currentLine);
    
          //If last line read +CMT, New SMS Message Indications was received.
          //Hence, next line is the message content.
          if (lastLine.startsWith("+CMT:")) {
    
            Serial.println(lastLine);
            nextLineIsMessage = true;
    
          } else if (lastLine.length() > 0) {
    
            if (nextLineIsMessage) {
              lastLine.toUpperCase();
              Serial.println(lastLine);
              //Read message content and set status according to SMS content
              if (lastLine.indexOf("LED ON") >= 0) {
                ledStatus = 1;
              } else if (lastLine.indexOf("LED OFF") >= 0) {
                ledStatus = 0;
              }
    
              nextLineIsMessage = false;
            }
    
          }
    
          //Clear char array for next line of read
          for ( int i = 0; i < sizeof(currentLine);  ++i ) {
            currentLine[i] = (char)0;
          }
          currentLineIndex = 0;
        } else {
          currentLine[currentLineIndex++] = lastCharRead;
        }
      }
    }

  4. #14
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    3
    برای مثال بالا که یک LED رو با دریافت SMS کنترل میکنه از کتابخونه https://github.com/Seeed-Studio/Seeeduino_GPRS استفاده شده است و اگر سوالی داشتید به ID من در تلگرام ارسال کنید: https://telegram.me/ArduinoKaraneJavan
    لایک کردن

  5. #15
    Junior Member
    تاریخ عضویت
    Aug 2017
    نوشته ها
    5
    سلام دوستان
    من کد میخواستم برای sim800l که تماس بگیره......... دوم اینکه ورودی ای که بخواد باعث بشه ماژول ما تماس بگیره یا اس ام اس بده روی برد کدام پایه ها هست

  6. #16
    Junior Member
    تاریخ عضویت
    Aug 2017
    نوشته ها
    5
    من اولین بار هست با این پروژه کار میکنم و خیلی برام جالبه حالا فرض کنید یه دتکتور داریم که میخواییم این sim 800l رو توش کار بزاریم چطوری باید وصل بشه اینهم بگم خروجی دتکتور ما یک بلندگوی داخلی هست و ولتاژ سیستم هم باتری 9 ولت کتابی البته داخل دتکتور برد کوچک وایفایی فرکانس 433 هم داره که میخوام مستقل عمل کنه یعنی با مشاهده دود تماس بگیره دوستان نظری دارند راهنمایی لطفا خیلی برام مهمه تشکر

  7. #17
    Junior Member
    تاریخ عضویت
    Aug 2017
    نوشته ها
    5
    سوال بعدی اینه وقتی کد دهی انجام شد باید اردوینو هم بهش وصل باشه یا دیگه نیازی نیست و جدا میشه؟؟؟

  8. #18
    Junior Member
    تاریخ عضویت
    Aug 2017
    نوشته ها
    5
    چقدر جواب دادید ممنون

صفحه 2 از 2 نخستنخست 12

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

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

SEO by vBSEO